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& ;objId=23225&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& ;objId=23225&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