Translating between CDA and FHIR

Last updated: Oct 20, 2025
HEALTH TECH VENDOR
PRODUCT OWNER
HCO

Clinical Document Architecture (CDA) is a common HL7 standard, based on XML. It’s used for exchanging general clinical documents, including discharge summaries, visit summaries, or other documents with a patient’s history or treatment. Read about CDA.

However, FHIR® is a modern, adaptable, and quick way to exchange general clinical data (learn about the Redox FHIR® API). Sometimes you need data to go back and forth between these two useful healthcare standards. Redox can support you by translating data in either direction with the FHIR® Composition resource.

Who needs to translate between CDA and FHIR®

CDA and FHIR® translation is helpful for these use cases:

  • Providers establishing a new patient’s history before providing treatment.
  • Providers supporting a document-based business process (e.g., generating PDFs).
  • Providers exchanging data over clinical networks, where both FHIR® and CDA are possible.
  • Vendors consuming patient data for service within their app.
  • Payers wanting data for member engagement to recommend preventative care or more cost-effective services.
  • Payers tracking a patient’s treatments for billing purposes (e.g., services included in a hospital stay).

How translation works

Mappings between CDA and FHIR®

CDA to FHIR®

We convert CDA sections into a bundle of the best-fitting FHIR® resources. Check out some examples below.

CDA section
FHIR® resource(s)
Allergies
AllergyIntolerance
Assessment
Health conditions
Problems
Reason for visit
Resolved problems
Condition
Discharge medications
Medications
MedicationRequest and/or MedicationStatement
Encounters
Encounter
Family history
FamilyHistory
Functional status
Observation and SupplyRequest
Health concerns
Condition
Insurances
Coverage
MedicalEquipment
DeviceRequest
Results
DiagnosticReport
Vital signs
Observation

FHIR® to CDA

We can produce an XML document for you based on the FHIR® resources you provide. You can organize your FHIR® resources into these CDA sections.

FHIR® resource
CDA section
AllergyIntolerance
Allergies
Appointment
MedicationRequest
ServiceRequest
SupplyRequest
Plan of treatment
Condition
Problems
DiagnosticReport
Observation
Results
Encounter
Encounters
Immunization
Immunization
MedicationRequest
Medications
Observation
Vital signs
Social history
Procedure
Procedure

Field mapping

Ultimately, Redox converts CDA-specific aspects into FHIR® standards while maintaining accuracy. See some general examples you might come across in most FHIR® resources:

General CDA data
FHIR® field or value
Notes
nullFlavor
data-absent-reason extension
There might be sections of a CDA document that use nullFlavor. Refer to these guides for more details: (a) Section 5.1.5 of this CDA companion guide; or (b) Section 3.6 of this CDA implementation guide.
We convert this to a data absent reason in FHIR®.
Terminology Object IDs (OIDs)
FHIR® terminology
We use the OID from the code system and/or implied value set of a coded value in CDA to look up the appropriate FHIR® Terminology system. Review FHIR® Terminology.
patientRole
Reference to Patient resource
CDAs must include the patient info, which translates into a FHIR® reference to the related Patient resource.
For example, ClinicalDocument.recordTarget.patientRole would translate to AllergyIntolerance.patient.
effectiveTime
Any of these:
(a) date
(b) dateTime
(c) instant
(d) period
(e) onsetDateTime
Different FHIR® resources have different expressions of time, all depending on the context. The effectiveTime converts to the most applicable FHIR® time field.
section.code
General CDA data
The CDA section identifier helps us map the data within that section to the most appropriate FHIR® resource.
For example, if we have section.code=48765-2 then we map the data to the AllergyIntolerance resource.
section.entry.reference
Relevant FHIR® resource
This is a reference to a FHIR® resource in the FHIR® bundle that can be translated to a given CDA section.