C-CDA on FHIR
2.0.0-ballot - STU 2 Ballot 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 2.0.0-ballot 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 Allergies

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

FHIR to C-CDA

FHIR
AllergyIntolerance
C-CDA¹
Allergy Intolerance observation
Transform Steps
.identifier /id CDA id ↔ FHIR identifier
.clinicalStatus (act parent to observation) ../../statusCode
&
Allergy Status
/entryRelationship/observation[code/@code="33999-4"]/value
FHIR clinicalStatus → CDA Allergy Status Observation value
For more information on how status is managed in Allergy Concern Act wrapper, refer to C-CDA guidance, see 5.2.7.1
.type
&
.category
/value FHIR type → CDA value
FHIR category → CDA value
.criticality Criticality
/entryRelationship/observation[code/@code="82606-5"]/value
CDA coding ↔ FHIR CodeableConcept
FHIR criticality → CDA Criticality value
.code /participant/participantRole/playingEntity/code Constraint: When FHIR concept is not a negated concept
CDA coding ↔ FHIR CodeableConcept
.code /participant/participantRole/playingEntity/code or /value
&
set @negationInd="true"
Constraint: When FHIR concept represents general negated concept (e.g. no known allergy)
FHIR code → CDA No Known Allergy
In case where a specific refutation is coded (no latex allergy), use text or a mapped concept.
.encounter /entryRelationship[@typeCode="REFR"]/act/id  
.onsetDateTime /effectiveTime/low CDA ↔ FHIR Time/Dates
.onsetPeriod.start /effectiveTime/low effectiveTime/high should not be mapped from onsetPeriod
.recordedDate /assignedAuthor/time These are not necessarily the same author
.recorder /assignedAuthor CDA ↔ FHIR Provenance
Time and author are not necessarily the same
Annotation
.note
Comment Activity
/entryRelationship/act[code/@code="48767-8"]/text
 
.reaction.manifestation Reaction
/entryRelationship[@typeCode="MFST"]/observation/value
Both use SNOMED clinical findings with minor valueSet definition differences
.reaction.onset /effectiveTime/low Constraint: This should only be used in event that AlleryIntolerance.onset was not available
.reaction.severity Severity
/entryRelationship[@typeCode="MFST"]/observation/entryRelationship/observation[code/@code="SEV"]/value
FHIR severity → CDA severity value
This should be nested in CDA within the respective allergic reaction observation

1. XPath abbrievated for C-CDA Allergy Intolerance as:
ClinicalDocument/component/structuredBody/component/section[code/@code="48765-2"]/entry/act/entryRelationship/observation

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