© Copyright Mayo Foundation for Medical Education and Research 2004
The Relationship between ebXML, Archetypes, Templates,
Terminology and the HL7 RIM
By
Peter L. Elkin, MD
Associate Professor of Medicine and Medical Informatics
Mayo Clinic, School of Medicine
© Copyright Mayo Foundation for Medical Education and Research 2004
Unambiguous Concept Representation
• Interoperable exchange of Healthcare Data
• Enabling distributed Semantic
Interoperability
• Semantically empowering the ebXML
Standard
© Copyright Mayo Foundation for Medical Education and Research 2004
Object Oriented View of Knowledge Representation
• Many concepts are composite concepts with a defined structure– Blood Pressure (BP)
• Systolic BP
• Diastolic BP
– Orthostatic Blood Pressures• Lying BP
• Sitting BP
• Standing BP
© Copyright Mayo Foundation for Medical Education and Research 2004
Health Expression Archetype Language (HEAL)
© Copyright Mayo Foundation for Medical Education and Research 2004
Suggested Schema
• CDA Level 1– Document Structure
and Metadata
• ADL Archetypes– Constraints on a
Model
• Templates– Formal Definitions
Comparable Data
OWL
Language
© Copyright Mayo Foundation for Medical Education and Research 2004
Clinical Document Architecture
CDA Level One DTD shown in “XML Authority” from Extensibility
CDA Level One document shown in “Internet Explorer” from Microsoft
© Copyright Mayo Foundation for Medical Education and Research 2004
archetype
openehr-ehr-observation.bp_measurement.draft
concept
[at0000] -- blood pressure measurement
description
author = <"Sam Heard <[email protected]>">
submission = <
organisation = <"openEHR Foundation">
date = <2003-06-10> >
version = <"version">
status = <"draft">
revision = <"1.0">
description("en") = <
purpose = <"Describe systemic blood pressure measurement result and protocol">
use = <"">
misuse = <""> >
adl_version = <"0.9">
rights = <"">
© Copyright Mayo Foundation for Medical Education and Research 2004
HL7 - CDA - XML<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE levelone SYSTEM "NotesIIST_RTF.DTD" [ <!ENTITY deg '°'> <!ENTITY sup2 '²'> <!ENTITY micro 'µ'> ]> <levelone> <clinical_document_header> <id EX="" RT=""/> <set_id EX="" RT=""/> <version_nbr V="1.0"/> <document_type_cd V="openehr-ehr-observation.bp_measurement.draft" S="" DN="blood pressure measurement"/> <origination_dttm V="20030610T120000"/> <confidentiality_cd V="" S=""/> <patient_encounter> <practice_setting_cd V="" S="" DN=""/> <encounter_tmr V=""/> <service_location> <id EX="" RT=""/> </service_location> </patient_encounter> <legal_authenticator> <legal_authenticator.type_cd V=""/> <participation_tmr V=""/> <signature_cd V="S"/> <person> <id EX="" RT=""/> <person_name> <nm> <GIV V=""/> <MID V=""/> <FAM V=""/> <PFX V=""/> <SFX V=""/> </nm> <person_name.type_cd V=""/> </person_name> <telecom V="" USE=""/> </person>
© Copyright Mayo Foundation for Medical Education and Research 2004
HL7 Templates R-MIM Fragment
• The R-MIM fragment (graphically represented here) can be converted to OWL Abstract Syntax (next slide), and used as a definition model for template development and validation.
Observation
class_cd* <= OBSmoodCode *: CS <= EVN + INTid*: II [0..1] (f iller order number)code*: CE CWE <= ObservationType (e.g. LOINC code)negationInd: BL [0..1]text*: ED [0..1] (f ree text describing the ev ent)statusCode*: CS [0..1]ef f ectiv eTime*: IVL<TS> [0..1] ("phy siologically relev ant time")activ ity Time: IVL<TS> [0..1] (time of perf ormance)priority Code: CE CWE [0..1] "R"conf identiality Code*:SET<CE> CWE [0..*] "N"v alue: ANYinterpretationCode: SET<CS> [0..*] ("abnormal f lags")methodCode: CE CWE [0..1]targetSiteCode: CD CWE [0..1]
Note:This f ragment is taken f rom an imaginary O/O Results R-MIM.
The abstract constraint is:
When reporting the results of a CBC, the f ollowing observ ations shall be present:
o Hemoglobin (required, cannot repeat)o Hematocrit (optional, cannot repeat)o Platelet count (required, cannot repeat)
hasComponent
0..*
typeCode* <= COMPcontextControlCode: CS <= N+C "C"sequenceNumber*: INTpriority Number: INTpauseQuantity : PQ
© Copyright Mayo Foundation for Medical Education and Research 2004
R-MIM Fragment OWL Syntax• <axiom> ::= Class(ex:R-MIM Individual (ex:ID "12345"))
Defines the entire Restricted MessageInformation Model
• <axiom> ::= Class(ex:R-MIM_Fragment Individual (ex:Frag_ID "67890")
• unionOf(ex:Observation ex:hasComponent) ) Defines the R-MIM Fragment as being the union of the Observation Class with the hasComponent Class (previous slide, and below)
• <axiom> ::= SubClassOf(sub=ex:R-MIM_Fragment super=ex:R-MIM) Specifies that the R-MIM fragment is a subclass of the entire R-MIM
• <axiom> ::= Class(ex:Observation complete ex:Act restriction(ex:classCode minCardinality( 0 ) ex:moodCode minCardinality( 0 )
ex:hasComponent minCardinality(0) ) ) Defines the Class Observation as a complete Act with defined restrictions (previous slide for reference)
• <axiom> ::= Class(ex:hasComponent (ex:typeCode complete ex:Observationrestriction(ex: domain(ex:COMP) minCardinality(0) ) ) )
Defines the Class hasComponent as being a complete Observation within the COMP domain (previous slide for reference)
• <axiom> ::= ObjectProperty(ex:typeCode (Individual(ex:codeValue) ) )
• <axiom> ::= ObjectProperty(ex:class_cd (Individual(ex:codeValue) ) )
• <axiom> ::= ObjectProperty(ex:moodCode (Individual(ex:codeValue) ) ) Defines the Object Properties used in the above Class definitions
• <axiom> ::= DatatypeProperty(ex:codeValue xsd:integer) Defines the Data Type Properties for the Object Properties
© Copyright Mayo Foundation for Medical Education and Research 2004
R-MIM Fragment mapping to XML• The OWL R-MMIM Fragment can validate an existing OWL
Template, I.e. LabTest is a SubClass of Observation.
Can be used to validate.
<owl:Class rdf:ID="LabTest"> <rdfs:subClassOf rdf:resource="http://www.example.org/Observation"/> <owl:Restriction> <owl:onProperty rdf:resource="#LabTest"/> <owl:allValuesFrom>LOINC</owl:allValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:allValuesFrom rdf:resource="# Observation"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasComponent"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction></owl:Class>
<axiom> ::= Class(ex:Observation complete ex:Act restriction(ex:classCode minCardinality( 0 ) ex:moodCode minCardinality( 0 ) ex:hasComponent minCardinality(0)))
<axiom> ::= Class(ex: hasComponent(ex:typeCode complete ex:Observation restriction(ex: domain(ex:COMP) minCardinality(0) ) ) )
Combined with
© Copyright Mayo Foundation for Medical Education and Research 2004
R-MIM Fragment mapping to XML• The OWL R-MMIM Fragment can validate an existing OWL
Template, I.e. LabTest is a SubClass of Observation.
Can be used to validate.
<owl:Class rdf:ID="LabTest"> <rdfs:subClassOf rdf:resource="http://www.example.org/Observation"/> <owl:Restriction> <owl:onProperty rdf:resource="#LabTest"/> <owl:allValuesFrom>LOINC</owl:allValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:allValuesFrom rdf:resource="# Observation"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasComponent"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction></owl:Class>
<axiom> ::= Class(ex:Observation complete ex:Act restriction(ex:classCode minCardinality( 0 ) ex:moodCode minCardinality( 0 ) ex:hasComponent minCardinality(0)))
<axiom> ::= Class(ex: hasComponent(ex:typeCode complete ex:Observation restriction(ex: domain(ex:COMP) minCardinality(0) ) ) )
Combined with
© Copyright Mayo Foundation for Medical Education and Research 2004
R-MIM Fragment mapping to XML• The OWL R-MMIM Fragment can validate an existing OWL
Template, I.e. LabTest is a SubClass of Observation.
Can be used to validate.
<owl:Class rdf:ID="LabTest"> <rdfs:subClassOf rdf:resource="http://www.example.org/Observation"/> <owl:Restriction> <owl:onProperty rdf:resource="#LabTest"/> <owl:allValuesFrom>LOINC</owl:allValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:allValuesFrom rdf:resource="# Observation"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasComponent"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction></owl:Class>
<axiom> ::= Class(ex:Observation complete ex:Act restriction(ex:classCode minCardinality( 0 ) ex:moodCode minCardinality( 0 ) ex:hasComponent minCardinality(0)))
<axiom> ::= Class(ex: hasComponent(ex:typeCode complete ex:Observation restriction(ex: domain(ex:COMP) minCardinality(0) ) ) )
Combined with
© Copyright Mayo Foundation for Medical Education and Research 2004
<owl:Class rdf:ID="LabTest"> <rdfs:subClassOf rdf:resource="http://www.example.org/Observation"/> <owl:Restriction> <owl:onProperty rdf:resource="#LabTest"/> <owl:allValuesFrom>LOINC</owl:allValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:allValuesFrom rdf:resource="# Observation"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasComponent"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction></owl:Class>
Can be used to validate.
<owl:Class rdf:ID="CBC"> <owl:subClassOf rdf:resource="#LabTest"/> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:hasValue rdf:resource="#CBC_class_cd"/> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>1</owl:minCardinality> </owl:Restriction> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:hasValue rdf:resource="#CBC_moodCode"/> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:hasValue rdf:resource="#Hemoglobin"/> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent "/> <owl:cardinality>1</owl:cardinality> </owl:Restriction> </owl:Restriction>
…… continued on next slide …..
CBC is a subClassOf LabTest
© Copyright Mayo Foundation for Medical Education and Research 2004
<owl:Class rdf:ID="LabTest"> <rdfs:subClassOf rdf:resource="http://www.example.org/Observation"/> <owl:Restriction> <owl:onProperty rdf:resource="#LabTest"/> <owl:allValuesFrom>LOINC</owl:allValuesFrom> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#class_cd"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#moodCode"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent"/> <owl:allValuesFrom rdf:resource="# Observation"/> </owl:Restriction> <owl:Restriction> <owl:onProperty rdf:resource="#hasComponent"/> <owl:minCardinality>0</owl:minCardinality> </owl:Restriction></owl:Class>
Can be used to validate.
CBC is a subClassOf LabTest
…… continued from previous slide …..
<owl:Restriction><owl:onProperty rdf:resource="# hasComponent"/> <owl:hasValue rdf:resource="#Hematocrit"/> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent "/> <owl:maxCardinality>1</owl:maxCardinality> </owl:Restriction></owl:Restriction><owl:Restriction> <owl:onProperty rdf:resource="# hasComponent "/> <owl:hasValue rdf:resource="#PlatletCount"/> <owl:Restriction> <owl:onProperty rdf:resource="# hasComponent "/> <owl:cardinality>1</owl:cardinality> </owl:Restriction></owl:Restriction>
</owl:Class>
© Copyright Mayo Foundation for Medical Education and Research 2004
Show Blood Pressure Archetype / XML
Output
© Copyright Mayo Foundation for Medical Education and Research 2004
Show Blood Pressure OWL:Archetype
Formal Definition
© Copyright Mayo Foundation for Medical Education and Research 2004
ebXML Registry
• Both the R-MIM Fragment and the full OWL_CBC.xml Template can be stored, with meta-data in ebXML. This will allow automated Template validation, and ease of retrieval and submission of Templates and Fragments.
• The following slides are snapshots of the ebXML Registry browser showing the XML R-MIM_ Fragment.xml Object, and it’s associations with the OWL_CBC.xml Template
© Copyright Mayo Foundation for Medical Education and Research 2004
Extrinsic Object Meta-Data Model
© Copyright Mayo Foundation for Medical Education and Research 2004
Next Steps• Select groups can submit valid R-MIM Fragments in OWL:Archetypes syntax
to the ebXML Registry.
• Develop software for HL7 Template Validation in ebXML.
• Allow groups to submit HL7 Templates composed in OWL:Archetypes/XML to be validated against registered R-MIM Fragments.
• Develop software to validate instances of an HL7 Template against the registered HL7 Template in OWL:Archetypes/XML syntax.
• Allow groups to validate their HL7 messages against registered instances of HL7 Templates in OWL:Archetypes/XML.
© Copyright Mayo Foundation for Medical Education and Research 2004
Conclusion:
• Join the ongoing development of the ebXML Registry Standard and the HL7 Templates SIG – Where the Action is…– Where the Rubber Meets the Road…– Looking for hard working creative individuals to
dedicate themselves to making interoperability a reality
– Discussion: ………
• Thank You for Your Kind Attention!