C-CDA on FHIR
1.2.0-ballot - CI Build United States of America flag

This page is part of the C-CDA on FHIR Implementation Guide (v1.2.0-ballot: STU 1 Ballot 4) based on FHIR R4. The current version which supercedes this version is 1.1.0. For a full list of available versions, see the Directory of published versions

FHIR to C-CDA Medications

FHIR US Core → C-CDA Mapping

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

FHIR to C-CDA

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"
/entryRelationship/observation/value
CDA coding ↔ FHIR CodeableConcept
Annotation
.note
Comment Activity
entryRelationship/act/code@code="48767-8"
/entryRelationship/act/text
 
.dosageInstruction.text
&
.dosageInstruction.patientInstruction
Free text sig
entryRelationship/substanceAdministration/code@code="76662-6"
/entryRelationship/substanceAdministration/text
 
.dosageInstruction.additionalInstruction Instruction
entryRelationship@typeCode="SUBJ"
/entryRelationship/act/code
CDA coding ↔ FHIR CodeableConcept
.dosageInstruction.timing.repeat.boundsPeriod.start effectiveTime[0]/low CDA ↔ FHIR Time/Datesv
.dosageInstruction.timing.repeat.boundsPeriod.end effectiveTime[0]/high CDA ↔ FHIR Time/Dates
.dosageInstruction.timing.repeat.frequency
&
.dosageInstruction.timing.repeat.period
&
.dosageInstruction.timing.repeat.periodUnit
/effectiveTime[1] This can be complex
.dosageInstruction.site /approachSiteCode CDA coding ↔ FHIR CodeableConcept
.dosageInstruction.route /routeCode CDA coding ↔ FHIR CodeableConcept
.dosageInstruction.doseAndRate.doseQuantity /doseQuantity  
.dosageInstruction.doseAndRate.rateQuantity /rateQuantity  
.dosageInstruction.maxDosePerPeriod /maxDoseQuantity  

1. XPath abbrievated for C-CDA Medication Activity as:
ClinicalDocument/component/structuredBody/component/section[(@code="10160-0")]/entry/substanceAdministration

Illustrative example

Note that these mappings have only been implemented by a single vendor to date.

Prior work and Expanded Spreadsheets

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