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 Immunizations

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

FHIR to C-CDA

FHIR
Immunization
C-CDA¹
Immunization Activity substanceAdministration
Transform Steps
  /@moodCode=”EVN” All FHIR Immunizations should be set to “EVN” moodCode
.identifier /id CDA id ↔ FHIR identifier
.status /statusCode Constraint when .status.value=”not-done”
Set negationInd to true in CDA observation
.status /statusCode Constraint all other values of .status
FHIR status → CDA statusCode
.statusReason Immunization Refusal Reason
/entryRelationship[@typeCode=”RSON”]/observation/code
FHIR statusReason → CDA refusal
.vaccineCode /consumable/manufacturedProduct/manufacturedMaterial/code CDA coding ↔ FHIR CodeableConcept
.primarySource   This element has no target in CDA
.occurrenceDateTime /effectiveTime/@value CDA ↔ FHIR Time/Dates
.manufacturer /consumable/manufacturedProduct/manufacturerOrganization  
.lotNumber /consumable/manufacturedMaterial/lotNumberText  
.site /approachSiteCode FHIR site → CDA approachSiteCode
.route /routeCode CDA coding ↔ FHIR CodeableConcept
.doseQuantity /doseQuantity CDA ↔ FHIR Quantity
.performer.actor /performer Constraint when .performer.function=”AP”
CDA ↔ FHIR Provenance
Annotation
.note
Comment Activity
/entryRelationship/act[code/@code=”48767-8”]/text
 
.reasonCode Indication
/entryRelationship[@typeCode=”RSON”]/observation/value
 
.education.documentType reference/ExternalDocument/code  
.education.reference /reference/ExternalDocument/id  
.reaction.id

Reaction
/entryRelationship[@typeCode=”MFST”]/observation/id
CDA id ↔ FHIR identifier
.reaction.date /Reaction
/entryRelationship[@typeCode=”MFST”]/observation/effectiveTime
CDA ↔ FHIR Time/Dates
.reaction.detail.valueCodeableConcept Reaction
/entryRelationship[@typeCode=”MFST”]/observation/value
CDA coding ↔ FHIR CodeableConcept
.doseNumber[x].doseNumberPositiveInt /repeatNumber  

1. XPath abbrievated for C-CDA Immunization Activity as:
ClinicalDocument/component/structuredBody/component/section[code/@code=”11369-6”]/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