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 sectionFHIR® resource(s)
AllergiesAllergyIntolerance
AssessmentHealth conditionsProblemsReason for visitResolved problemsCondition
Discharge medicationsMedicationsMedicationRequest and/or MedicationStatement
EncountersEncounter
Family historyFamilyHistory
Functional statusObservation and SupplyRequest
Health concernsCondition
InsurancesCoverage
MedicalEquipmentDeviceRequest
ResultsDiagnosticReport
Vital signsObservation

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® resourceCDA section
AllergyIntoleranceAllergies
AppointmentMedicationRequestServiceRequestSupplyRequestPlan of treatment
ConditionProblems
DiagnosticReportObservation Results
EncounterEncounters
ImmunizationImmunization
MedicationRequestMedications
ObservationVital signsSocial history
ProcedureProcedure

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 dataFHIR® field or valueNotes
nullFlavordata-absent-reason extensionThere 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® terminologyWe 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.
patientRoleReference to Patient resourceCDAs 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.
effectiveTimeAny of these: (a) date(b) dateTime(c) instant(d) period(e) onsetDateTimeDifferent FHIR® resources have different expressions of time, all depending on the context. The effectiveTime converts to the most applicable FHIR® time field.
section.codeGeneral CDA dataThe 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.referenceRelevant FHIR® resourceThis is a reference to a FHIR® resource in the FHIR® bundle that can be translated to a given CDA section.