Download - Cloud Based EHR Sharing Using DOSGi and CCR
![Page 1: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/1.jpg)
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
![Page 2: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/2.jpg)
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
![Page 3: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/3.jpg)
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
![Page 4: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/4.jpg)
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
![Page 5: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/5.jpg)
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
![Page 6: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/6.jpg)
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
![Page 7: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/7.jpg)
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
![Page 8: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/8.jpg)
Service
DOSGi on the Cloud
ZooKeeper
Consumer Consumer
ZooKeeper ZooKeeper
Service
Service
Service
Service
Consumer
OSGi Image
ZooKeeper Image
CloudInternet
ServiceDiscovery
ServiceCalls
Register Service
![Page 9: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/9.jpg)
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
![Page 10: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/10.jpg)
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
![Page 11: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/11.jpg)
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
![Page 12: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/12.jpg)
• 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
![Page 13: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/13.jpg)
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>
![Page 14: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/14.jpg)
Simple Demo• Run on Lakehead’s private Eucalyptus cloud• Using Hybridfox to launch machine instances
Hybridfox
Lakehead University's private cloud computing testbed
![Page 15: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/15.jpg)
Simple Demo
![Page 16: Cloud Based EHR Sharing Using DOSGi and CCR](https://reader036.vdocument.in/reader036/viewer/2022081604/56816374550346895dd45257/html5/thumbnails/16.jpg)
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]