67
Harnessing DDS in Next Generation Healthcare Systems Webcast November 19, 2014

Harnessing Data Distribution Service (DDS) in Next Generation Healthcare Systems

Embed Size (px)

Citation preview

Harnessing DDS in Next Generation

Healthcare Systems Webcast

November 19, 2014

Webcast Presenters

Julian M. Goldman - Director, MD PnP Program / Director, CIMIT Interoperability Program / Medical Director, Partners HealthCare Biomedical Engineering

Julian M. Goldman, MD is an anesthesiologist at the Massachusetts General Hospital, Medical Director of Biomedical Engineering for Partners HealthCare, and the Director/PI of the Program on Medical Device Interoperability - a multi-institutional federally funded program founded in 2004 to advance medical device interoperability to improve patient safety and HIT innovation.

Dr. Goldman completed his residency and medical informatics fellowship at the University of

Colorado, and served as a Visiting Scholar in the FDA Medical Device Fellowship Program as well as an executive of a pulse oximetry company. His awards include the AAMI Foundation/Institute for Technology in Health Care Clinical Application Award and the International Council on Systems Engineering Pioneer Award.

E-card: www.jgoldman.info

David Arney - Lead Engineer, MD PnP Program David Arney is the Lead Engineer for the Medical Device Plug and Play Program. He has been working on applying

formal methods to medical device software since 2001 and was a scholar in residence at the FDA's Center for Devices and Radiological Health in the Office of Science and Engineering Laboratories. He was involved in writing the ASTM 2761-09 ICE standard for interoperable medical devices. He started at the MD PnP program in September of 2010, and is currently writing his dissertation for a PhD in computer science under Professor Insup Lee at the University of Pennsylvania.

Jeff Plourde - Applications Developer, MD PnP Program Jeff Plourde is an Application Developer for the MD PnP program. Previously he worked in the hedge fund industry.

As a portfolio manager Jeff built and analyzed statistical trading models using high-throughput backtesting techniques and deployed those models with his own high frequency trading algorithms. He holds a BS in Computer Science and a BS in Biology from Rensselaer Polytechnic Institute. Jeff began working with the MD PnP program in May 2012.

Jeffrey Peterson - Clinical Engineer, MD PnP Program Jeffrey Peterson is currently a Clinical Engineer for the MD PnP program. Previously, he worked as a Clinical Engineer

at UMass Memorial Medical Center in Worcester, MA. His projects were focused on healthcare technology management, clinical alarm management and distribution and medical device integration. He holds an MS Biomedical and Clinical Engineering and a BS in Biomedical Engineering, both from the University of Connecticut. Jeff completed his Master’s thesis on clinical alarm management during his time at UMass.

Webcast Presenters

Angelo Corsaro – CTO, PrismTech

Angelo Corsaro, Ph.D. is Chief Technology Officer (CTO) at PrismTech where he directs the technology

strategy, planning, evolution, and evangelism. Angelo leads the strategic standardization at the Object Management Group (OMG), where he co-chairs the Data Distribution Service (DDS) Special Interest Group and serves on the Architecture Board. Angelo is a widely known and cited expert in the field of real-time and distributed systems, middleware, and software patterns, has authored several international standards and enjoys over 10+ years of experience in technology management and design of high performance mission- and business-critical distributed systems. Angelo received a Ph.D. and a M.S. in Computer Science from the Washington University in St. Louis, and a Laurea Magna cum Laude in Computer Engineering from the University of Catania, Italy.

Webcast Presenters

Angelo  Corsaro,  PhD  Chief  Technology  Officer  

[email protected]

DDS Overview

DDS in Action

Cop

yrig

ht P

rism

Tech

, 201

4

Sample Oximeter Data Modelmodule  dds  {          module  demo  {        /**              The  Oximetry  Parameters  are  split  into  two  topics                        to  take  into  account  the  different  update  rates.                            Since  the  pleth  parameter  is  updated  with  a  ~10ms                        period,  it  is  sent  on  its  own  topic  to  avoid  sending                        over  and  over  data  that  changes  every  second.        **/        struct  Oximetry  {            string  deviceId;            long  deviceType;            long  spO2;            long  bpm;            long  rr;        };                #pragma  keylist  Oximetry  deviceId  

     /**          *  High  frequency  pleth  data  used  for  graphing                    *  and  analysis.          */        struct  Pleth  {            string  deviceId;            float  pleth;        };                #pragma  keylist  Pleth  deviceId  

           /**                *  Topic  used  to  advertise  the  presence  of  a  device.                */            struct  DeviceInfo  {                  string  deviceId;                  string  description;                };                #pragma  keylist  DeviceInfo  deviceId                };  };  

Cop

yrig

ht P

rism

Tech

, 201

4

Producing Oximetry

 DomainParticipant  dp(0);      Topic<Oximetry>  topic(dp,  “TOximetry”);      Publisher  pub(dp);      DataWriter<Oximetry>  dw(pub,  topic);  

   while  (true)  {          Oximetry  o  =  getOximetry();          dw  <<  o;  //  -­‐or-­‐  dw.write(o)          sleep(1);      }        

C++ CoffeScriptrt  =  new  dds.Runtime()  rt.onconnect  =  ()  -­‐>      topic  =  new  Topic(0,  “TOximetry”,                                          “dds::demo::Oximetry”)    rt.registerTopic(topic)    dw  =  new  DataWriter(rt,  topic)  

 writeOximetry  =  ()  -­‐>    o  =  getOximetry()  dw.write(o)  

 setInterval(writeOximetry,  1000)  

Cop

yrig

ht P

rism

Tech

, 201

4

C++ CoffeScript

Consuming Oximetry

   DomainParticipant  dp(0);      Topic<Oximetry>  topic(dp,  “TOximetry”);      Subscriber  sub(dp);      DataReader<Oximetry>  dr(pub,  topic);      LambdaDataReaderListener<Oximetry>  listener;  

   listener.data_available  =            [](DataReader<Oximetry>&  dr)  {                auto  samples  =  dr.read();              showOximetry(samples);          };          dr.listener(&listener,                                StatusMask::data_available());            

rt  =  new  dds.Runtime()  rt.onconnect  =  ()  -­‐>      topic  =  new  Topic(0,  “TOximetry”,                                          “dds::demo::Oximetry”)    rt.registerTopic(topic)    dr  =  new  DataReader(rt,  topic)    dr.addListener((o)  -­‐>  showOximetry(o))  

Integrating the Clinical Environment: Implications for healthcare quality, safety, and

innovation

Julian M. Goldman, MD Director, Program on Interoperability, Mass General Hospital

Medical Director, Partners HealthCare Biomedical Engineering Anesthesiologist, MGH/Harvard Medical School

Contact information: www.jgoldman.info

Prismtech Webinar Nov 19, 2014

• 1999 IOM published “To Err Is Human” up to 98,000 people a year die because of mistakes in hospitals.

• 2010 the Office of Inspector General for Health and Human Services said that bad hospital care contributed to the deaths of 180,000 patients in Medicare alone in a given year.

• 2013 Journal of Patient Safety: between 210,000 and 440,000 patients each year who go to the hospital for care suffer some type of preventable harm that contributes to their death.

• “That would make medical errors the third-leading cause of death in America, behind heart disease, which is the first, and cancer, which is second. “

1999

2013

Devices, processes, non-integrated system errors

Home ventilator

OR scene – patient’s life saved: Clinicians need timely, accurate data to reduce error, treatment delays, injuries

and deaths. Is that how we practice today? Where are innovative solutions?

Proposal: Can an Integrated Clinical Environment (ICE) add “error

resistance” to healthcare delivery?

Apps for smart alarms; med safety; equipment management

What if… Asking a lot of the platform

“Medical IoT” (Internet of Things)

Pulse Oximeters measure oxygen saturation – displayed as SpO2 %

Julian M. Goldman, MD / MGH

Pulse Oximeter oxygen saturation is 84% on instrument display and in EHR

EMR

Medical Devices generate “First Mile” of data (from patient)

Blood Pressure

Bluetooth pulse oximeter

Example - Infusion technology: 1. Decision support? 2. Prevent contra-indicated

infusion? 3. “Artificial pancreas”

Capabilities? (closed loop) 4. Consolidate all data for

adverse event analysis? 5. Check device status,

software version? Recall? 6. Adjust settings remotely?

Medical Devices are also the “Last Mile” (data back to devices)

These infusion pumps are for use on ONE patient

Patient-Controlled Analgesia (PCA) system safety concerns

PCA Pump

(With patient button)

Nurse call Patient

• Patients can call to request more pain medication, but, cannot call

for help when over-medicated.

• Over-medication can cause respiratory and cardiac arrest

• Comprehensive monitoring is not typically used due to high false

and nuisance alarm rate

• “Safe PCA System” prototype uses information from medical

monitors, EMR, and IV pump to prevent overdose

Patient Controlled Analgesia (PCA)

PCA Pump

(With patient button)

Nurse call Patient

1. Up to 6,875 serious preventable PCA-related adverse events

are estimated to occur annually. NO official figures. NO

reporting

2. PCA can be fixed! Digital platform of interoperable devices +

apps -> safer medication administration

• Why is data fusion and decision support so challenging to

implement?

Typical Patient Controlled Analgesia System

Oxygen Level Low WHY????

Pulse Oximeter Data example

JM Goldman MD / MGH

Not reall low oxygen “Bad” data

BP cuff - Pulse Oximeter Interaction

JM Goldman MD / MGH

Baseline Cuff inflates – loss of finger signal Blood returns to finger

Monitor Displays Low Oxygen Level (SpO2) Alarm Event “84%” at 2:07

No evidence of 84% SpO2 in EHR (Blue ticks representing SpO2 values Don’t change)

We must have a system perspective Sampling error for transient events

Julian M. Goldman, MD / MGH

Sources of variation in EHR documentation due to Data Sampling

Patient’s “actual” SpO2 minimum = 70%

60 Seconds

Example of possible EHR sample points for 1-minute recording

Based on this example, EHR May record SpO2 as: 98% 92% 80% 75% Etc.

Cardio-Pulmonary Bypass (Heart-lung machine)

Normal routine: Switch from anesthesia machine

ventilator to cardiopulmonary bypass machine, and

back to ventilator (after bypass)

or

Failure to Ventilate after Bypass

• Adverse Anesthetic Outcomes Arising from Gas Delivery Equipment: A Closed Claims Analysis.

• Anesthesiology. 87(4):741-748, October 1997

• “… In the second case, the anesthesiologist forgot to resume ventilation after separation from cardiopulmonary bypass. The delayed detection of apnea was attributed to the fact that the audible alarms for the pulse oximeter and capnograph had been disabled during bypass and had not been reactivated. Both patients sustained permanent brain damage.”

Almost every surgical team has experienced this error!

17 years

Cardio-Pulmonary Bypass

Smart system would provide warning if ventilator off

and bypass pump flow = 0.

No App for that

and

Ebola

In Hospital

X We need to move personnel away from patient area

Remote data display, remote device control, apps, and

complete data collection to monitor individual and

population health

1 provider in room

Medical Device “Plug-and-Play”

Interoperability Program (MD PnP)

Founded in 2004, the MD PnP research program is a

multi-institutional community with Lab based at

Massachusetts General Hospital (MGH), with grant

support from NIH/NIBIB, NSF, DoD/TATRC, and NIST

Mission: lead the adoption of open standards and

technologies for medical device interoperability to

improve patient safety

Goals of the MD PnP Program

1. Lead the adoption of open standards and related technology to support medical device interoperability and system solutions

2. Define a regulatory pathway in partnership with the FDA and other regulators

3. Elicit clinical requirements for the proposed interoperable solutions

4. Use our vendor-neutral laboratory to: • evaluate interoperability standards and solutions • serve as a community resource

5. Investigate safety of proposed engineering solutions

MD PnP Lab at MGH/PHS

• Vender-neutral sandbox for experimenting with device interoperability solutions (standards technologies, products)

• Contains devices – production and research

• Supports diverse collaborators

Safety Culture

Based on Reason, Managing the Risks of Organisational Accidents, 1977

http://www.coloradofirecamp.com/just-culture/definitions-principles.htm

What success will look like …

• DATA: Widespread availability of complete clinical and medical device performance data for …

• Real Time Safety: Close the loop on clinical care, workflow, and implement “error resistant” systems

• Unleash innovation in patient care, patient safety, and healthcare efficiency to save hundreds of thousands of lives and billions of $.

• A “systems engineering” platform is widely available for research, development, and deployment.

Dr. Julian M. Goldman, M.D. – Principle Investigator

Jeffrey Plourde – Lead Developer

Jeffrey Peterson – Clinical Engineer

David Arney – Lead Engineer

MD PnP Interoperability Program

Massachusetts General Hospital

Harvard Medical School

Harnessing

DDS in Next

Generation

Healthcare Systems

19 Nov 2014

1

Integrated Clinical Environment

ASTM-F2761-09 ICE Multi-manager (apps)

Data Logger

Functional architecture

No technical specification (yet)

Device adapter

Replaced by native speakers

19 Nov 2014

2

OpenICE Prototype in the Lab

ASTM-F2761-09 ICE

19 Nov 2014

3

Middleware

(DDS)

OpenICE Prototype

Realization of the ICE functional architecture

Fully open source

Initially targeted at clinical research community.

19 Nov 2014

4

OpenICE On The Web

MD PnP Program

http://www.mdpnp.org

SourceForge

http://mdpnp.sourceforge.net

OpenICE.info

http://www.openice.info

19 Nov 2014

5

What is a parallel system?

Multiple processors run multiple software programs

concurrently within the same computer

There is shared “memory” that all processors can

access

Memory

Email Web Browser Word Processor

6

19 Nov 2014

What is a distributed system?

A collection of networked computers coordinating

their actions by passing messages

Each computer has isolated memory

No one computer can know at any instant the true

contents of all isolated computer memories

Memory

Medical Device Supervisor Application

Memory Memory

Messages Messages

7

19 Nov 2014

Message Oriented Middleware Innumerable examples: JMS, MQ Series, TIBCO

Rendezvous

Devise messages to ensure consistent information throughout system nodes.

Not a natural analog to non-distributed parallel systems; source of error.

Memory

Medical Device Supervisor Application

Memory Memory

Messages Messages

8

19 Nov 2014

Data Distribution Service

An abstraction layer (API) that simplifies distributed

system development by providing all computers

with a reproduction of shared memory

Memory

DDS DDS DDS

Memory Memory

Messages Messages

Medical Device Supervisor Application

Memory

9

19 Nov 2014

Quality of Service Policies Reliability

Configurable to seek acknowledgment of emitted data automatically.

Liveliness

Automatic detection of defunct remote data emitters.

Destination Order

Guarantees ordering of data

Any single policy would require a great deal of implementation upon a Message Oriented Substrate.

10

19 Nov 2014

DDS & MDPnP OMG Standard

An open, vibrant standard with associated community

Supports multiple languages C, C++, Java, etc.

Vendor Neutral

Declarative Non-Functional Characteristics

Quality of Service Policies

Interoperability

Uses familiar data access paradigms

11

19 Nov 2014

ICE Device

Adapter Web Server

(socket.io)

openice.info

ICE

Supervisor

Data Logger

Device Device

ICE Device

Adapter

DDS Participant

Web OpenICE Prototype 12

DDS Websocket Proprietary

OpenICE Data Model

19 Nov 2014

DDS Websocket Proprietary

Ivy Vital-Guard 450C

Dräger Evita XL

Beaglebone Black

Network

Web Browser

Server

OpenICE Supervisor

OpenICE Prototype 13

19 Nov 2014

Current Deployment Equipment

OpenICE Prototype Standard Ethernet

Zero configuration required

WiFi 802.11n enabled

Hardware

Standard PCs (Mac, Windows, Linux) running Supervisor

BeagleBones running “device adapter” software

Standard Intel server running Ubuntu

These are not the only possibilities for deployment

19 Nov 2014

14

Device Functionality Problems

Medical devices today were not designed with ICE

functionality in mind

Time of data export is varied (PB840)

Alarm data export behavior differs (Ivy alarm silence)

Waveform export is highly varied (Philips batching)

Nomenclature is not standardized (NIST, 11073, etc.)

15

19 Nov 2014

Data Logger - Clinical Black Box Record device data in an open, standardized, and time-synchronized

manner

The log will include:

Commands, Button presses, Location, Status

Physiologic and technical alarms

Physiologic vital sign data from patients

Device connections and disconnections from ICE

Data Log supports Analysis and Playback for two complementary purposes:

Analysis of device interactions (debugging, root cause analysis)

Analysis of adverse events involving patients (clinical)

19 Nov 2014

16

PCA Safety Demo

Open sourced

Download from mdpnp.sourceforge.net

Closed loop control of PCA pump

Can use devices or simulators

17

19 Nov 2014

PCA Safety Demo

18

19 Nov 2014

Thank You

Learn more:

https://OpenICE.info

http://mdpnp.org – membership signup for news

19 Nov 2014

19

Angelo  Corsaro,  PhD  Chief  Technology  Officer  

[email protected]

VORTEX Overview and Healthcare Applications

Cop

yrig

ht P

rism

Tech

, 201

4

VORTEX is a ubiquitous data sharing platform for the Internet of Things providing scalable end-to-end seamless, efficient, secure and timely data sharing for IoT supporting device, edge, gateways and cloud

VORTEX platform coverage, performance and scalability make it the only viable choice from consumer to demanding business critical, industrial, real time, IoT applications

VORTEX simplifies IT/OT integration, and is the only platform that holistically addresses IT and OT requirements

Introducing Vortex

Sensors/ Things/ Devices

Connectivity/ Transport

Edge Management/ Telemetry

Application Platform

Enterprise Systems

Ubiquitous Data Sharing peer-to-peer, device-to-cloud, cloud-to-cloud

Cop

yrig

ht P

rism

Tech

, 201

4

Specialised device implementations optimally addressing requirements of OT and IT platforms

VORTEX can readily deal with data ingestion seamlessly integrating with other protocols, e.g. MQTT, CoAP, etc.

VORTEX leverages the DDS standard for interoperability and uniquely extends it with support for Internet Scale systems, mobility and Web 2.0 applications

The VORTEX PlatformDevice

Tools

Integration

Vortex Cloud

MaaS

Cop

yrig

ht P

rism

Tech

, 201

4

VORTEX Architecture

IP

UDP TCP

DTLS TLS

WebSocketDDSI Wire Protocol

VORTEX Café

VORTEX Cloud

VORTEX Web

VORTEX Gateway

VORTEX Lite VORTEX OpenSplice

MQTT AMQP XMPP HTTP HBase DMBS TCP/IP, UDP/IP

VORTEX Café

DDS API

DDS Security

Use Cases

Cop

yrig

ht P

rism

Tech

, 201

4

E-Health Use Case

Hospital A Private Cloud

AnalyticsBig  Data  Store

Hospital B

Further information – MD PnP

▶ OpenICE

▶ http://www.mdpnp.org/MD_PnP_Program___OpenICE.html

▶ For further information please contacct

▶ Andrea Lenco – [email protected]

▶ www.mdpnp.org )

Further information - PrismTech ▶ For further information please contact us directly

▶ angelo [email protected]

▶ www.prismtech.com (on-demand live demo available)

▶ Or via social media

www.twitter.com/prismtech

www.linkedin.com/company/prismtech

info.prismtech.com/facebook

www.slideshare.net/prismtech1