# US 12,183,459 B2 · Data storage and retrieval system for non-contiguous medical device

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,183,459 B2
- Document ID: US12183459B2
- Status: Granted
- Kind: B2
- Application number: 18/140,673
- Filed: 2023-04-28
- Published: 2023-11-30
- Granted: 2024-12-31
- Earliest claimed: 2018-09-20
- Assignees: ABIOMED, Inc.
- Applicants: ABIOMED, Inc.
- Inventors: Alessandro Simone Agnello; Paul Roland Lemay
- Web page: https://patentgrep.com/patent/US12183459B2

## CPC

- G16H 40/67: for remote operation
- G06F 16/41: Indexing; Data structures therefor; Storage structures
- G16H 10/60: for patient-specific data, e.g. for electronic patient records
- H04L 43/0811: by checking connectivity
- H04L 67/06: specially adapted for file transfer, e.g. file transfer protocol [FTP]
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/12: specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- G16H: HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A web-based interface enables medical personnel to remotely monitor medical devices. A monitoring system records operational data and alarms from the medical devices in a file. However, since network connections between the medical devices and the monitoring system are intermittent, the file does not contain a contiguous stream of data for each medical device. The file pauses recording during gaps in network connectivity. The system displays current data, as well as a list of alarms. If medical personnel wish to view more detail about an earlier time or one of the alarms, the system calculates where in the file the medical device data was recorded. This calculation accounts for the discontiguous nature of the data. The system uses times the network connection is made and broken to calculate an index into the file that corresponds to the time of the user-selected alarm.

## Claims

### Claim 1

A data storage and retrieval system for non-contiguous device data, the system comprising:
a media server connectable to a computer network and configured to automatically:
receive messages from a device via the computer network, wherein the messages contain status information about the device;
store the status information from the received messages into a media file of a data store, wherein the media server stores status information from received messages contiguously, in time order, in the media file with time gaps caused by occasional gaps in connectivity of the computer network between the device and the media server;
receive a status request for status information stored in the media file, wherein the status request includes a status information time at which the requested status information was captured at the device;
access a network connectivity log and calculate a time index, relative to an end of the media file, wherein the network connectivity log includes (a) times at which the device connects to the computer network and (b) times at which the device disconnects from the computer network, and wherein the media server is configured to calculate the time index by: (a) locating a connect-disconnect pair in the network connectivity log that includes the status information time, (b) calculating a first time offset from the end of the media file to an end of a media file segment beginning at the device connect time of the located connect-disconnect pair, (c) calculating a second time offset from the end of the media file segment to the status information time, and (d) combining the first time offset and the second time offset;
request, from the data store via a provisional request, a portion of the media file beginning at the calculated time index; and
provide, in response to the status request, the portion of the media file beginning at the calculated time index returned from the data store.

### Claim 2 (depends on 1)

A system according to claim 1, wherein the media server is further configured to automatically cause display of a pop-up message when a message indicates the device requires attention.

### Claim 3 (depends on 2)

A system according to claim 2, wherein the pop-up message comprises a URL of a web page that contains additional information about the status of the device.

### Claim 4 (depends on 1)

A system according to claim 1, further comprising an outgoing e-mail server configured to send an e-mail message when a message from the device indicates the device requires attention.

### Claim 5 (depends on 4)

A system according to claim 4, wherein the e-mail message comprises a URL of a web page that contains additional information about the status of the device.

### Claim 6 (depends on 1)

A system according to claim 1, wherein the media file comprises status information for a plurality of different devices.

### Claim 7 (depends on 1)

A system according to claim 1, wherein the media file comprises a sequence of video frames.

### Claim 8 (depends on 7)

A system according to claim 7, wherein the video frames comprise copies of images displayed on a display of the device.

### Claim 9 (depends on 8)

A system according to claim 8, wherein the device is a medical device controller coupled to a blood pump.

### Claim 10 (depends on 8)

A system according to claim 8, wherein the media server is further configured to generate an alert based on text extracted from at least one of the video frames.

### Claim 11 (depends on 8)

A system according to claim 8, wherein the media server is further configured to identify the device based on text extracted from at least one of the video frames.

### Claim 12 (depends on 1)

A system according to claim 1, wherein the media server is further configured to access the network connectivity log and generate an alert when a calculated percentage of the time in which the device is connected to computer network drops below a predetermined threshold.

### Claim 13 (depends on 1)

A system according to claim 1, wherein the messages further comprise sequence numbers for detecting when the device disconnects from the computer network.

### Claim 14

A method for storing and retrieving non-contiguous device data, the method comprising:
receiving, by a media server, messages from a device via a computer network, wherein the messages contain status information about the device;
storing, by the media server, the status information from the received messages into a media file of a data store, wherein the media server stores status information from received messages contiguously, in time order, in the media file with time gaps caused by occasional gaps in connectivity of the computer network between the device and the media server;
receiving, by the media server, a status request for status information stored in the media file, wherein the status request includes a status information time at which the requested status information was captured at the device;
accessing, by the media server, a network connectivity log and calculating a time index, relative to an end of the media file, wherein the network connectivity log includes (a) times at which the device connects to the computer network and (b) times at which the device disconnects from the computer network, and wherein the media server is configured to calculate the time index by: (a) locating a connect-disconnect pair in the network connectivity log that includes the status information time, (b) calculating a first time offset from the end of the media file to an end of a media file segment beginning at the device connect time of the located connect-disconnect pair, (c) calculating a second time offset from the end of the media file segment to the status information time, and (d) combining the first time offset and the second time offset;
requesting, by the media server, from the data store via a provisional request, a portion of the media file beginning at the calculated time index; and
providing, by the media server, in response to the status request, the portion of the media file beginning at the calculated time index returned from the data store.

### Claim 15 (depends on 14)

A non-transitory computer-readable medium encoded with instructions that, when executed by the media server, establish processes for performing the method of claim 14.

### Claim 16 (depends on 14)

A method according to claim 14, wherein the media file comprises a sequence of video frames.

### Claim 17 (depends on 16)

A method according to claim 16, wherein the video frames comprise copies of images displayed on a display of the device.

### Claim 18

A method for storing and retrieving non-contiguous device data, the method comprising:
receiving, by a media server, messages from a device via a computer network, wherein the messages contain a plurality of video frames;
storing, by the media server, the video frames from the received messages into a media file of a data store, wherein the media server stores video frames from received messages contiguously, in time order, in the media file with time gaps caused by occasional gaps in connectivity of the computer network between the device and the media server;
receiving, by the media server, a status request for video frames stored in the media file, wherein the status request includes a requested frame value;
accessing, by the media server, a network connectivity log and calculating a frame index, relative to an end of the media file, wherein the network connectivity log includes (a) frame values at which the device connects to the computer network and (b) frame values at which the device disconnects from the computer network, and wherein the media server is configured to calculate the frame index by: (a) locating a connect-disconnect pair in the network connectivity log that includes the requested frame value, (b) calculating a first frame offset from the end of the media file to an end of a media file segment beginning at the device connect time of the located connect-disconnect pair, (c) calculating a second frame offset from the end of the media file segment to the requested frame value, and (d) combining the first frame offset and the second frame offset;
requesting, by the media server, from the data store via a provisional request, a portion of the media file beginning at the calculated frame index; and
providing, by the media server, in response to the status request, the portion of the media file beginning at the calculated frame index returned from the data store.

### Claim 19 (depends on 16)

A non-transitory computer-readable medium encoded with instructions that, when executed by the media server, establish processes for performing the method of claim 16.

### Claim 20 (depends on 18)

A method according to claim 18, wherein the video frames from the received messages comprise copies of images displayed on a display of the device.
