Transcript Document

Untangle the Web:
Communicating Through the
Web Services Using
Semantics
Asuman Dogac
METU, Turkey
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
1/36
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, …
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
2/36
Exchanging Messages
Interface Engine
Interface Engine
HL7-I12
HL7-I12
Patient Referral
Patient Referral
^
12345
john ^ smith
11011010
Network
12345
smith
(e.g., VAN)
john
Application 1: HIS
Database and back
end applications
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
Application 2: HIS
Database and back
end applications
3/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
4/36
SOAP is Important…
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
5/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
6/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
7/36
Communicating through Web
Services
HL7-I12
<patient>
<id>
<name>
</id>
HL7-I12
Patient Referral
<patient>
Web Service
<id>
</id>
12345
<name>
john
</name>
<surname>
</name>
<surname>
</surname>
11011010
</patient>
</surname>
</patient>
smith
HTTP over TCP/IP
12345
smith
john
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
8/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
9/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
10/36
Example: Exposing Care2x “RCHD” as
a Web Service
Implementation
public void
SQL
Query
retrieveCriticalHealthcareData()
{Select * From
Select *
care_encounter
From care_encounterCE
CE
Where CE.pid=pid
CE.pid=pid
Where
}
WSDL
Interface
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
11/36
Example: Invoking Care2x
“RCHD” Web service
Process Client
Request
Web
RetrieveCriticalH
Container ealthcareData
<RCHDInputMessage>...
<localPatientID>10000101
</localPatientID>
Building SQL
Update Query
Web Service
Extracting and
Formatting
Information
10000101:int
Return Output
Message
<RCHDOutputMessage>
<result>Patient
Encounter</result>
</APOutputMessage>
Prepare Output
Message
Asuman Dogac
SELECT * FROM
care_encounter CE
WHERE CE.pid=10000101
Patient
Encounters:Result
HIMSS 2006, San Diego,
Feb. 16, 2006
Care2x
DataBase 12/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
13/36
IHE 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
Retrieve
Specific Info
for Display
Retrieve
Document
for Display
•Summary
of Surgery
Reports
•Summary of Intensive Care Reports
•Summary of Emergency Reports
•Summary of Discharge Reports
IHE-RID WSDL
•List of Allergies
<?xml version="1.0" encoding="utf8"?>
<definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:s="http://www.w3.org/2001/XMLSchema"
•List of Medications
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" />
…………
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
14/36
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?
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
15/36
Interoperability of Message
Standards
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
16/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
17/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
18/36
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
Asuman Dogac
Class
properties
Subclass
Subclass
properties
properties
HIMSS 2006, San Diego, Feb. 16, 2006
19/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
20/36
An Example Web Service
Functionality Ontology
HealthCareServices
Patient Administration
Patient Referral
ObservationReporting
Scheduling
Patient Care
ObservationReportingOfClinialTrials
ClinicalObservationReporting
ResponseForClinicalObservation
RequestForClinicalObservation
Properties of the
Generic Service
Class
Asuman Dogac
RetrieveCriticalHealthData
serviceQuality
HIMSS 2006, San Diego, Feb. 16, 2006
location
21/36
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
22/36
Semantic Mediation !
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
23/36
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.
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
24/36
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.
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
25/36
HL7v2.3 EDI Message Sent by
Istanbul Hospital
MSH|^~\&|Care2xHospital||20041125181150||RRI^I12
|MSG00003|P|2.3PRD|RTPID|||1213||Smith^John||1
9600309|M|||Massachusetts
^Avenue^Kennedy^Street^04^LA^California|US|
222-8214|||M||402941703DG1|1|| 27679008|
Pulmonary Hypertension with extreme obesity
|PR1|1||700.740| Right Hearth Catheterization ||P
PV1||I||||||||||||||||||||||||||||||||||||||||||01012000||||||||
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
26/36
Semantic Mediation of Web Service
Messages
Healthcare
Institute A
HL7 v2.3
Message Normalization
Schema
Map
(XSD)
C-Normalization Engine
HL7 v2.3
Ontology
RDF
OWL
OWL Wrapper
Ontology
Mapper
HL7 v2.3
Ontology
Mapping
Definition
Healthcare
Institute B
OWL Wrapper
OWL
RDF
C-Normalization Engine
Asuman Dogac
HL7 v3
Ontology
HL7 v3
HL7 v3 Normalization Message
Ontology
Map
Schema
(XSD)
HIMSS 2006, San Diego, Feb. 16, 2006
27/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
28/36
Healthcare
Institute A
HL7 v2.3
Message
HL7 v2.3
Normalization
Schema
Ontology
Map
(XSD)
Semantic Mediation
EDI2XML Converter
XML
HL7 v2.3
Message
(EDI)
HL7 v2.3
Message
(OWL)
D-Normalization Engine
RDF
OWL Wrapper
Ontology
Mapper
HL7 v2.3
Message
(OWL)
Mapping
Definition
HL7 v3
Message
(OWL)
Healthcare
Institute B
OWL Wrapper
RDF
D-Normalization Engine
Asuman Dogac
HL7 v3
Message
(OWL)
HIMSS 2006, San Diego, Feb. 16, 2006
HL7 v3
Message
(XML)
HL7 v3
Normalization
HL7
v3
Message
Map
Ontology
Schema
(XSD)
29/36
Additional Tools Used for Instance
Transformation
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
30/36
OWL Mapping Tool
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
31/36
An Example Mapping through OWLmt
SimilarTo
Person
PID
SimilarTo
XAD
Addr
Name
PID.5.Name
PDI
Role
classCode
XON
SimilarTo
Organization
Organization_Name
Name
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
32/36
An Example Mapping through OWLmt
DG1
SimilarTo
Message
DG1.4
DG1.3
Pulmonary
outboundRelationshipDiagnosis
Hypertension
with extreme
DataPropertyTransform ActDiagnosis
obesity
CE
actDiagnosisDescription
CE.1
Primary Pulmonary
Hypertension
27679008
actDiagnosisCode
I27.2
DataPropertyTransform
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
33/36
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>
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
34/36
Important Note
We are considering only the messages
exchanged through a limited set of welldefined Web services!
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
35/36
Reasoning: An Example…
Similarity
SNOMED:27679007-Pulmonary
Hypertension
ICD10:I27- Primary Pulmonary
Hypertension
rdf:subClassOf
SNOMED27679008-Pulmonary
Hypertension with
extreme obesity
instanceOf
DG1-code:27679008
Ontology Level
Inferred Info
“instanceOf”
DG1-code:27679008
Instance Level
Mapping actDiagnosisCode:I27.2
(rdf:subClassOf cls1 cls2)(rdf:type ind1 cls1) (rdf:type ind1 cls2)
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
36/36
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!
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
37/36
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
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
38/36
Thank you very much for
your attention…
Questions?
Asuman Dogac
HIMSS 2006, San Diego, Feb. 16, 2006
39/36