HCLS/ClinicalObservationsInteroperability/C-CDA
Appearance
Goals
Representations
- XSLT to O-RIM translates C-CDA instance data to O-RIM
- There are many other RDF representations of C-CDA. We need to pester:
- Holger Stenzhorn
- Sajjad Hussain <sajjad.hussain@crc.jussieu.fr>
Mapping to FHIR
This ShEx transformation demo maps part of an example C-CDA O-RIM document to FHIR-RDF. If you view the GenR output (look for "View GenR output"), you'll see something like
_:ClinicalDoc_recordTarget0_player <a> <http://hl7/org/fhir/Patient>. _:ClinicalDoc_recordTarget0_player <http://hl7/org/fhir/name> _:"name". _:"name" <http://hl7/org/fhir/family> "Jones". _:"name" <http://hl7/org/fhir/given> "Isabella". _:ClinicalDoc_recordTarget0_player <http://hl7/org/fhir/gender> _:"gender". _:"gender" <http://hl7/org/fhir/coding> _:"genderCoding". _:"genderCoding" <http://hl7/org/fhir/system> "2.16.840.1.113883.5.1". _:"genderCoding" <http://hl7/org/fhir/code> "F".
This comes from O-RIM instance data like:
_:ClinicalDoc_recordTarget0_player a rim:Person ;
rim:Entity.classCode [ hl7:coding [ dt:CDCoding.code "PSN" ; dt:CDCoding.codeSystem "???" ] ] ;
rim:Entity.name [ a dt:COLL_EN ;
dt:COLL.item [ err:person-name-family "Jones" ;
err:person-name-given "Isabella" ] ;
];
rim:LivingSubject.administrativeGenderCode [
hl7:coding [ dt:CDCoding.code "F" ; dt:CDCoding.codeSystem "2.16.840.1.113883.5.1" ;
dt:CDCoding.displayName "Female" ; dt:CDCoding.codeSystemName "HL7 AdministrativeGender" ]
] .
in combination with GenR rules embedded in the schema:
<Player-target> {
a (rim:Person)
%GenR{ Patient = s . Patient <a> fhir:Patient %},
rim:Entity.name {
a (dt:COLL_EN)
%GenR{ Name = bnode("name") . Patient fhir:name Name %},
dt:COLL.item {
err:person-name-family LITERAL
%GenR{ Name fhir:family o %},
err:person-name-given LITERAL
%GenR{ Name fhir:given o %}
}
},
rim:LivingSubject.administrativeGenderCode {
hl7:coding {
dt:CDCoding.codeSystem ("2.16.840.1.113883.5.1")
%GenR{ GenderCoding fhir:system o %},
dt:CDCoding.code ("M" "F")
%GenR{ GenderCoding fhir:code o %}
} %GenR{ GenderCoding = bnode("genderCoding") .
Gender fhir:coding GenderCoding %}
} %GenR{ Gender = bnode("gender") .
Patient fhir:gender Gender %}
}