Transcript Title

Glue:
a prototype of WSMO Discovery engine
for the healthcare field
CEFRIEL – Politecnico di Milano:
Emanuele Della Valle [email protected]
Dario Cerizza
[email protected]
UPM – Universidad Politecnica de Madrid:
Maria Rodriguez
[email protected]
José M. Almellones
[email protected]
Politecnico Milano:
Prof. Stefano Ceri
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
[email protected]
© E. Della Valle, D. Cerizza - CEFRIEL
1
Problem Addressed in COCOON
Patient
Regional
healthcare
services
General
Practitioner
Electronic
Health record
of each
patient
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
Community of
Specialists
© E. Della Valle, D. Cerizza - CEFRIEL
2
Research Objectives of COCOON
The research aims at supporting health care professionals in
reducing risk in their daily practices
Patient
Regional
healthcare
services
Electronic
Health record
of each
patient
General
Practitioner
Community of
Specialists
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
3
The patient record is
the application the GPs
use in their daily
activities. COCCON
services will be
accessible through it.
a Knowledge Management Platform integrated
with the patient record allows a GP to effortlessly
interact with the COCOON system, as well as to
personalize the presentation of the information,
and to allow online collaboration with other
end-users (i.e. for advice)
Decision
Electronic Patient File
Support System
interacts with
the patient
RD1
Knowledge Management Platform
record and
provides clinical
RD2
RD5
RD3
guidelines in an
Semantic
interactive
Web
Decision
Semantic
form, factually
Services
Support
information
guiding a
Glue
System
retrieval
General
Practitioner’s
decision-making
during his/her
patient-records
Regional healthcare services
content sources
interaction with
a specific
patient. COCOON glue offers an efficient
system for seamless integrating all the
Web Services exposed by each RDs and
external regional healthcare services
Activity plan
use cases
2004
mock-up
prototype
2005
product
2006
deploy
2007
Semantic
Information
Retrieval
utilizes
ontology
engineering for
concept
indexing of
free-text
documents, in
order to
provide
relevant
medical
publications
from multiple,
distributed
content sources
Managing Complexity
All for one and one for all
• All for one…
– Each component
•
•
•
•
is orthogonal to the others
solves a specific problem of COCOON stakeholders
offers a clear set of related functionalities
adopts the best technologies for efficiently implementing them
– Web Services technologies was chosen because it:
• encapsulates the functionalities offered by each component
• hides heterogeneity in platforms and technologies
• simplifies composition and integration
• … one for all
– The result is a collection of functionalities that co-operate towards a
common objective: supporting GPs
– The architecture:
• simplifies integration of COCOON in already deployed applications
• allows for the integration of regional eHealth services
• supports different implementation strategies
COCOON project presentation – May 24th 2005, Rome
5
Introduction
What we mean by Web Service Discovery
• Web Service Discovery is just like Google
1. you search Google
1. you discover the Web
Service description repository
2. you select the appropriate
service from the result set
2. you select the appropriate
service
3. you interact with the chosen
service
giving
additional
information
3. you invoke the service
passing additional parameters
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
6
Refinement of wgMediators use
for WSMO discovery
“[...] a service may be linked to certain goals that are solved by
the service via a special type of mediators, named
wgMediators. These links are useful in the Service Discovery
phase.”
section 4.2.1 of WSMO Primer
• But, if it is clear in WSMO that an administrator of a WSMO
discovery engine is not supposed to write a wgMediator to
link each goal to each Web Service description, indeed only a
limited explanation is given about how to sidestep this difficulty.
• We believe that a flexible way is to introduce a distinction
between classes of goals (or classes of Web Services
descriptions) and instances of these classes.
• We envision a composite discovery procedure that combines
– the discovery of the appropriate wgMediator and
– the discovery of the appropriate Web Services.
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
7
Refinement of wgMediators use for WSMO discovery
Setup time
Provider
entity
Requester
entity
WSD
WS
Provider
entity
WSD
WSMO discovery engine
Ontologies
Classes of
wgMediators
Web Services
1.
2.
4.
WS
Classes of
Goals
3.
1. provider and requester entities
agree on the ontologies to use
WS
WS
2. the provider entities agree on
Provider
Provider
describing the classes of their
entity WSD
entity
services
WSD
3. the requester entities agree on
describing the classes of their
goals
4. A wgMediators is required to link
COCOON Glue – WIW 2005 – JuneWeb
6 -7 2005,
Innsbruck to goals
© E. Della Valle, D. Cerizza - CEFRIEL
Services
th
th
8
Refinement of wgMediators use for WSMO discovery
Publishing time
Provider
entity
Requester
entity
WSD
Provider
entity
WSD
WS
WSMO discovery engine
Ontologies
Classes of
wgMediators
Web Services
Classes of
Goals
WS
Provider
entity
WS
WS
WSD
provider entities instantiate the
description of the Web Services
they offers referring to the
already defined classes of Web
Service descriptions
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
Provider
entity
WSD
© E. Della Valle, D. Cerizza - CEFRIEL
9
Refinement of wgMediators use for WSMO discovery
Discovery time (composite procedure)
Provider
entity
Requester
entity
WSD
WS
4.
G
1.
Provider
entity
WSD
WSMO discovery engine
WS
{●●}
Ontologies
Classes of
wgMediators
Web Services
3.
Classes of
Goals
WSD
+ WSD
WSD
+ WSD
+WSD
+
WSD
2.
2.
WS
1. Requester entity instantiate the
description of its goal referring to the
already defined classes of goals
Provider
Provider
entity
2. The discovery engine looks up the
entity WSD most appropriate wgMediators and
WSD
the necessary ontologies
3. It uses the wgMediator to match the instances
of Web Services more similar to the goal.
COCOON Glue – WIW 2005 – June 6 -7 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
4. The discovery engine returns
a list of Web
Services to the requester
WS
th
th
10
XML
XML
Submit Goal
API
API
XML
goal
translator
API
Onto mng. Matchmaker
Look up
Register
Look up
Register
match
XML
Mediator manager
Goal mng.
Goal repositories
WSML
msg
WSML
msg
Look up
WSML
msg
WSML
msg
WSML
WSML
WSML
msg
msg
msg
WSML
msg
Register
Proof
generator
API
Register
WSML
msg
Look up
Look up
WSML
msg
WS mng.
goal
constructor
Look up
WS description
constructor
Register
WS repositories
XML
Publish WS Desc
Register
Message parser
Communication
manager
The architecture of the WSMO Discovery Engine
embedded in COCOON Glue
Reasoner
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
11
The pseudo-code of
the discovery algorithm
1. ListOf<WebServicesReference, MatchingDegree> discover(Goal g) {
2. ListOf<WebServicesReference, MatchingDegree> results;
3. SetOf_Goal goals;
4. goals.add(g);
5. SetOf_ggMediator ggms;
6. ggms = lookupGGMediators(g);
7. foreach ggm in ggms
8.
goals.add(mediate(g,ggm));
9. foreach goal in goals
10. SetOf_wgMediator wgms;
11. wgms = lookupWGMediators(goal);
12. for each wgm in wgms
13. results.add(match(g,wgm));
14. return results;
15. }
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
12
Internal F-Logic/WSML and External XML
• Publishing and discovery need to be kept easy from an external
point of view
– External components don’t understand F-Logic/WSML Syntax
– External component likes XML and XSD
COCOON Glue
WS Class
XSD
<description>TODO: Description of the CoP</description>
<publisher>Lombardy Region</publisher>
<title>CoP1</title>
<url>http://cocoon.coclab.net/Livelink/livelink.exe?func=ll&amp
;objId=23225&amp;objAction=OpenMeeting</url>
<clinicalCapabilities>
<hasClinicalSpecialists>
</hasClinicalSpecialists>
<managesDiseases>
<item>breastCancer</item>
</managesDiseases>
<deliversInterventions>
<item>atenolol</item>
</deliversInterventions>
</clinicalCapabilities>
wsdClass_CoPAdviceMeeting::wsdClass[
Setup Time
hasCapability=>capabilityWSD_CoPAdviceMeeting::capabilityWSD[
postcondition=>provide_CoPAdviceMeeting
]
provide_CoPAdviceMeeting[
clinicalCapabilities=>clinicalCapabilities,
clinicalResearchCapabilities=>clinicalResearchCapabilities,
nominalAvailableDateTimes=>dateTimes
clinicalCapabilities[
hasClinicalSpecialists=>>specialist,
managesDiseases=>>disease,
deliversInterventions=>>intervention
Instantiation
Publishing and
Discovery Time
WS Instance
wsdInstance_CoPAdviceMeeting1:wsdClass_CoPAdviceMeeting[
hasNonFunctionalProperties->_#[
description->'TODO: Description of the CoP',
publisher->'Lombardy Region',
title->'CoP1'
],
hasCapability->_#:capabilityWSD_CoPAdviceMeeting[
postcondition->_#:provide_CoPAdviceMeeting[
clinicalCapabilities->_#:clinicalCapabilities[
hasClinicalSpecialists->>{},
managesDiseases->>{breastCancer},
deliversInterventions->>{atenolol}
],
clinicalResearchCapabilities->_#:clinicalResearchCapabilities[
hasClinicalResearchSpecialists->>{},
studiesDiseases->>{},
studiesInterventions->>{}
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
XML
XSLT
<description>TODO: Description of the CoP</description>
<publisher>Lombardy Region</publisher>
<title>CoP1</title>
<url>http://cocoon.coclab.net/Livelink/livelink.exe?func=ll&amp
;objId=23225&amp;objAction=OpenMeeting</url>
<clinicalCapabilities>
<hasClinicalSpecialists>
</hasClinicalSpecialists>
<managesDiseases>
<item>breastCancer</item>
</managesDiseases>
<deliversInterventions>
<item>atenolol</item>
</deliversInterventions
© E. Della Valle, D. Cerizza - CEFRIEL
13
Looking for the advice of an expert
[…]
CoP1
A general practitioner
looking for support
Advice
Teaching
WS
[…]
COCOON
platform
8
Invoke
WSD
4
{●●}
6
CoP2
Advice
Teaching
5
WSD
Goal
Semantic Discovery Engine
3
Ontologies
WS
3
Mediators Web Services
2
[…]
CoP4
WS
Advice
Teaching
WSD
1
[…]
INN
ICD
CoP3
3
3
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
Advice
Teaching
WSD
© E. Della Valle, D. Cerizza - CEFRIEL
WS
14
Looking for the advice of an expert
DEMO 1st Step: goal submission
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
15
Looking for the advice of an expert
DEMO 2nd Step: suitable CoP
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
16
Looking for the advice of an expert
DEMO 3rd Step: actual meeting arrangement
The General
Practitioner
sees the agenda
of the selected
CoP and clicks
on the link to
see the details
of the CoP
The
General
Practitioner
sees the
details of
the CoP and
books it
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
17
The COCOON Ontology
• Describes Hypertension and Breast Cancer domains
– It is composed by Terms and Relations between Terms
– Examples of Terms:
• Disease (inspired by IDC):
– Hypertension, Pulmonary Hypertension, Cancer, Breast Cancer, …
• Specialist (inspired by MeSH):
– Cardiologist, Pneumatologist, Breast pathologies specialist, …
• Medications (inspired by INN):
– Blockers, Ace-Inhibitors, Beta Blockers, Chemotherapy, …
• Body parts (inspired by SNOMED):
– Heart, Lung, Breast, …
– Example of Relations between Terms:
•
•
•
•
Beta Blockers control Hypertension
Breast pathologies specialists treat Breast Cancer
Cardiologists deal with Heart and Hypertension affects Heart
…
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
18
The COCOON Ontology
Part of internal F-Logic syntax
…
disease[ affects=>>{bodyPart} ].
cancer::disease.
breastCancer::cancer[ affects=>>{breast} ].
hypertension::disease[ affects=>>{artery, heart} ].
…
medication[ controlsDiseases*=>>{disease} ].
hormonalTherapy::medication[ controlsDiseases*=>>{breastCancer} ].
blockers::medication.
alphaBlockers::blockers[ controlsDiseases*=>>{hypertension} ].
betaBlockers::blockers[ controlsDiseases*=>>{hypertension} ].
doxazosin::alphaBlockers.
atenolol::betaBlockers.
tenormine::atenolol.
metoprolol::betaBlockers.
Medications
lopressor::metoprolol.
seloken::metoprolol.
…
Hormonal
Blockers
Therapy
Alpha Blockers
Tenormine
Cancer
Breast Cancer
Beta Blockers
Atenolol
Disease
Hypertension
…
Metoprolol
Lopressor
Seloken
Skin Cancer
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
19
Web Service for arrange a meeting
with a CoP
Capability
• Pre-Conditions
– Describes what a web service expects for enabling it to provide its service
• The input dates provided by the GP must be valid
• Assumptions
– Describes the expectation of the service on the state of the world when
starting an execution of the service.
• The GP has the right to use the service
• Post-Conditions
– Describes the states of the information space that must be reached by
executing the service
• The CoP can answer to questions that regards its medical capabilities
• The CoP can provide advice in particular times
• Effects
– Describes the state of the world that must be reached by executing the
service
• The agendas of both the GP and the specialists is updated with the scheduled
meeting
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
20
Web Service Class and Instances
• A class of CoP is defined inside COCOON Glue
• Each CoP is an instance of this class
Part of internal F-Logic syntax
webservice9:webService[
capability->webservice9_capability:capability,
description->'A CoP that develops medications based on ALPHA
– Has BREAST PATHOLOGIES SPECIALISTS
BLOCKERS
and BETA BLOCKERS is available on Monday, Tuesday, Friday
– Available on Monday, Wednesday, Friday from
10 to 13
from 13 to 18',
• CoP 2: ch.farma.blockers
Part –ofDevelops
external
XML syntax
urlmedications
based on ATENOLOL
– Available on Tuesday and Friday from 8 to 18>'http://cocoon.coclab.net/Livelink/livelink.exe?func=ll&objId=242
48&objAction=OpenMeeting'
•<WSDInstance_CoPAdviceMeeting>
CoP 3: heartfondation.org#cop
].
–<publisher>Lombardy
Studies HYPERTENSION Region</publisher>
–<title>CoP1</title>
Available on Monday, Wednesday and Fridaywebservice9_capability[postCondition->
from 13 to 18
webservice9_providesAdvice:providesAdvice[
• CoP<url>http://cocoon.coclab.net/Livelink/livelink.exe?fun……</
4: it.sanita.lombardia
availableCoP->webservice9_availableCoP::coP[
url> – Develops HORMONAL THERAPY
–<clinicalCapabilities>
Available on Monday, Wednesday and Friday from 13 to 18 hasSpecialists->>{},
studiesDiseases->>{},
• CoP 5: medlive.com#8364
<deliversInterventions>
developsMedications->>{alphaBlockers, betaBlockers}
– Studies HYPERTENSION
<item>AlphaBlockers</item>
],
– Available on
Tuesday, Thursday from 13 to 18 and Friday from 11 to 13
<item>BetaBlockers</item>
availableIntervalSet</deliversInterventions>
• CoP 6: ephyros.com/sdkalfa
>webservice9_availableIntervalSet:intervalSet[
–</clinicalCapabilities>
Develops TENORMINE
values->>{monday_afternoon, tuesday_afternoon,
–<nominalAvailableDateTimes>
Available on Wednesday, Thursday and Friday from 8 to 13
friday_afternoon}
<dateTime dayOfWeek="monday" start=“12"
end="18"/>
• CoP 7: stayinginshape.com/cop
]
<dateTime
dayOfWeek=“tuesday"
start=“12"
end="18"/>
– Studies
BREAST CANCER
and develops ACE-INHIBITORS
]
<dateTime
dayOfWeek=“wednesd"
start=“12"
end="18"/>
– Available
on Tuesday
and Wednesday from 13
to
18
and
Thursday
from 8 to 18
].
• CoP</nominalAvailableDateTimes>
8: sanita.regionelombardia.it/caso
</WSDInstance_CoPAdviceMeeting>
– Develops therapy for CANCER
•
CoP 1: gr.med.cancer
–
Available on Wednesday and Friday from 8 to 13 and Thursday from 8 to 13
aquitanie.fr/cops/39499
••CoP
CoP 9:9:
aquitanie.fr/cops/39499
– - Develops
medications
based on ALPHA BLOCKERS
and BETA
BLOCKERS
Develops
medications
based on
ALPHA
BLOCKERS and BETA BLOCKERS
– - Available
on
Monday,
Tuesday,
Friday
from
13
to
18
Available on Monday,
Fridayin
inthe
theafternoon
afternoon
Monday Tuesday,
Tuesday Friday
th th
• CoP 10: pubmed.com/meshcop
–
–
COCOON Glue – WIW 2005 – June 6 -7
2005, Innsbruck
Develops LOPRESSOR and SELOKEN
Available on Available on Tuesday, Friday from 16 to 18 and Sunday from 8 to 13
© E. Della Valle, D. Cerizza - CEFRIEL
21
Goal Class and Instances
• Post-Conditions
– Describe the state of the information space that is desired
• The GP wishes to arrange a meeting for:
ATENOLOL
– A particular medical issue (ATENOLOL)
Thursday, 10° March from 10 to 13 and
– A set of preferred dates (Thursday,
Friday, 11° March from 13 to 16)
16
• Effects
– Effects describe the state of the world that is desired.
• Arranging a meeting with the CoP asking for the consultation expressed in the postcondition
Part of internal F-Logic syntax
Part of external XML syntax
goal_Goal:goal[
postCondition->goal_requestAdvice:requestAdvice[
requestMedicalIssue=>atenolol,
requestIntervalSet->goal_intervalSet:intervalSet[
values->>{thursday_20050310_10to13,
friday_20050311_13to16}
]
]
].
<GoalInstance_CoPAdviceMeeting>
<discussAbout>
<item>atenolol</item>
</discussAbout>
<preferredDateTimes>
<dateTime dayOfWeek=“thursday" startHour=“10" endHour="13"/>
<dateTime dayOfWeek="wednesday" startHour=“13" endHour=“16"/>
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
</preferredDateTimes>
</GoalInstance_CoPAdviceMeeting>
22
wgMediator
• Web Service descriptions need to be matched following the Goal
intentions
• Used a wgMediator for matching the generic goal for arranging
a meeting with the Web Service description of a CoP
– Exact, Plugin and Subsumes matching
Part of internal F-Logic syntax
?- goal_requestAdvice[requestMedicalIssue=>_RequestMedicalIssue],
WebService:webService[
description->Description, url->Url, capability->_Capability],
Capability[postCondition->_ProvidesAdvice],
ProvidesAdvice[availableCoP=>CoP, availableIntervalSet->IntervalSet],
matchIntervalSets(goal_intervalSet,_IntervalSet),
.
exactMatchMedicalIssueWithCoP(_RequestMedicalIssue,_CoP)
Rule that matchs the intervals specified in the Goal with the
intervals specified in the Web Services descriptions
Rule that performs an exact match between the medical issue of the
Goal and the medical capabilities of the CoP
Similar rules for plugin and subsumes match
exactMatchMedicalIssueWithCoP(M,C) :(
(M[controlsDiseases=>>D], D[affects=>>B], C[hasSpecialists=>>S], S[deals=>>B]);
(M[controlsDiseases=>>D],
C[studiesDiseases=>>D]);
23
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
(C[developsMedications=>>M])
).
Conclusions and future works
• The gathering of consensus
– is always difficult to reach in large groups, but especially in
healthcare.
– clear separation between the ontologies used by each entity
involved in COCOON simplifies and speeds up this process
– mainly due to the adoption, in WSMO, of mediators.
• Future works include
1. selecting and adjusting the ontologies required for describing
the healthcare services offered in COCOON, through the
development of (possibly ad-hoc) mediation services to overcome
heterogeneity of the various healthcare related ontologies;
2. extending the test cases of our Discovery Engine to include the
other components still under development in COCOON project;
3. extending the approach to the regional eHealth services (starting
from the SISS in Lombardy - Italy); and
4. starting the development of a use case that requires
orchestration and choreography of ePrescription services.
COCOON Glue – WIW 2005 – June 6th-7th 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
24
Thank you for your attention
Any question?
Contacts
Emanuele Della Valle
Dario Cerizza
CEFRIEL
CEFRIEL
Politecnico di Milano
Politecnico di Milano
[email protected]
[email protected]
COCOON Glue site: http://cocoon.cefriel.it/RD2/
Project site: http://www.cocoon-health.com
COCOON Glue – WIW 2005 – June 6 -7 2005, Innsbruck
© E. Della Valle, D. Cerizza - CEFRIEL
th
th
25