OpenICE: An open, interoperable platform for medical cyber-physical systems

Medical devices in hospitals and other clinical settings are not yet networked with each other. This leads to compartmentalization and siloing of information, false positive alarms where stand-alone devices are not aware of the patient's context, and worsened patient outcomes when novel, life-saving algorithms cannot even be prototyped. In response to this situation, we have developed an open source implementation of the Integrated Clinical Environment (ICE) standard ASTM 2761-09(2013). The platform consists of software device adapters for medical devices (including anesthesia machines, ventilators, and patient monitors), OMG DDS standard middleware, and demonstration applications. Applications can be built on this platform to implement smart alarms, physiologic closed-loop control algorithms, data visualization, and clinical research data collection. The ICE standard defines an architecture for building a safe patient-centric Integrated Clinical Environment. It defines roles for device adapters, a network controller that mediates traffic, a supervisor capable of hosting applications, a data logger for forensic analysis, and external interfaces to hospital resources such as an EHR, ADT, or pharmacy system. Over the last 8 years, working with a broad team of collaborators, we have built numerous prototype medical distributed systems. These have ranged from a deterministic, hard real-time network implemented on custom FPGA hardware to approaches built on web services. There exist many different middlewares, and our requirements allow us to choose an appropriate one. An ideal middleware would support an abstract API that would permit many instantiations on varying hardware and software platforms. Safe interoperability requires that participants on the network all play by the same rules. DDS was chosen as the middleware for this prototype because it supports the expression of a wide range of quality of service parameters, allowing us to support a variety of clinical scenarios suggested by our user community. Data published by apps can be indistinguishable from that provided by physical medical devices, enabling sophisticated data processing apps that may generate data for use by other system components. Matching publishers to subscribers requires that all of the participants use a common set of terms. For this work, a subset of the ISO/IEEE 11073-10101 nomenclature was used. This allows for components (applications or devices) to be interoperable. Using this approach, device manufacturers will be able to produce devices with electronic interfaces that will work with any ICE application, and any ICE application will work with any device that provides the necessary data elements. We are presenting an initial implementation here in anticipation of useful feedback from the CPS community furthering future versions that will be suitable for mainstream clinical use. Updates will be available to the community at mdpnp.sourceforge.net, and we are working on an ICE Application exchange (ICE AX) site where clinical researchers can post and download ICE applications.