C-CDA on FHIR
1.2.0 - STU 1 United States of America flag

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

FHIR to C-CDA Patient

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 Patient CDA → FHIR. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages

FHIR to C-CDA

FHIR
Patient
C-CDA¹
US Realm Header recordTarget
Transform Steps
.extension.extension (race)
url=http://hl7.org/fhir/us/core/STU4/StructureDefinition/us-core-race
/patientRole/patient/raceCode
&
/patientRole/patient/sdtc:raceCode
only one ombCategory extension goes in raceCode; other values go in sdtc:raceCode
.extension.extension (ethnicity)
url=http://hl7.org/fhir/us/core/STU4/StructureDefinition/us-core-ethnicity
/patientRole/patient/ethnicGroupCode
&
/patientRole/patient/sdtc:ethnicGroupCode
only one ombCategory extension goes in ethnicGroupCode; other values go in sdtc:ethnicGroupCode
.extension.extension (birth sex)
url=http://hl7.org/fhir/us/core/STU4/StructureDefinition/us-core-birthsex
Birth Sex This is not in the header recordTarget in CDA
.identifer /patientRole/id CDA id ↔ FHIR identifier
.name /patientRole/patient/name CDA name ↔ FHIR name
.telecom /patientRole/telecom CDA telecom ↔ FHIR telecom
.gender /patientRole/patient/administrativeGenderCode FHIR gender → CDA administrativeGender
.birthdate /patientRole/patient/birthTime CDA ↔ FHIR Time/Dates
.deceasedBoolean /patientRole/patient/sdtc:deceasedInd If true, C-CDA also requires sdtc:deceasedTime to be present. Set its @nullFlavor="UNK"
.deceasedDateTime /patientRole/patient/sdtc:deceasedTime CDA ↔ FHIR Time/Dates
When setting deceasedTime to a value, also set sdtc:deceasedInd to true.
.address /patientRole/addr CDA addr ↔ FHIR address
.maritalStatus /patientRole/patient/maritalStatus CDA coding ↔ FHIR CodeableConcept
.communication.language /patientRole/patient/languageCommunication/languageCode  
.communication.preferred /patientRole/patient/languageCommunication/preferenceInd  
.managingOrganization /patientRole/providerOrganization  

1. XPath abbrievated for C-CDA US Realm recordTarget as:
ClinicalDocument/recordTarget/

Illustrative example

No examples available (of FHIR to C-CDA) at this time.

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