Reducing infusion pump network congestion by staggering updates

Information

  • Patent Grant
  • 11881297
  • Patent Number
    11,881,297
  • Date Filed
    Wednesday, April 6, 2022
    2 years ago
  • Date Issued
    Tuesday, January 23, 2024
    3 months ago
Abstract
A system can include a plurality of infusion pumps and a connectivity adapter in a clinical environment. The connectivity adapter can receive update data, such as a drug library update or an operational software update, and can store the update data within the clinical environment. The connectivity adapter can send the update data to a predetermined number of infusion pumps that have requested the update. At least two subsets of the infusion pumps can receive different blocks of the update data at about the same time. Further, the same or different update data can be provided to the infusion pumps at about the same time.
Description
INCORPORATION BY REFERENCE TO ANY PRIORITY APPLICATIONS

Any and all applications for which a foreign or domestic priority claim is identified in the Application Data Sheet as filed with the present application are hereby incorporated by reference under 37 CFR 1.57.


TECHNICAL FIELD

This disclosure relates to the field of clinical messaging, and particularly to techniques for facilitating clinical messaging within and across various network environments.


BACKGROUND

Modern medical care often involves the use of medical infusion pumps to deliver fluids and/or fluid medicine to patients. Infusion pumps permit the controlled delivery of fluids to a patient and provide flexible yet controlled delivery schedules. Drug libraries within the infusion pumps provide some limits pertaining to the delivery of fluids. Infusion pumps can communicate with a server configured to manage drug library updates and operational software updates of the individual infusion pumps.


SUMMARY

Various techniques for facilitating communication with and across a clinical environment and a cloud environment are described herein. These techniques may include converting pump messages into standardized dataset messages (also referred to herein simply as “messages”), updating drug libraries, updating pump operational software, detecting health status parameters, sending health status parameters, among others. These and other embodiments are described in greater detail below with reference to FIGS. 1-9B. Although many of the examples are described in the context of a hospital environment including infusion pumps, the techniques described herein can be applied to any network environment including other medical devices (e.g., patient care monitors configured to display blood pressure, heart rate, blood oxygenation, and the like), or non-medical devices, or any combination thereof.


A distributed system can include a server outside of a clinical environment and a connectivity adapter and a plurality of infusion pumps within the clinical environment. The connectivity adapter can receive from the server a location of an update, such as a drug library update or an operational software update, to be delivered to the infusion pumps. The location can be received over a first messaging communication channel of a network, and the update data can be received over a second, data communication channel of the network. The update data can be stored at the connectivity adapter such that it can be sent to the infusion pumps.


A system can include a plurality of infusion pumps and a connectivity adapter in a clinical environment. The connectivity adapter can receive update data, such as a drug library update or an operational software update, and can store the update data within the clinical environment. The connectivity adapter can send the update data to a predetermined number of infusion pumps that have requested the update. At least two subsets of the infusion pumps can receive different blocks of the update data at about the same time. Further, the same or different update data can be provided to the infusion pumps at about the same time.


A distributed system can include a server outside of a clinical environment and a connectivity adapter and a plurality of infusion pumps within the clinical environment. The connectivity adapter can monitor microservices that measure the quality of connectivity adapter's performance. If the performance is below a threshold level, a message indicating poor performance can be sent to the server. The message can be sent when a prior message relating to poor performance has not already been sent within a predetermined time period.





BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments described herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings in which like references indicate similar elements.



FIG. 1 is a block diagram of an example clinical environment and an example cloud environment.



FIG. 2 is a block diagram illustrating example components of a clinical environment.



FIG. 3 is a schematic diagram illustrating example components of an infusion pump and a connectivity adapter of a clinical environment.



FIG. 4 is a block diagram illustrating example components of a cloud environment.



FIG. 5 is a schematic diagram illustrating example components of a data flow manager of a cloud environment.



FIG. 6 is a block diagram illustrating an example system for reducing the transfer of drug library and operational software files to a plurality of infusion pumps.



FIG. 6A illustrates an example user interface for scheduling a software update.



FIG. 7 is a flow chart of an example process to reduce the transfer of drug library and operational software files to a plurality of infusion pumps.



FIG. 8 is a flow chart of an example process to install drug library and operational software updates by an infusion pump.



FIG. 8A illustrates an example user interface for installing a new drug library.



FIG. 8B illustrates an example user interface for installing an operational software update.



FIG. 8C illustrates an example user interface for entering proper credentials prior to initiating an operational software update.



FIG. 8D illustrates an example user interface for notifying the user of the progress of the operational software installation.



FIG. 9A is a block diagram illustrating an example request-driven system to check the status of connectivity adapters.



FIG. 9B is a block diagram illustrating an example self-reporting system to provide the status of connectivity adapters.





DETAILED DESCRIPTION

Overview of Example Network Environment



FIG. 1 illustrates an example network environment 100 in which clinical environment 102 communicates with cloud environment 106 via network 104. The clinical environment 102 may include one or more healthcare facilities (e.g., hospitals). The components of the clinical environment 102 are described in greater detail below with reference to FIG. 2. The network 104 may be any wired network, wireless network, or combination thereof. In addition, the network 104 may be a personal area network, local area network, wide area network, over-the-air broadcast network (e.g., for radio or television), cable network, satellite network, cellular telephone network, or combination thereof. For example, the network 104 may be a publicly accessible network of linked networks such as the Internet. Protocols and components for communicating via the Internet or any of the other aforementioned types of communication networks are well known to those skilled in the art and, thus, are not described in more detail herein. For example, the clinical environment 102 and the cloud environment 106 may each be implemented on one or more wired and/or wireless private networks, and the network 104 may be a public network (e.g., the Internet) via which the clinical environment 102 and the cloud environment 106 communicate with each other. The cloud environment 106 may be a cloud-based platform configured to communicate with multiple clinical environments. The cloud environment 106 may include a collection of services, which are delivered via the network 104 as web services. The components of the cloud environment 106 are described in greater detail below with reference to FIG. 4.


Components of Clinical Environment



FIG. 2 illustrates the clinical environment 102, which includes one or more clinical IT systems 202, one or more infusion pumps 204, and one or more connectivity adapters 206. Further, the clinical environment 102 may be configured to provide cloud user interfaces 208 (e.g., generated and provided by the cloud environment 106). The clinical IT system 202 may include a hospital information system (HIS) designed to manage the facilities' operation, such as medical, administrative, financial, and legal issues and the corresponding processing of services. The infusion pump 204 is a medical device configured to deliver medication to a patient. The connectivity adapter 206 is a network component configured to communicate with other components of the clinical environment 102 and also communicate with the cloud environment 106 on behalf of the other components of the clinical environment 102. In some cases, the connectivity adapter 206 is a network appliance with limited storage space (e.g., memory and/or persistent storage). The cloud user interfaces 208 may be provided to a user in the clinical environment 102 via a browser application, desktop application, mobile application, and the like. The user may access status reports and other data stored in the cloud environment 106 via the cloud user interfaces 208.


The components 202-208 illustrated in FIG. 2 may communicate with one or more of the other components in the clinical environment 102. For example, each of the clinical IT system 202 and the infusion pump 204 may communicate with the connectivity adapter 206 via physical local area network (LAN) and/or virtual LAN (VLAN). The components 202-208 may communicate messages in the clinical environment 102 over a message channel of the local network and may communicate data in the clinical environment 102 over a data channel of the local network. Although not shown in FIG. 2, the clinical environment 102 may include other medical devices and non-medical devices that facilitate the operation of the clinical environment 102.


Overview of Messaging in the Clinical Environment



FIG. 3 illustrates example messages and data received, stored, and transmitted by the connectivity adapter 206 in the clinical environment 102. As shown in FIG. 3, the infusion pump 204 may include motor controller unit (MCU) 326 and communications engine (CE) 324, and memory 332 storing at least one or more drug libraries and operational software. The drug libraries include boundaries for drug delivery for various medications that can be delivered to patients by infusion pumps. The operational software can include the operating system of the infusion pump, as well as other software for performing various functions. Each type of infusion pump and even different versions of the same type of infusion pump may operate with a different operating system. The MCU 326 can use a less powerful processor (e.g., 12 MHz) and the CE 324 can use a more powerful processor (e.g., 400 MHz).


The MCU 326 may generate and send pump messages to the CE 324 for storage and transmission to the connectivity adapter 206. In some cases, the messages are each associated with a message ID. A message ID can be a unique identifier or a sequence identifier. The pump messages may include clinical information. The CE 324 may send such pump messages to the connectivity adapter 206. Pump messages sent to the connectivity adapter 206 via the CE 324 and generated by the MCU 326 may be transformed by the transformation worker 336 into a standardized dataset message (e.g., message format used by the connectivity adapter 206 to communicate with the cloud environment 106, sometimes referred herein as simply a message).


The CE 324 may also receive messages from the connectivity adapter 206 indicating that updates, such as updates to the drug library or updates to the operational software are available and may send messages to the connectivity adapter 206 requesting the updates (e.g., update data). The CE 324 may also receive the update data from the connectivity adapter 206 for storage in the memory 322. The update data may be drug library update data or may be operational software update data. The operational software update may include one or more of a device configuration, a network configuration, certificate(s), language pack(s), software update images, software update patches, security updates, and the like. The update data may be provided over a different communication channel than the communication channel(s) used to send or receive messages.


As also shown in FIG. 3, the connectivity adapter 206 may include transformation worker 336, device status manager 330, cache 302, inbound queue 332, outbound queue 334, and microservices 308. The transformation worker 336 may transform the messages sent to the connectivity adapter 206 from the infusion pump 204 into the standardized dataset message. The transformation worker 336 may also transform messages sent from the connectivity adapter 206 to the infusion pump 204 into a message format usable by the infusion pump 204.


The microservices 308 include one or more programs (e.g., MS1, MS2, MS3 . . . ) that perform specific service functions within the operation of the connectivity adapter 206. For example, a microservice 308 may send the message to the outbound queue 334, while another microservice 308 may receive messages and place them into the inbound queue 332. In addition to performing service functions, one or more microservices 308 may monitor the characteristics of the service functions. For example, the microservice 308 may monitor parameters related to the execution of a service function, such as, for example, the size of a queue 332, 334 or other queue, latency, memory usage, CPU time, and the like. The connectivity adapter 206 may provide the parameters to the cloud environment 106 when one or more parameters exceed a threshold, or the connectivity adapter 206 may provide the parameters upon request from the cloud environment 106.


The inbound queue 332 receives and stores messages from the cloud environment 106 for processing by the connectivity adapter 206. For example, the inbound queue 332 may receive one or more of a health request message 318, a drug library update message 310, and an infusion pump software update message from the cloud environment 106. The health request message 318 may be a request for the health or the status of the connectivity adapter 206. The drug library update message 310 may be notification that a drug library update is available for a least a portion of the infusion pumps 204 associated with the connectivity adapter 206. An infusion pump software update message 312 may be a notification that an update to the operational software for at least a portion of the infusion pumps 204 associated with the connectivity adapter 206 is available. The connectivity adapter 206 may comprise more than one inbound queue such that, for example, there is at least an inbound queue 332 for messages received from the cloud environment 106 over the network 104 and at least another inbound queue for messages received from one or more infusion pumps 204 over the local network. The messages stored in the inbound queue 332 may be associated with one or more message identifiers (IDs). A message ID can be a unique identifier or a sequence identifier. The messages received from the cloud environment 106 may be sent over a message channel associated with the network 104.


The outbound queue 334 receives and stores messages to be sent from the connectivity adapter 206. For example, the outbound queue 334 may receive a health status message 328 to be sent to the cloud environment 106 over the network 104. The outbound queue 334 may also receive a drug library update message 314 and a software update message 316 to be sent to one more infusion pumps over the local network. The health status message 328 may be a message indicating the health of the connectivity adapter 206 and may include one or more parameters from the microservices 308. The drug library update message 314 may be a notification to one or more infusion pumps 204 that a drug library update is available. The software update message 316 may be a notification to one or more infusion pumps 204 that an update to the operational software is available. The connectivity adapter 206 may comprise more than one outbound queue such that, for example, there is at least an outbound queue 334 for messages to be sent to the cloud environment 106 over the network 104 and at least another outbound queue for messages to be sent to one or more infusion pumps 204 over the local network. The messages stored in the outbound queue 334 may be associated with one or more message identifiers (IDs). A message identifier can be a unique identifier or a sequence identifier. The messages sent from the connectivity adapter 206 to the infusion pumps 204 may be sent over a message channel associated with the local network.


The device status manager 330 receives the drug library and operational software updates from the cloud environment 106 and caches blocks of the update data in the cache 302. The device status manager 330 processes the received messages from the inbound queue 332 and sends messages to the outbound queue 334 for transmission to the cloud environment 106 or to the infusion pumps 204. The data received from the cloud environment 106 may be sent over a data channel associated with the network 104 and separate from the message channel of the network 104. Because the data channel in the cloud environment is separate from the message channel in the cloud environment, the data transfer does not interfere with the clinical messaging from the connectivity adapter to the cloud environment. The data sent from the cache 302 to the infusion pumps 204 may be sent over a data channel associated with the local network and separate from the message channel associated with the local network. Because the data channel in the local network is separate from the message channel in the local network, the data transfer does not interfere with the clinical messaging from infusion pumps to the connectivity adapter. Thus, congestion on both the message channel of the cloud environment and the message channel of the local network is reduced.


The device status manager 330 also processes transformed messages provided by the transformation worker 336 and merges the data included in the transformed messages into the cache 302 to update the current state of the infusion pump 204 stored in the cache 302. Additional details regarding the messaging in the clinical environment 102 are provided below.


Components of Cloud Environment



FIG. 4 illustrates an example of the cloud environment 106, which includes drug library manager (DLM) 402, report manager 404, device manager 406, data flow manager (DFM) 408, cloud manager (CM) 410, data analyzer (DA) 412, infusion pump (IP) software (SW) update database 414 and drug library update database 416.


The DLM 402 may provide a set of features and functions involved in the creation and management of drug libraries for use with infusion pumps. These drug libraries may provide user-defined settings for pump configuration and drug error reduction (DERS).


The report manager 404 may provide various reporting capabilities for clinically relevant infusion data which users can choose to use for further analysis, such as tracking and trending of clinical practices.


The device manager 406 may oversee and manage the maintenance of infusion pumps, providing users the capability to view and manage asset and operational data. For example, the device manager 406 may schedule drug library and software updates for infusion pumps.


The DFM 408 may facilitate storing, caching, and routing of data between compatible infusion pumps, Navajo software, and compatible external systems. For example, the DFM may store infusion and operational data received from infusion pumps, store and cache infusion pump drug libraries and software images, convert and route network messaging between the cloud environment 106 and the clinical environment 102, convert and route medication order information from a hospital information system to an infusion pump (e.g., auto-programming or smart-pump programming), and/or convert and route alert information and infusion events from infusion pumps to hospital information systems (e.g., alarm/alert forwarding, and auto-documentation, or infusion documentation).


The CM 410 may serve as a general-purpose computing platform for the other modules illustrated in FIG. 4. Functionally, the CM 410 may be similar to Microsoft Windows or Linux operating systems as it provides the following services: networking, computation, user administration and security, storage, and monitoring.


The DA 412 may provide data analytics tools for generating user interfaces and reports based on the data generated and/or received by the other modules illustrated in FIG. 4.


Operational software update database 414 may store operational software and/or updates to the operational software for one or more infusion pumps 204. Drug library update database 416 may store one or more drug libraries and/or updates to the one or more drug libraries that are used by the infusion pumps 204 to regulate aspects of drug delivery.


The databases 414, 416 may also store data generated and/or received by the modules 402-412 of the cloud environment 106. Although not illustrated in FIG. 4, the cloud environment 106 may provide other resources such as processors, memory, disk space, network, etc. The modules 402-412 may be hardware components configured to perform one or more of the techniques described herein. Alternatively, the modules 402-412 may be implemented using software instructions stored in physical storage and executed by one or more processors. Although illustrated as separate components, the modules 402-412 may be implemented as one or more hardware components (e.g., a single component, individual components, or any number of components), one or more software components (e.g., a single component, individual components, or any number of components), or any combination thereof.


The cloud environment 106 can be implemented using a commercial cloud services provider (e.g., Amazon Web Services®, Microsoft Azure®, Google Cloud®, and the like). The cloud environment 106 can be implemented using network infrastructure managed by the provider and/or developer of the modules 402-412 shown in FIG. 4. The features and services provided by one or more of the modules 402-412 may be implemented on one or more hardware computing devices as web services consumable via one or more communication networks. One or more of the modules 402-412 can be provided by one or more virtual machines implemented in a hosted computing environment. The hosted computing environment may include one or more rapidly provisioned and released computing resources, such as computing devices, networking devices, and/or storage devices.


Overview of Messaging in the Cloud Environment



FIG. 5 illustrates an example of how messages may be received, stored, and transmitted by the cloud environment 106. As shown in FIG. 5, the DFM 408 may include cache 502, outbound queue 504 and inbound queue 512. The outbound queue 504 may include messages to be transmitted to the clinical environment 102. For example, the outbound queue 504 can include a health request message 506, a drug library update message 508 providing a notification that a drug library update is available, and an infusion pump operational software update message 510 providing notification that an update to the infusion pump software is available. When these messages 506, 508, 510 are sent to the connectivity adapter 206, they are stored in the inbound queue 332 of the connectivity adapter 206 as messages 310, 312, respectively, shown in FIG. 3. In other examples, the outbound queue 504 may include command messages (e.g., instructions to update the security settings on the connectivity adapter 206), request messages (e.g., requests for missing messages for logging purposes), log requests, security updates, and the like.


The inbound queue 512 may include messages received from the clinical environment 102. In the example of FIG. 5, the inbound queue 512 includes a health status message 514 providing the status of the connectivity adapter 206. FIG. 3 illustrates the health status message 328 stored in the outbound queue 334 of the connectivity adapter 206 prior to it being sent to the cloud environment 206 and being stored in the inbound queue 512 of the data flow manager 408 as message 514. The inbound and outbound messages may be sent over a message channel of the network 104. The update data from the infusion pump software update database 414 and from the drug library update database 416 may be sent over a data channel of the network 104 that can be separate from the message channel of the network 104.


The cache 502 may store the current state of the infusion pump 204. In some cases, the current state stored in the cache 502 can be identical to the current state stored in the cache 302. In other cases, the current state stored in the cache 502 includes additional information not stored in the cache 302, or vice versa.


The process of reducing the transfer of drug library and operational software files from the cloud environment 106 to infusion pumps 204 is described in greater detail below with reference to FIGS. 6-8D. The process of requesting the health and receiving the health status of the connectivity adapter 206 is described in greater detail below with reference to FIGS. 9A and 9B.


Infusion Pump Drug Library and Software Updates


Hospitals can have thousands of infusion pumps for infusing drugs to patients. Each infusion pump follows rules contained in drug libraries when delivering the drugs to patients. The rules provide boundaries and guidelines for infusion, such as for example, hard dosing limits, soft dosing limits, rates of infusion, etc., for a plurality of infusible drugs. Drug libraries are often updated with new drugs, drugs being infused in new areas of the facility (e.g., neonatal, ICU, NICU), new infusion treatments, and the like. It is desirable that the infusion pumps include drug library updates in order to maintain the highest level of care for patients.


Further, infusion pumps include operational software that controls pump operations. With a hospital or health care system, there may be many different types of infusion pumps, and each type of infusion pump may have different operational software. As with drug libraries, operational software is often updated. The updates may change software functionality or add additional features. It is also desirable that the infusion pumps run the latest software versions in order to maintain the highest level of care for patients.


In a historical infusion pump network and system, each infusion pump may need to access a hospital server and storage where the updates are stored and download drug library and operational software updates. This is time consuming and the volume of network traffic created by potentially thousands of infusion pumps receiving updates can significantly slow down the hospital network, or significantly impact clinical workflows.


However, in an example pump network and system described herein, a connectivity adapter can download the drug library and operational software updates once from cloud based storage and can distribute the updates to infusion pumps when the infusion pumps are available to receive the updates. This relieves network traffic to the server and to the storage storing the updates and reduces the computing time needed to update the infusion pumps over the historical infusion pump networks and systems.


The connectivity adapter can communicate with a plurality of infusion pumps. To reduce local network congestion between the plurality of infusion pumps and the connectivity adapter, the connectivity adapter can stagger blocks of the updates to the infusion pumps.


The connectivity adapter and the cloud environment can communicate over a first network. The first network is the network connection established between the connectivity adapter and the cloud. The first network has two channels: a first channel to receive the update command and a second channel to obtain the update data. The connectivity adapter and each of the plurality of infusion pumps communicate over a second network. The second network is a network connection established between an infusion pump and the connectivity adapter. The second network has two channels: a first channel to receive the update command and a second channel to obtain the update data (e.g., files). This pattern applies to each infusion pump attached to the connected adapter; therefore, there are multiple second network connections for the connectivity adapter.


The update data can be operational software only; drug library data only; or both operational software and drug library information. The user can initiate the update from the cloud environment. A message can be sent from the server in the cloud environment with the update URL that the connectivity adapter can then update to the local URL for use by the infusion pumps as described in greater detail below. Alternatively, the infusion pump can request if there is an update available. The message is routed to the server in the cloud environment. If an update exists, a message can be sent from the cloud environment with the update URL that the connectivity adapter can update to the local URL, in the same manner as when the update is initiated from the cloud environment.


So as to not flood the hospital network, the connectivity adapter can stagger the updates between the connectivity adapter and its connected devices, which can be infusion pumps, medication compounding devices, and the like. For example, connectivity adapter 1 and connectivity adapter 2 can each have 500 connected devices that need to have the update. Each connectivity adapter can schedule the update for a subset of the connected devices, such as for example, 100 devices at a time. The connectivity adapters can be within separate hospital networks.


In another example, connectivity adapter 1 and connectivity adapter 2 can each have 500 connected devices that need to have the update. Connectivity adapter 1 can notify the cloud environment that it can process up to 100 updates and connectivity adapter 2 is too busy to process any updates. The cloud server then schedules updates for 100 of the devices that are connected to connectivity adapter 1. Additionally, connectivity adapter 1 could opt to stagger the update with a subset of the 100 devices as described above.


In another example, connectivity adapter 1 and connectivity adapter 2 can each have 500 connected devices that need to have the update. Both connectivity adapters can exist on the same hospital network. So as to not flood the hospital network, the cloud server will limit the number of updates each connectivity adapter can service concurrently. For example, the cloud server can limit the number of concurrent updates to 100 connected devices, it can then schedule 60 updates for connectivity adapter 1 and 40 updates for connectivity adapter 2. As the updates complete, additional devices can be added such that there are no more than 100 connected devices being updates at a time on the hospital network.


The user, via a user interface, can specific a predetermined number of infusion pumps or connected devices to update. The system can specify a predetermined number of pumps based on network traffic. The system may portion this group into smaller portions. For example, the user may schedules an update for 1000 connected devices. The system can redistribute the predetermined number of connected devices to update in chunks of 100 connected devices. Example methods of staggering updates to the connected devices can be independently responding to requesting devices, staggering groups of connected devices to receive the updates, and staggering the blocks of update data.


The connectivity adapter can determine specific connected devices to receive a different subset of cached blocks during the download of the update data. In another example, each connected device to receive an update can be provided with a local URL which is the location of where to obtain the update data. The connected device then connects to the connectivity adapter independently of any other connected devices and streams the update data. Since each connected device can stream the update data independently, a first connected device in communication with the connectivity adapter could be block 100 while a second connected device could be streaming block 50 of the update. In another example the connectivity adapter can delay the start of the streaming to subsets of the requesting connected devices to reduce the network load. The connectivity adapter can request to deliver an update to the connected devices and each connected device can confirm to the connectivity adapter that it is ready or is not ready to receive an update.


With reference to FIG. 6, an example system 600 for reducing the transfer of drug library and operational software update files to a plurality of infusion pumps (IPs) 204 is described in greater detail. The illustrated system 600 comprises the cloud manager (CM) 410, the device manager 406, the data flow manager (DFM) 408, one or more connectivity adapters (CA) 206, and one or more infusion pumps (IP) 204. The device manager 406 can interface with the user via the cloud user interface 208 (see FIG. 2). For example, the user loads the update data into the CM 410, logs into the device manager 406, and schedules an update for the infusion pumps 204 associated with the system. Scheduling the update includes providing the device manager 406 with update information. The device manager 406 detects the upload of the update data onto the CM 410 and stores the update record (e.g., a cloud URL). The update can be available immediately or can be scheduled for a future time. The update can be a drug library update 416 or the update can be an update of infusion pump operational software 414. The update is not bound by the connectivity adapter 206. Update information can specify one or more filters, such as, for example, specific infusion pumps 204 (i.e., update infusion pumps 1, 2, and 3), specific infusion pump versions (i.e. update all infusion pump operational software version 1.0 to version 1.1), the type(s) of infusion pumps 204 (i.e., update all type 0 infusion pumps 204), and/or the facilities associated with the infusion pumps 204 for which the update 414, 416 applies (i.e., update all infusion pumps 204 in facility XYZ, where XYZ is the facility identifier).


The process of reducing the transfer of drug library and operational software update files to a plurality of infusion pumps (IPs) 204 performed by the system 600 illustrates example algorithm(s) that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory that is coupled to the CPU or microcontroller and then executed by the CPU or microcontroller. For example, when the process of reducing the transfer of drug library and operational software update files to a plurality of infusion pumps (IPs) 204 is initiated, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into memory (e.g., random access memory or “RAM”) of a computing device of the clinical environment 102 and/or the cloud environment 106. The executable instructions may then be executed by a hardware-based computer processor (e.g., a central processing unit or “CPU”) of the computing device. The process of reducing the transfer of drug library and operational software update files to a plurality of infusion pumps (IPs) 204 or portions thereof may be implemented on multiple processors, serially or in parallel.


At block 602, the device manager 406 can receive a message from the cloud user interface 208 that the user has scheduled an update. FIG. 6A illustrates an example user interface 650 for scheduling a software update. As shown, the user interface 650 includes fields for selecting a device type, selecting a software version, selecting a facility, and scheduling a start time. User interface 650 can provide an update summary and a device list.


At block 604, the device manager 406 can send the scheduled update information to the DFM 408. The DFM 408 can generate a unique key to identify the scheduled event, as scheduled by the user, for one or more pumps. The update information can include information pertaining to the type of update (e.g., drug library update 416 or operational software update 414), the scheduled availability of the update, the infusion pumps 204 to receive the update, the type of infusion pump 204 to receive the update, facility identifiers, and other associated identifiers. The DFM 408 can wait until the scheduled time to notify the connectivity adapter 206 that the update is available. The DFM 408 can notify the connectivity adapter 206 of the scheduled update and the connectivity adapter 206 can wait until the scheduled time to notify the infusion pumps 204 that the update is available.


The DFM 408 can receive the update information from the device manager 406. At block 608, the DFM 408 can send a message to one or more connectivity adapters 206 indicating that an update is available. The message can be one of the drug library (DL) update message 508 or the infusion pump (IP) software (SW) update message 510. The message can be send over the cloud message channel.


At block 610, the DFM 408 can request a cloud URL from the CM 410. The cloud URL can be the location within the cloud environment 106 storing the update 414, 416. The cloud URL can be a temporary URL having a defined lifetime. At block 612, the CM 410 can send the cloud URL to the DFM 408. At block 614, the DFM 408 can send the cloud URL to the connectivity adapter 206. The cloud URL can be sent over the cloud data channel.


The connectivity adapter 206 can receive the message indicating that an update is available and the cloud URL from the DFM 408. The received message can be one of the DL update message 310 or the IP SW update message 312.


At block 630, the connectivity adapter 206 can send a message to the selected infusion pumps 204 that an update is available. The connectivity adapter 206 can stagger the update notifications to the selected infusion pumps 204. For example, if 100 infusion pumps 204 are scheduled to receive an update, the connectivity adapter 206 may only notify 50 infusion pumps 204 and as individual update downloads complete new updates are scheduled for the remaining infusion pumps 204. The message can be one of the DL update message 314 or the IP SW update message 316. The message can be sent over the local message channel. The selected infusion pumps 204 can be the infusion pumps intended to receive the drug library or operational software update.


At block 616, the connectivity adapter 206 can create a local URL and maps the cloud URL to the local URL. The local URL can be a URL identifying a location in the connectivity adapter 206 within the clinical environment 102. At block 618, the connectivity adapter 206 can send the local URL to the infusion pumps 204 identified in the update available message. The local URL can be sent over the local data channel.


At block 620, the connectivity adapter 206 can open a cloud URL stream to receive the update data stored at the cloud URL. The update data can be streamed from storage 414, 416 at the cloud URL over the cloud data channel. The messaging between the connectivity adapter 206 and the DFM 408 can occur on the cloud message channel that is separate from the cloud data channel. Thus, the cloud data channel can solve the problem of data packet prioritization because the data streaming, which is occurring on a separate channel, does not interfere with the infusion pump clinical messaging. Further, the cloud data channel can strengthen and simplify the security of the network by allowing the infusion pumps 204 to receive data over a secured isolated virtual local network (VLAN) that is not exposed to public networks. Advantageously, the infusion pumps 204 can request and receive the update data from the connectivity adapter 206 should the network connection between the connectivity adapter 206 and cloud environment 106 become unavailable because the updates are stored at the connectivity adapter 206.


The connectivity adapter 206 can be pre-notified of an available update, stream the update data before the scheduled update time, and notify the infusion pumps 204 of the available update at the scheduled time. This can also provide the advantage of being able to update the infusion pumps 204 at the scheduled update time should the network connection with the cloud environment 106 become unavailable at the scheduled update time.


At block 622, the connectivity adapter 206 can cache blocks of the streaming update data in the cache 302. The connectivity adapter 206 can associate data in the cache 302 with the local URL. Once the update is stored in the cache 302 at the connectivity adapter 206, the cloud data channel between the connectivity adapter 206 and the DFM 408 may no longer be needed. This can reduce network activity as the cloud environment 106 does not need to be accessed to individually update each infusion pump 204.


At block 632, the selected infusion pumps 204 can receive the message 314, 316 from the connectivity adapter 206 that an update is available. At block 634, the infusion pumps 204 can receive the local URL from the connectivity adapter 206.


At block 636, the selected infusion pumps 204 can request the update data at the local URL from the connectivity adapter 206. The request can include an HTTP multi-part GET request. Each infusion pump 204 can request the update data when it is available to receive the update data.


The update data from the connectivity adapter 206 to the infusion pump 204 can be streamed over the local data channel within the local network. The messaging between the connectivity adapter 206 and the infusion pumps 204 can occur over the local message channel that is separate from the local data channel. Thus, the local data channel within the local or hospital network can also solve the problem of data packet prioritization because the data streaming, which is occurring on a separate channel does not interfere with the clinical infusion pump messaging on the local message channel. Another advantage of separating the messages and the data onto a local message channel and a local data channel, respectively, can be allowing the infusion pump CE 324 to actively download into its storage 322 large files, which can be, for example, 300 MBs or more, without interrupting the infusion pump MCU 326 which is performing clinical functions. Once the clinical functions are complete, the user can initiate the update without waiting for the update data to be downloaded.


At block 624, the connectivity adapter 206 can open the local URL stream. At block 626, the connectivity adapter 206 can stagger streaming of the blocks of update data via the local URL. The connectivity adapter 206 can stagger the update data in blocks by independently responding to requests from the group of infusion pumps 204. For example, infusion pump 204A can be downloading block five and infusion pump 204B can be downloading block seven from the local URL cache 302, while the connectivity adapter 206 can be downloading block ten from the cloud URL.


As described above at block 630, the connectivity adapter 206 can stagger update notifications to the infusion pumps 204. For example, if 100 infusion pumps 204 are scheduled to receive an update, the connectivity adapter 206 may only notify 50 infusion pumps 204 and as individual update downloads complete new updates are scheduled for the remaining infusion pumps 204.


The infusion pumps 204 can also include functionality to avoid network slowdowns. The infusion pumps 204 can check within its memory 322 to determine whether the available update is already there. If the update is available, the infusion pump 204 may not request the update. The infusion pump 204 can check within its communication engine 204, for example, to determine whether another update is already pending. If another update is pending, the infusion pump 204 may not request the update. The system 600 may not permit a drug library update and an operational software update to occur at the same or near to the same time.


The infusion pump 204 can utilize an exponential backoff procedure when requesting the update data from the connectivity adapter 206. For example, when the request from the infusion pump 204 for the update data is unfilled or ignored, the infusion pump 204 can re-request the update data according to a process, such as an exponential backoff process to prevent network congestion. In an exponential backoff process, the rate at which the infusion pump 204 sends the re-requests can be decreased gradually in order to find an acceptable request rate. The infusion pump 204 can re-request the update data randomly to prevent network congestion.


At block 628, the infusion pump 204 can receive and store the blocks of update data in the memory 322. As discussed above, the update data can be an updated or new drug library, updated operational software for the infusion pump 204, which may include one or more of application software, language packs, security updates, and device configuration, digital certificates, and/or the like.


The infusion pump 204 can initiate the request to the connectivity adapter 206 for update data, such as an updated drug library, without being notified of an available update. For example, the infusion pump 204 can send a request to the connectivity adapter 206 for a known missing drug library, or to ask if an update is available. The connectivity adapter 206 can store a plurality of drug libraries, including historical versions of drug libraries.


With reference to FIG. 7, an example process 700 to reduce the transfer of drug library and operational software files to a plurality of infusion pumps 204 is described in greater detail. The process 700 illustrates an example algorithm that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory that is coupled to the CPU or microcontroller and then executed by the CPU or microcontroller. For example, when the process 700 is initiated, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into memory (e.g., random access memory or “RAM”) of a computing device of the clinical environment 102 and/or the cloud environment 106. The executable instructions may then be executed by a hardware-based computer processor (e.g., a central processing unit or “CPU”) of the computing device. The process 700 or portions thereof may be implemented on multiple processors, serially or in parallel. For convenience, the steps of the example process 700 are described as being performed by the connectivity adapter 206.


At block 702, the connectivity adapter 206 can receive the drug library update message 310 or the infusion pump operational software update message 312.


The connectivity adapter 206 can notify the infusion pumps 204 that an update is available at the local URL. The connectivity adapter 206 can send a drug library update message 314 or a software update message 316 over the local message channel associated with the local network. The connectivity adapter 206 can stagger notifying the infusion pumps 204 by notifying a portion of the selected infusion pumps 204 and notifying subsequent portion of the selected infusion pumps 204 as individual update downloads complete.


At block 704, the connectivity adapter 206 can receive request(s) from the infusion pump(s) 204 for the update data at the local URL.


At block 706, the connectivity adapter 206 can receive the cloud URL from the DFM 408. The cloud URL can have an expiration time.


At block 708, the connectivity adapter 206 can assign a local URL. The connectivity adapter 206 can create the local URL. At block 710, the connectivity adapter 206 can map the cloud URL to the local URL.


At block 712, the connectivity adapter 206 can determine whether the cloud URL has expired. If the cloud URL is active, the process 700 can move to block 716.


If the cloud URL has expired, the process can move to block 714. At block 714, the connectivity adapter 206 can request that the DFM 408 rebuild the cloud URL. The DFM can determine a new cloud URL and can send the new cloud URL to the connectivity adapter 206. The process 700 can move to block 704 and repeat blocks 704-712 for the new cloud URL.


At block 716, the connectivity adapter 206 can open the cloud URL stream and at block 718, can cache the blocks of update data from the URL stream over the cloud data channel associated with the network 104.


At block 720, in response to receiving requests for the update data from the infusion pumps 204, the connectivity adapter 206 can open the local URL stream. At block 722, the connectivity adapter 206 can stream blocks of update data to staggered groups of infusion pumps 204. The blocks of update data can be streamed over the local data channel to the infusion pumps 204. Staggering can be performed in a variety of ways. For example, the connectivity adapter 206 can stream blocks of data in parallel to a small group of infusion pumps 204. If the infusion pump's initial request for data is rejected or ignored, the infusion pumps 204 can re-request the update data at a rate as determined by an exponential backoff process.


As described above, the updates can include operational software updates or drug library updates. The receiving and storing of the blocks of update data can occur in the background when the infusion pump 204 is operating. However, the installation and running of the updates can occur under controlled conditions, such as when the infusion pump 204 is not being used to infuse medication to patients.


With reference to FIG. 8, an example process 800 of infusion pump 204 installation of drug library and operational software updates is described in greater detail. The process 800 illustrates an example algorithm that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory that is coupled to the CPU or microcontroller and then executed by the CPU or microcontroller. For example, when the process 800 is initiated, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into memory (e.g., random access memory or “RAM”) of a computing device of the clinical environment 102. The executable instructions may then be executed by a hardware-based computer processor (e.g., a central processing unit or “CPU”) of the computing device. The process 800 or portions thereof may be implemented on multiple processors, serially or in parallel. For convenience, the steps of the example process 800 are described as being performed by the infusion pump 204.


At block 802, the infusion pump 204 can receive an update message 314, 316 from the connectivity adapter 206. At block 804, the infusion pump 204 can receive the local URL from the connectivity adapter 206. At block 806, the infusion pump 204 can request the update data at the local URL from the connectivity adapter 206. At block 810, the infusion pump 204 can receive blocks of the update data over the local data channel and can store in the memory 322 the blocks of update data received from the connectivity adapter 206.


At block 812, the infusion pump 204 can determine whether the update comprises a drug library update or an operational software update. The update available message received from the connectivity adapter 206 can include information as to the type of update, such as an operational software update or a data library update.


When the update is a drug library update, the process 800 can move to block 814. At block 814, the infusion pump 204 can display on its display a message to the user that a drug library update is available. Upon power down, the infusion pump 204 can displays the message that a drug library is available and can provide a user prompt (yes/no) to accept or decline the drug library update. The user may decline updating the drug library for a predetermined number of attempts. The drug library update can occur automatically upon power down of the infusion pump 204.



FIG. 8A illustrates an example infusion pump user interface 850 for installing a new drug library. As shown, infusion pump user interface 850 can notify the user that a new drug library is available, provide an estimate of the installation time, and provide fields for installing the new drug library now or at shutdown of the infusion pump 204.


At block 816, the infusion pump 204 can receive the user input to install the drug library and at block 818, the infusion pump can install the drug library. The drug library may be available after a reboot of the infusion pump 204.


When the update is an operational software update, the process 800 can move to block 820. At block 820, the infusion pump 204 can display on its display a message to the user that an operational software update is available. Upon power down, the infusion pump 204 can display the message that operational software update is available and can provide a user prompt to request the update. The user may decline updating the operational software for a predetermined number of attempts. The operational software update can occur automatically upon power down of the infusion pump 204. The user can initiate the operational software update when the infusion pump 204 is operating in a clinical mode. The infusion pump 204 can enter a non-clinical operational mode before the user can initiate an operational software update. The infusion pump 204 can enter a non-clinical operational mode before the user can initiate an operational software update. The non-clinical operational mode can be referred to as the Biomed mode.



FIG. 8B illustrates an example user interface 860 for installing an operational software update. As shown infusion pump user interface 860 can display the serial number of the infusion pump 204 and can prompt the user to “select preventative maintenance”, “set time and date”, “manage languages”, “display logs”, “infuser settings”, “manage network”, “factory default”, and “software request”.


It may be desirable that the infusion pump 204 not be in clinical use when the operational software is updated. At block 822, the infusion pump 204 can receive the user performed action(s). For example, the user can enter “Biomed” mode using proper credentials before performing the software update operation. FIG. 8C illustrates an example infusion pump user interface 870 for entering proper credentials prior to initiating an operational software update.


At block 824, the infusion pump 204 can install the operational software update and at block 828, the infusion pump 204 can reboot. FIG. 8D illustrates an example infusion pump user interface 870 for notifying the user of the progress of the operational software installation. The infusion pump 204 via the display may notify the user that the operational software has been updated.


Health Status of Connectivity Adapters


Connectivity adapters that are responding too slowly can affect the overall performance of the system 100. Further, the communication between the connectivity adapter 206 and the infusion pumps 204 can be important to provide the infusion pumps 204 with revised operating software and updated drug libraries. Improperly operating connectivity adapters 206 can over fill queues and utilize additional computing time. It can be important to monitor the health of the connectivity adapters 206 and correct any problems to reduce computing time and memory usage.


With reference to FIG. 9A, an example request-driven system 900 to check the status or health of connectivity adapters 206 is described in greater detail. The illustrated system 900 can comprise the cloud manager (CM) 410, the data flow manager (DFM) 408 and one or more connectivity adapters (CA) 206. The CM 410 can interface with the user via the cloud user interface 208, for example. Each connectivity adapter 206 can include one or more microservices 308 and a device status manager (DSM) 324. Each microservice 308 can monitor a parameter associated with the operation of the connectivity adapter 206. The microservices 308 can create containers of unstructured data associated with the monitored parameters.


Each microservice 308 can perform a function or service associated with the operation of the connectivity adapter 206 and can monitor the performance of that function or service. For example, a microservice 308 can operate and monitor the outbound message queue 334 of the connectivity adapter 206. The microservice 308 associated with the outbound message queue 334 can receive the outbound message, write the message to the outbound message queue 334, set up the communication with the DFM 408 or the infusion pump 204, and send the message. The microservice 308 associated with the outbound message queue 334 may also monitor the latency, determine, based on a received acknowledgement, how long the outgoing message took to be received, keep track of the size of the outbound message queue 334, and the like.


Other examples of microservices 308 associated with the operation of the connectivity adapter 206 can be, but not limited to, resource manager to manage the connectivity adapter resources, device status service to manage the connectivity adapter status, drug library service to manage the drug libraries stored at the connectivity adapter 206, and configuration manager to manage the configuration of the connectivity adapter. The microservices 308 can also monitor parameters associated with their functionality, such as, but not limited to the average message rate, the spike message rate, the response rate for messages from the DFM 408, the response rate for messages from the infusion pumps 204, the length of message queues 332, 334, latency, CPU load, disk space, available memory, the amount of memory used, bandwidth, error levels, and the like.


The request-driven system 900 illustrated in FIG. 9A can be considered a demand driven system. The user can request via the cloud user interface 208 a current status of at least a portion of the connectivity adapters 206 within the clinical environment 102.


The process of checking the status or health of connectivity adapters 206 performed by the system 900 illustrates example algorithm(s) that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory that is coupled to the CPU or microcontroller and then executed by the CPU or microcontroller. For example, when the process of checking the status or health of connectivity adapters 206 is initiated, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into memory (e.g., random access memory or “RAM”) of a computing device of the clinical environment 102 and/or the cloud environment 106. The executable instructions may then be executed by a hardware-based computer processor (e.g., a central processing unit or “CPU”) of the computing device. The process of checking the status or health of connectivity adapters 206 or portions thereof may be implemented on multiple processors, serially or in parallel.


At block 902, the CM 410 can receive an indication of the user's request for the current status of the connectivity adapters 206. At block 904, the CM 410 can send the request for the current status of the connectivity adapters to the DFM 408. At block 906, the DFM 408 can receive the request from the CM 410 and can send a request for the monitored parameters, such as the health request message 506 to the connectivity adapters 206. The DFM 408 can send the health request message 506 to each of the connectivity adapters 204 within the clinical environment 102. The DFM 408 can send the health request message 506 to a subset of connectivity adapters 206 that are specified in the user request.


At block 908, the DSM 330 of the connectivity adapter 206 can receive the request for the parameters, such as the health request message 318, and can internally request the monitored parameters from the microservices 308 operating within the connectivity adapter 206. At block 910, each of the microservices 308 can receive the parameter request and can send the parameter information to the DSM 330.


At block 912, the DSM 330 can receive the parameter information from the microservices 308 and can send one or more status messages with the parameter information, such as the health status message 328 to the DFM 408. The DSM 330 can receive the parameter information from the microservices 308 and can combine the parameter information into a single status message 328. The DSM 330 can use the general data set message format and can format the parameter information into a general data set message. The DSM 330 can send multiple status messages 328 to the DFM 408, where each of the multiple status messages 328 can include information from one or more parameters.


At block 914, the DFM 408 can receive the one or more status messages from the connectivity adapters 206 and can send the status messages to the CM 410. At block 916, the CM 410 can receive the status messages. At block 910, the cloud environment 106 can analyze and report the status of the connectivity adapters 206 to the user. The user can receive an email, a SMS message, or the like, from the cloud environment 106.


The CM 410 can report the parameters to the user. The CM 410 can analyze the parameters and report the status of the connectivity adapters 206 to the user. For example, if the parameters are within a threshold, the CM 410 can report the status as “healthy”, and if one or more parameters are greater than a threshold, the CM 410 can report the status as “not healthy”. The threshold can be a numerical value for the monitored parameter or the threshold can be an event threshold indicating a number of events occurring for the monitored parameter.


With reference to FIG. 9B, an example self-reporting system 950 to provide the status of connectivity adapters 206 is described in greater detail. Similar to FIG. 9A, the illustrated system 950 of FIG. 9B can comprise the cloud manager (CM) 410, the data flow manager (DFM) 408 and one or more connectivity adapters (CA) 206 and each connectivity adapter 206 can include the one or more microservices 308 and the device status manager (DSM) 330, as described above.


The self-reporting system illustrated in FIG. 9B can be considered a supply driven system. Instead of the status request being generated by the user at the cloud user interface 208, the connectivity adapters 206 can store configuration thresholds and when a threshold is met, the connectivity adapter 206 can send the parameter information to the CM 410, which can in turn report the status or health of the connectivity adapter 206 to the user. The threshold can be a numerical value for the monitored parameter or the threshold can be an event threshold indicating a number of events occurring for the monitored parameter. The process of reporting the status or health of the connectivity adapter 206 performed by the system 950 illustrates example algorithm(s) that may be programmed, using any suitable programming environment or language, to create machine code capable of execution by a CPU or microcontroller. Various embodiments may be coded using assembly, C, OBJECTIVE-C, C++, JAVA, or other human-readable languages and then compiled, assembled, or otherwise transformed into machine code that can be loaded into read-only memory (ROM), erasable programmable read-only memory (EPROM), or other recordable memory that is coupled to the CPU or microcontroller and then executed by the CPU or microcontroller. For example, when the process of reporting the status or health of the connectivity adapter 206 is initiated, a set of executable program instructions stored on one or more non-transitory computer-readable media (e.g., hard drive, flash memory, removable media, etc.) may be loaded into memory (e.g., random access memory or “RAM”) of a computing device of the clinical environment 102 and/or the cloud environment 106. The executable instructions may then be executed by a hardware-based computer processor (e.g., a central processing unit or “CPU”) of the computing device. The process of reporting the status or health of the connectivity adapter 206 or portions thereof may be implemented on multiple processors, serially or in parallel.


At block 952, the microservices 308 can be monitoring their associated parameters and one or more of the monitored parameters can exceed a threshold. At block 954, the microservices 308 associated with the one or more parameters that have exceeded the threshold can send the parameter information for the one or more parameters to the DSM 330. At block 956, the DSM 330 can determine the status of the connectivity adapter 206 based at least in part on the monitored parameters. At block 958, the DSM 330 can send a status message, such as the health status message 328, with the parameter information of the one or more the microservices 308.


For example, the connectivity adapter 206 can include a configuration file with the thresholds for the monitored parameters. The microservices 308 can query the configuration file. When the threshold for a monitored parameter is met, the DSM 330 can be notified to send a status message to the DFM 408.


The DSM 408 can receive the parameter information from the microservices 308 and combine the parameter information into a single status message 328. The DSM 330 can use the general data set message format and formats the parameter information into a general data set message. The DSM can send individual status messages 328 when an event threshold is triggered.


To control sending status messages when the parameter is fluctuating around the threshold, the DSM 330 can monitor the status messages 328 and discard status messages 328 if a recently sent message is being repeated. This can avoid sending a plurality of messages for the same error in a short time, which can slow the network down. For example, if the threshold is 79 and the parameter is fluctuating between 78 and 80, the DSM 330 can wait an amount of time before sending another status message 328 for that parameter. The DSM 330 can wait until a number of status messages for the same parameter occur before sending the message 328 to the DFM 408.


The DSM 330 can reset the microservice 308 that has reported parameters meeting or exceeding a threshold. This can occur before sending the status message 328 to the DFM 408 or after sending the status message 328 to the DFM 408. The connectivity adapter 206 can reset itself when the parameter information indicates that one or more parameter thresholds are met or exceeded.


At block 960, the DFM 408 can receive the status message from the DSM 330 of the connectivity adapter 206 and can send a status message with the status of the connectivity adapter 206 to the CM 410. At block 962, the CM 410 can receive the status message. At block 964, the CM 410 can report the parameter information to the user. The CM 410 can analyze and report the parameter information to the user. The user can receive an email, a SMS message, or the like, from the CM 410.


Once poor performance of the connectivity adapter is detected, the connectivity adapter or the cloud server, or both the connectivity adapter and the cloud server can automatically perform tasks in response to the detected parameters exceeding a threshold. For example, the connectivity adapter can reset itself, the cloud server can cause the connectivity adapter to reset. The cloud server can include an algorithm that when tripped by detected poor performance of the connectivity adapter, can send a signal or message to the connectivity adapter to reboot, which may correct the issue. Another automated task may be to send an email when disk space is running low. Additionally, the CA could reset itself when certain thresholds are triggered. Once the number of connected devices exceeds a threshold, the connectivity adapter can send a notification to the cloud server and the connectivity adapter can begin to reject connections from new devices. In another example, if the queue size exceeds a threshold, the system begins to disconnect connected devices until the queue is restored to a level below the threshold.


EXAMPLES

A system can be configured to provide update data to a plurality of infusion pumps within a clinical environment. The system can comprise a plurality of infusion pumps configured to deliver medication to one or more patients, where each respective infusion pump of the plurality of infusion pumps can comprise a memory configured to store operational software and one or more drug libraries; an asset lifecycle manager comprising computer hardware and can be configured to receive user input comprising update information that includes at least a location of update data, the update data being one of an operational software update and a drug library update; a data flow manager comprising computer hardware and configured to receive an update notification and a cloud URL associated with the location of the update data from the asset lifecycle manager; and a connectivity adapter comprising computer hardware and memory configured to store at least the update data.


The connectivity adapter can in communication with the plurality of infusion pumps over a first network within a clinical environment and the connectivity adapter can be further in communication with the data flow manager over a second network outside of the clinical environment. The connectivity adapter can be configured to receive the update notification and the cloud URL from the data flow manager over a first communication channel of the second network; map the cloud URL to a local URL; open a stream to receive the update data stored at the cloud URL, the update data can be received over a second communication channel of the second network; cache blocks of the update data in the connectivity adapter memory that is associated with the local URL; receive a request from at least one infusion pump of the plurality of infusion pumps over a first communication channel of the first network for the update data at the local URL; and stagger streaming blocks of the update data to the at least one infusion pump over a second communication channel of the first network.


The connectivity adapter can be further configured to send the update notification and the local URL associated with the location of the update data to at least a portion of the plurality of infusion pumps. The update information can further include a schedule indicating when the update data is available. The cloud URL can be accessible for a duration of time.


Staggering streaming blocks of update data can comprise streaming blocks of update data in parallel to staggered groups of the one or more infusion pumps. The one or more infusion pumps can be further configured to re-request the update data until the update data is sent, a frequency of re-requests occurring according to an exponential backoff process. The one or more infusion pumps can be further configured to determine whether the memory associated with the respective infusion pump of the one or more infusion pumps includes the update data prior to requesting the update data. For example, if the infusion pump 204 has the operational software update stored in memory 322, the infusion pump 204 does not need to download the update from the connectivity adapter 204. The CE 324 can update the MCU 326 with the update data stored in the memory 322.


The connectivity adapter can be further configured to send status parameters associated with microservices operating within the connectivity adapter. The connectivity adapter can be further configured to receive a request for status, and in response to the request for status, can send status parameters associated with microservices operating within the connectivity adapter. The connectivity adapter can be further configured to send status parameters associated with microservices operating within the connectivity adapter when at least one status parameter exceeds a threshold.


A method can provide update data to a plurality of infusion pumps within a clinical environment. The method can comprise receiving user input comprising update information that includes at least a location of update data in a cloud environment, where the update data being one of an operational software update and a drug library update, and where the location of the update data in the cloud environment associated with a cloud URL; receiving an update notification responsive to the user input and receiving the cloud URL over a first communication channel of a network associated with the cloud environment, and mapping the cloud URL to a local URL; opening a stream to receive the update data stored at the cloud URL, where the update data received over a second communication channel of the network associated with the cloud environment.


The method can further comprise caching blocks of the update data in memory that is associated with the local URL; receiving a request for the update data at the local URL from at least one infusion pump of a plurality of infusion pumps over a first communication channel of a network associated with a clinical environment. The plurality of infusion pumps can be configured to deliver medication to one or more patients. Each respective infusion pump of the plurality of infusion pumps can comprise a memory configured to store operational software and one or more drug libraries. The method can further comprise staggering streaming blocks of the update data to the at least one infusion pump over a second communication channel of network associated with the clinical environment.


Embodiments of the present disclosure can be defined by the following non-limiting clauses:


Clause 1. A system configured to provide update data to a plurality of infusion pumps configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the system comprising:

    • a server configured to receive user input comprising at least a first location of update data, the first location being outside of the clinical environment; and
    • an apparatus comprising computer hardware and memory configured to store at least the update data, the apparatus in communication with the server over a first network that provides communication outside of the clinical environment, the memory further storing instructions that, when executed by the computer hardware, configure the apparatus to:
    • receive the first location of the update data from the server over a first communication channel of the first network;
    • receive the update data from the first location over a second communication channel of the first network; and
    • store blocks of the update data at a second location that is within the clinical environment, wherein the stored blocks of update data are available for transmission to one or more infusion pumps of the plurality of infusion pumps over a second network that is within the clinical environment.


Clause 2. The system of Clause 1 wherein the stored blocks of data are stored in cache memory.


Clause 3. The system of Clause 1 wherein the update data is at least one of an operational software update and a drug library update.


Clause 4. The system of Clause 1 wherein the first location corresponds to a cloud URL and the second location corresponds to a local URL, the apparatus further configured to map the cloud URL to the local URL.


Clause 5. The system of Clause 4 wherein the cloud URL is a temporary URL having a defined lifetime.


Clause 6. The system of Clause 4 wherein the plurality of infusion pumps do not have network access to the cloud URL, the local URL providing access to the update data.


Clause 7. The system of Clause 1 wherein the first location is a temporary location having a defined lifetime.


Clause 8. The system of Clause 1 wherein the apparatus is further configured to, in response to receiving a request for the update data, open a local URL stream.


Clause 9. The system of Clause 1 wherein the apparatus is further configured to notify at least a portion of the one or more infusion pumps that the update data is available.


Clause 10. The system of Clause 8 wherein the user input further includes filter information, and wherein the apparatus is further configured to determine at least a portion of the one or more infusion pumps based at least in part of the filter information.


Clause 11. The system of Clause 9 wherein the filter information includes at least one of an indication of a specific infusion pump, an indication of a specific version of an infusion pump, or an indication of a specific facility.


Clause 12. The system of Clause 1 wherein the user input further includes a schedule indicating when the update data is available.


Clause 13. A method to provide update data to a plurality of infusion pumps that are configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the method comprising:

    • receiving user input comprising at least a first location of update data, the first location being outside of the clinical environment;
    • at an apparatus configured to communicate with the plurality of infusion pumps over a first network that is within the clinical environment:
      • receiving the first location of the update data over a first communication channel of a second network that provides communication outside of the clinical environment;
      • receiving the update data from the first location over a second communication channel of the second network; and
      • storing blocks of the update data at a second location that is within the clinical environment, wherein the stored blocks of update data are available for transmission to one or more infusion pumps of the plurality of infusion pumps over the first network within the clinical environment.


Clause 14. The method of Clause 13 wherein the user input further includes a schedule indicating when the update data is available.


Clause 15. The method of Clause 12 wherein the apparatus is further configured to notify at least a portion of the one or more infusion pumps that the update data is available.


Clause 16. The method of Clause 15 wherein the user input further includes filter information, and wherein the apparatus is further configured to determine at least a portion of the one or more infusion pumps based at least in part of the filter information.


Clause 17. The method of Clause 16 wherein the filter information includes at least one of an indication of a specific infusion pump, an indication of a specific version of an infusion pump, or an indication of a specific facility.


Clause 18. A method to provide update data to a plurality of infusion pumps that are configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the method comprising:

    • at an apparatus configured to communicate with the plurality of infusion pumps over a first network that is within the clinical environment:
      • requesting update data, the update data having a first location that is outside of the clinical environment;
      • receiving the first location of the update data over a first communication channel of a second network that provides communication outside of the clinical environment;
      • receiving the update data from the first location over a second communication channel of the second network; and
      • storing blocks of the update data at a second location that is within the clinical environment, wherein the stored blocks of update data are available for transmission to one or more infusion pumps of the plurality of infusion pumps over the first network within the clinical environment.


Clause 19. The method of Clause 18 wherein the first location corresponds to a cloud URL and the second location corresponds to a local URL, the apparatus further configured to map the cloud URL to the local URL.


Clause 20. The method of Clause 19 wherein the cloud URL is a temporary URL having a defined lifetime.


Clause 21. The method of Clause 20 wherein the plurality of infusion pumps do not have network access to the cloud URL, the local URL providing access to the update data.


Clause 22. The method of Clause 18 wherein the first location is a temporary location having a defined lifetime.


Clause 23. An apparatus to provide update data to a plurality of infusion pumps that are configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the apparatus comprising:

    • a processor comprising one or more hardware computers; and
    • a memory storing instructions that, when executed by the processor, configure the apparatus to:
      • receive a first location of update data over a first communication channel of a first network that provides communication outside of the clinical environment;
      • receive the update data from the first location over a second communication channel of the first network; and
      • store blocks of the update data at a second location that is within the clinical environment, wherein the stored blocks of update data are available for transmission to one or more infusion pumps of the plurality of infusion pumps over a second network within the clinical environment.


Clause 24. The apparatus of Clause 23 wherein the stored blocks of data are stored in cache memory.


Clause 25. The apparatus of Clause 23 wherein the update data is at least one of an operational software update and a drug library update.


Clause 26. A system configured to provide update data to a plurality of infusion pumps within a clinical environment, the system comprising:

    • a plurality of infusion pumps configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries; and
    • an apparatus comprising computer hardware and memory configured to store at least the update data, the apparatus in communication with the plurality of infusion pumps over a first network that is within the clinical environment, the memory further storing instructions that, when executed by the computer hardware, configure the apparatus to:
      • receive the update data over a second network that provides communication outside of the clinical environment;
      • store the update data within the clinical environment as blocks of update data;
      • receive a request for the update data over a first communication channel of the first network from one or more infusion pumps of the plurality of infusion pumps; and
      • stream the stored blocks of update data to a group of requesting infusion pumps over a second communication channel of the first network, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps, wherein the instructions further configure the apparatus to stream the stored blocks of update data to the group of requesting infusion pumps by streaming a first block of update data to a first subset of the group of requesting infusion pumps and approximately concurrently streaming a second block of update data different from the first block of update data to a second subset of the group of requesting infusion pumps.


Clause 27. The system of Clause 26 wherein the stored blocks of data are stored in cache memory.


Clause 28. The system of Clause 26 wherein the update data is at least one of an operational software update and a drug library update.


Clause 29. The system of Clause 26 wherein the apparatus is further configured to, in response to receiving the request for the update data, open a local URL stream.


Clause 30. The system of Clause 26 wherein the apparatus is further configured to notify the one or more infusion pumps that the update data is available.


Clause 31. The system of Clause 30 wherein the apparatus is further configured to determine the one or more infusion pumps based at least in part on filter information.


Clause 32. The system of Clause 31 wherein the filter information includes at least one of an indication of a specific infusion pump, an indication of a specific version of an infusion pump, or an indication of a specific facility.


Clause 33. The system of Clause 26 wherein said streaming the stored blocks of update data to the portion of requesting infusion pumps comprises staggering the streaming of blocks of update data to the portion of requesting infusion pumps.


Clause 34. The system of Clause 33 wherein staggering the streaming of blocks of update data to the portion of requesting infusion pumps comprises streaming blocks of update data in parallel to staggered groups of the portion of requesting infusion pumps.


Clause 35. The system of Clause 26 wherein the one or more infusion pumps are further configured to re-request the update data until the update data is sent, a frequency of re-requests occurring according to an exponential backoff process.


Clause 36. The system of Clause 26 wherein the one or more infusion pumps are configured to determine whether the memory associated with the respective infusion pump of the one or more infusion pumps includes the update data prior to requesting the update data.


Clause 37. A method to provide update data to a plurality of infusion pumps configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the method comprising:

    • receiving the update data over a second network that provides communication outside of the clinical environment;
    • storing the update data within the clinical environment as blocks of update data;
    • receiving a request for update data over a first communication channel of a first network from one or more infusion pumps of the plurality of infusion pumps, the first network being within the clinical environment; and
    • staggering streaming of the stored blocks of update data to a group of requesting infusion pumps over a second communication channel of the first network, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps.


Clause 38. The method of Clause 37 wherein the stored blocks of data are stored in cache memory.


Clause 39. The method of Clause 37 wherein the update data is at least one of an operational software update and a drug library update.


Clause 40. An apparatus to provide update data to a plurality of infusion pumps configured to deliver medication to one or more patients within a clinical environment, each infusion pump of the plurality of infusion pumps comprising memory configured to store operational software and one or more drug libraries, the apparatus comprising:

    • a processor comprising one or more hardware computers; and
    • a memory storing instructions that, when executed by the processor, configure the apparatus to:
      • receive the update data over a second network that provides communication outside of the clinical environment;
      • store the update data within the clinical environment as blocks of update data;
      • receive a request for update data over a first communication channel of a first network from one or more infusion pumps of the plurality of infusion pumps, the first network being within the clinical environment; and
      • stagger streaming of the cached blocks of the update data to a group of requesting infusion pumps over a second communication channel of the first network, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps.


Clause 41. The apparatus of Clause 40 wherein the apparatus is further configured to, in response to receiving the request for the update data, open a local URL stream.


Clause 42. The apparatus of Clause 40 wherein the apparatus is further configured to notify the one or more infusion pumps that the update data is available.


Clause 43. The apparatus of Clause 42 wherein the apparatus is further configured to determine the one or more infusion pumps based at least in part on filter information.


Clause 44. The apparatus of Clause 43 wherein the filter information includes at least one of an indication of a specific infusion pump, an indication of a specific version of an infusion pump, or an indication of a specific facility.


Clause 45. An apparatus configured to receive operational software updates and drug library updates from a server and to communicate the operational software updates and drug library updates to a plurality of infusion pumps that deliver medication to one or more patients within a clinical environment, the apparatus further configured to determine communication performance quality of the apparatus, the apparatus comprising:

    • a processor comprising computing hardware; and
    • a memory storing instructions that, when executed by the processor, configure the apparatus to:
      • monitor a plurality of parameters associated with one or more microservices, each microservice configured to determine functionality associated with operation of the apparatus, each parameter associated with a respective microservice;
      • determine that at least one parameter exceeds a threshold;
      • determine that messages transmitted to the server within a first time period exclude an indication that the at least one parameter exceeds the threshold;
      • format a message including an indication that the at least one parameter exceeds the threshold; and
      • transmit the formatted message to the server and reset at least one respective microservice associated with the at least one parameter.


Clause 46. The apparatus of Clause 45 wherein the instructions further configure the apparatus to transmit the formatted message to the server only after a predetermined number parameters exceed their respective thresholds.


Clause 47. The apparatus of Clause 45 wherein the plurality of parameters include at least one of a queue size, latency, memory size, disk space, an indication of a number of connected devices, or CPU time.


Clause 48. The apparatus of Clause 45 wherein each microservice of the one or more microservices is configured to create containers of unstructured data associated with a monitored parameter of the plurality of parameters.


Clause 49. The apparatus of Clause 45 wherein the server is configured to receive a request from a user for a status of the apparatus.


Clause 50. The apparatus of Clause 45 wherein the server is configured to receive a request from a user for a status of the apparatus, and in response to receiving the request, transmit over the network to the apparatus, a request for status of at least one parameter of the plurality of parameters.


Clause 51. The apparatus of Clause 45 wherein the server is configured to receive and analyze the transmitted message.


Clause 52. The apparatus of Clause 51 wherein the server is further configured to report the analysis to a user.


Clause 53. The apparatus of Clause 51 wherein the server is further configured to automatically cause a reboot based on the analysis.


Clause 54. The apparatus of Clause 45 wherein the server is configured to cause the at least one respective microservice to reset.


Clause 55. A method to verify performance quality of an apparatus configured to communicate operational software updates and drug library updates from a server to a plurality of infusion pumps that deliver medication to one or more patients within a clinical environment, the method comprising:

    • monitoring a plurality of parameters associated with one or more microservices that monitor functionality associated with operation of the apparatus, each parameter associated with a respective microservice;
    • determining that at least one parameter exceeds a threshold;
    • determining that messages transmitted to the server within a first time period exclude an indication that the at least one parameter exceeds the threshold;
    • formatting a message including an indication that the at least one parameter exceeds the threshold; and
    • transmitting the formatted message to the server and reset at least one respective microservice associated with the at least one parameter.


Clause 56. The method of Clause 55 wherein the plurality of parameters include at least one of a queue size, latency, memory size, disk space, an indication of a number of connected devices, or CPU time.


Clause 57. The method of Clause 55 wherein each microservice of the one or more microservices is configured to create containers of unstructured data associated with a monitored parameter of the plurality of parameters.


Clause 58. The method of Clause 55 wherein the server is configured to receive a request from a user for a status of the apparatus.


Clause 59. The method of Clause 55 wherein the server is configured to receive a request from a user for a status of the apparatus, and in response to receiving the request, transmit over the network to the apparatus, a request for status of at least one parameter of the plurality of parameters.


Clause 60. The method of Clause 55 wherein the server is configured to receive and analyze the transmitted message.


Clause 61. The method of Clause 60 wherein the server is further configured to report the analysis to a user.


Clause 62. The method of Clause 60 wherein the server is further configured to automatically cause a reboot based on the analysis.


Clause 63. The method of Clause 55 wherein the server is configured to cause the at least one respective microservice to reset.


Clause 64. The method of Clause 55 wherein the apparatus is configured to cause the at least one respective microservice to reset.


Other Considerations


It is to be understood that not necessarily all objects or advantages may be achieved in accordance with any particular embodiment described herein. Thus, for example, those skilled in the art will recognize that certain embodiments may be configured to operate in a manner that achieves or optimizes one advantage or group of advantages as taught herein without necessarily achieving other objects or advantages as may be taught or suggested herein.


Many other variations than those described herein will be apparent from this disclosure. For example, depending on the embodiment, certain acts, events, or functions of any of the algorithms described herein can be performed in a different sequence, can be added, merged, or left out altogether (e.g., not all described acts or events are necessary for the practice of the algorithms). Moreover, in certain embodiments, acts or events can be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors or processor cores or on other parallel architectures, rather than sequentially. In addition, different tasks or processes can be performed by different machines and/or computing systems that can function together.


The various illustrative logical blocks, modules, and algorithm elements described in connection with the embodiments disclosed herein can be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, and elements have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure.


The various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general-purpose processor can be a microprocessor, but in the alternative, the processor can be a controller, microcontroller, or state machine, combinations of the same, or the like. A processor can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, a processor may also include primarily analog components. For example, some or all of the signal processing algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.


The elements of a method, process, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module stored in one or more memory devices and executed by one or more processors, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of non-transitory computer-readable storage medium, media, or physical computer storage known in the art. An example storage medium can be coupled to the processor such that the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor. The storage medium can be volatile or nonvolatile. The processor and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor and the storage medium can reside as discrete components in a user terminal.


Conditional language used herein, such as, among others, “can,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements, and/or states. Thus, such conditional language is not generally intended to imply that features, elements and/or states are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without author input or prompting, whether these features, elements and/or states are included or are to be performed in any particular embodiment. The terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list. Further, the term “each,” as used herein, in addition to having its ordinary meaning, can mean any subset of a set of elements to which the term “each” is applied.


Disjunctive language such as the phrase “at least one of X, Y, or Z,” unless specifically stated otherwise, is otherwise understood with the context as used in general to present that an item, term, etc., may be either X, Y, or Z, or any combination thereof (e.g., X, Y, and/or Z). Thus, such disjunctive language is not generally intended to, and should not, imply that certain embodiments require at least one of X, at least one of Y, or at least one of Z to each be present.


Unless otherwise explicitly stated, articles such as “a”, “an”, or “the” should generally be interpreted to include one or more described items. Accordingly, phrases such as “a device configured to” are intended to include one or more recited devices. Such one or more recited devices can also be collectively configured to carry out the stated recitations. For example, “a processor configured to carry out recitations A, B, and C” can include a first processor configured to carry out recitation A working in conjunction with a second processor configured to carry out recitations B and C.


While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As will be recognized, certain embodiments described herein can be implemented within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others. All such modifications and variations are intended to be included herein within the scope of this disclosure. Further, additional embodiments created by combining any two or more features or techniques of one or more embodiments described herein are also intended to be included herein within the scope of this disclosure.

Claims
  • 1. An apparatus configured to provide update data to a plurality of infusion pumps within a clinical environment, the apparatus comprising: computer hardware; andmemory, in communication with the computer hardware, and configured to store at least the update data and having an outbound message queue, the apparatus configured to be in communication with a plurality of infusion pumps over a first network that is within the clinical environment, the memory storing instructions that, when executed by the computer hardware, configure the apparatus to: receive messages that include the clinical information;receive the update data over a second network that provides communication outside of the clinical environment;store the update data within the clinical environment as blocks of update data;receive a request for the update data over a first communication channel of the first network from one or more infusion pumps of the plurality of infusion pumps;determine a status based at least in part on a size of the outbound message queue; andstream the stored blocks of update data to a group of requesting infusion pumps over a second communication channel of the first network based at least in part on the status, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps, wherein the instructions further configure the apparatus to stream the stored blocks of update data to the group of requesting infusion pumps by streaming a first block of update data to a first subset of the group of requesting infusion pumps and approximately concurrently streaming a second block of update data different from the first block of update data to a second subset of the group of requesting infusion pumps.
  • 2. The apparatus of claim 1 further comprising a first interface for communicating with the plurality of infusion pumps over the first network.
  • 3. The apparatus of claim 2 wherein the first interface is configured to communicate the messages over the first channel of the first network and communicate data over the second channel of the first network.
  • 4. The apparatus of claim 2 wherein the instructions configure the apparatus to determine the status based at least in part on the size of the outbound message queue by determining the status of the first interface based at least in part on the size of the outbound message queue.
  • 5. The apparatus of claim 1 further comprising a second interface for communicating with a server over the second network.
  • 6. The apparatus of claim 1 wherein the instructions configure the apparatus to determine the status based at least in part on the size of the outbound message queue by determining the status based at least in part on latency and the size of the outbound message queue.
  • 7. The apparatus of claim 1 wherein the stored blocks of update data include at least a first block of update data and a second block of update data that is different from the first block of update data.
  • 8. The apparatus of claim 1 wherein the instructions configure the apparatus to stream over the second channel of the first network, based at least in part on the status, the update data to the requesting infusion pumps by streaming over the second channel of the first network, based at least in part on the status, the first block of update data to a first subset of the requesting infusion pumps and the second block of update data to a second subset of the requesting infusion pumps.
  • 9. The apparatus of claim 1 wherein the instructions configure the apparatus to stream over the second channel of the first network, based at least in part on the status, the update data to the requesting infusion pumps by staggering the streaming of blocks of update data to the requesting infusion pumps.
  • 10. The apparatus of claim 9 wherein the instructions configure the apparatus to stagger the streaming of blocks of update data to the requesting infusion pumps by streaming blocks of update data in parallel to staggered groups of requesting infusion pumps.
  • 11. The apparatus of claim 1 wherein the one or more of the requesting infusion pumps are configured to re-request the update data until the update data is sent, a frequency of re-requests occurring according to an exponential backoff process.
  • 12. A method to provide update data to a plurality of infusion pumps that are located within one or more clinical environments and configured to deliver medication according to one or more drug libraries to one or more patients, the method comprising: receiving messages that include clinical information from a plurality of infusion pumps over a first channel of a first network, the apparatus configured to communicate with the plurality of infusion pumps over the first network that is within a clinical environment and communicate with a server over a second network that is outside of the clinical environment, the apparatus comprising computer hardware and memory having an outbound message queue;receiving messages that include clinical information;receiving the update data over the second network;storing the update data as blocks of update data;receiving a request for the update data over a first channel of the first network from one or more infusion pumps of the plurality of infusion pumps;determining a status based at least in part on a size of the outbound message queue; andstreaming over a second channel of the first network, based at least in part on the status, the stored blocks of update data to a group of requesting infusion pumps, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps, wherein streaming further comprises streaming the stored blocks of update data to the group of requesting infusion pumps and approximately concurrently streaming a second block of update data different from the first block of update data to a second subset of the group of requesting infusion pumps.
  • 13. The method of claim 12 wherein determining the status based at least in part on the size of the outbound message queue comprises determining the status of the first interface based at least in part on latency and the size of the outbound message queue.
  • 14. The method of claim 12 wherein the stored blocks of update data including at least a first block of update data and a second block of update data that is different from the first block of update data.
  • 15. The method of claim 14 wherein streaming over the second channel of the first network, based at least in part on the status, the update data to the requesting infusion pumps comprises streaming over the second channel of the first network, based at least in part on the status, the first block of update data to a first subset of the requesting infusion pumps and the second block of update data to a second subset of the requesting infusion pumps.
  • 16. An apparatus to provide update data to a plurality of infusion pumps located within one or more clinical environments, the apparatus comprising: a first interface configured to communicate with the plurality of infusion pumps over a first network that is within at least one of the one or more the clinical environments;a second interface configured to communicate with a server over a second network that is outside of the one or more clinical environments;a processor comprising computer hardware; anda memory having an outbound message queue and storing instructions that, when executed by the processor, configure the apparatus to: receive messages that include clinical information over a first channel of the first network;receive update data over the second network;store the update data as blocks of update data;receive a request for the update data over a first channel of the first network;determine a status based at least in part on a size of the outbound message queue; andstream over a second channel of the first network, based at least in part on the status, the stored blocks of update data to a group of requesting infusion pumps, wherein the group of requesting infusion pumps comprises a predetermined number of infusion pumps that is less than all of the plurality of infusion pumps, wherein the instructions further configure the apparatus to stream the stored blocks of update data to the group of requesting infusion pumps and approximately concurrently stream a second block of update data different from the first block of update data to a second subset of the group of requesting infusion pumps.
  • 17. The apparatus of claim 16 wherein the instructions configure the apparatus to stream over the second channel of the first network, based at least in part on the status, the update data to the requesting infusion pumps by staggering the streaming of blocks of update data to the requesting infusion pumps.
  • 18. The apparatus of claim 17 wherein staggering the streaming of blocks of update data to the requesting infusion pumps comprises streaming blocks of update data in parallel to staggered groups of requesting infusion pump.
  • 19. The apparatus of claim 16 wherein the apparatus is further configured to, in response to receiving the request for the update data, open a local URL stream.
  • 20. The apparatus of claim 16 wherein the apparatus is further configured to determine the one or more infusion pumps based at least in part on filter information and to notify the determined one or more infusion pumps that the update data is available, the filter information including at least one of a specific infusion pump, an indication of a specific version of an infusion pump, or an indication of a specific facility.
US Referenced Citations (1297)
Number Name Date Kind
4024864 Davies et al. May 1977 A
4055175 Clemens et al. Oct 1977 A
4151845 Clemens May 1979 A
4213454 Shim Jul 1980 A
4240438 Updike et al. Dec 1980 A
4280494 Cosgrove et al. Jul 1981 A
4308866 Jeliffe Jan 1982 A
4370983 Lichtenstein et al. Feb 1983 A
4373527 Fischell Feb 1983 A
4392849 Petre et al. Jul 1983 A
4395259 Prestele et al. Jul 1983 A
4457751 Rodler Jul 1984 A
4464170 Clemens Aug 1984 A
4469481 Kobayashi Sep 1984 A
4475901 Kraegen et al. Oct 1984 A
4494950 Fischell Jan 1985 A
4498843 Schneider et al. Feb 1985 A
4515584 Abe et al. May 1985 A
4526568 Clemens et al. Jul 1985 A
4529401 Leslie et al. Jul 1985 A
4543955 Schroeppel Oct 1985 A
4551133 Zegers de Beyl et al. Nov 1985 A
4553958 LeCocq Nov 1985 A
4559037 Franetzki et al. Dec 1985 A
4613937 Batty Sep 1986 A
4624661 Arimond Nov 1986 A
4633878 Bombardieri Jan 1987 A
4634426 Kamen Jan 1987 A
4634427 Hannula et al. Jan 1987 A
4674652 Aten et al. Jun 1987 A
4676776 Howson et al. Jun 1987 A
4679562 Luksha Jul 1987 A
4685903 Cable et al. Aug 1987 A
4695954 Rose Sep 1987 A
4696671 Epstein et al. Sep 1987 A
4714462 DiDomenico Dec 1987 A
4722734 Kolin Feb 1988 A
4730849 Siegel Mar 1988 A
4731051 Fischell Mar 1988 A
4741732 Crankshaw et al. May 1988 A
4756706 Kerns et al. Jul 1988 A
4776842 Franetzki et al. Oct 1988 A
4785969 McLaughlin Nov 1988 A
4803625 Fu et al. Feb 1989 A
4835372 Gombrich et al. May 1989 A
4838275 Lee Jun 1989 A
4838856 Mulreany et al. Jun 1989 A
4838857 Strowe et al. Jun 1989 A
4854324 Hirschman et al. Aug 1989 A
4857716 Gombrich et al. Aug 1989 A
4858154 Anderson et al. Aug 1989 A
4898578 Rubalcaba, Jr. Feb 1990 A
4908017 Howson et al. Mar 1990 A
4933873 Kaufman et al. Jun 1990 A
4943279 Samiotes et al. Jul 1990 A
4946439 Eggers Aug 1990 A
4953745 Rowlett Sep 1990 A
4978335 Arthur, III Dec 1990 A
5000739 Kulisz et al. Mar 1991 A
5010473 Jacobs Apr 1991 A
5014698 Cohen May 1991 A
5016172 Dessertine May 1991 A
5026084 Paisfield Jun 1991 A
5034004 Crankshaw Jul 1991 A
5041086 Koenig et al. Aug 1991 A
5058161 Weiss Oct 1991 A
5078683 Sancoff et al. Jan 1992 A
5084828 Kaufman et al. Jan 1992 A
5088981 Howson et al. Feb 1992 A
5097505 Weiss Mar 1992 A
5100380 Epstein et al. Mar 1992 A
5102392 Sakai et al. Apr 1992 A
5104374 Bishko et al. Apr 1992 A
5109850 Blanco et al. May 1992 A
5131816 Brown Jul 1992 A
5142484 Kaufman et al. Aug 1992 A
5153827 Coutre et al. Oct 1992 A
5157640 Backner Oct 1992 A
5161222 Montejo et al. Nov 1992 A
5177993 Beckman et al. Jan 1993 A
5181910 Scanlon Jan 1993 A
5190522 Wocicki et al. Mar 1993 A
5199439 Zimmerman et al. Apr 1993 A
5200891 Kehr et al. Apr 1993 A
5216597 Beckers Jun 1993 A
5221268 Barton et al. Jun 1993 A
5230061 Welch Jul 1993 A
5243982 Möstl et al. Sep 1993 A
5244463 Cordner, Jr. et al. Sep 1993 A
5249260 Nigawara et al. Sep 1993 A
5256156 Kern et al. Oct 1993 A
5256157 Samiotes et al. Oct 1993 A
5261702 Mayfield Nov 1993 A
5317506 Coutre et al. May 1994 A
5319355 Russek Jun 1994 A
5319363 Welch et al. Jun 1994 A
5330634 Wong et al. Jul 1994 A
5338157 Blomquist Aug 1994 A
5341476 Lowell Aug 1994 A
5364346 Schrezenmeir Nov 1994 A
5366346 Danby Nov 1994 A
5368562 Blomquist et al. Nov 1994 A
5373454 Kanda et al. Dec 1994 A
5376070 Purvis et al. Dec 1994 A
5378231 Johnson et al. Jan 1995 A
5389071 Kawahara et al. Feb 1995 A
5389078 Zalesky et al. Feb 1995 A
5417222 Dempsey et al. May 1995 A
5423748 Uhala Jun 1995 A
5429602 Hauser Jul 1995 A
5431627 Pastrone et al. Jul 1995 A
5432777 Le Boudec et al. Jul 1995 A
5445621 Poli et al. Aug 1995 A
5447164 Shaya et al. Sep 1995 A
5455851 Chaco et al. Oct 1995 A
5461365 Schlager et al. Oct 1995 A
5464392 Epstein et al. Nov 1995 A
5465082 Chaco Nov 1995 A
5485408 Blomquist Jan 1996 A
5486286 Peterson et al. Jan 1996 A
5493430 Lu et al. Feb 1996 A
5496273 Pastrone et al. Mar 1996 A
5505828 Wong et al. Apr 1996 A
5507288 Bocker et al. Apr 1996 A
5507786 Morgan et al. Apr 1996 A
5508499 Ferrario Apr 1996 A
5515713 Saugues et al. May 1996 A
5520637 Pager et al. May 1996 A
5522798 Johnson et al. Jun 1996 A
5547470 Johnson et al. Aug 1996 A
5554013 Owens et al. Sep 1996 A
5562615 Nassif Oct 1996 A
5577169 Prezioso Nov 1996 A
5582323 Kurtenbach Dec 1996 A
5582593 Hultman Dec 1996 A
5594786 Chaco et al. Jan 1997 A
5598519 Narayanan Jan 1997 A
5620608 Rosa et al. Apr 1997 A
5630710 Tune et al. May 1997 A
5636044 Yuan et al. Jun 1997 A
5643212 Coutre et al. Jul 1997 A
5651775 Walker et al. Jul 1997 A
5658131 Aoki et al. Aug 1997 A
5658250 Blomquist et al. Aug 1997 A
5665065 Colman et al. Sep 1997 A
5669877 Blomquist Sep 1997 A
5672154 Sillén et al. Sep 1997 A
5681285 Ford et al. Oct 1997 A
5685844 Marttila Nov 1997 A
5687717 Halpern et al. Nov 1997 A
5689229 Chaco et al. Nov 1997 A
5697899 Hillman et al. Dec 1997 A
5699509 Gary et al. Dec 1997 A
5713350 Yokota et al. Feb 1998 A
5713856 Eggers et al. Feb 1998 A
5718562 Lawless et al. Feb 1998 A
5719761 Gatti et al. Feb 1998 A
5733259 Valcke et al. Mar 1998 A
5738102 Lemelson Apr 1998 A
5744027 Connell et al. Apr 1998 A
5752621 Passamante May 1998 A
5754111 Garcia May 1998 A
5764034 Bowman et al. Jun 1998 A
5764159 Neftel et al. Jun 1998 A
5772635 Dastur et al. Jun 1998 A
5774865 Glynn Jun 1998 A
5778256 Darbee Jul 1998 A
5778345 McCartney Jul 1998 A
5781442 Engleson et al. Jul 1998 A
5782805 Meinzer et al. Jul 1998 A
5788669 Peterson Aug 1998 A
5797515 Liff et al. Aug 1998 A
5800387 Duffy et al. Sep 1998 A
5814015 Gargano et al. Sep 1998 A
5822544 Chaco et al. Oct 1998 A
5822715 Worthington et al. Oct 1998 A
5827179 Lichter et al. Oct 1998 A
5832448 Brown Nov 1998 A
5836910 Duffy et al. Nov 1998 A
5850344 Conkright Dec 1998 A
5867821 Ballantyne et al. Feb 1999 A
5870733 Bass et al. Feb 1999 A
5871465 Vasko Feb 1999 A
5873731 Predergast Feb 1999 A
5885245 Lynch et al. Mar 1999 A
5897493 Brown Apr 1999 A
5897498 Canfield, II et al. Apr 1999 A
5910252 Truitt et al. Jun 1999 A
5912818 McGrady et al. Jun 1999 A
5915240 Karpf Jun 1999 A
5920054 Uber, III Jul 1999 A
5920263 Huttenhoff et al. Jul 1999 A
5924074 Evans Jul 1999 A
5931764 Freeman et al. Aug 1999 A
5935099 Peterson et al. Aug 1999 A
5935106 Olsen Aug 1999 A
5941846 Duffy et al. Aug 1999 A
5956501 Brown Sep 1999 A
5957885 Bollish et al. Sep 1999 A
5960085 de la Huerga Sep 1999 A
5961448 Swenson et al. Oct 1999 A
5967559 Abramowitz Oct 1999 A
5971594 Sahai et al. Oct 1999 A
5975081 Hood et al. Nov 1999 A
5990838 Burns et al. Nov 1999 A
5997476 Brown Dec 1999 A
6000828 Leet Dec 1999 A
6003006 Colella et al. Dec 1999 A
6012034 Hamparian et al. Jan 2000 A
6017318 Gauthier et al. Jan 2000 A
6021392 Lester et al. Feb 2000 A
6024539 Blomquist Feb 2000 A
6024699 Surwit et al. Feb 2000 A
6032155 de la Huerga Feb 2000 A
6032676 Moore Mar 2000 A
6039251 Holowko et al. Mar 2000 A
6070761 Bloom et al. Jun 2000 A
6073106 Rozen et al. Jun 2000 A
6104295 Gaisser et al. Aug 2000 A
6112182 Akers et al. Aug 2000 A
6112323 Meizlik et al. Aug 2000 A
RE36871 Epstein et al. Sep 2000 E
6115390 Chuah Sep 2000 A
6122536 Sun et al. Sep 2000 A
6126637 Kriesel et al. Oct 2000 A
6135949 Russo et al. Oct 2000 A
6150942 O'Brien Nov 2000 A
6151643 Cheng et al. Nov 2000 A
6157914 Seto et al. Dec 2000 A
6159147 Lichter et al. Dec 2000 A
6167567 Chiles et al. Dec 2000 A
6182667 Hanks et al. Feb 2001 B1
6189105 Lopes Feb 2001 B1
6195589 Ketcham Feb 2001 B1
6208974 Campbell et al. Mar 2001 B1
6222323 Yamashita et al. Apr 2001 B1
6223440 Rashman May 2001 B1
6226277 Chuah May 2001 B1
6227371 Song May 2001 B1
6234176 Domae et al. May 2001 B1
6241704 Peterson et al. Jun 2001 B1
6248067 Causey, III et al. Jun 2001 B1
6249705 Snell Jun 2001 B1
6257265 Brunner et al. Jul 2001 B1
6259355 Chaco et al. Jul 2001 B1
6269340 Ford et al. Jul 2001 B1
6270455 Brown Aug 2001 B1
6271813 Palalau Aug 2001 B1
6277072 Bardy Aug 2001 B1
6280380 Bardy Aug 2001 B1
6283761 Joao Sep 2001 B1
6285665 Chuah Sep 2001 B1
6292860 Cochcroft, Jr. Sep 2001 B1
6312378 Bardy Nov 2001 B1
6327254 Chuah Dec 2001 B1
6330008 Razdow et al. Dec 2001 B1
6339718 Zatezalo et al. Jan 2002 B1
6346886 de la Huerga Feb 2002 B1
6363282 Nichols et al. Mar 2002 B1
6371719 Hildebrandt Apr 2002 B1
6377548 Chuah Apr 2002 B1
6388951 Matsumoto et al. May 2002 B1
6406426 Reuss et al. Jun 2002 B1
6408330 de la Huerga Jun 2002 B1
6418334 Unger et al. Jul 2002 B1
6427088 Bowman et al. Jul 2002 B1
6428483 Carlebach Aug 2002 B1
6442432 Lee Aug 2002 B2
6469991 Chuah Oct 2002 B1
6475180 Peterson et al. Nov 2002 B2
6482158 Mault Nov 2002 B2
6485418 Yasushi et al. Nov 2002 B2
6494694 Lawless et al. Dec 2002 B2
6494831 Koritzinsky Dec 2002 B1
6497680 Holst et al. Dec 2002 B1
6514460 Fendrock Feb 2003 B1
6517482 Eiden et al. Feb 2003 B1
6519569 White et al. Feb 2003 B1
6520930 Critchlow et al. Feb 2003 B2
6540672 Simonsen et al. Apr 2003 B1
6542902 Dulong et al. Apr 2003 B2
6544212 Galley et al. Apr 2003 B2
6544228 Heitmeier Apr 2003 B1
6546350 Hartmann et al. Apr 2003 B1
6551276 Mann et al. Apr 2003 B1
6554798 Mann et al. Apr 2003 B1
6558320 Causey et al. May 2003 B1
6558351 Steil et al. May 2003 B1
6565509 Say et al. May 2003 B1
6567416 Chuah May 2003 B1
6571294 Simmon et al. May 2003 B2
6572542 Houben et al. Jun 2003 B1
6572545 Knobbe et al. Jun 2003 B2
6578002 Derzay et al. Jun 2003 B1
6581117 Klein et al. Jun 2003 B1
6587034 Heiman et al. Jul 2003 B1
6589229 Connelly et al. Jul 2003 B1
6599281 Struys et al. Jul 2003 B1
6602191 Quy Aug 2003 B2
6605072 Struys et al. Aug 2003 B2
6628809 Rowe et al. Sep 2003 B1
6631353 Davis et al. Oct 2003 B1
6640246 Gardy, Jr. et al. Oct 2003 B1
6641533 Causey, III et al. Nov 2003 B2
6647299 Bourget Nov 2003 B2
6652455 Kocher Nov 2003 B1
6653937 Nelson et al. Nov 2003 B2
6659947 Carter et al. Dec 2003 B1
6669630 Joliat et al. Dec 2003 B1
6671563 Engleson et al. Dec 2003 B1
6673033 Sciulli et al. Jan 2004 B1
6674403 Gray et al. Jan 2004 B2
6681003 Linder et al. Jan 2004 B2
6689091 Bui et al. Feb 2004 B2
6692241 Watanabe et al. Feb 2004 B2
6694191 Starkweather et al. Feb 2004 B2
6694334 DuLong et al. Feb 2004 B2
6721286 Williams et al. Apr 2004 B1
6721582 Trepagnier et al. Apr 2004 B2
6725200 Rost Apr 2004 B1
6731989 Engleson et al. May 2004 B2
6740072 Starkweather et al. May 2004 B2
6751651 Crockett Jun 2004 B2
6752787 Causey, III et al. Jun 2004 B1
6753830 Gelbman Jun 2004 B2
6758810 Lebel et al. Jul 2004 B2
6773396 Flach et al. Aug 2004 B2
6774786 Havekost et al. Aug 2004 B1
6775577 Cmkovich et al. Aug 2004 B2
6780156 Haueter et al. Aug 2004 B2
6790198 White et al. Sep 2004 B1
6792470 Hakenberg et al. Sep 2004 B2
6796956 Hartlaub et al. Sep 2004 B2
6799149 Hartlaub Sep 2004 B2
6809653 Mann et al. Oct 2004 B1
6811534 Bowman, IV et al. Nov 2004 B2
6816605 Rowe et al. Nov 2004 B2
6839753 Biondi et al. Jan 2005 B2
6852104 Blomquist Feb 2005 B2
6859134 Heiman et al. Feb 2005 B1
6871211 Labounty et al. Mar 2005 B2
6873268 Lebel et al. Mar 2005 B2
6876303 Reeder et al. Apr 2005 B2
6885881 Leonhardt Apr 2005 B2
6891525 Ogoro May 2005 B2
6892278 Ebergen May 2005 B2
6899695 Herrera May 2005 B2
6915170 Engleson et al. Jul 2005 B2
6923763 Kovatchev et al. Aug 2005 B1
6924781 Gelbman Aug 2005 B1
6928338 Buchser et al. Aug 2005 B1
6928490 Bucholz et al. Aug 2005 B1
6936029 Mann et al. Aug 2005 B2
6945954 Hochman et al. Sep 2005 B2
6948492 Wemeling et al. Sep 2005 B2
6958677 Carter Oct 2005 B1
6958691 Anderson et al. Oct 2005 B1
6958705 Lebel et al. Oct 2005 B2
6961448 Nichols et al. Nov 2005 B2
6969352 Chiang et al. Nov 2005 B2
6969865 Duchon et al. Nov 2005 B2
6974437 Lebel et al. Dec 2005 B2
6979326 Mann et al. Dec 2005 B2
6980958 Surwit et al. Dec 2005 B1
6985870 Martucci et al. Jan 2006 B2
6986347 Hickle Jan 2006 B2
6997880 Carlebach et al. Feb 2006 B2
6997920 Mann et al. Feb 2006 B2
6998984 Zittrain Feb 2006 B1
7016752 Ruben et al. Mar 2006 B1
7017293 Riley Mar 2006 B2
7025743 Mann et al. Apr 2006 B2
7029455 Flaherty Apr 2006 B2
7038584 Carter May 2006 B2
7060031 Webb et al. Jun 2006 B2
7060059 Keith et al. Jun 2006 B2
7069552 Lindberg et al. Jun 2006 B2
7072725 Bristol et al. Jul 2006 B2
7079035 Bock et al. Jul 2006 B2
7092943 Roese et al. Aug 2006 B2
7096072 Engleson et al. Aug 2006 B2
7099809 Dori Aug 2006 B2
7103419 Engleson et al. Sep 2006 B2
7103578 Beck et al. Sep 2006 B2
7107106 Engleson et al. Sep 2006 B2
7108680 Rohr et al. Sep 2006 B2
7109878 Mann et al. Sep 2006 B2
7114002 Okumura et al. Sep 2006 B1
7117041 Engleson et al. Oct 2006 B2
7136645 Hanson et al. Nov 2006 B2
7137964 Flaherty Nov 2006 B2
7142190 Martinez Nov 2006 B2
7150741 Erickson et al. Dec 2006 B2
7153289 Vasko Dec 2006 B2
7154397 Zerhusen et al. Dec 2006 B2
7156807 Carter et al. Jan 2007 B2
7158030 Chung Jan 2007 B2
7161484 Tsoukalis et al. Jan 2007 B2
7167755 Seeberger et al. Jan 2007 B2
7167920 Traversat Jan 2007 B2
7171277 Engleson et al. Jan 2007 B2
7171492 Borella et al. Jan 2007 B1
7181493 English et al. Feb 2007 B2
7185288 McKeever Feb 2007 B2
7193514 Ritson Mar 2007 B2
7197025 Chuah Mar 2007 B2
7201734 Hickle Apr 2007 B2
7204823 Estes et al. Apr 2007 B2
7213009 Pestotnik May 2007 B2
7216802 de la Huerga May 2007 B1
7220240 Struys et al. May 2007 B2
7224979 Singhal et al. May 2007 B2
7229430 Hickle et al. Jun 2007 B2
7230529 Ketcherside Jun 2007 B2
7236936 White et al. Jun 2007 B2
7238164 Childers et al. Jul 2007 B2
7247154 Hickle Jul 2007 B2
7248239 Dowling Jul 2007 B2
7250856 Havekost et al. Jul 2007 B2
7255683 Vanderveen et al. Aug 2007 B2
7256888 Staehr et al. Aug 2007 B2
7258534 Fathallah et al. Aug 2007 B2
7263213 Rowe Aug 2007 B2
7267664 Rizzo Sep 2007 B2
7267665 Steil et al. Sep 2007 B2
7275156 Balfanz et al. Sep 2007 B2
7278983 Ireland et al. Oct 2007 B2
7289815 Gfeller et al. Oct 2007 B2
7289948 Mohri Oct 2007 B1
7293107 Hanson et al. Nov 2007 B1
7295119 Rappaport et al. Nov 2007 B2
7295556 Roese et al. Nov 2007 B2
7301451 Hastings Nov 2007 B2
7308300 Toews et al. Dec 2007 B2
7315825 Rosenfeld et al. Jan 2008 B2
7319386 Collins, Jr. et al. Jan 2008 B2
7324000 Zittrain et al. Jan 2008 B2
7327705 Fletcher et al. Feb 2008 B2
7343224 DiGianfilippo et al. Mar 2008 B2
7346025 Bryson Mar 2008 B2
7347836 Peterson et al. Mar 2008 B2
7354420 Steil et al. Apr 2008 B2
7369897 Boveja et al. May 2008 B2
7369948 Ferenczi et al. May 2008 B1
7383088 Spinelli et al. Jun 2008 B2
7384410 Eggers et al. Jun 2008 B2
7398183 Holland et al. Jul 2008 B2
7398279 Muno, Jr. et al. Jul 2008 B2
7399277 Saidara et al. Jul 2008 B2
7402153 Steil et al. Jul 2008 B2
7420472 Tran Sep 2008 B2
7432807 Schmitt Oct 2008 B2
7436454 Yamaguchi et al. Oct 2008 B2
7447643 Olson Nov 2008 B1
7454314 Holland et al. Nov 2008 B2
7457804 Uber, III et al. Nov 2008 B2
7464040 Joao Dec 2008 B2
7469213 Rao Dec 2008 B1
7471994 Ford et al. Dec 2008 B2
7483756 Engleson et al. Jan 2009 B2
7489808 Gerder Feb 2009 B2
7490021 Holland et al. Feb 2009 B2
7490048 Joao Feb 2009 B2
7491187 Van Den Berghe et al. Feb 2009 B2
7519905 Kougiouris et al. Apr 2009 B2
7523401 Aldridge Apr 2009 B1
7524304 Genosar Apr 2009 B2
7551078 Carlson Jun 2009 B2
7559321 Wermeling et al. Jul 2009 B2
7565197 Haulbrich et al. Jul 2009 B2
7572230 Neumann et al. Aug 2009 B2
7578802 Hickle Aug 2009 B2
7621009 Elhabashy Nov 2009 B2
D606533 De Jong et al. Dec 2009 S
7636718 Steen et al. Dec 2009 B1
7640172 Kuth Dec 2009 B2
7645258 White et al. Jan 2010 B2
7647237 Malave et al. Jan 2010 B2
7662124 Duchon et al. Feb 2010 B2
7668731 Martucci et al. Feb 2010 B2
7671733 McNeal et al. Mar 2010 B2
7678071 Lebel et al. Mar 2010 B2
7687678 Jacobs Mar 2010 B2
7697994 VanDanacker et al. Apr 2010 B2
7698239 Lieuallen Apr 2010 B2
7705727 Pestotnik Apr 2010 B2
7724147 Brown et al. May 2010 B2
7739126 Cave Jun 2010 B1
7746218 Collins, Jr. Jun 2010 B2
7766873 Moberg et al. Aug 2010 B2
7776029 Whitehurst et al. Aug 2010 B2
7776031 Hartlaub et al. Aug 2010 B2
7785313 Mastrototaro Aug 2010 B2
7788369 McAllen et al. Aug 2010 B2
7806852 Jurson Oct 2010 B1
7806886 Kanderian, Jr. et al. Oct 2010 B2
7826981 Goode, Jr. et al. Nov 2010 B2
7835927 Schlotterbeck et al. Nov 2010 B2
7836314 Chieu Nov 2010 B2
7856276 Ripart et al. Dec 2010 B2
7860583 Condurso et al. Dec 2010 B2
7864771 Tavares et al. Jan 2011 B2
7868754 Salvat, Jr. Jan 2011 B2
7871394 Halbert et al. Jan 2011 B2
7886231 Hopermann et al. Feb 2011 B2
7895053 Holland et al. Feb 2011 B2
7896842 Palmroos et al. Mar 2011 B2
7899546 Sieracki et al. Mar 2011 B2
7905710 Wang et al. Mar 2011 B2
7920061 Klein et al. Apr 2011 B2
7933780 de la Huerga Apr 2011 B2
7938796 Moubayed May 2011 B2
7945452 Fathallah et al. May 2011 B2
7974714 Hoffberg Jul 2011 B2
7976508 Hoag Jul 2011 B2
7996241 Zak Aug 2011 B2
8034026 Grant Oct 2011 B2
8038593 Friedman et al. Oct 2011 B2
8048040 Kiani Nov 2011 B2
8060576 Chan et al. Nov 2011 B2
8065161 Howard et al. Nov 2011 B2
8066672 Mandro Nov 2011 B2
8075514 Butterfield et al. Dec 2011 B2
8078983 Davis et al. Dec 2011 B2
8082018 Duchon et al. Dec 2011 B2
8082312 Chan et al. Dec 2011 B2
8095692 Mehta et al. Jan 2012 B2
8126730 Dicks et al. Feb 2012 B2
8147448 Sundar et al. Apr 2012 B2
8149131 Blomquist Apr 2012 B2
8169914 Bajpai May 2012 B2
8171094 Chan et al. May 2012 B2
8172798 Hungerford et al. May 2012 B2
8185322 Schroeder et al. May 2012 B2
8195478 Petersen et al. Jun 2012 B2
8206350 Mann et al. Jun 2012 B2
8219413 Martinez et al. Jul 2012 B2
8231578 Fathallah et al. Jul 2012 B2
8234128 Martucci et al. Jul 2012 B2
8267892 Spencer et al. Sep 2012 B2
8271106 Wehba et al. Sep 2012 B2
8287495 Michaud et al. Oct 2012 B2
8291337 Gannin et al. Oct 2012 B2
8298184 DiPerna et al. Oct 2012 B2
8312272 Serenyl et al. Nov 2012 B1
8352290 Bartz et al. Jan 2013 B2
8359338 Butterfield et al. Jan 2013 B2
8380536 Howard et al. Feb 2013 B2
8387112 Ranjan et al. Feb 2013 B1
8394077 Jacobson et al. Mar 2013 B2
8398592 Leibner-Druska Mar 2013 B2
8403908 Jacobson et al. Mar 2013 B2
8435206 Evans et al. May 2013 B2
8449523 Brukalo et al. May 2013 B2
8452953 Buck et al. May 2013 B2
8453645 Figueiredo et al. Jun 2013 B2
8472630 Konrad et al. Jun 2013 B2
8480648 Burnett et al. Jul 2013 B2
8489427 Simpson et al. Jul 2013 B2
8494879 Davis et al. Jul 2013 B2
8504179 Blomquist Aug 2013 B2
8517990 Teel et al. Aug 2013 B2
8518021 Stewart et al. Aug 2013 B2
8543416 Palmroos et al. Sep 2013 B2
8551038 Tsoukalis et al. Oct 2013 B2
8560345 Wehba et al. Oct 2013 B2
8567681 Borges et al. Oct 2013 B2
8577692 Silkaitis et al. Nov 2013 B2
8579884 Lanier et al. Nov 2013 B2
8626530 Tran et al. Jan 2014 B1
8655676 Wehba et al. Feb 2014 B2
8660860 Wehba et al. Feb 2014 B2
8662388 Belkin Mar 2014 B2
8666769 Butler et al. Mar 2014 B2
8667293 Birtwhistle et al. Mar 2014 B2
8687811 Nierzwick et al. Apr 2014 B2
8700421 Feng et al. Apr 2014 B2
8731960 Butler et al. May 2014 B2
8768719 Wehba et al. Jul 2014 B2
8771251 Ruchti et al. Jul 2014 B2
8777894 Butterfield et al. Jul 2014 B2
8777895 Hsu et al. Jul 2014 B2
8799012 Butler et al. Aug 2014 B2
8876793 Ledford et al. Nov 2014 B2
8886316 Juels Nov 2014 B1
8922330 Moberg et al. Dec 2014 B2
8936565 Chawla Jan 2015 B2
8945043 Lee et al. Feb 2015 B2
8952794 Blomquist et al. Feb 2015 B2
8959617 Newlin et al. Feb 2015 B2
8998100 Halbert et al. Apr 2015 B2
9026370 Rubalcaba et al. May 2015 B2
9069887 Gupta et al. Jun 2015 B2
9077544 Baker et al. Jul 2015 B2
9089642 Murphy et al. Jul 2015 B2
9114217 Sur et al. Aug 2015 B2
9123077 Silkaitis et al. Sep 2015 B2
9192712 DeBelser et al. Nov 2015 B2
9240002 Hume et al. Jan 2016 B2
9292692 Wallrabenstein Mar 2016 B2
9302035 Marseille et al. Apr 2016 B2
9381296 Arrizza et al. Jul 2016 B2
9393362 Cozmi et al. Jul 2016 B2
9430655 Stockton et al. Aug 2016 B1
9483615 Roberts Nov 2016 B2
9498583 Sur et al. Nov 2016 B2
9539383 Kohlbrecher Jan 2017 B2
9572923 Howard et al. Feb 2017 B2
9594875 Arrizza et al. Mar 2017 B2
9604000 Wehba et al. Mar 2017 B2
9641432 Jha et al. May 2017 B2
9649431 Gray et al. May 2017 B2
9662436 Belkin et al. May 2017 B2
9690909 Stewart et al. Jun 2017 B2
9707341 Dumas, III et al. Jul 2017 B2
9717845 Istoc Aug 2017 B2
9724470 Day et al. Aug 2017 B2
9764082 Day et al. Sep 2017 B2
9886550 Lee et al. Feb 2018 B2
9943269 Muhsin et al. Apr 2018 B2
9967739 Proennecke et al. May 2018 B2
9971871 Arrizza et al. May 2018 B2
9995611 Ruchti et al. Jun 2018 B2
10022498 Ruchti et al. Jul 2018 B2
10042986 Ruchti et al. Aug 2018 B2
10046112 Oruklu et al. Aug 2018 B2
10166328 Oruklu et al. Jan 2019 B2
10173008 Simpson et al. Jan 2019 B2
10233179 Ng et al. Mar 2019 B2
10238799 Kohlbrecher Mar 2019 B2
10238801 Wehba et al. Mar 2019 B2
10242060 Butler et al. Mar 2019 B2
10300194 Day et al. May 2019 B2
10311972 Kohlbrecher et al. Jun 2019 B2
10314974 Day et al. Jun 2019 B2
10333843 Jha et al. Jun 2019 B2
10341866 Spencer et al. Jul 2019 B1
10430761 Hume et al. Oct 2019 B2
10434246 Silkaitis et al. Oct 2019 B2
10453157 Kamen et al. Oct 2019 B2
10463788 Day Nov 2019 B2
10516536 Rommel Dec 2019 B2
10617815 Day et al. Apr 2020 B2
10646651 Day et al. May 2020 B2
10692595 Xavier et al. Jun 2020 B2
10740436 Moskal et al. Aug 2020 B2
10741280 Xavier et al. Aug 2020 B2
10757219 Moskal Aug 2020 B2
10765799 Belkin et al. Sep 2020 B2
10799632 Kohlbrecher Oct 2020 B2
10812380 Jha et al. Oct 2020 B2
10861592 Xavier et al. Dec 2020 B2
10898641 Day et al. Jan 2021 B2
10950339 Xavier et al. Mar 2021 B2
10964428 Xavier et al. Mar 2021 B2
11013861 Wehba et al. May 2021 B2
11037668 Ruchti et al. Jun 2021 B2
11052193 Day et al. Jul 2021 B2
11139058 Xavier et al. Oct 2021 B2
11151290 Karakoyunlu et al. Oct 2021 B2
11152108 Xavier et al. Oct 2021 B2
11152109 Xavier et al. Oct 2021 B2
11152110 Xavier et al. Oct 2021 B2
11194810 Butler et al. Dec 2021 B2
11235100 Howard et al. Feb 2022 B2
11289183 Kohlbrecher Mar 2022 B2
11309070 Xavier et al. Apr 2022 B2
11328804 Xavier et al. May 2022 B2
11328805 Xavier et al. May 2022 B2
11373753 Xavier et al. Jun 2022 B2
11437132 Xavier et al. Sep 2022 B2
11470000 Jha et al. Oct 2022 B2
11483402 Xavier et al. Oct 2022 B2
11483403 Xavier et al. Oct 2022 B2
11501877 Kohlbrecher et al. Nov 2022 B2
11571508 Jacobson et al. Feb 2023 B2
11574721 Kohlbrecher Feb 2023 B2
11574737 Dharwad et al. Feb 2023 B2
11587669 Xavier et al. Feb 2023 B2
11594326 Xavier et al. Feb 2023 B2
11605468 Jacobson et al. Mar 2023 B2
20010016056 Westphal et al. Aug 2001 A1
20010031944 Peterson et al. Oct 2001 A1
20010032099 Joao Oct 2001 A1
20010037060 Thompson et al. Nov 2001 A1
20010044731 Coffman et al. Nov 2001 A1
20010048027 Walsh Dec 2001 A1
20010051787 Haller et al. Dec 2001 A1
20010056358 Dulong et al. Dec 2001 A1
20020010595 Kapp Jan 2002 A1
20020013551 Zaitsu et al. Jan 2002 A1
20020013723 Mise Jan 2002 A1
20020015018 Shimazu et al. Feb 2002 A1
20020019584 Schulze et al. Feb 2002 A1
20020021700 Hata et al. Feb 2002 A1
20020026103 Norris et al. Feb 2002 A1
20020029776 Blomquist Mar 2002 A1
20020032583 Joao Mar 2002 A1
20020040208 Flaherty et al. Apr 2002 A1
20020040282 Bailey et al. Apr 2002 A1
20020044043 Chaco et al. Apr 2002 A1
20020044059 Reeder et al. Apr 2002 A1
20020082728 Mueller et al. Jun 2002 A1
20020087115 Hartlaub Jul 2002 A1
20020087116 Hartlaub Jul 2002 A1
20020095486 Bahl Jul 2002 A1
20020103675 Vanelli Aug 2002 A1
20020123905 Goodroe et al. Sep 2002 A1
20020143580 Bristol et al. Oct 2002 A1
20020152239 Bautista-Lloyd et al. Oct 2002 A1
20020154600 Ido et al. Oct 2002 A1
20020173702 Lebel et al. Nov 2002 A1
20020173875 Wallace et al. Nov 2002 A1
20020194329 Alling Dec 2002 A1
20030009244 Engleson Jan 2003 A1
20030013959 Grunwald et al. Jan 2003 A1
20030014222 Klass et al. Jan 2003 A1
20030014817 Gallant et al. Jan 2003 A1
20030025602 Medema et al. Feb 2003 A1
20030028082 Thompson Feb 2003 A1
20030036683 Kehr et al. Feb 2003 A1
20030036744 Struys et al. Feb 2003 A1
20030047126 Tomaschko Mar 2003 A1
20030050621 Lebel et al. Mar 2003 A1
20030059750 Bindler et al. Mar 2003 A1
20030060688 Ciarniello et al. Mar 2003 A1
20030069963 Jayant et al. Apr 2003 A1
20030079746 Hickle May 2003 A1
20030097529 Arimilli et al. May 2003 A1
20030104982 Wittmann et al. Jun 2003 A1
20030105389 Noonan et al. Jun 2003 A1
20030106553 Vanderveen Jun 2003 A1
20030115358 Yun Jun 2003 A1
20030120384 Haitin et al. Jun 2003 A1
20030125662 Bui Jul 2003 A1
20030130616 Steil Jul 2003 A1
20030135087 Hickle et al. Jul 2003 A1
20030139701 White et al. Jul 2003 A1
20030140928 Bui et al. Jul 2003 A1
20030140929 Wilkes et al. Jul 2003 A1
20030141981 Bui et al. Jul 2003 A1
20030143746 Sage, Jr. Jul 2003 A1
20030144878 Wilkes et al. Jul 2003 A1
20030158749 Olchanski et al. Aug 2003 A1
20030187338 Say et al. Oct 2003 A1
20030200116 Forrester Oct 2003 A1
20030204416 Acharya Oct 2003 A1
20030204781 Peebles et al. Oct 2003 A1
20030212364 Mann et al. Nov 2003 A1
20030212379 Bylund et al. Nov 2003 A1
20030212821 Gillies et al. Nov 2003 A1
20030217962 Childers et al. Nov 2003 A1
20040008123 Carrender et al. Jan 2004 A1
20040015132 Brown Jan 2004 A1
20040019607 Moubayed et al. Jan 2004 A1
20040030323 Ullestad et al. Feb 2004 A1
20040039257 Hickle Feb 2004 A1
20040057226 Berthou et al. Mar 2004 A1
20040064341 Langan et al. Apr 2004 A1
20040064342 Browne et al. Apr 2004 A1
20040064435 Moubayed et al. Apr 2004 A1
20040073811 Sanin Apr 2004 A1
20040077934 Massad Apr 2004 A1
20040078231 Wilkes et al. Apr 2004 A1
20040078236 Stoodley et al. Apr 2004 A1
20040085186 Eveland et al. May 2004 A1
20040104271 Martucci et al. Jun 2004 A1
20040122530 Hansen Jun 2004 A1
20040128162 Schlotterbeck et al. Jul 2004 A1
20040128163 Goodman et al. Jul 2004 A1
20040133441 Brady et al. Jul 2004 A1
20040139004 Cohen et al. Jul 2004 A1
20040145480 Despotis Jul 2004 A1
20040147034 Gore et al. Jul 2004 A1
20040167464 Ireland et al. Aug 2004 A1
20040167465 Kohler Aug 2004 A1
20040167804 Simpson Aug 2004 A1
20040172222 Simpson et al. Sep 2004 A1
20040172283 Vanderveen Sep 2004 A1
20040172301 Mihai et al. Sep 2004 A1
20040172302 Martucci et al. Sep 2004 A1
20040176667 Mihai et al. Sep 2004 A1
20040176980 Bulitta et al. Sep 2004 A1
20040176984 White et al. Sep 2004 A1
20040181314 Zaleski Sep 2004 A1
20040189708 Larcheveque et al. Sep 2004 A1
20040193325 Bonderud Sep 2004 A1
20040193328 Butterfield et al. Sep 2004 A1
20040193453 Butterfield et al. Sep 2004 A1
20040204673 Flaherty et al. Oct 2004 A1
20040215278 Stegink et al. Oct 2004 A1
20040220517 Starkweather et al. Nov 2004 A1
20040225252 Gillespie et al. Nov 2004 A1
20040236240 Kraus et al. Nov 2004 A1
20040243438 Mintz Dec 2004 A1
20040254434 Goodnow et al. Dec 2004 A1
20050010269 Lebel et al. Jan 2005 A1
20050020886 Hutchinson et al. Jan 2005 A1
20050021006 Tonnies Jan 2005 A1
20050027560 Cook Feb 2005 A1
20050027567 Taha Feb 2005 A1
20050038311 Kuth Feb 2005 A1
20050038669 Sachdeva et al. Feb 2005 A1
20050038680 McMahon Feb 2005 A1
20050040226 Al-Sheikh Feb 2005 A1
20050043620 Fallows et al. Feb 2005 A1
20050049910 Lancaster et al. Mar 2005 A1
20050055242 Bello et al. Mar 2005 A1
20050055244 Mullan et al. Mar 2005 A1
20050065465 Lebel et al. Mar 2005 A1
20050065817 Mihai et al. Mar 2005 A1
20050075544 Shapiro et al. Apr 2005 A1
20050080801 Kothandaraman et al. Apr 2005 A1
20050086071 Fox, Jr. et al. Apr 2005 A1
20050086072 Fox Apr 2005 A1
20050088704 Vaschillo et al. Apr 2005 A1
20050090808 Malave et al. Apr 2005 A1
20050099624 Staehr May 2005 A1
20050102162 Blumenfeld May 2005 A1
20050102165 Oshita et al. May 2005 A1
20050102167 Kapoor May 2005 A1
20050102669 Marney et al. May 2005 A1
20050107923 Vanderveen May 2005 A1
20050108057 Cohen et al. May 2005 A1
20050117529 Ramos-Escano Jun 2005 A1
20050119788 Engleson et al. Jun 2005 A1
20050119914 Batch Jun 2005 A1
20050131739 Rabinowitz et al. Jun 2005 A1
20050135306 McAllen et al. Jun 2005 A1
20050137522 Aoki Jun 2005 A1
20050137573 McLaughlin Jun 2005 A1
20050138428 McAllen et al. Jun 2005 A1
20050154769 Eckart et al. Jul 2005 A1
20050160057 Wefers et al. Jul 2005 A1
20050171503 Van Den Berghe et al. Aug 2005 A1
20050171815 Vanderveen Aug 2005 A1
20050177096 Bollish et al. Aug 2005 A1
20050177395 Blomquist Aug 2005 A1
20050182306 Sloan Aug 2005 A1
20050182355 Bui Aug 2005 A1
20050187950 Parker Aug 2005 A1
20050192557 Brauker et al. Sep 2005 A1
20050197554 Polcha Sep 2005 A1
20050197621 Poulsen et al. Sep 2005 A1
20050210037 Wefers et al. Sep 2005 A1
20050216479 Wefers et al. Sep 2005 A1
20050216480 Wefers et al. Sep 2005 A1
20050223045 Funahashi et al. Oct 2005 A1
20050224083 Crass Oct 2005 A1
20050234746 Funahashi Oct 2005 A1
20050240305 Bogash et al. Oct 2005 A1
20050246416 Blomquist Nov 2005 A1
20050251418 Fox, Jr. et al. Nov 2005 A1
20050261660 Choi Nov 2005 A1
20050273059 Mernoe et al. Dec 2005 A1
20050273367 Nourie et al. Dec 2005 A1
20050277873 Stewart et al. Dec 2005 A1
20050277890 Stewart et al. Dec 2005 A1
20050277911 Stewart et al. Dec 2005 A1
20050278194 Holland et al. Dec 2005 A1
20060004772 Hagan et al. Jan 2006 A1
20060009727 O'Mahony et al. Jan 2006 A1
20060009734 Martin Jan 2006 A1
20060010098 Goodnow et al. Jan 2006 A1
20060042139 Mendes Mar 2006 A1
20060047270 Shelton Mar 2006 A1
20060053036 Coffman et al. Mar 2006 A1
20060064020 Burnes et al. Mar 2006 A1
20060074633 Mahesh et al. Apr 2006 A1
20060074920 Wefers et al. Apr 2006 A1
20060079831 Gilbert Apr 2006 A1
20060089854 Holland et al. Apr 2006 A1
20060089855 Holland et al. Apr 2006 A1
20060100746 Leibner-Druska May 2006 A1
20060100907 Holland et al. May 2006 A1
20060106649 Eggers et al. May 2006 A1
20060111943 Wu May 2006 A1
20060116904 Brem Jun 2006 A1
20060116907 Rhodes et al. Jun 2006 A1
20060122481 Sievenpiper et al. Jun 2006 A1
20060122867 Eggers et al. Jun 2006 A1
20060129140 Todd et al. Jun 2006 A1
20060129429 Moubayed et al. Jun 2006 A1
20060129434 Smitherman et al. Jun 2006 A1
20060129435 Smitherman et al. Jun 2006 A1
20060136266 Tarassenko et al. Jun 2006 A1
20060136271 Eggers et al. Jun 2006 A1
20060143051 Eggers et al. Jun 2006 A1
20060173260 Gaoni et al. Aug 2006 A1
20060173406 Hayes et al. Aug 2006 A1
20060173715 Wang et al. Aug 2006 A1
20060173927 Beyer et al. Aug 2006 A1
20060190302 Eggers et al. Aug 2006 A1
20060195022 Trepagnier et al. Aug 2006 A1
20060200007 Brockway et al. Sep 2006 A1
20060200369 Batch et al. Sep 2006 A1
20060211404 Cromp et al. Sep 2006 A1
20060224141 Rush et al. Oct 2006 A1
20060229918 Fotsch et al. Oct 2006 A1
20060247606 Batch Nov 2006 A1
20060258985 Russell Nov 2006 A1
20060259327 Hoag Nov 2006 A1
20060264895 Flanders Nov 2006 A1
20060265246 Hoag Nov 2006 A1
20060267753 Hussey et al. Nov 2006 A1
20060268710 Appanna et al. Nov 2006 A1
20060270971 Gelfand et al. Nov 2006 A1
20060277206 Bailey et al. Dec 2006 A1
20060287885 Frick Dec 2006 A1
20070015972 Wang et al. Jan 2007 A1
20070016443 Wachman et al. Jan 2007 A1
20070021715 Kohlbrenner et al. Jan 2007 A1
20070027506 Stender et al. Feb 2007 A1
20070060796 Kim Mar 2007 A1
20070060870 Tolle et al. Mar 2007 A1
20070060871 Istoc Mar 2007 A1
20070061393 Moore Mar 2007 A1
20070065363 Dalal et al. Mar 2007 A1
20070073419 Sesay Mar 2007 A1
20070078314 Grounsell Apr 2007 A1
20070083870 Kanakogi Apr 2007 A1
20070088333 Levin et al. Apr 2007 A1
20070093786 Goldsmith et al. Apr 2007 A1
20070100665 Brown May 2007 A1
20070100667 Bardy May 2007 A1
20070106126 Mannheimer et al. May 2007 A1
20070112298 Mueller et al. May 2007 A1
20070116037 Moore May 2007 A1
20070118405 Campbell et al. May 2007 A1
20070135866 Baker et al. Jun 2007 A1
20070136098 Smythe et al. Jun 2007 A1
20070142822 Remde Jun 2007 A1
20070156282 Dunn Jul 2007 A1
20070156452 Batch Jul 2007 A1
20070169008 Varanasi et al. Jul 2007 A1
20070179448 Lim et al. Aug 2007 A1
20070186923 Poutiatine et al. Aug 2007 A1
20070191817 Martin Aug 2007 A1
20070191973 Holzbauer et al. Aug 2007 A1
20070213657 Jennewine et al. Sep 2007 A1
20070213684 Hickle et al. Sep 2007 A1
20070214003 Holland et al. Sep 2007 A1
20070215545 Bissler et al. Sep 2007 A1
20070232867 Hansmann Oct 2007 A1
20070233035 Wehba et al. Oct 2007 A1
20070233049 Wehba et al. Oct 2007 A1
20070233206 Frikart Oct 2007 A1
20070233520 Wehba et al. Oct 2007 A1
20070251835 Mehta et al. Nov 2007 A1
20070253021 Mehta et al. Nov 2007 A1
20070254593 Jollota et al. Nov 2007 A1
20070255125 Moberg et al. Nov 2007 A1
20070257788 Carlson Nov 2007 A1
20070258395 Jollota et al. Nov 2007 A1
20070299687 Palmer et al. Dec 2007 A1
20070299695 Jung et al. Dec 2007 A1
20080001771 Faoro et al. Jan 2008 A1
20080004904 Tran Jan 2008 A1
20080009684 Corsetti et al. Jan 2008 A1
20080033361 Evans et al. Feb 2008 A1
20080033966 Wahl Feb 2008 A1
20080034323 Blomquist Feb 2008 A1
20080041942 Aissa Feb 2008 A1
20080052704 Wysocki Feb 2008 A1
20080065007 Peterson et al. Mar 2008 A1
20080065417 Jung et al. Mar 2008 A1
20080071217 Moubayed et al. Mar 2008 A1
20080071251 Moubayed et al. Mar 2008 A1
20080091466 Butler et al. Apr 2008 A1
20080095339 Elliott Apr 2008 A1
20080097289 Steil et al. Apr 2008 A1
20080097552 Dicks et al. Apr 2008 A1
20080126969 Blomquist May 2008 A1
20080139907 Rao et al. Jun 2008 A1
20080148047 Appenzeller et al. Jun 2008 A1
20080149117 Raghuram Jun 2008 A1
20080154177 Moubayed et al. Jun 2008 A1
20080172337 Banfield et al. Jul 2008 A1
20080184219 Matsumoto Jul 2008 A1
20080188796 Steil et al. Aug 2008 A1
20080214919 Harmon et al. Sep 2008 A1
20080246748 Cassidy et al. Oct 2008 A1
20080256305 Kwon Oct 2008 A1
20080259926 Tavares et al. Oct 2008 A1
20080262469 Bristol et al. Oct 2008 A1
20080269714 Mastrototaro et al. Oct 2008 A1
20080269723 Mastrototaro et al. Oct 2008 A1
20080275384 Mastrototaro et al. Nov 2008 A1
20080300572 Rankers et al. Dec 2008 A1
20080301298 Bernardi et al. Dec 2008 A1
20080320387 Sasaki et al. Dec 2008 A1
20080320466 Dias Dec 2008 A1
20090003554 Katis et al. Jan 2009 A1
20090005703 Fasciano Jan 2009 A1
20090005728 Weinert et al. Jan 2009 A1
20090006061 Thukral et al. Jan 2009 A1
20090006129 Thukral Jan 2009 A1
20090006133 Weinert Jan 2009 A1
20090018495 Panduro Jan 2009 A1
20090036750 Weinstein et al. Feb 2009 A1
20090051560 Manning et al. Feb 2009 A1
20090054743 Stewart Feb 2009 A1
20090054754 McMahon et al. Feb 2009 A1
20090057399 Sajkowsky Mar 2009 A1
20090063187 Johnson et al. Mar 2009 A1
20090069785 Miller et al. Mar 2009 A1
20090099867 Newman Apr 2009 A1
20090135196 Holland et al. May 2009 A1
20090143662 Estes et al. Jun 2009 A1
20090149743 Barron et al. Jun 2009 A1
20090150174 Buck et al. Jun 2009 A1
20090150439 Gejdos et al. Jun 2009 A1
20090150878 Pathak et al. Jun 2009 A1
20090156991 Roberts Jun 2009 A1
20090157695 Roberts Jun 2009 A1
20090158274 Roberts Jun 2009 A1
20090177146 Nesbitt et al. Jul 2009 A1
20090177769 Roberts Jul 2009 A1
20090177992 Rubalcaba et al. Jul 2009 A1
20090183147 Davis et al. Jul 2009 A1
20090209938 Aalto-Setala Aug 2009 A1
20090210250 Prax et al. Aug 2009 A1
20090221890 Saffer et al. Sep 2009 A1
20090231249 Wang et al. Sep 2009 A1
20090270833 DeBelser Oct 2009 A1
20090275886 Blomquist et al. Nov 2009 A1
20090275896 Kamen et al. Nov 2009 A1
20090284691 Marhefka et al. Nov 2009 A1
20090292340 Mass et al. Nov 2009 A1
20090306573 Gagner et al. Dec 2009 A1
20090326340 Wang Dec 2009 A1
20090326516 Bangera et al. Dec 2009 A1
20100022988 Wochner Jan 2010 A1
20100036310 Hillman Feb 2010 A1
20100056992 Hayter Mar 2010 A1
20100083060 Rahman Apr 2010 A1
20100095229 Dixon et al. Apr 2010 A1
20100121170 Rule May 2010 A1
20100121246 Peters et al. May 2010 A1
20100121415 Skelton et al. May 2010 A1
20100121654 Portnoy et al. May 2010 A1
20100121752 Banigan et al. May 2010 A1
20100130933 Holland et al. May 2010 A1
20100131434 Magent et al. May 2010 A1
20100138523 Umess et al. Jun 2010 A1
20100146137 Wu et al. Jun 2010 A1
20100156633 Buck et al. Jun 2010 A1
20100160854 Gauthier Jun 2010 A1
20100160860 Celentano et al. Jun 2010 A1
20100174266 Estes Jul 2010 A1
20100191525 Rabenko et al. Jul 2010 A1
20100198034 Thomas et al. Aug 2010 A1
20100198196 Wei Aug 2010 A1
20100200506 Ware et al. Aug 2010 A1
20100209268 Davis Aug 2010 A1
20100212675 Walling et al. Aug 2010 A1
20100217621 Schoenberg Aug 2010 A1
20100234708 Buck et al. Sep 2010 A1
20100250732 Bucknell Sep 2010 A1
20100271479 Heydlauf Oct 2010 A1
20100273738 Valcke et al. Oct 2010 A1
20100274218 Yodfat et al. Oct 2010 A1
20100280486 Khair et al. Nov 2010 A1
20100292634 Kircher Nov 2010 A1
20100298765 Budiman et al. Nov 2010 A1
20100318025 John Dec 2010 A1
20110001605 Kiani et al. Jan 2011 A1
20110021898 Wei et al. Jan 2011 A1
20110028885 Eggers et al. Feb 2011 A1
20110040158 Katz et al. Feb 2011 A1
20110060758 Schlotterbeck et al. Mar 2011 A1
20110071844 Cannon et al. Mar 2011 A1
20110072379 Gannon Mar 2011 A1
20110078253 Chan et al. Mar 2011 A1
20110078608 Gannon et al. Mar 2011 A1
20110093284 Dicks et al. Apr 2011 A1
20110099313 Bolanowski Apr 2011 A1
20110125095 Lebel et al. May 2011 A1
20110138185 Ju et al. Jun 2011 A1
20110166628 Jain Jul 2011 A1
20110175728 Baker, Jr. Jul 2011 A1
20110178462 Moberg et al. Jul 2011 A1
20110196748 Caron et al. Aug 2011 A1
20110231216 Fyke et al. Sep 2011 A1
20110257496 Terashima et al. Oct 2011 A1
20110257798 Ali et al. Oct 2011 A1
20110259954 Bartz et al. Oct 2011 A1
20110264043 Kotnick et al. Oct 2011 A1
20110264044 Bartz et al. Oct 2011 A1
20110266221 Ware et al. Nov 2011 A1
20110270045 Lebel et al. Nov 2011 A1
20110275904 Lebel et al. Nov 2011 A1
20110286457 Ee Nov 2011 A1
20110289314 Whitcomb Nov 2011 A1
20110289497 Kiaie et al. Nov 2011 A1
20110295196 Chazot et al. Dec 2011 A1
20110295341 Estes et al. Dec 2011 A1
20110296051 Vange Dec 2011 A1
20110296411 Tang et al. Dec 2011 A1
20110313789 Karmen et al. Dec 2011 A1
20110319813 Kamen et al. Dec 2011 A1
20110320049 Chossat et al. Dec 2011 A1
20120005680 Dolby et al. Jan 2012 A1
20120011253 Friedman et al. Jan 2012 A1
20120016305 Jollota Jan 2012 A1
20120029941 Malave et al. Feb 2012 A1
20120036102 Fletcher et al. Feb 2012 A1
20120066501 Xiong Mar 2012 A1
20120070045 Vesper et al. Mar 2012 A1
20120095437 Hemmerling Apr 2012 A1
20120112903 Kaib et al. May 2012 A1
20120130198 Beaule May 2012 A1
20120143116 Ware et al. Jun 2012 A1
20120150556 Galasso et al. Jun 2012 A1
20120157920 Flachbart et al. Jun 2012 A1
20120179135 Rinehart et al. Jul 2012 A1
20120179136 Rinehart et al. Jul 2012 A1
20120185267 Kamen et al. Jul 2012 A1
20120203177 Lanier Aug 2012 A1
20120245554 Kawamura Sep 2012 A1
20120259978 Petersen et al. Oct 2012 A1
20120260012 Gao-Saari et al. Oct 2012 A1
20120277716 Ali et al. Nov 2012 A1
20120283630 Lee et al. Nov 2012 A1
20120284734 McQuaid et al. Nov 2012 A1
20120323212 Murphy Dec 2012 A1
20120330380 Corndorf Dec 2012 A1
20130006666 Schneider Jan 2013 A1
20130006702 Wu Jan 2013 A1
20130012877 Debelser et al. Jan 2013 A1
20130012879 Debelser et al. Jan 2013 A1
20130012880 Blomquist Jan 2013 A1
20130015980 Evans et al. Jan 2013 A1
20130036403 Geist Feb 2013 A1
20130036412 Birtwhistle et al. Feb 2013 A1
20130066265 Grant Mar 2013 A1
20130072872 Yodfat et al. Mar 2013 A1
20130096444 Condurso et al. Apr 2013 A1
20130096648 Benson Apr 2013 A1
20130102963 Marsh et al. Apr 2013 A1
20130104120 Arrizza Apr 2013 A1
20130114594 Van Zijst May 2013 A1
20130138452 Cork et al. May 2013 A1
20130144206 Lee et al. Jun 2013 A1
20130150824 Estes et al. Jun 2013 A1
20130167245 Birtwhistle et al. Jun 2013 A1
20130173473 Birtwhistle et al. Jul 2013 A1
20130191770 Bartz et al. Jul 2013 A1
20130204188 Kamen et al. Aug 2013 A1
20130218080 Peterfreund et al. Aug 2013 A1
20130274669 Stempfle et al. Oct 2013 A1
20130275539 Gross et al. Oct 2013 A1
20130291116 Homer Oct 2013 A1
20130296823 Melker et al. Nov 2013 A1
20130296984 Burnett et al. Nov 2013 A1
20130317753 Kamen et al. Nov 2013 A1
20130346108 Kamen et al. Dec 2013 A1
20140025392 Chandrasenan Jan 2014 A1
20140039446 Day Feb 2014 A1
20140142963 Hill et al. May 2014 A1
20140163517 Finan et al. Jun 2014 A1
20140180711 Kamen et al. Jun 2014 A1
20140197950 Shupp et al. Jul 2014 A1
20140215490 Mathur et al. Jul 2014 A1
20140257251 Bush et al. Sep 2014 A1
20140266790 Al-Ali et al. Sep 2014 A1
20140266794 Brown et al. Sep 2014 A1
20140269643 Sun Sep 2014 A1
20140276571 Ludolph Sep 2014 A1
20140280522 Watte Sep 2014 A1
20140288947 Simpson et al. Sep 2014 A1
20140294177 Shastry et al. Oct 2014 A1
20140297329 Rock Oct 2014 A1
20140316819 Dunsirn et al. Oct 2014 A1
20140366878 Baron Dec 2014 A1
20150005935 Bae et al. Jan 2015 A1
20150006907 Brouwer et al. Jan 2015 A1
20150045729 Denzer et al. Feb 2015 A1
20150058960 Schmoyer et al. Feb 2015 A1
20150066531 Jacobson et al. Mar 2015 A1
20150100038 McCann et al. Apr 2015 A1
20150100787 Westin et al. Apr 2015 A1
20150117234 Raman et al. Apr 2015 A1
20150151051 Tsoukalis Jun 2015 A1
20150161354 Blomquist Jun 2015 A1
20150199192 Borges et al. Jul 2015 A1
20150230760 Schneider Aug 2015 A1
20150281128 Sindhu Oct 2015 A1
20150328396 Adams et al. Nov 2015 A1
20150371004 Jones Dec 2015 A1
20150379237 Mills et al. Dec 2015 A1
20160006695 Prodoehl et al. Jan 2016 A1
20160015885 Pananen et al. Jan 2016 A1
20160034655 Gray et al. Feb 2016 A1
20160045661 Gray et al. Feb 2016 A1
20160051749 Istoc Feb 2016 A1
20160051751 Silkaitis et al. Feb 2016 A1
20160063471 Kobres et al. Mar 2016 A1
20160103960 Hume et al. Apr 2016 A1
20160228633 Welsch et al. Aug 2016 A1
20160241391 Fenster Aug 2016 A1
20160277152 Xiang et al. Sep 2016 A1
20160285876 Perez et al. Sep 2016 A1
20160317742 Gannon et al. Nov 2016 A1
20160350513 Jacobson et al. Dec 2016 A1
20170063559 Wallrabenstein Mar 2017 A1
20170099148 Ochmanski et al. Apr 2017 A1
20170104645 Wooton et al. Apr 2017 A1
20170149567 Moskal May 2017 A1
20170214762 Swain et al. Jul 2017 A1
20170258401 Volpe Sep 2017 A1
20170262590 Karakosta et al. Sep 2017 A1
20170274140 Howard et al. Sep 2017 A1
20170286637 Arrizza et al. Oct 2017 A1
20170319780 Belkin et al. Nov 2017 A1
20170325091 Freeman et al. Nov 2017 A1
20170351841 Moskal Dec 2017 A1
20180063724 Zhang et al. Mar 2018 A1
20180121613 Connely, IV et al. May 2018 A1
20180126067 Ledford et al. May 2018 A1
20180181712 Ensey et al. Jun 2018 A1
20180247712 Muhsin et al. Aug 2018 A1
20180322948 Drost et al. Nov 2018 A1
20180359085 Dervyn Dec 2018 A1
20190006044 Brask Jan 2019 A1
20190036688 Wasily et al. Jan 2019 A1
20190096518 Pace Mar 2019 A1
20190132196 Trivedi et al. May 2019 A1
20190147998 Ruchti et al. May 2019 A1
20190166501 Debates et al. May 2019 A1
20190172590 Vesto et al. Jun 2019 A1
20190228863 Dharwad et al. Jul 2019 A1
20190229982 Ikuta et al. Jul 2019 A1
20190240405 Wehba et al. Aug 2019 A1
20190243829 Butler et al. Aug 2019 A1
20190244689 Atkin Aug 2019 A1
20190245942 Moskal Aug 2019 A1
20190269852 Kohlbrecher Sep 2019 A1
20190311803 Kohlbrecher et al. Oct 2019 A1
20190348160 Heavelyn et al. Nov 2019 A1
20190392929 Gassman Dec 2019 A1
20200023127 Simpson et al. Jan 2020 A1
20200027541 Xavier et al. Jan 2020 A1
20200027542 Xavier et al. Jan 2020 A1
20200027543 Xavier et al. Jan 2020 A1
20200027548 Xavier et al. Jan 2020 A1
20200027549 Xavier et al. Jan 2020 A1
20200027550 Xavier et al. Jan 2020 A1
20200027551 Xavier et al. Jan 2020 A1
20200028837 Xavier et al. Jan 2020 A1
20200028914 Xavier et al. Jan 2020 A1
20200035355 Xavier et al. Jan 2020 A1
20200054825 Kamen et al. Feb 2020 A1
20200061291 Day et al. Feb 2020 A1
20200153627 Wentz May 2020 A1
20200206413 Silkaitis et al. Jul 2020 A1
20200220865 Finger et al. Jul 2020 A1
20200282139 Susi Sep 2020 A1
20200306443 Day Oct 2020 A1
20200330685 Day Oct 2020 A1
20200334497 Barrett et al. Oct 2020 A1
20200335194 Jacobson et al. Oct 2020 A1
20200351376 Moskal Nov 2020 A1
20200353167 Vivek et al. Nov 2020 A1
20200353168 Keenan et al. Nov 2020 A1
20210014259 Harris et al. Jan 2021 A1
20210043296 Xavier et al. Feb 2021 A1
20210045640 Poltorak Feb 2021 A1
20210085855 Belkin et al. Mar 2021 A1
20210098106 Kohlbrecher et al. Apr 2021 A1
20210105206 Jha et al. Apr 2021 A1
20210252210 Day et al. Aug 2021 A1
20210316072 Wehba et al. Oct 2021 A1
20210358603 Xavier et al. Nov 2021 A1
20210375421 Ruchti et al. Dec 2021 A1
20210375438 Xavier et al. Dec 2021 A1
20210409362 Katis et al. Dec 2021 A1
20220023535 Day Jan 2022 A1
20220037011 Fryman Feb 2022 A1
20220037012 Fryman Feb 2022 A1
20220051777 Xavier et al. Feb 2022 A1
20220062541 Kamen et al. Mar 2022 A1
20220129452 Butler et al. Apr 2022 A1
20220139536 Xavier et al. May 2022 A1
20220139537 Xavier et al. May 2022 A1
20220139538 Xavier et al. May 2022 A1
20220150307 Walsh et al. May 2022 A1
20220165404 Vivek et al. May 2022 A1
20220189605 Kelly et al. Jun 2022 A1
20220223283 Biasi et al. Jul 2022 A1
20220270736 Kohlbrecher Aug 2022 A1
20220328175 Arrizza et al. Oct 2022 A1
20220331513 Howard et al. Oct 2022 A1
20220344023 Xavier et al. Oct 2022 A1
20220384059 Xavier et al. Dec 2022 A1
20230009405 Xavier et al. Jan 2023 A1
20230009417 Xavier et al. Jan 2023 A1
Foreign Referenced Citations (142)
Number Date Country
2 060 151 Aug 1997 CA
2 125 300 Oct 1999 CA
2 898 825 Jul 2014 CA
01110843 Aug 2003 CO
31 12 762 Jan 1983 DE
34 35 647 Jul 1985 DE
198 44 252 Mar 2000 DE
199 32 147 Jan 2001 DE
103 52 456 Jul 2005 DE
0 319 267 Jun 1989 EP
0 380 061 Aug 1990 EP
0 384 155 Aug 1990 EP
0 460 533 Dec 1991 EP
0 564 127 Jun 1993 EP
0 633 035 Jan 1995 EP
0 652 528 May 1995 EP
0 672 427 Sep 1995 EP
0 683 465 Nov 1995 EP
0 880 936 Dec 1998 EP
1 157 711 Nov 2001 EP
1 174 817 Jan 2002 EP
0 664 102 Apr 2002 EP
1 197 178 Apr 2002 EP
0 830 775 Aug 2002 EP
1 500 025 Apr 2003 EP
2 113 842 Nov 2009 EP
2 228 004 Sep 2010 EP
2 243 506 Oct 2010 EP
2 410 448 Jan 2012 EP
2 742 961 Jun 2014 EP
2 874 087 May 2015 EP
2 717 919 Sep 1995 FR
2 285 135 Jun 1995 GB
04-161139 Jun 1992 JP
07-502678 Mar 1995 JP
11-500643 Jan 1999 JP
2000-316820 Nov 2000 JP
2002-531154 Sep 2002 JP
2003-016183 Jan 2003 JP
2003-296173 Oct 2003 JP
2005-021463 Jan 2005 JP
2005-527284 Sep 2005 JP
2005-284846 Oct 2005 JP
2006-047319 Feb 2006 JP
2006-520949 Sep 2006 JP
2007-518479 Jul 2007 JP
2007-525256 Sep 2007 JP
2008-080036 Apr 2008 JP
2008-516303 May 2008 JP
2008-158622 Jul 2008 JP
2008-529675 Aug 2008 JP
2009-163534 Jul 2009 JP
2010-502361 Jan 2010 JP
2011-506048 Mar 2011 JP
2012-011204 Jan 2012 JP
2012-070991 Apr 2012 JP
2012-523895 Oct 2012 JP
2014-068283 Apr 2014 JP
200426656 Dec 2004 TW
WO 84001719 May 1984 WO
WO 91016416 Oct 1991 WO
WO 92010985 Jul 1992 WO
WO 92013322 Aug 1992 WO
WO 94005355 Mar 1994 WO
WO 96008755 Mar 1996 WO
WO 96025186 Aug 1996 WO
WO 96025963 Aug 1996 WO
WO 98012670 Mar 1998 WO
WO 98019263 May 1998 WO
WO 99051003 Oct 1999 WO
WO 00013580 Mar 2000 WO
WO 00053243 Sep 2000 WO
WO 01014974 Mar 2001 WO
WO 01033484 May 2001 WO
WO 01045014 Jun 2001 WO
WO 02005702 Jan 2002 WO
WO 02036044 May 2002 WO
WO 02049153 Jun 2002 WO
WO 02049279 Jun 2002 WO
WO 02069099 Sep 2002 WO
WO 02081015 Oct 2002 WO
WO 02088875 Nov 2002 WO
WO 03006091 Jan 2003 WO
WO 03050917 Jun 2003 WO
WO 03091836 Nov 2003 WO
WO 03094092 Nov 2003 WO
WO 2004060455 Jul 2004 WO
WO 2004070557 Aug 2004 WO
WO 2004070562 Aug 2004 WO
WO 2004072828 Aug 2004 WO
WO 2005036447 Apr 2005 WO
WO 2005050526 Jun 2005 WO
WO 2005057175 Jun 2005 WO
WO 2005066872 Jul 2005 WO
WO 2007087443 Aug 2007 WO
WO 2007117705 Oct 2007 WO
WO 2007127879 Nov 2007 WO
WO 2007127880 Nov 2007 WO
WO 2008067245 Jun 2008 WO
WO 2008082854 Jul 2008 WO
WO 2008088490 Jul 2008 WO
WO 2008097316 Aug 2008 WO
WO 2008103915 Aug 2008 WO
WO 2008124478 Oct 2008 WO
WO 2008134146 Nov 2008 WO
WO 2009016504 Feb 2009 WO
WO 2009023406 Feb 2009 WO
WO 2009023407 Feb 2009 WO
WO 2009023634 Feb 2009 WO
WO 2009036327 Mar 2009 WO
WO 2009049252 Apr 2009 WO
WO 2010017279 Feb 2010 WO
WO 2010033919 Mar 2010 WO
WO 2010053703 May 2010 WO
WO 2010075371 Jul 2010 WO
WO 2010099313 Sep 2010 WO
WO 2010114929 Oct 2010 WO
WO 2010119409 Oct 2010 WO
WO 2010124127 Oct 2010 WO
WO 2010130992 Nov 2010 WO
WO 2010135646 Nov 2010 WO
WO 2010135654 Nov 2010 WO
WO 2010135686 Nov 2010 WO
WO 2011005633 Jan 2011 WO
WO 2011022549 Feb 2011 WO
WO 2012048833 Apr 2012 WO
WO 2012049214 Apr 2012 WO
WO 2012049218 Apr 2012 WO
WO 2012120078 Sep 2012 WO
WO 2012140547 Oct 2012 WO
WO 2012164556 Dec 2012 WO
WO 2012170942 Dec 2012 WO
WO 2013045506 Apr 2013 WO
WO 2014100736 Jun 2014 WO
WO 2014131729 Sep 2014 WO
WO 2014131730 Sep 2014 WO
WO 2015124569 Aug 2015 WO
WO 2016179389 Nov 2016 WO
WO 2019219290 Nov 2019 WO
WO 2020227403 Nov 2020 WO
WO 2022006014 Jan 2022 WO
WO 2022051230 Mar 2022 WO
Non-Patent Literature Citations (127)
Entry
Gutwin et al., “Gone But Not Forgotten: Designing for Disconnection in Synchronous Groupware”, CSCW 2010, Feb. 6-10, 2010, Savannah, Georgia, USA., pp. 179-188.
Nojoumian et al., “Social Secret Sharing in Cloud Computing Using a New Trust Function”, 2012 Tenth Annual International Conference on Privacy, Security and Trust, pp. 161-167.
“Sigma Spectrum: Operator's Manual”, May 15, 2008, pp. 63. <https://usme.com/content/manuals/sigma-spectrum-operator-manual.pdf>.
Yoo et al., “Code-Based Authentication Scheme for Lightweight Integrity Checking of Smart Vehicles”, IEEE Access, 2018, vol. 6, pp. 46731-46741.
Ahn et al., “Towards Scalable Authentication in Health Services”, Eleventh IEEE International Workshops on Enabling Technologies: Infrastructure for Collaborative Enterprises, Jun. 2002, pp. 83-88.
Akridge, Jeannie, “New Pumps Outsmart User Error”, Healthcare Purchasing News, Apr. 2011, pp. 10, <http://web.archive.org/web/20110426122450/http://www.hpnonline.com/inside/2011-04/1104-OR-Pumps.html>.
Alur et al., “Formal Specifications and Analysis of the Computer-Assisted Resuscitation Algorithm (CARA) Infusion Pump Control System”, International Journal on Software Tools for Technology Transfer, Feb. 2004, vol. 5, No. 4, pp. 308-319.
Aragon, Daleen RN, Ph.D., CCRN, “Evaluation of Nursing Work Effort and Perceptions About Blood Glucose Testing in Tight Glycemic Control”, American Journal of Critical Care, Jul. 2006, vol. 15, No. 4, pp. 370-377.
ASHP Advantage, “Improving Medication Safety in Health Systems Through Innovations in Automation Technology”, Proceedings of Educational Symposium and Educational Sessions during the 39th ASHP Midyear Clinical Meeting, Dec. 5-9, 2004, Orlando, FL, pp. 28.
Beard et al., “Total Quality Pain Management: History, Background, Resources”, Abbott Laboratories, TQPM Survey History, available Feb. 2015 or earlier, pp. 1-3.
Bektas et al., “Bluetooth Communication Employing Antenna Diversity”, Proceedings of Eight IEEE International Symposium on Computers and Communication, Jul. 2003, pp. 6.
Bellare et al., “Security Proofs for Identity-Based Identification and Signature Schemes”, Lecture Notes in Computer Science, Jan. 2009, vol. 22, No. 1, pp. 18.
Bequette, Ph.D., “A Critical Assessment of Algorithms and Challenges in the Development of a Closed-Loop Artificial Pancreas”, Diabetes Technology & Therapeutics, Feb. 28, 2005, vol. 7, No. 1, pp. 28-47.
Bequette, B. Wayne, Ph.D., “Analysis of Algorithms for Intensive Care Unit Blood Glucose Control”, Journal of Diabetes Science and Technology, Nov. 2007, vol. 1, No. 6, pp. 813-824.
Braun, “Infusomat® Space and Accessories”, Instructions for Use, Nov. 2010, pp. 68. <http://corp.bbraun.ee/Extranet/Infusionipumbad/Kasutusjuhendid/Vanad/Kasutusjuhend-Infusomat_Space(vers688J,inglise_k).pdf>.
Brownlee, Seth, “Product Spotlight: The Plum A+ with Hospira MedNet Infusion System”, PP&P Magazine, Dec. 2005, vol. 2, No. 7, pp. 2.
Cannon, MD et al., “Automated Heparin-Delivery System to Control Activated Partial Thromboplastin Time”, Circulation, Feb. 16, 1999, vol. 99, pp. 751-756.
Cardinal Health, “Alaris® Syringe Pumps” Technical Service Manual, Copyright 2002-2006, Issue 9, pp. 1-88, <http://www.frankshospitalworkshop.com/equipment/documents/infusion_pumps/service_manuals/Cardinal_Alaris_-_Service_Manual.pdf>.
“CareAware® Infusion Management”, Cerner Store, as printed May 12, 2011, pp. 3, <https://store.cerner.com/items/7>.
Chen et al., “Enabling Location-Based Services on Wireless LANs”, The 11th IEEE International Conference on Networks, ICON 2003, Sep. 28-Oct. 1, 2003, pp. 567-572.
“Computer Dictionary”, Microsoft Press, Third Edition, Microsoft Press, 1997, pp. 430 & 506.
“Context-Free Grammar”, Wikipedia.org, as last modified Mar. 5, 2010 in 11 pages, <https://en.wikipedia.org/w/index.php/?title=Context-free_grammar&oldid=347915989>.
Crawford, Anne J., MSN, RNC, “Building a Successful Quality Pain Service: Using Patient Satisfaction Data and the Clinical Practice Guideline”, USA, 1995, pp. 1-6.
Crocker et al., “Augmented BNF for Syntax Specifications: ABNF”, Network Working Group, Standards Track, Jan. 2008, pp. 16.
Davidson et al., “A Computer-Directed Intravenous Insulin System Shown to be Safe, Simple, and Effective in 120,618 h of Operation”, Diabetes Care, Oct. 2005, vol. 28, No. 10, pp. 2418-2423.
Davies, T., “Cordless Data Acquisition in a Hospital Environment”, IEE Colloquium on Cordless Computing—Systems and User Experience, 1993, pp. 4.
Dayhoff et al., “Medical Data Capture and Display: The Importance of Clinicians' Workstation Design”, AMIA, Inc., 1994, pp. 541-545.
Diabetes Close Up, Close Concerns AACE Inpatient Management Conference Report, Consensus Development Conference on Inpatient Diabetes and Metabolic Control, Washington, D.C., Dec. 14-16, 2003, pp. 1-32.
Doesburg et al., “Improved Usability of a Multi-Infusion Setup Using a Centralized Control Interface: A Task-Based Usability Test”, Aug. 11, 2017, PLoS One, vol. 12, No. 8, pp. 10.
“Download”, Free On-Line Dictionary of Computing, as archived Jun. 16, 2010 in 1 page, http://web.archive.org/web/20100616010314/https://foldoc.org/download.
East PhD et al., “Digital Electronic Communication Between ICU Ventilators and Computers and Printers”, Respiratory Care, Sep. 1992, vol. 37, No. 9, pp. 1113-1122.
Edworthy, Judy, “Medical Audible Alarms: A Review”, Journal of the American Medical Informatics Association, vol. 20, No. 3, 2013, pp. 584-589.
Einhorn, George W., “Total Quality Pain Management: A Computerized Quality Assessment Tool for Postoperative Pain Management”, Abbott Laboratories, Chicago, IL, Mar. 2, 2000, pp. 1-4.
Eskew et al., “Using Innovative Technologies to Set New Safety Standards for the Infusion of Intravenous Medications”, Hospital Pharmacy, 2002, vol. 37, No. 11, pp. 1179-1189.
Felleiter et al., “Data Processing in Prehospital Emergency Medicine”, International journal of Clinical Monitoring and Computing, Feb. 1995, vol. 12, No. 1, pp. 37-41.
“File Verification”, Wikipedia.org, as last modified Oct. 11, 2011 in 2 pages, <https://en.wikipedia.org/w/index.php?title=File_verification&oldid=455048290>.
Fogt et al., Development and Evaluation of a Glucose Analyzer for a Glucose-Controlled Insulin Infusion System (Biostator®), Clinical Chemistry, 1978, vol. 24, No. 8, pp. 1366-1372.
Gabel et al., “Camp: A Common API for Measuring Performance”, 21st Large Installations System Administration Conference (LISA '07), 2007, pp. 49-61.
Gage et al., “Automated Anesthesia Surgery Medical Record System”, International Journal of Clinical Monitoring and Computing, Dec. 1990, vol. 7, No. 4, pp. 259-263.
Galt et al., “Personal Digital Assistant-Based Drug Information Sources: Potential to Improve Medication Safety”, Journal of Medical Library Association, Apr. 2005, vol. 93, No. 2, pp. 229-236.
Gardner, Ph.D. et al., “Real Time Data Acquisition: Recommendations for the Medical Information Bus (MIB)”, 1992, pp. 813-817.
“General-Purpose Infusion Pumps”, Health Devices, EXRI Institute, Oct. 1, 2002, vol. 31, No. 10, pp. 353-387.
Givens et al., “Exploring the Internal State of User Interfaces by Combining Computer Vision Techniques with Grammatical Inference”, Proceedings of the 2013 International Conference on Software Engineering, San Francisco, CA, May 18-26, 2013, pp. 1165-1168.
Glaeser, “A Hierarchical Minicomputer System for Continuous Post-Surgical Monitoring”, Computers and Biomedical Research, Aug. 31, 1975, pp. 336-361.
Goldberg et al., “Clinical Results of an Updated Insulin Infusion Protocol in Critically Ill Patients”, Diabetes Spectrum, 2005, vol. 18, No. 3, pp. 188-191.
Gomez et al., “CLAM: Connection-Less, Lightweight, and Multiway Communication Support for Distributed Computing”, Computer Science, 1997, vol. 1199, pp. 227-240.
“GPS Tracker for Medical Equipment”, <http://www.trackingsystem.com/forbusinesses/corporate-trackingsystem/1098-gps-tracker-formedicalequipment.html>, Mar. 15, 2015, pp. 2.
Graseby, “Model 3000/500 and Micro 3100/505: Volumetric Infusion Pump”, Technical Service Manual, Graseby Medical Ltd., Apr. 2002, Issue A, pp. 160.
Graseby, “Model 3000/500 and Micro 3100/505: Volumetric Infusion Pump: Illustrated Parts List forPump Serial Nos. 3000 to 59,999”, Technical Service Manual, Graseby Medical Ltd., Apr. 2002, Issue A, pp. 71.
Halpern et al., “Changes in Critical Care Beds and Occupancy in the United States 1985-2000: Differences Attributable to Hospital Size”, Critical Care Medical, Aug. 2006, vol. 34, No. 8, pp. 2105-2112.
Hamann et al., “PUMPSIM: A Software Package for Simulating Computer-Controlled Drug Infusion Pumps”, Annual International Conference of the IEEE Engineering in Medicine and Biology Society, 1990, vol. 12, No. 5, pp. 2019-2020.
Hasegawa et al., “On a Portable Memory Device for Physical Activities and Informations of Maternal Perception”, Journal of Perinatal Medicine, 1988, vol. 16, No. 4, pp. 349-356.
Hawley et al., “Clinical Implementation of an Automated Medical Information Bus in an Intensive Care Unit”, Proceedings of the Annual Symposium on Computer Application in Medical Care, Nov. 9, 1988, pp. 621-624.
Hayes-Roth et al., “Guardian: A Prototype Intelligent Agent for Intensive-Care Monitoring”, Artificial Intelligence in Medicine, vol. 4, Dec. 31, 1992, pp. 165-185.
Hospira, GemStar® Pain Management Infusion System 9-084-PR1-2-2, <www.hospira.com/products/gemstar_painmanagement.aspx>, Jan. 28, 2010, pp. 1-2.
Huang et al., “Secure Identity-Based Data Sharing and Profile Matching for Mobile Healthcare Social Networks in Cloud Computing”, vol. 6, Jul. 2018, pp. 36584-36594.
Introducing Abbott TQPM (Total Quality Pain Management), Abbott Laboratories, Abbott Park, IL, May 2000, pp. 1-4.
“Infusion Pump”, Wikipedia.org, as last modified Mar. 27, 2014, in 3 pages, <https://web.archive.org/web/20140703024932/https://en.wikipedia.org/wiki/Infusion_pump>.
Isaka et al., “Control Strategies for Arterial Blood Pressure Regulation”, IEEE Transactions on Biomedical Engineering, Apr. 1993, vol. 40, No. 4, pp. 353-363.
Johnson et al., “Using BCMA Software to Improve Patient Safety In Veterans Administration Medical Centers”, Journal of Healthcare Information Management, Dec. 6, 2004, vol. 16, No. 1, pp. 46-51.
Kent Displays, “Reflex™ Electronic Skins”, Product Brief 25127B, 2009, pp. 2.
Kent Displays, “Reflex Electronic Skins Engineering Evaluation Kit”, 25136A, Mar. 10, 2009.
Lefkowitz et al., “A Trial of the Use of Bar Code Technology to Restructure a Drug Distribution and Administration System”, Hospital Pharmacy, Mar. 31, 1991, vol. 26, No. 3, pp. 239-242.
Lenssen et al., “Bright Color Electronic Paper Technology and Applications”, IDS '09 Publication EP1-2 (Phillips Research), 2009, pp. 529-532.
Leveson, Nancy, “Medical Devices: The Therac-25”, Appendix A, University of Washington, 1995, pp. 49.
Li et al., “Hijacking an Insulin Pump: Security Attacks and Defenses for a Diabetes Therapy System”, 2011 IEEE 13th International Conference on e-Health Networking, Applications and Services, 2011, pp. 150-156.
Linkens, D.A. “Computer Control for Patient Care”, Computer Control of Real-Time Processes, IEE Control Engineering Series 41, 1990, Ch. 13, pp. 216-238.
Mako Hill et al., “The Official Ubuntu Book”, Shoeisha Co., Ltd., 1st Edition, Jun. 11, 2007, pp. 115 to 125.
Marshall, et al., “New Microprocessor-Based Insulin Controller”, IEEE Transactions on Biomedical Engineering, Nov. 1983, vol. BME-30, No. 11, pp. 689-695.
Martino et al., “Automation of a Medical Intensive Care Environment with a Flexible Configuration of Computer Systems”, Proceedings of the Annual Symposium on Computer Application in Medical Care, Nov. 5, 1980, vol. 3, pp. 1562-1568.
Matsunaga et al., “On the Use of Machine Learning to Predict the Time and Resources Consumed by Applications”, 2010 10th IEEE/ACM International Conference on Cluster, Cloud and Grid Computing (CCGrid), May 17-20, 2010, pp. 495-504.
Mauseth et al., “Proposed Clinical Application for Tuning Fuzzy Logic Controller of Artificial Pancreas Utilizing a Personalization Factor”, Journal of Diabetes Science and Technology, Jul. 2010, vol. 4, No. 4, pp. 913-922.
“McKesson Automation and ALARIS Medical Systems Developing Point-of-Care Bar Coding Solution to Improve IV Medication Safety”, PR Newswire, NY, Dec. 9, 2002, pp. 4.
Medfusion™, “Medfusion Syringe Infusion Pump Model 4000”, Operator's Manual, Software Version V1.1, Sep. 2011, pp. 154. <http://www.medfusionpump.com/assets/literature/manuals/Operators_Manual_4000_40-5760-51A.pdf>.
Metnitz et al., “Computer Assisted Data Analysis in Intensive Care: the ICDEV Project-Development of a Scientific Database System for Intensive Care”, International Journal of Clinical Monitoring and Computing, Aug. 1995, vol. 12, No. 3, pp. 147-159.
Michienzi, Kelly, “Managing Drug Library Updates”, Pharmacy Purchasing Products, https://www.pppmag.com/article/1061, Feb. 2012, vol. 9, pp. 22-23.
Micrel Medical Devices, “MP Daily +” <http://web.archive.org/web/20130803235715/http://www.micrelmed.com/index.aspx?productid=9> as archived Aug. 3, 2013 in 1 page.
Moghissi, Etie, MD, FACP, FACE, “Hyperglycemia in Hospitalized Patients”, A Supplement to ACP Hospitalist, Jun. 15, 2008, pp. 32.
Murray, Jr. et al., “Automated Drug Identification System (during surgery)”, IEEE Proceedings of Southeastcon '91, Apr. 7-10, 1991, pp. 265.
Nicholson et al., “‘Smart’ Infusion Apparatus for Computation and Automated Delivery of Loading, Tapering, and Maintenance Infusion Regimens of Lidocaine, Procainamide, and Theophylline”, Proceedings of The Seventh Annual Symposium on Computer Applications in Medical Care, Oct. 1983, pp. 212-213.
Nolan et al., “The P1073 Medical Information Bus Standard: Overview and Benefits for Clinical Users”, 1990, pp. 216-219.
Omnilink Systems, Inc., “Portable Medical Equipment Tracking”, <http://www.omnilink.com/portablemedicalequipmenttracking/>, Mar. 15, 2015, pp. 2.
O'Shea, Kristen L., “Infusion Management: Working Smarter, Not Harder”, Hospital Pharmacy, Apr. 2013, vol. 48, No. 3, pp. S1-S14.
Package Management in Debian GNU/Linux, Debian GNU/Linux Expert Desktop Use Special, Giutsu-Hyohron Co., Ltd., First Edition, Sep. 25, 2004, pp. 183-185.
Passos et al., “Distributed Software Platform for Automation and Control of General Anaesthesia”, Eighth International Symposium on Parallel and Distributed Computing, ISPDC '09, Jun. 30-Jul. 4, 2009, pp. 8.
Philips, “IntelliSpace Event Management and IntelliVue Patient Monitoring”, Release 10, 2011, <http://incenter.medical.philips.com/doclib/enc/fetch/2000/4504/577242/577243/577247/582646/583147/8359175/Philips_Patient_Monitoring_and_IntelliSpace_Event_Management_Interoperability.pdf%3fnodeid%3d8508574%26vernum%3d-2>, pp. 2.
Pretty et al., “Hypoglycemia Detection in Critical Care Using Continuous Glucose Monitors: An in Silico Proof of Concept Analysis”, Journal of Diabetes Science and Technology, Jan. 2010, vol. 4, No. 1, pp. 15-24.
Rappoport, Arthur E., “A Hospital Patient and Laboratory machine-Readable Identification System (MRIS) Revisited”, Journal of Medical Systems, Apr. 1984, vol. 8, Nos. 1/2, pp. 133-156.
Ritchie et al., “A Microcomputer Based Controller for Neuromuscular Block During Surgery”, Annals of Biomedical Engineering, Jan. 1985, vol. 13, No. 1, pp. 3-15.
Saager et al., “Computer-Guided Versus Standard Protocol for Insulin Administration in Diabetic Patients Undergoing Cardiac Surgery”, Annual Meeting of the American Society of Critical Care Anesthesiologists, Oct. 13, 2006.
Sanders et al., “The Computer in a Programmable Implantable Medication System (PIMS)”, Proceedings of the Annual Symposium on Computer Application in Medical Care, Nov. 2, 1982, pp. 682-685.
Schilling et al., “Optimizing Outcomes! Error Prevention and Evidence-Based Practice with IV Medications”, A Pro-Ce Publication, Hospira, Inc., Feb. 6, 2012, pp. 56.
Schulze et al., “Advanced Sensors Technology Survey”, Final Report, Feb. 10, 1992, pp. 161.
Scott, et al., “Using Bar-Code Technology to Capture Clinical Intervention Data in a Hospital with a Stand-Alone Pharmacy Computer System”, Mar. 15, 1996, American Journal of Health-System Pharmacy, vol. 53, No. 6, pp. 651-654.
Sebald et al., “Numerical Analysis of a Comprehensive in Silico Subcutaneous Insulin Absorption Compartmental Model”, 31st Annual International Conference of the IEEE Engineering in Medicine and Biology Society, Sep. 2-6, 2009, pp. 3901-3904.
Shabot, M. Michael, “Standardized Acquisition of Bedside Data: The IEEE P1073 Medical Information Bus”, International Journal of Clinical Monitoring and Computing, vol. 6, Sep. 27, 1989, pp. 197-204.
Sheppard, Louis, Ph.D., “Automation of the Infusion of Drugs Using Feedback Control”, Journal of Cardiothoracic and Vascular Anesthesia, Feb. 28, 1989, vol. 3, No. 1, pp. 1-3.
Sheppard, Louis, Ph.D., “Computer Control of the Infusion of Vasoactive Drugs”, Annals of Biomedical Engineering, Jul. 1980, vol. 8, No. 4-6, pp. 431-444.
Sheppard, Louis, Ph.D., “The Application of Computers to the Measurement, Analysis, and Treatment of Patients Following Cardiac Surgical Procedures”, The University of Alabama in Birmingham, Oct. 31, 1977, pp. 297-300.
Sheppard, Louis, Ph.D., “The Computer in the Care of Critically Ill Patients”, Proceedings of the IEEE, Sep. 1979, vol. 67, No. 9, pp. 1300-1306.
“Sigma Spectrum: Operator's Manual”, Oct. 2009, pp. 72. <http://static.medonecapital.com/manuals/userManuals/Sigma-Spectrum-Operator-Manual-October-2009.pdf>.
Simonsen, Michael Ph.D., POC Testing, New Monitoring Strategies on Fast Growth Paths in European Healthcare Arenas, Biomedical Business & Technology, Jan. 2007, vol. 30, No. 1, pp. 1-36.
Siv-Lee et al., “Implementation of Wireless ‘Intelligent’ Pump IV Infusion Technology in a Not-for-Profit Academic Hospital Setting”, Hospital Pharmacy, Sep. 2007, vol. 42, No. 9, pp. 832-840. <http://www.thomasland.com/hpj4209-832.pdf>.
Slack, W.V., “Information Technologies for Transforming Health Care”, <https://www.andrew.cmu.edu/course/90-853/medis.dir/otadocs.dir/03ch2.pdf>, Ch. 2, 1995, pp. 29-78.
Smith, Joe, “Infusion Pump Informatics”, CatalyzeCare: Transforming Healthcare, as printed May 12, 2011, pp. 2.
Sodders, Lisa, “VA Center Keeps Medicine in Right Hands”, The Capital-Journal, Dec. 4, 1999, pp. 1-2.
“Software Versioning”, Wikipedia.org, dated Oct. 16, 2011 in 11 pages, <https://en.wikipedia.org/w/index.php?title=Software_versioning&oldid=455859110>.
Stitt, F.W., “The Problem-Oriented Medical Synopsis: a Patient-Centered Clinical Information System”, Proceedings of the Annual Symposium on Computer Application in Medical Care, 1994, pp. 88-92.
Stokowski, Laura A. RN, MS, “Using Technology to Improve Medication Safety in the Newborn Intensive Care Unit”, Advances in Neonatal Care, Dec. 2001, vol. 1, No. 2, pp. 70-83.
Sutton et al., “The Syntax and Semantics of the PROforma Guideline Modeling Language”, Journal of the American Medical Informatics Association, Sep./Oct. 2003, vol. 10, No. 5, pp. 433-443.
Szeinbach et al., “Automated Dispensing Technologies: Effect on Managed Care”, Journal of Managed Care Pharmacy (JMCP), Sep./Oct. 1995, vol. 1, No. 2, pp. 121-127.
Szolovits et al., “Guardian Angel: Patient-Centered Health Information Systems”, Technical Report MIT/LCS/TR-604, Massachusetts Institute of Technology Laboratory for Computer Science, May 1994, pp. 39.
“TCG TPM v2.0 Provisioning Guidance”, Reference, Version 1, Revision 1, Mar. 15, 2017, pp. 1-43.
Van Den Berghe, M.D., Ph.D., et al., “Intensive Insulin Therapy in Critically Ill Patients”, The New England Journal of Medicine, Nov. 8, 2001, vol. 345, No. 19, pp. 1359-1367.
Van Den Berghe, M.D., Ph.D., et al., “Intensive Insulin Therapy in the Medical ICU”, The New England Journal of Medicine, Feb. 2, 2006, vol. 354, No. 5, pp. 449-461.
Van Der Maas et al., “Requirements for Medical Modeling Languages”, Journal of the American Medical Informatics Association, Mar./Apr. 2001, vol. 8, No. 2, pp. 146-162.
Villalobos et al., “Computerized System in Intensive Care medicine”, Medical Informatics, vol. 11, No. 3, 1986, pp. 269-275.
Wilkins et al., “A Regular Language: The Annotated Case Report Form”, PPD Inc., PharmaSUG2011—Paper CD18, 2011, pp. 1-9.
Ying et al., “Regulating Mean Arterial Pressure in Postsurgical Cardiac Patients. A Fuzzy Logic System to Control Administration of Sodium Nitroprusside”, IEEE Engineering in Medicine and Biology Magazine, vol. 13, No. 5, Nov.-Dec. 1994, pp. 671-677.
Yue, Ying Kwan, “A Healthcare Failure Mode and Effect Analysis on the Safety of Secondary Infusions”, Thesis, Institute of Biomaterials and Biomedical Engineering, University of Toronto, 2012, pp. 168.
Yurkonis et al., “Computer Simulation of Adaptive Drug Infusion”, IEEE Transactions on Biomedical Engineering, vol. BME-34, No. 8, Aug. 1987, pp. 633-635.
Zakariah et al., “Combination of Biphasic Transmittance Waveform with Blood Procalcitonin Levels for Diagnosis of Sepsis in Acutely III Patients”, Critical Care Medicine, 2008, vol. 36, No. 5, pp. 1507-1512.
Block, Alexander, “Secret Sharing and 1-11 Threshold Signatures with BLS”, Jul. 2, 2018, https://blog.dash.org/secret-sharing-and-threshold-signatures-with-bls-954d1587b5f, in 8 pages.
Solapurkar et al., “Building Secure Healthcare Services Using OAuth 2.0 and JSON Web Token in IOT Cloud Scenario”, Dec. 2016, 2nd International Conference on Contemporary Computing and Informatics, pp. 99-110.
Invitation to Pay Additional Fees received in PCT Application No. PCT/US2019/041705, dated Aug. 7, 2019 in 2 pages.
International Search Report and Written Opinion received in PCT Application No. PCT/US2019/041705, dated Sep. 17, 2019 in 37 pages.
International Preliminary Report on Patentability and Written Opinion received in PCT Application No. PCT/US2019/041705, dated Jan. 28, 2021 in 10 pages.
Related Publications (1)
Number Date Country
20220375565 A1 Nov 2022 US
Provisional Applications (1)
Number Date Country
62699454 Jul 2018 US
Continuations (3)
Number Date Country
Parent 17068043 Oct 2020 US
Child 17658140 US
Parent 16512193 Jul 2019 US
Child 17068043 US
Parent PCT/US2019/041705 Jul 2019 US
Child 16512193 US