390 likes | 496 Views
Untangle the Web: Communicating Through the Web Services Using Semantics. Asuman Dogac METU, Turkey. The Interoperability Problem in the Healthcare Domain. Can be investigated in the following categories:
E N D
Untangle the Web: Communicating Through the Web Services Using Semantics Asuman Dogac METU, Turkey HIMSS 2006, San Diego, Feb. 16, 2006
The Interoperability Problem in the Healthcare Domain • Can be investigated in the following categories: • Interoperability of the healthcare messages exchanged (HL7 v3, HL7 v2, Proprietary messages…) • Interoperability of Electronic Healthcare Records (EHRs): HL7 CDA, CEN EHRcom, openEHR • Interoperability of Coded Terms (ICD10, SNOMED, …) • Interoperability of Patient Identifiers, Healthcare Business Processes, Clinical Guide Lines, … HIMSS 2006, San Diego, Feb. 16, 2006
Exchanging Messages Interface Engine Interface Engine Transmitting HL7-I12 Patient Referral HL7-I12 Patient Referral ^ ^ 12345 john smith 11011010 Network (e.g., VAN) 12345 smith john Application 1: HIS Database and back end applications Application 2: HIS Database and back end applications HIMSS 2006, San Diego, Feb. 16, 2006
Ability to Communicate: Bits Running on the Wires… • Transport Protocols: TCP/IP, VAN • Network Protocols: HTTP, EDI • Transport Binding: Simple Object Access Protocol (SOAP) • Web Services and ebXML messaging use SOAP • HL7 approved Web Services and ebXML as DSTU • IHE XDS uses ebXML HIMSS 2006, San Diego, Feb. 16, 2006
SOAP is Important… HIMSS 2006, San Diego, Feb. 16, 2006
Why Use Web Services? • Web services are application functions that can be programmatically invoked over the Internet • Advantages of Web services: • They are supported by every major corporation • They have a flexible core language which is XML • Two universally accepted standards: • Web Services Description Language (WSDL), and, • Simple Object Access Protocol (SOAP) • Web services exploit the ubiquity and access simplicity of the Internet HIMSS 2006, San Diego, Feb. 16, 2006
The Use of Web Services in the Healthcare Domain… • IHE has developed Retrieve Information for Display (RID) Profile as a set of Web services • The Netherlands Institute for ICT in Healthcare (NICTIZ) has implemented the Dutch national infrastructure for healthcare messaging by wrapping HL7v3 messages as Web services • Also, Health Level Seven (HL7) has announced the approval of a Web Services Profile as Draft Standards for Trial Use (DSTUs) as Version 3 Transport Specifications within the HL7 Messaging Standard in May 2004 HIMSS 2006, San Diego, Feb. 16, 2006
Communicating through Web Services Processing Transmitting Processing HL7-I12 HL7-I12 Patient Referral Web Service <patient> <patient> <id> </id> <id> 12345 </id> <name> <name> john </name> </name> <surname> <surname> smith 11011010 </surname> </surname> </patient> </patient> HTTP over TCP/IP 12345 smith john HIMSS 2006, San Diego, Feb. 16, 2006
Example: Deploying an Existing Application as Web Service • “RetrieveCriticalHealthcareData” functionality of Care2x • Care2x: A public domain HIS used in many countries • A Care2x SQL Query: SELECT * FROM care_encounter CE, WHERE CP.pid=patientpid HIMSS 2006, San Diego, Feb. 16, 2006
Example: Deploying an Existing Application as Web Service • Prepare the WSDL file: • Determine operation, e.g., RetrieveCriticalHealthCareData • Specify Input and Output Parameters • Specify how it will be accessed, i.e., transport binding like SOAP • Specify endpoint where the Web service will be deployed and invoked • Deploy it to a Web Container HIMSS 2006, San Diego, Feb. 16, 2006
Implementation public void retrieveCriticalHealthcareData() { Select * From care_encounter CE Where CE.pid=pid } WSDL Interface Example: Exposing Care2x “RCHD” as a Web Service Care2X Web Interface SQL Query Select * From care_encounter CE Where CE.pid=pid Client Care2X Retrieve Critical Healthcare Data Web Service HIMSS 2006, San Diego, Feb. 16, 2006
Care2x DataBase Example: Invoking Care2x “RCHD” Web service Extracting and Formatting Information Process Client Request <RCHDInputMessage>... <localPatientID>10000101 </localPatientID> Web Container RetrieveCriticalHealthcareData Web Service Building SQL Update Query 10000101:int Return Output Message SELECT * FROM care_encounter CE WHERE CE.pid=10000101 • <RCHDOutputMessage> • <result>Patient Encounter</result> • </APOutputMessage> Prepare Output Message Patient Encounters:Result HIMSS 2006, San Diego, Feb. 16, 2006
IHE Retrieve Information for Display (RID) • Two Web services : • Retrieve Specific Information: • Patient centric: patient ID • Type of Request • Date, Time, nMostRecent • Retrieve a Document • Object Unique Instance Identifier (OID) • Type of Request • Content Type Expected HIMSS 2006, San Diego, Feb. 16, 2006
IHE Retrieve Information for Display Persistent Document • Types ofRequests • Summary of All Reports • Summary of Laboratory Reports • Summary of Radiology Reports • Summary of Cardiology Reports • Summary of Surgery Reports • Summary of Intensive Care Reports • Summary of Emergency Reports • Summary of Discharge Reports • List of Allergies • List of Medications Retrieve Specific Info for Display Retrieve Document for Display IHE-RID WSDL <?xml version="1.0" encoding="utf8"?> <definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://rsna.org/ihe/IHERetrieveForDisplay" targetNamespace="http://rsna.org/ihe/IHERetrieveForDisplay" xmlns="http://schemas.xmlsoap.org/wsdl/"> <types> <s:schema elementFormDefault="qualified" targetNamespace="http://rsna.org/ihe/IHERetrieveForDisplay"> <s:simpleType name="summaryRequestType"> <s:restriction base="s:string"> <s:enumeration value="SUMMARY" /> <s:enumeration value="SUMMARY-RADIOLOGY" /> ………… HIMSS 2006, San Diego, Feb. 16, 2006
Functional Interoperability • Ability of two or more applications to exchange information • Achieved by fixing • Network protocols such as Internet or Value Added Networks; • The application protocols and transport bindings such as HTTP, FTP, SMTP and SOAP • The message format like HL7v3 • What if applications use different message standards? HIMSS 2006, San Diego, Feb. 16, 2006
Interoperability of Message Standards HIMSS 2006, San Diego, Feb. 16, 2006
Semantic Interoperability • Ability for information shared by systems to be understood through formally defined domain concepts • Annotating the information to be shared through ontologies and performing semantic mediation HIMSS 2006, San Diego, Feb. 16, 2006
How do we achieve semantic interoperability through Web services? • Annotating Web service functionality through ontologies • Annotating Web service messages through ontologies • At the message schema level: Mapping disjoint but overlapping ontologies one into other • At the message instance level: Using the mapping definition produced for automated mapping of message instances one into other HIMSS 2006, San Diego, Feb. 16, 2006
What is an Ontology? • The word ontology comes from the Greek ontos (being) and logos(word) • An ontology describes objects and concepts as classes • These classes are arranged in a hierarchy, and then class attributes and relationships are described with properties Class properties Subclass Subclass properties properties HIMSS 2006, San Diego, Feb. 16, 2006
Why use an ontology? • An Ontology provides: • A common vocabulary: An ontology describes consensual knowledge, that is, it describes meaning which has been accepted by a group not by a single individual • Ability to define relationships among classes, properties and instances • Automated Processing • Querying • Reasoning HIMSS 2006, San Diego, Feb. 16, 2006
An Example Web Service Functionality Ontology HealthCareServices PatientAdministration PatientReferral ObservationReporting Patient Care Scheduling ObservationReportingOfClinialTrials ClinicalObservationReporting ResponseForClinicalObservation RequestForClinicalObservation RetrieveCriticalHealthData Properties of the Generic Service Class serviceQuality location HIMSS 2006, San Diego, Feb. 16, 2006
Semantic Mediation ! HIMSS 2006, San Diego, Feb. 16, 2006
A Motivating Scenario • Mr. John Smith is hospitalized with a cardiac episode at the Care2x Hospital • Previously, Mr. Smith had a “Coronary artery bypass” operation at the Istanbul Hospital • The doctor at the Care2x Hospital wishes to retrieve Mr. Smith’s “Critical Health Data” from Istanbul Hospital • Istanbul Hospital uses HL7 v2.3 EDI messages and has exposed the critical healthcare data of its patients to the authorized users through semantically enriched Web services • Care2x hospital, on the other hand, uses HL7 v3 XML messages. HIMSS 2006, San Diego, Feb. 16, 2006
First Problem: How to Handle Patient Identifiers? • It is not feasible to maintain a master patient index for any two healthcare organization in the world that wish to communicate • We have devised a mechanism to match the patient identifiers based on commonly available patient demographics described in: • Eichelberg, M., Aden, T., Thoben, W.,"A Distributed Patient Identification Protocol based on Control Numbers with Semantic Annotation", Int'l Journal on Semantic Web & Information Systems, Vol. 1, No.4, October 2005. HIMSS 2006, San Diego, Feb. 16, 2006
HL7v2.3 EDI Message Sent by Istanbul Hospital HIMSS 2006, San Diego, Feb. 16, 2006
Ontology Mapper Healthcare Institute A Healthcare Institute B Semantic Mediation of Web Service Messages C-Normalization Engine HL7 v2.3 Message Schema (XSD) Normalization Map HL7 v2.3 Ontology RDF OWL OWL Wrapper HL7 v2.3 Ontology Mapping Definition HL7 v3 Ontology OWL Wrapper OWL RDF HL7 v3 Ontology Normalization Map HL7 v3 Message Schema (XSD) C-Normalization Engine HIMSS 2006, San Diego, Feb. 16, 2006
Additional Tools Used for creating HL7 v3 Message Schemas • HL7 RoseTree Tool is used to create HL7 v3 messages • RoseTree allows the user to graphically build a HMD (Hierarchical Message Definition) from the HL7 v3 Reference Information Model • In order to translate the HMD to XSD, HL7 v3 Schema Generator Tool is used HIMSS 2006, San Diego, Feb. 16, 2006
Ontology Mapper Healthcare Institute A Healthcare Institute B Semantic Mediation EDI2XML Converter XML HL7 v2.3 Message Schema (XSD) HL7 v2.3 Ontology HL7 v2.3 Message (EDI) HL7 v2.3 Message (OWL) Normalization Map D-Normalization Engine RDF OWL Wrapper HL7 v2.3 Message (OWL) Mapping Definition HL7 v3 Message (OWL) OWL Wrapper HL7 v3 Message (OWL) HL7 v3 Message (XML) Normalization Map HL7 v3 Ontology HL7 v3 Message Schema (XSD) RDF D-Normalization Engine HIMSS 2006, San Diego, Feb. 16, 2006
Additional Tools Used for InstanceTransformation • EDI to XML Conversion in HL7: HL7 Application Programming Interface (HAPI) Assembler/Disassembler Tool is used to transform the HL7 v2 EDI messages into their XML representations • Data Normalization Engine of the Harmonize project is used to transform XML Message instances to OWL instances HIMSS 2006, San Diego, Feb. 16, 2006
OWL Mapping Tool HIMSS 2006, San Diego, Feb. 16, 2006
An Example Mapping through OWLmt SimilarTo Person PID SimilarTo XAD Addr Name PID.5.Name PDI Role classCode XON SimilarTo Organization Organization_Name Name HIMSS 2006, San Diego, Feb. 16, 2006
An Example Mapping through OWLmt DG1 Message SimilarTo DG1.4 Pulmonary Hypertension with extreme obesity outboundRelationshipDiagnosis DG1.3 ActDiagnosis DataPropertyTransform CE actDiagnosisDescription CE.1 Primary Pulmonary Hypertension 27679008 actDiagnosisCode I27.2 DataPropertyTransform HIMSS 2006, San Diego, Feb. 16, 2006
HL7 v3 Message Received by the Care2x Hospital <Message xmlns="http://corttex.com/MSCorttex.xsd"> <controlAct> <outboundRelationshipDiagnosis> <actDiagnosis> <actDiagnosisCode>I27.2</actDiagnosisCode> <actDiagnosisDescription> Primary Pulmonary Hypertension</actDiagnosisDescription> </actDiagnosis> </outboundRelationshipDiagnosis> <outboundRelationshipOperation> <actOperation> <operationCode>93501</operationCode> <operationDescription> Right Hearth Catheterization</operationDescription> </actOperation> </outboundRelationshipOperation> </controlAct> </Message> HIMSS 2006, San Diego, Feb. 16, 2006
Important Note • We are considering only the messages exchanged through a limited set of well-defined Web services! HIMSS 2006, San Diego, Feb. 16, 2006
SNOMED:27679007-Pulmonary Hypertension ICD10:I27- Primary Pulmonary Hypertension DG1-code:27679008 Reasoning: An Example… Similarity rdf:subClassOf SNOMED27679008-Pulmonary Hypertension with extreme obesity Ontology Level instanceOf Inferred Info Instance Level “instanceOf” Mapping actDiagnosisCode:I27.2 DG1-code:27679008 (rdf:subClassOf cls1 cls2)(rdf:type ind1 cls1) (rdf:type ind1 cls2) HIMSS 2006, San Diego, Feb. 16, 2006
Conclusions… • Web service based access and Semantic Mediation among healthcare institutes is becoming a reality • The technologies described have been implemented within the scope of the IST-2103 Artemis project funded by the European Commission http://www.srdc.metu.edu.tr/webpage/projects/artemis/ • Please come to booth 6147 to see a live demo of the technologies described! HIMSS 2006, San Diego, Feb. 16, 2006
Conclusions… • Currently, Artemis infrastructure is used to semantically mediate among different healthcare information systems of the end users of the project, namely, • TEPE Technologies’ Corttex Hospital Information System (HIS), • SEBT Paris system as well as • the Care2x HIS • The source code of the OWL mapping tool described is publicly available at SourceForge, http://sourceforge.net/projects/owlmt • We are starting the RIDE Project supported by the European Commission which aims to develop a Roadmap for Interoperability of eHealth Systems for EU member states HIMSS 2006, San Diego, Feb. 16, 2006
Thank you very much for your attention… Questions? HIMSS 2006, San Diego, Feb. 16, 2006