Presentation is loading. Please wait.

Presentation is loading. Please wait.

Exploiting ebXML Registry Semantics in the eHealth Domain*

Similar presentations


Presentation on theme: "Exploiting ebXML Registry Semantics in the eHealth Domain*"— Presentation transcript:

1 Exploiting ebXML Registry Semantics in the eHealth Domain*
Asuman Dogac * Parts of this work are being sponsored by the eHealth and eBusiness Units of the European Commission Asuman Dogac Ontolog Forum, March 2, 2006

2 Brief Introduction… ebXML registry is capable of storing semantics about the registry objects This semantics is restricted to classification hierarchies with properties It is possible to represent some Web Ontology Language (OWL) constructs in the registry Through an application in eHealth domain we will discuss how this semantics can be exploited Asuman Dogac Ontolog Forum, March 2, 2006

3 Outline… Semantics in ebXML registries
ebXML Registry Semantic Constructs A brief introduction to OWL Mapping OWL constructs to ebXML registry Making ebXML registries OWL aware Exploiting ebXML registry semantics in the healthcare domain Asuman Dogac Ontolog Forum, March 2, 2006

4 Describing Semantics in ebXML Registries
ebXML registry allows metadata to be stored in the registry This is achieved through a classification mechanism, called ClassificationScheme Association instances are used in relating objects in the registry Furthermore Slot instances provide a dynamic way to add arbitrary attributes to registry object instances Asuman Dogac Ontolog Forum, March 2, 2006

5 An example… ebXML Repository ebXML Registry A Classification Hierarchy
LOINC A “NeuroSurgery" Document Extrinsic Object Clinical Domain Field Surgery Dermatology Organ Systems Central Nervous System Coding System classifiedBy classifiedBy ClassificationNodes Asuman Dogac Ontolog Forum, March 2, 2006

6 ebXML Registry Implementation: Relational Database with Stored Procedures
ebXML registry implementations store registry data in a relational database The Query Manager component constructs the objects by obtaining the required data from the relational database through SQL queries When a client submits a request to the registry, registry objects are constructed by retrieving the related information from the database through SQL queries and are served to the user through the methods of these objects Alternatively, SQL can be directly used to retrieve data (You need to know the relational schema) Asuman Dogac Ontolog Forum, March 2, 2006

7 ebXML Registry Semantic Support Summary (I)
Through the constructs provided in an ebXML registry, it is possible to define: Classes and class hierarchies Properties through “slot” mechanism Properties of classes through predefined association types Predefined associations can be extended Group registry objects Asuman Dogac Ontolog Forum, March 2, 2006

8 ebXML Registry Semantic Support Summary (II)
All this information is stored in the registry, and Can be used to relate registry items with one another Can OWL ontologies be stored in ebXML registries through ebXML registry constructs? We will give it a try! Asuman Dogac Ontolog Forum, March 2, 2006

9 ebXML Registry Semantic Constructs: References
ebXML Registry Information Model v2.5, documents/2.5/specs/ebRIM.pdf ebXML Registry Services Specification v2.5, documents/2.5/specs/ebRIM.pdf freebXML Registry Open Source Project, Asuman Dogac Ontolog Forum, March 2, 2006

10 Outline… Semantics in ebXML registries
ebXML Registry Semantic Constructs A brief introduction to OWL Mapping OWL constructs to ebXML registry Making ebXML registries OWL aware Exploiting ebXML registry semantics in the healthcare domain Asuman Dogac Ontolog Forum, March 2, 2006

11 Web Ontology Language: OWL
Asuman Dogac Ontolog Forum, March 2, 2006

12 Ontology Languages and OWL
DAML:Darpa Agent Markup Language OIL: Ontology Inference Layer (European Commission Project) DAML+OIL RDF (Resource Description Framework) OWL: Web Ontology Language (Being Standardized by W3C) Asuman Dogac Ontolog Forum, March 2, 2006

13 OWL = RDF Schema + more All of the elements/attributes provided by RDF and RDF Schema can be used when creating an OWL document OWL classes permit much greater expressiveness than RDF Schema classes Consequently, OWL has created their own Class, owl:Class Asuman Dogac Ontolog Forum, March 2, 2006

14 OWL Classes Ministry of Interior has defined ontologies for their information in OWL For example: <owl:Class rdf:ID=“Crimes"> </owl:Class> <owl:Class rdf:ID=“Robbery"> <rdfs:subClassOf rdf:resource="#Crimes"/> </owl:Class> <owl:Class rdf:ID=“Speeding"> <rdfs:subClassOf rdf:resource="#Crimes"/> </owl:Class> Asuman Dogac Ontolog Forum, March 2, 2006

15 OWL Properties Crimes Literal Robbery Thief Speeding Speeder
<owl:DatatypeProperty rdf:ID=“description"> <rdfs:domain rdf:resource="#Crime"/> <rdfs:range rdf:resource=“http://www.w3.org/2001/XMLSchema#Literal"/> </owl:DatatypeProperty > <owl:ObjectProperty rdf:ID=“suspect"> <rdfs:domain rdf:resource="#Robbery"/> <rdfs:range rdf:resource=“#Thief> </owl:ObjectProperty > <owl:ObjectProperty rdf:ID=“driver"> <rdfs:domain rdf:resource="#Speeding"/> <rdfs:range rdf:resource=“#Speeder"/> description Crimes Literal suspect Robbery Thief driver Speeding Speeder Asuman Dogac Ontolog Forum, March 2, 2006

16 An Example (From Ref 3) Finger prints from a robbery scene identified John Smith as the suspect Here is the police report on the robbery: <Robbery rdf:ID="report xyz"> <description>...</description> <suspect> <Thief rdf:about="http://www.ministryOfInterior.gov/criminals#John_Smith"/> </suspect> </Robbery> Asuman Dogac Ontolog Forum, March 2, 2006

17 An Example (Continued)
Later in the day a police gives a person a ticket for speeding The driver's license showed the name John Doe Here is the police report on the speeder: <Speeding rdf:ID="report abc"> <description>...</description> <driver> <Speeder rdf:about="http://www.ministryOfInterior/criminals#John_Doe"/> </driver> </Speeding> Asuman Dogac Ontolog Forum, March 2, 2006

18 Any Relationship between the Thief and the Speeder?
Ministry of Interior keeps the OWL descriptions of their files: <Criminals rdf:about=" "> <owl:sameAs rdf:resource=" "/> </Criminals> Asuman Dogac Ontolog Forum, March 2, 2006

19 An Example OWL Reasoning (Continued)
Thief Speeder John Smith John Doe owl:sameAs Inference: The Thief and the Speeder are one and the same! OWL provides a property (owl:sameAs) for indicating that two resources (e.g., two people) are the same Asuman Dogac Ontolog Forum, March 2, 2006

20 OWL Summary OWL is an Ontology Specification Language
It is build on RDF with DAML+OIL experience OWL has more expressive power than RDF such as: Boolean Combinations of Class Expressions (unionOf, intersectionOf, complementOf, …) Several Types of Properties (Transitive, Functional, Symmetric, …) Equivalence or disjointness of classes Asuman Dogac Ontolog Forum, March 2, 2006

21 OWL: References (I) OWL Web Ontology Language Reference: Costello, R. L., Jacobs, D. B., OWL Web Ontology Language, Costello, R. L., Jacobs, D. B., A Quick Introduction to OWL Web Ontology Language, 08_Tutorial_D.ppt Asuman Dogac Ontolog Forum, March 2, 2006

22 OWL: References (II) Antoniou, G., Harmalen, F., “Web Ontology Language: OWL”, in Handbook on Ontologies, Springer, 2004 Horrocks, I., “DAML+OIL: A Description Logic for the Semantic Web”, IEEE Data Engineering Bulletin, Vol. 25, No. 1, March 2000 McGuinness, D., Harmelen, F.,OWL Web Ontology Language Overview, Smith, M., Welty, C., McGuinnes, D., OWL Web Ontology Language Guide, Asuman Dogac Ontolog Forum, March 2, 2006

23 Outline… Semantics in ebXML registries
ebXML Registry Semantic Constructs A brief introduction to OWL Mapping OWL constructs to ebXML registry Making ebXML registries OWL aware Exploiting ebXML registry semantics in the healthcare domain Asuman Dogac Ontolog Forum, March 2, 2006

24 The Basic Ideas in Mapping OWL Constructs to ebXML Classification Hierarchies
Mapping OWL classes → ebXML Classification Nodes Mapping OWL Datatype properties → ebXML Slots Mapping OWL Object properties → ebXML Association Types Mapping the relationships between properties (such as “rdfs:subPropertyOf”) → Associations between associations Using existing Association Types when available E.g. “owl:equivalentClass” → ebXML Predefined Association Type “EquivalentTo” Creating new Association Types when necessary Asuman Dogac Ontolog Forum, March 2, 2006

25 OWL Classes and RDF Properties → ebXML RIM
OWL classes → ebXML ClassificationNodes OWL properties → ebXML new Association Types Example: Dermatology OWL: <owl:Class rdf:ID=“Dermatology"> <rdfs:subClassOf rdf:resource="# ClinicalDomain"/> </owl:Class> <owl:Class rdf:ID=“DermatologyField"> <rdfs:subClassOf rdf:resource="#ClinicalDomain"/> <owl:ObjectProperty rdf:ID=“equivalentTo"> <rdfs:domain rdf:resource="#Dermatology"/> <rdfs:range rdf:resource="# DermatologyField"/> </owl:ObjectProperty> ObjectProperty: equivalentTo Dermatology Field Asuman Dogac Ontolog Forum, March 2, 2006

26 OWL Classes and RDF Properties → ebXML RIM
OWL classes → ClassificationNodes OWL Properties → ebXML new Associations Types Example: ebXML RIM: <rim:ClassificationNode id = ‘Dermatology‘ parent= 'ClinicalDomain'> <rim:Name> <rim:LocalizedString value = “Dermatology "/> </rim:Name> </rim:ClassificationNode> <rim:ClassificationNode id = ' Dermatology Field‘ parent= ‘ClinicalDomain'> <rim:Name> <rim:LocalizedString value = “Dermatology Field "/> </rim:Name> <rim:Association id = 'promotion‘ associationType = ‘ObjectProperty' sourceObject = 'Dermatology ' targetObject = ‘Dermatology Field' > <rim:Name> <rim:LocalizedString value = “equivalentTo"/> </rim:Name> </rim:Association> Clinical Domain Dermatology Field Association of type “ObjectProperty”: equivalentTo Asuman Dogac Ontolog Forum, March 2, 2006

27 Summary - Mapping OWL constructs to ebXML registry (I)
OWL constructs can be mapped ebXML Registry semantic constructs Ontologies can play two major roles in ebXML registry: One is to provide a source of shared and precisely defined terms which can be used to dynamically discover objects in the registry The other is to reason about the ontologies Asuman Dogac Ontolog Forum, March 2, 2006

28 Summary - Mapping OWL constructs to ebXML registry (II)
When an ontology language like OWL is mapped to a class hierarchy like the one in ebXML, the first role can directly be achieved However, for the second role, the reasoners can not directly run on the ebXML class hierarchy Asuman Dogac Ontolog Forum, March 2, 2006

29 Summary - Mapping OWL constructs to ebXML registry (III)
Some OWL constructs are for reasoners to use them The fact is that we do not have industrial strength reasoners yet! Semantic can also be taken advantage of through querying This work is realized within the scope of IST 2104 SATINE project supported by the European Commission and details are available at: Dogac, A., Kabak, Y., Laleci, G., “Enriching ebXML Registries with OWL Ontologies for Efficient Service Discovery”, in Proc. of RIDE'04, Boston, March 2004, IST 2104 SATINE project Asuman Dogac Ontolog Forum, March 2, 2006

30 Outline… Semantics in ebXML registries
ebXML Registry Semantic Constructs A brief introduction to OWL Mapping OWL constructs to ebXML registry Making ebXML registries OWL aware Exploiting ebXML registry semantics in the healthcare domain Asuman Dogac Ontolog Forum, March 2, 2006

31 Making ebXML registries OWL aware
As already demonstrated OWL constructs can be mapped to ebXML registry information model constructs In this process, the ebXML Registry architecture is not modified In this way, the semantic explicitly stored in the registry can be retrieved through querying Asuman Dogac Ontolog Forum, March 2, 2006

32 Making ebXML registries OWL aware
For example, “subClassOf” association is defined in ebXML registry to express “multiple inheritance” Yet to make any use of this semantics, the user must code the query, say, to find out all the super classes of a given class An improvement: The code to process the OWL semantics can be stored in ebXML registry architecture through predefined procedures Asuman Dogac Ontolog Forum, March 2, 2006

33 The following generic stored procedure can be used whenever necessary!
ClassificationNode(…, id, objectType, code, parent, path) Association(…, id, objectType, associationType, sourceObject, targetObject, isConfirmedBySourceOwner, isConfirmedByTargetOwner) Name_(charset, lang, value, parent) CREATE PROCEDURE findSuperClasses($className) AS BEGIN SELECT C2.id FROM Association A, Name_ N, ClassificationNode C1, ClassificationNode C2 WHERE A.associationType LIKE 'subClassOf' AND C1.id = N.parent AND N.value LIKE $className AND A.sourceObject = C1.id AND A.targetObject = C2.id END; Surgery Field Central Nervous System NeuroSurgery Asuman Dogac Ontolog Forum, March 2, 2006

34 The following generic stored procedure can be used to find the object properties of a given class
ClassificationNode(…, id, objectType, code, parent, path) Association(…, id, objectType, associationType, sourceObject, targetObject, isConfirmedBySourceOwner, isConfirmedByTargetOwner) Name_(charset, lang, value, parent) CREATE PROCEDURE findObjectProperties($className) AS BEGIN SELECT A.id FROM Association A, Name_ N, ClassificationNode C WHERE A.associationType LIKE 'objectProperty' AND C.id = N.parent AND N.value LIKE $className AND A.sourceObject = C.id END; By using such stored procedures some of the OWL semantics can be extracted from the ebXML registry! Asuman Dogac Ontolog Forum, March 2, 2006

35 Making ebXML registries OWL aware
How about reasoning? Reasoning entails the derivation of new data that is not directly stored in the registry To deduce this data, rules need to be stored in the registry However, this approach requires considerable changes in the registry architecture and brings about the efficiency considerations of rule based systems Asuman Dogac Ontolog Forum, March 2, 2006

36 Making ebXML registries OWL aware: Summary
After mapping OWL constructs to ebXML Registry, the Registry can be enhanced with stored procedures to support the processing required by the OWL constructs This work is realized within the scope of IST 2104 SATINE project supported by the European Commission and details are available at: A. Dogac, Y. Kabak, G. B. Laleci, C. Mattocks, F. Najmi, J. Pollock, "Enhancing ebXML Registries to Make them OWL Aware", Distributed and Parallel Databases Journal, Springer, Vol. 18, No. 1, July 2005, pp (Science Citation Index Expanded, Impact Factor: ). IST 2104 SATINE project Asuman Dogac Ontolog Forum, March 2, 2006

37 A Recent Development… A new proposal for an OASIS Profile…
ebXML Registry Profile for Web Ontology Language (OWL) Version 1.0 Draft 2 Draft OASIS Profile, January 27, 2006 Available at: Asuman Dogac Ontolog Forum, March 2, 2006

38 Outline… Semantics in ebXML registries
ebXML Registry Semantic Constructs A brief introduction to OWL Mapping OWL constructs to ebXML registry Making ebXML registries OWL aware Exploiting ebXML registry semantics in the healthcare domain Asuman Dogac Ontolog Forum, March 2, 2006

39 A Brief Introduction to Integrating Healthcare Enterprise (IHE)– Cross Enterprise Document Sharing (XDS) Asuman Dogac Ontolog Forum, March 2, 2006

40 IHE - XDS In the IHE XDS Profile, healthcare enterprises that agree to work together for clinical document sharing form an “XDS Affinity Domain“ Such institutes agree on a common set of policies such as how the patients are identified, the access is controlled, and the common set of coding terms to represent the metadata of the documents In IHE XDS, the ebXML repository is used for storing the clinical documents in a persistent manner The metadata stored at the ebXML registry is used to facilitate the discovery of the documents Asuman Dogac Ontolog Forum, March 2, 2006

41 An IHE XDS Affinity Domain
Document Repository ebXML Registry Source Consumer Provide & Register 2. Register 3. Query 4. Retrieve An XDS Affinity Domain Asuman Dogac Ontolog Forum, March 2, 2006

42 Exchanging Documents between different XDS Domains
However since patients expect their records to follow them as they move from one XDS affinity domain to another, there is a need for the clinical affinity domains to be federated, that is, they should be able to exchange information Main difficulties in doing this: Different Coding terms can be used in different XDS domains… Different Patient identifiers may be used… Asuman Dogac Ontolog Forum, March 2, 2006

43 IHE XDS Metadata XDS specifies a set of predefined metadata elements to be associated with XDS documents, submission sets and folders to facilitate their discovery Some of the metadata elements are straightforward document properties such as “authorDepartment" or “creationTime” Healthcare domain specific semantics is provided only through “classCode”s A “classCode” is represented as an External Classification in ebXML registry Asuman Dogac Ontolog Forum, March 2, 2006

44 Example Metadata Representations in ebXML
XSD Document Attribute Definition ebRIM Representation authorDepartment Department of the document author Slot practiceSettingCode The code specifying the clinical specialty where the act that resulted in the document was performed External Classification parentDocument Relationship The type of relationship that the document has with the parentDocument (e.g. Replace, addendum, or transformation) Association Type Asuman Dogac Ontolog Forum, March 2, 2006

45 “NeuroSurgery" documents with : “CentralNervousSystem”
Federated XDS “NeuroSurgery" documents are coded in UMLS with : “CentralNervousSystem” (C ) and “Surgery” (C ) Document Repository ebXML Registry Source Consumer Provide & Register 2. Register 3. Query 4. Retrieve XDS Affinity Domain A Query and Retrieve “NeuroSurgery" Documents From XDS Domain B Document Repository ebXML Registry Source Consumer Provide & Register 2. Register 3. Query 4. Retrieve XDS Affinity Domain B “NeuroSurgery" Documents are coded in LOINC code “ ” Asuman Dogac Ontolog Forum, March 2, 2006

46 Example Clinical Domain Ontologies
These OWL ontologies are stored to and queried from ebXML registries as described Clinical Domain Field Surgery Dermatology Organ Systems Central Nervous System Clinical Domain Surgery Dermatology Neurosurgery Intersection Of EquivalentClass Asuman Dogac Ontolog Forum, March 2, 2006

47 “NeuroSurgery" documents with : “CentralNervousSystem”
Semantic Mediation… “NeuroSurgery" documents are coded in UMLS with : “CentralNervousSystem” (C ) and “Surgery” (C ) Document Repository ebXML Registry Source Consumer Provide & Register 2. Register 3. Query 4. Retrieve XDS Affinity Domain A Query and Retrieve “NeuroSurgery" Documents From XDS Domain B OWL Mapping Tool Document Repository ebXML Registry Source Consumer Provide & Register 2. Register 3. Query 4. Retrieve XDS Affinity Domain B “NeuroSurgery" Documents are coded in LOINC code “ ” Asuman Dogac Ontolog Forum, March 2, 2006

48 OWL Mapping Tool (OWLmt)
Latest version of OWLmt tool is available as open source at Sourceforge repository under Mozilla Public Licence. (http://sourceforge.net/projects/owlmt) You can download source code of OWLmt tool by using a CVS client with the following parameters: Server: cvs.sourceforge.net Repository Folder: /cvsroot/owlmt Protocol: pserver Username: anonymous Module Name: OWLmt Alper Okcan at can be contacted for further info on OWLmt Asuman Dogac Ontolog Forum, March 2, 2006

49 Summary: Using ebXML Registry Semantics in the Healthcare Domain
ebXML registry semantics support mechanisms can be very useful Here, a case related with IHE XDS is presented This work is achieved within the scope of the IST 2103 Artemis project and the details are available at: Dogac, A., Laleci, G., Aden, T., Eichelberg M., "Enhancing IHE XDS for Federated Clinical Affinity Domain Support", submitted for publication Artemis project Asuman Dogac Ontolog Forum, March 2, 2006

50 Conclusions… ebXML Registry offers semantic constructs
It will be beneficial to use these semantic constructs to improve real world applications An example from eHealth domain is presented Asuman Dogac Ontolog Forum, March 2, 2006

51 Thank you... Questions? Asuman Dogac Ontolog Forum, March 2, 2006

52 Extra Slides on ebXML Registry Information Model
Asuman Dogac Ontolog Forum, March 2, 2006

53 ebXML Registry Information Model (RIM)
RegistryObject ClassificationNode Classification RegistryEntry Association ClassificationScheme RegistryPackage ExtrinsicObject Service Asuman Dogac Ontolog Forum, March 2, 2006

54 ebXML Registry Information Model (RIM)
The RegistryObject class is an abstract base class used by most classes in the model Slot instances provide a dynamic way to add arbitrary attributes to RegistryObject instances Association instances are RegistryObject instances that are used to define many- to-many associations between objects in the information model ClassificationScheme instances are RegistryEntry instances that describe a structured way to classify or categorize RegistryObject instances ClassificationNode instances are RegistryObject instances that are used to define tree structures under a ClassificationScheme Classification instances are RegistryObject instances that are used to classify other RegistryObject instances RegistryPackage instances are RegistryEntry instances that group logically related RegistryObject instances together Asuman Dogac Ontolog Forum, March 2, 2006

55 Some of the Predefined Association Types in ebXML Registries
RelatedTo Relates Registry Objects HasMember Defines the members of the Registry Package Contains Defines that Source Registry Object contains the Target Registry Object EquivalentTo Defines that Source Registry Object is equivalent to the Target Registry Object Extends Defines that Source Registry Object inherits from the Target Registry Object Implements Defines that Source Registry Object implements the functionality defined by the Target Registry Object InstanceOf Defines that Source Registry Object is an instance of the Target Registry Object ebXML allows this list to be extended! Asuman Dogac Ontolog Forum, March 2, 2006

56 Extra Slides on OWL Asuman Dogac Ontolog Forum, March 2, 2006

57 RDF Schema Features used in OWL
rdfs:Class rdf:Property rdfs:subClassOf rdfs:subPropertyOf rdfs:domain rdfs:range Asuman Dogac Ontolog Forum, March 2, 2006

58 Defining Property Characteristics
RDF Schema provides three ways to characterize a property: range: use this to indicate the range of values for a property. domain: use this to associate a property with a class. subPropertyOf: use this to specialize a property OWL documents also use rdfs:range, rdfs:domain, and rdfs:subPropertyOf OWL has more property types that are useful in inferencing! Asuman Dogac Ontolog Forum, March 2, 2006

59 OWL provides three decreasingly expressive sublanguages
OWL Full is meant for users who want maximum expressiveness with no computational guarantees It is unlikely that any reasoning software will be able to support complete reasoning for OWL Full OWL DL supports those users who want the maximum expressiveness while retaining computational completeness (all conclusions are guaranteed to be computable) and decidability (all computations will finish in finite time) OWL Lite supports those users primarily needing a classification hierarchy and simple constraints Asuman Dogac Ontolog Forum, March 2, 2006

60 OWL Lite Features (In)Equality: equivalentClass equivalentProperty
sameAs differentFrom AllDifferent distinctMembers Property Characteristics: ObjectProperty DatatypeProperty inverseOf TransitiveProperty SymmetricProperty FunctionalProperty InverseFunctionalProperty Asuman Dogac Ontolog Forum, March 2, 2006

61 OWL Lite Features Property Type Restrictions: Class Intersection:
onProperty allValuesFrom someValuesFrom Class Intersection: intersectionOf Asuman Dogac Ontolog Forum, March 2, 2006

62 OWL Full Language constructs that are in addition to those of OWL Lite
Class Axioms: oneOf, dataRange disjointWith equivalentClass (applied to class expressions) rdfs:subClassOf (applied to class expressions) Boolean Combinations of Class Expressions: unionOf intersectionOf complementOf Arbitrary Cardinality: minCardinality maxCardinality cardinality Filler Information: hasValue Asuman Dogac Ontolog Forum, March 2, 2006

63 An Example to Restriction
<owl:Class rdf:ID=“TaxPreparationService"> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#paymentMethod"/> <owl:allValuesFrom rdf:resource= "#CreditCard"/> </owl:Restriction> </rdfs:subClassOf> </owl:Class> Asuman Dogac Ontolog Forum, March 2, 2006


Download ppt "Exploiting ebXML Registry Semantics in the eHealth Domain*"

Similar presentations


Ads by Google