This document is intended to describe how clinical data is represented in practice.

Anecdote tells us that:

Aeschylus was killed by a falling turtle.
image/svg+xml Aeschylus falling Turtle killedBy

Our circa 455BC EHR categorizes diagnoses, observations, etc.

image/svg+xml Observation Aeschylus Diagnosis Death byfalling Turtle who what

People like to group acts in encounter bins. Here we see a graph emerging in the clinical data.

image/svg+xml Observation Observation Evidence Aeschylus recordTarget ClinicalDocument Diagnosis Encounter REFR DRIV DRIV Death byfalling Turtle

If we invent "Death by falling Turtle" and someone else spells it different, a query won't work.

If someone uses the same string to mean something else (e.g. the failure of the Turtle language), queries will match when we wish they didn't.

We could invent a coding system, but socially, we need to partition types of terminology.

image/svg+xml Diagnosis Evidence Evidence Rectord Target Aeschylus AncientBonez PATIENTRole recordTarget player scoper ClinicalDocument Diagnosis 282291009 20130605 20130602 SNOMED Encounter REFR DRIV DRIV 20130131 inpatient Death byfalling Turtle

We now have an Information Model providing the relationships between the parties, terms, values sets and physical quantities.

We can combine this with data on the Terminology Model which has hierarchies and relationships between terms.

information model

image/svg+xml Diagnosis Evidence Evidence Rectord Target IsabellaJones NEXTGENMedicalPractice PATIENTRole recordTarget player scoper ClinicalDocument Diagnosis 282291009 20130605 20130602 SNOMED Encounter REFR DRIV DRIV 20130131 inpatient

terminology model

image/svg+xml Diagnosis 282291009

Common datatypes

There are are few datatypes that you should get used to seeing.

The popular CD datatype has:

  • code
  • code system
  • code system version
  • helpful text
image/svg+xml Observation Code cd:code obj to cd:code arc cd:code Coding System cd:codingSystem obj to cd:codingSystem arc cd:codingSystem Display Name cd:displayName obj to cd:displayName arc cd:displayName obj to cd:code arc cd:code hl7:coding CD 282291009 SNOMED 20130131 Observation

CD as a URL

A URL can capture:

  • authority
  • version
  • metadata
PREFIX snomed: <http://ihtsdo.org…20130131…> 
PREFIX hl7: <http://hl7.org/owl/metadata#> 

<myObs> hl7:coding snomed:282291009 .
image/svg+xml Observation obj to cd:code arc cd:code hl7:coding snomed:282291009 Observation

Lloyd McKenzie represented HL7's MIF as OWL. This O-RIM includes:

  • RIM types (seen at right)
  • datatypes (e.g. CD)
  • vocabulary (e.g. arc labels for Participations and ActRelationships)

This effectively defined the RDF representaiton of documents using HL7 standards.

snapshot of O-RIM in Protege

C-CDA as XML

<?xml version="1.0"?>
<ClinicalDocument>
  <templateId root="2.16.840.1.113883.10.20.22.1.1"/>
  <id root="2.201" extension="2fb1e72f-d208-4394-bc35-1d2b6ada135b"/>
  <code code="34133-9" codeSystem="2.16.840.1.113883.6.1"
        displayName="SUMMARIZATION OF EPISODE NOTE" codeSystemName="LOINC"/>
  <title>Continuity of Care Document (C-CDA)</title>
  <effectiveTime value="20130218031000-0500"/>
  <confidentialityCode code="N" codeSystem="2.16.840.1.113883.5.25"
        displayName="Normal Sharing" codeSystemName="HL7 Confidentiality"/>
  <languageCode code="en-US"/>
  <recordTarget>
    <patientRole>
      <id root="2.100"/>
      <addr>
	<streetAddressLine>1122 Mystical Rt 3</streetAddressLine>
	<city>Beaverton</city>
	<state>OR</state>
	<postalCode>97005</postalCode>
	<country>US</country>
      </addr>
      <telecom use="HP" value="tel:+1-5554445555"/>
      <patient>
	<name use="L">
	  <family qualifier="BR">Jones</family>
	  <given qualifier="CL">Isabella</given>
	</name>

C-CDA as RDF

Document Id 2fb1e72f-d208-4394-bc35-1d2b6ada135b 2.201
Document Created: February 18, 2013, 03:10:00, EST
_:ClinicalDoc a rim:Act ;
    rim:Act.id [ a dt:DSET_II ;
        dt:COLL.item [ dt:II.root "2.201" ; dt:II.extension "2fb1e72f-d208-4394-bc35-1d2b6ada135b" ]
    ] ;
    rim:Act.classCode [ dt:CD.code "DOCCLIN" ; dt:CD.codeSystem "2.16.840.1.113883.5.6" ] ;
    rim:Act.moodCode [ dt:CD.code "EVN" ; dt:CD.codeSystem "2.16.840.1.113883.5.1001" ] ;
    rim:Act.effectiveTime "2013-02-18"^^xsd:date ;
    rim:Act.code [
        dt:CD.code "34133-9" ; dt:CD.codeSystem "2.16.840.1.113883.6.1" ;
        dt:CD.displayName "SUMMARIZATION OF EPISODE NOTE" ; dt:CD.codeSystemName "LOINC"
    ].
Patient Isabella Jones Language English
Date of birth May 1, 1947 Sex Female
Race White Ethnicity Not Hispanic or Latino
Contact info 1122 Mystical Rt 3
Beaverton, OR 97005, US
Tel: +1-5554445555
Patient IDs 2.100
# RecordTarget
[ a rim:Participation ;
    rim:Participation.typeCode [ dt:CD.code "RCT" ; dt:CD.codeSystem "???" ] ;
    rim:Participation.act _:ClinicalDoc ;
    rim:Participation.role _:ClinicalDoc_recordTarget0
] .
_:ClinicalDoc_recordTarget0 a rim:Role ;
    rim:Role.id [ a dt:DSET_II ;
        dt:COLL.item [ dt:II.root "2.100" ]
    ] ;
    rim:Role.player _:ClinicalDoc_recordTarget0_player ;
    rim:Role.scoper _:ClinicalDoc_recordTarget0_scoper ;
    rim:Role.classCode [ dt:CD.code "PAT" ; dt:CD.codeSystem "???" ] ;
    rim:Role.telecom [ a dt:COLL_TEL ; dt:COLL.item [ a dt:TEL ; dt:URL.address "tel:+1-5554445555" ; dt:TEL.use "HP" ;  ] ];
    rim:Role.addr [ a dt:COLL_AD ;
        err:streetAddressLine "1122 Mystical Rt 3" ;
        err:city "Beaverton" ;
        err:state "OR" ;
        err:postalCode "97005" ;
        err:country "US" ;
    ] ;
.
_:ClinicalDoc_recordTarget0_player a rim:Person ;
    rim:Entity.classCode [ dt:CD.code "PSN" ; dt:CD.codeSystem "???" ] ;
    rim:Entity.determinerCode [ dt:CD.code "INSTANCE" ; dt:CD.codeSystem "???" ] ;
    # rim:Entity.code ???
    rim:Entity.name [ a dt:COLL_EN ;
        dt:COLL.item [ err:person-name-family "Jones" ] ;
        dt:COLL.item [ err:person-name-given "Isabella" ] ;
    ];
    rim:LivingSubject.administrativeGenderCode [
        dt:CD.code "F" ; dt:CD.codeSystem "2.16.840.1.113883.5.1" ;
        dt:CD.displayName "Female" ; dt:CD.codeSystemName "HL7 AdministrativeGender"
    ] ;

    rim:LivingSubject.birthTime "1947-05-01"^^xsd:date ;
    rim:Person.raceCode [ a dt:DSET_CD ;
        dt:COLL.item [
            dt:CD.code "2106-3" ; dt:CD.codeSystem "2.16.840.1.113883.6.238" ;
            dt:CD.displayName "White" ; dt:CD.codeSystemName "CDC Race and Ethnicity"
        ]    
    ] ; ;
    rim:Person.ethnicGroupCode [ a dt:DSET_CD ;
        dt:COLL.item [
            dt:CD.code "2186-5" ; dt:CD.codeSystem "2.16.840.1.113883.6.238" ;
            dt:CD.displayName "Not Hispanic or Latino" ; dt:CD.codeSystemName "CDC Race and Ethnicity"
        ]    
    ] ;

.
_:ClinicalDoc_recordTarget0_scoper a rim:Organization ;
    rim:Entity.id [ a dt:DSET_II ;
        dt:COLL.item [ dt:II.root "2.201" ; dt:II.extension "0001" ];
        dt:COLL.item [ dt:II.root "2.16.840.1.113883.4.6" ; dt:II.extension "1234567893" ]
    ] ;
    rim:Entity.name [ a dt:COLL_EN ; ] ; dt:COLL.item [ err:name "NEXTGEN Medical Practice (Horsham)" ] ;
    rim:Entity.telecom [ a dt:COLL_TEL ; dt:COLL.item [ a dt:TEL ; dt:URL.address "tel:+1-2156577010" ; dt:TEL.use "WP" ;  ] ];
    rim:Role.addr [ a dt:COLL_AD ;
        err:streetAddressLine "795 Horsham Road" ;
        err:city "Horsham" ;
        err:state "PA" ;
        err:postalCode "19044" ;

    ] ;


.
    

Integration

  • Integrate two C-CDA docs.
    big deal, could have done that before.
  • Integrate with other docs which have a rep in RDF.
    could force everything to e.g. RIM model, but that's way more complex with fewer tools.
  • Integrate with clinical data not-yet standardized by HL7.
  • Integrate with genomics and biological, e.g. pathway data for tailored therapeutics or translational medicine.


$Revision: 1.4 $ of $Date: 2013-06-03 21:41:00 $ by $Author: eric $