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 Patient CDA → FHIR. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages
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/
No examples available (of FHIR to C-CDA) at this time.
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