Upload
ariane
View
29
Download
0
Tags:
Embed Size (px)
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:[email protected]