Cloud Based EHR Sharing Using DOSGi and CCR

Preview:

DESCRIPTION

Cloud Based EHR Sharing Using DOSGi and CCR. ICDIM 2010 Tutorial. Sabah Mohammed, Daniel Servos and Jinan Fiaidhi Department of Computer Science, Lakehead University, Thunder Bay, ON P7B 5E1, Canada { sabah.mohammed , dservos , jfiaidhi }@ lakeheadu.ca. Tools, Services and Frameworks. - PowerPoint PPT Presentation

Citation preview

Cloud Based EHR Sharing Using DOSGi and CCR

ICDIM 2010 Tutorial

Sabah Mohammed, Daniel Servos and Jinan FiaidhiDepartment of Computer Science, Lakehead University, Thunder Bay, ON P7B 5E1, Canada

{sabah.mohammed, dservos, jfiaidhi}@lakeheadu.ca

Tools, Services and Frameworks

Required:

• Eucalyptus, Amazon EC2, or another cloud provider

• OSGi Implementation (Equinox, Felix, Knopflerfish, etc)

• Apache CXF Distributed OSGi

• Apache Zookeeper

Optional:

• Pax Runner

• Hybridfox, Elasticfox, or another EC2 API GUI

What is Cloud Computing?

• Utility Computing• Virtualized Resources• Dynamic Scaling

“Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically reconfigured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs.” ~ L.M. Vaquero, et. al.

Cloud Computing Layers

Hybridfox

Why Cloud Computing?• Dynamic Scalability• Reliability and Fault Tolerance• Cost Savings

PublicHealth Cloud

Paramedics Hospitals Clinics

Private

Health Cloud

Accounting Management Doctors,Specialists and

Surgeons

EMS

Challenges in Adopting EHR for the Cloud• Security• Storage• Transmission• Access Control

• Privacy• Confidentiality• Anonymization

• Standard Compliance• CCR• CCD• DICOM

• Legal Compliance• HIPAA• PIPEDA/PHIPA

• Compatibility• With existing EHR systems• With cloud architecture

DOSGi, a Starting Point• OSGi

• Service platform• Module system• Service registry• Java based

• Apache CXF Distributed OSGi• Reference implementation of OSGi remote services specification• OSGi services exposed as SOAP or RESTful web services• Remote discovery service via Apache ZooKeeper

Service

Service

Service

ZooKeeperCluster

Consumer Consumer

RegisterService

ServiceDiscovery

ServiceCalls

DOSGi on the Cloud

OSGi Machine Image ZooKeeper Machine Image

• Setup:• Linux OS• Apache ZooKeeper installed

• Setup:• Linux OS• OSGi implementation installed• Pax Runner installed (optional)• Compendium interfaces bundle• Apache CXF DOSGi bundle

• Will Run:• OSGi services and consumers

• Will Run:• ZooKeeper Server

• Note:• Premade ZooKeeper images

for EC2

Machine Images

Service

DOSGi on the Cloud

ZooKeeper

Consumer Consumer

ZooKeeper ZooKeeper

Service

Service

Service

Service

Consumer

OSGi Image

ZooKeeper Image

CloudInternet

ServiceDiscovery

ServiceCalls

Register Service

Health Record Store

Adaptor to Existing EHR System

Bridge to Outside EHR System

EHR via DOSGi

Service

CloudStorag

e

Service

Existing

EHRSystem

Service

OutsideSystem

s

EHR Services

Bridge to EHR Client

Adaptor to Existing EHR System

Bridge to Outside EHR System

EHR ConsumersEHR via DOSGi

Consumer

Consumer

Consumer

Existing

EHRSystem

OutsideSystem

s

Client

Service

CloudStorag

e

Service

Existing

EHRSystem

Service

OutsideSystem

sConsumer

Consumer

Consumer

Existing

EHRSystem

OutsideSystem

s

Client

CCR

Query

Error

Response

OR

CCR

AND/OR

EHR via DOSGi

• Patient health summary standard• Contains core health information about a patient:

• Social History• Medications• Immunizations• Vital signs• Procedures• Insurance information• Allergies• etc

• XML document• Human and computer readable• Can be easily anonymized by removing actors section• XSL transformation available to transform CCR to HTML• Already used in many EHR systems including Google Health and Microsoft Healthvault

Continuity of Care Record (CCR)

Example CCR after XSL transformation

Example CCR<ContinuityOfCareRecord xmlns='urn:astm-org:CCR'> <CCRDocumentObjectID>Doc</CCRDocumentObjectID> <Language> <Text>English</Text> </Language> <Version>V1.0</Version> <DateTime> <ExactDateTime>2008</ExactDateTime> </DateTime> <Patient> <ActorID>Patient</ActorID> </Patient> <Body> <VitalSigns> <Result> <CCRDataObjectID>0001</CCRDataObjectID> <Description> <Text>Blood Pressure</Text> </Description> <Test> <CCRDataObjectID>0002</CCRDataObjectID> <Description> <Text>Systolic</Text> <Code> <Value>163030003</Value> <CodingSystem>SNOMEDCT</CodingSystem> </Code> </Description> <TestResult> <Value>120</Value> <Units> <Unit>mmHg</Unit> </Units> </TestResult>

</Test> </Result> </VitalSigns> </Body> <Actors> <Actor> <ActorObjectID>Patient</ActorObjectID> <Person> <Name> <CurrentName> <Given>John</Given> <Family>Doe</Family> </CurrentName> </Name> </Person> </Actor> </Actors></ContinuityOfCareRecord>

Simple Demo• Run on Lakehead’s private Eucalyptus cloud• Using Hybridfox to launch machine instances

Hybridfox

Lakehead University's private cloud computing testbed

Simple Demo

Future Work• Secure communications between services and consumers

• Possible Solutions:• Availability/Security Zones• Patch to Apache CXF DOSGi to support web service calls over https• Tunnels between machine instances• XML Encryption

• Roll based authentication for services• Possible Solutions:

• Distributed authentication service

• Secure storage on the cloud• Possible Solutions:

• Encryption• Record anonymization

• Record synchronization• More stanards support:

• Continuity of Care Document (CCD)• DICOM images• etc

Questions and Comments:dservos@lakeheadu.ca

Recommended