goals:
<./> a AllergyIntolerance:AllergyIntolerance; AllergyIntolerance:text [ a AllergyIntolerance:Narrative; Narrative:status "generated"^^fhir:code; Narrative:div [ a fhir:xhtml; fhir:text """<div>Sensitivity to Bee Stings</div>Sensitivity to Bee Stings"""; ] ]; AllergyIntolerance:criticality "fatal"^^fhir:code; AllergyIntolerance:sensitivityType "allergy"^^fhir:code; AllergyIntolerance:recordedDate [ a fhir:dateTime; fhir:value "2012-09-17"; ]; AllergyIntolerance:status "confirmed"^^fhir:code; AllergyIntolerance:subject <Patient/example>; AllergyIntolerance:recorder <Practitioner/example>; AllergyIntolerance:substance <Substance/example>; AllergyIntolerance:reaction <AdverseReaction/example>; AllergyIntolerance:sensitivityTest <Observation/example> .
Tied to the machine-readable FHIR spec:
You can view it with a generic XSLT tool
http://www.w3.org/2005/08/online_xslt/
Fill out the form like:
URI for xsl resource https://raw.github.com/jmandel/fhir-rdf/master/generic/transform.xsl
URI for xml resource http://www.hl7.org/implement/standards/fhir/patient-example.xml (or an alergy example or anything FHIR example resource (use raw XML))
or just view the (Turtle) results
The obvious goal is to round trip XML.
see an example invocation (Look for a "View GenX output" to view results).
<Player-target> { a (rim:Person) %GenR{ Patient = s . %GenR Patient <a> fhir:Patient %}, rim:Entity.name { a (dt:COLL_EN) %GenR{ Name = bnode("name") . %GenR 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") . %GenR Gender fhir:coding GenderCoding %} } %GenR{ Gender = bnode("gender") . Patient fhir:gender Gender %} }
_:ClinicalDoc_recordTarget0_player a rim:Person ; 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" ] ] .Result:
_: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".
see ShEx demo example using example of O-RIM generated from C-CDA.
Tony created concepts like Allergy to bee sting
.
Can be derived by class restriction from fhir:Allergy with a particular code and code system, e.g. IRIs coding.
Issue how much of a meaningful e.g. CDS ontology can be projected onto the FHIR which is created by direct translation?