Title: Untangle the Web: Communicating Through the Web Services Using Semantics
1Untangle the Web Communicating Through the Web
Services Using Semantics
- Asuman Dogac
- METU, Turkey
2The 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,
3Exchanging Messages
Interface Engine
Interface Engine
Transmitting
HL7-I12 Patient Referral
HL7-I12 Patient Referral
12345
smith
john
11011010
Network (e.g., VAN)
12345
smith
john
Application 1 HIS Database and back end
applications
Application 2 HIS Database and back end
applications
4Ability 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
5SOAP is Important
6Why 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
7The 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
8Communicating through Web Services
Processing
Processing
Transmitting
HL7-I12
Patient Referral Web Service
HL7-I12
ltpatientgt
ltpatientgt
ltidgt
lt/idgt
ltidgt
lt/idgt
12345
ltnamegt
ltnamegt
john
lt/namegt
lt/namegt
ltsurnamegt
ltsurnamegt
smith
11011010
lt/surnamegt
lt/surnamegt
lt/patientgt
lt/patientgt
HTTP over TCP/IP
12345
smith
john
9Example 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.pidpatientpid
10Example Deploying an Existing Application as Web
Service
- Prepare the WSDL file
- Determine operation, e.g., RetrieveCriticalHealthC
areData - 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
11Example Exposing Care2x RCHD as a Web Service
Care2X Web Interface
SQL Query Select From care_encounter CE Where
CE.pidpid
Client
Care2X Retrieve Critical Healthcare Data Web
Service
12Example Invoking Care2x RCHD Web service
Extracting and Formatting Information
Process Client Request
ltRCHDInputMessagegt... ltlocalPatientIDgt10000101 lt/l
ocalPatientIDgt
Web Container
RetrieveCriticalHealthcareData Web Service
Building SQL Update Query
10000101int
Return Output Message
SELECT FROM care_encounter CE WHERE
CE.pid10000101
ltRCHDOutputMessagegt ltresultgtPatient
Encounterlt/resultgt lt/APOutputMessagegt
Prepare Output Message
Patient EncountersResult
13IHE 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
14IHE Retrieve Information for Display
Persistent Document
- Types of Requests
- 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 lt?xml version"1.0"
encoding"utf8"?gt ltdefinitions xmlnshttp"http//
schemas.xmlsoap.org/wsdl/http/"
xmlnss"http//www.w3.org/2001/XMLSchema"
xmlnss0"http//rsna.org/ihe/IHERetrieveForDispla
y" targetNamespace"http//rsna.org/ihe/IHERetriev
eForDisplay" xmlns"http//schemas.xmlsoap.org/wsd
l/"gt lttypesgt ltsschema elementFormDefault"qualifi
ed" targetNamespace"http//rsna.org/ihe/IHERetrie
veForDisplay"gt ltssimpleType name"summaryRequest
Type"gt ltsrestriction base"sstring"gt
ltsenumeration value"SUMMARY" /gt
ltsenumeration value"SUMMARY-RADIOLOGY" /gt
15Functional 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?
16Interoperability of Message Standards
17Semantic 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
18How 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
19What 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
20Why 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
21An Example Web Service Functionality Ontology
HealthCareServices
Patient Administration
Patient Referral
ObservationReporting
Patient Care
Scheduling
ClinicalObservationReporting
ObservationReportingOfClinialTrials
ResponseForClinicalObservation
RequestForClinicalObservation
RetrieveCriticalHealthData
Properties of the Generic Service Class
serviceQuality
location
22(No Transcript)
23Semantic Mediation ?!
24A 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. Smiths 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.
25First 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.
26HL7v2.3 EDI Message Sent by Istanbul Hospital
27Semantic 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
HL7 v3 Ontology
Mapping Definition
OWL Wrapper
OWL
HL7 v3 Message Schema (XSD)
RDF
HL7 v3 Ontology
Normalization Map
C-Normalization Engine
28Additional 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
29Semantic 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
Mapping Definition
HL7 v2.3 Message (OWL)
HL7 v3 Message (OWL)
OWL Wrapper
Normalization Map
HL7 v3 Message (OWL)
HL7 v3 Message (XML)
HL7 v3 Ontology
HL7 v3 Message Schema (XSD)
RDF
D-Normalization Engine
30Additional Tools Used for InstanceTransformation
- EDI to XML Conversion in HL7 HL7 Application
Programming Interface (HAPI) Assembler/Disassemble
r 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
31OWL Mapping Tool
32An Example Mapping through OWLmt
SimilarTo
Person
PID
SimilarTo
Addr
XAD
Name
PID.5.Name
PDI
Role
classCode
XON
SimilarTo
Organization
Organization_Name
Name
33An 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
34HL7 v3 Message Received by the Care2x Hospital
ltMessage xmlns"http//corttex.com/MSCorttex.xsd"gt
ltcontrolActgt ltoutboundRelationshipDia
gnosisgt ltactDiagnosisgt
ltactDiagnosisCodegtI27.2lt/actDiagnosisCodegt
ltactDiagnosisDescriptiongt Primary
Pulmonary Hypertensionlt/actDiagnosisDescript
iongt lt/actDiagnosisgt
lt/outboundRelationshipDiagnosisgt
ltoutboundRelationshipOperationgt
ltactOperationgt ltoperationCodegt9350
1lt/operationCodegt
ltoperationDescriptiongt Right Hearth
Catheterizationlt/operationDescriptiongt
lt/actOperationgt lt/outboundRelationshipO
perationgt lt/controlActgt lt/Messagegt
35Important Note
- We are considering only the messages exchanged
through a limited set of well-defined Web
services!
36Reasoning An Example
Similarity
rdfsubClassOf
SNOMED27679008-Pulmonary Hypertension with
extreme obesity
Ontology Level
instanceOf
Inferred Info
Instance Level
instanceOf
Mapping
actDiagnosisCodeI27.2
DG1-code27679008
(rdfsubClassOf cls1 cls2)(rdftype ind1 cls1)
?(rdftype ind1 cls2)
37Conclusions
- 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/artem
is/ - Please come to booth 6147 to see a live demo of
the technologies described!
38Conclusions
- 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
39Thank you very much for your attention