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 Allergies CDA → FHIR. For guidance on how to read the table below, see Reading the C-CDA ↔ FHIR Mapping Pages
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
Note that these mappings have only been implemented by a single vendor to date.
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