C-CDA on FHIR
2.0.0-ballot - STU 2 Ballot

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

#### Links to example content

Note that these mappings have only been implemented by a single vendor to date.

- Allergy FHIR example
- Allergy CDA example

### 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