C-CDA on FHIR, published by HL7 International / Cross-Group Projects. This guide is not an authorized publication; it is the continuous build for version 1.2.0 built by the FHIR (HL7® FHIR® Standard) CI Build. This version is based on the current content of https://github.com/HL7/ccda-on-fhir/ and changes regularly. See the Directory of published versions
While multiple vendors participated in CDA → FHIR mappings at a connectathon, only a single vendor (Cerner/Oracle) has participated in the FHIR → CDA mapping. We welcome feedback on these mappings which represent less than a multi-vendor consensus at this time.
This page provides a mapping from FHIR to CDA. For the CDA to FHIR mapping, please refer to Medications CDA → FHIR. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages.
See guidance on timing mappings on Medications CDA → FHIR.
FHIR MedicationRequest |
C-CDA¹ Medication Activity substanceAdministration |
Transform Steps |
---|---|---|
.identifier | /id | CDA id ↔ FHIR identifier |
.status | /status | FHIR status → CDA statusCode |
.category | /code | CDA coding ↔ FHIR CodeableConcept code is not generally used in CDA |
.doNotPerform | /@negationInd | |
.medicationCodeableConcept | /consumable/manufacturedProduct/manufacturedMaterial/code | CDA coding ↔ FHIR CodeableConcept |
.medicationReference | (see above) | CDA embeds medication codes directly inside medication activity |
.authoredOn | /author/time | CDA ↔ FHIR Time/Dates |
.requester | /assignedAuthor | CDA ↔ FHIR Provenance |
.performer | /performer | CDA ↔ FHIR Provenance |
.reasonCode | Indication /entryRelationship[@typeCode=”RSON”]/observation/value |
CDA coding ↔ FHIR CodeableConcept |
Annotation .note |
Comment Activity /entryRelationship/act[code/@code=”48767-8”]/text |
|
.dosageInstruction.text & .dosageInstruction.patientInstruction |
Free text sig /entryRelationship/substanceAdministration[code/@code=”76662-6”]/text |
|
.dosageInstruction.additionalInstruction | Instruction /entryRelationship[@typeCode=”SUBJ”]/act/code |
CDA coding ↔ FHIR CodeableConcept |
.dosageInstruction.timing.repeat.boundsPeriod.start | effectiveTime[1]/low | CDA ↔ FHIR Time/Dates Note: in XPath, [1] is the first instance; there is no [0] in XPath. |
.dosageInstruction.timing.repeat.boundsPeriod.end | effectiveTime[1]/high | CDA ↔ FHIR Time/Dates |
.dosageInstruction.timing.repeat.frequency & .dosageInstruction.timing.repeat.period & .dosageInstruction.timing.repeat.periodUnit |
/effectiveTime[2]/… /@operator=’A’ /@xsi:type=’PIVL_TS’ /@institutionSpecified /period |
Compare: C-CDA Common Medication Frequencies and FHIR Timing Data Type |
.dosageInstruction.timing.repeat.when & .dosageInstruction.timing.repeat.offset |
/effectiveTime[2]/… /@operator=’A’ /@xsi:type=’EIVL_TS’ /event/@code /offset |
FHIR when matches event/@code vocabulary CDA Offset is a PhysicalQuantity, while FHIR is an integer representing minutes. |
.dosageInstruction.site | /approachSiteCode | CDA coding ↔ FHIR CodeableConcept |
.dosageInstruction.route | /routeCode | CDA coding ↔ FHIR CodeableConcept |
.dosageInstruction.doseAndRate.doseQuantity | /doseQuantity | CDA ↔ FHIR Quantity |
.dosageInstruction.doseAndRate.rateQuantity | /rateQuantity | CDA ↔ FHIR Quantity |
.dosageInstruction.maxDosePerPeriod | /maxDoseQuantity | CDA ↔ FHIR Quantity |
1. XPath abbrievated for C-CDA Medication Activity as:
ClinicalDocument/component/structuredBody/component/section[code/@code=”10160-0”]/entry/substanceAdministration
Note that these mappings have only been implemented by a single vendor to date.
As reviewed in the methodology, a more comprehensive review was performed via spreadsheets. These spreadsheets have been consolidated and further revised in the tables above but are provided for reference here