Integration Reference

DICOM to FHIR Mapping

The canonical DICOM ↔ FHIR map — sourced directly from the HL7 FHIR R5 ImagingStudy StructureDefinition (CC0). 51 DICOM attributes map to 39 FHIR paths; where a DICOM tag spans multiple FHIR elements (e.g., Study Date + Time combining into ImagingStudy.started), every mapping is represented.

By FHIR Path

Each FHIR element lists every DICOM tag that feeds it. Some elements accept multi-tag input — + means concatenation, | means OR / alternatives.

ImagingStudy.basedOn

ImagingStudy.description

ImagingStudy.identifier

ImagingStudy.location

ImagingStudy.modality

ImagingStudy.numberOfInstances

ImagingStudy.numberOfSeries

ImagingStudy.procedure

ImagingStudy.reason

ImagingStudy.referrer

ImagingStudy.series.bodySite

ImagingStudy.series.description

ImagingStudy.series.instance.number

ImagingStudy.series.instance.sopClass

ImagingStudy.series.instance.title

ImagingStudy.series.instance.uid

ImagingStudy.series.laterality

ImagingStudy.series.modality

ImagingStudy.series.number

ImagingStudy.series.numberOfInstances

ImagingStudy.series.performer

ImagingStudy.series.specimen

ImagingStudy.series.started

ImagingStudy.series.uid

ImagingStudy.started

Observation (LOINC 29463-7)

  • (0010,1030) Patient's Weight PatientWeight

    Raw: PatientWeight (DS: kilograms) ↔ Observation.code=29463-7 (Body weight) with Observation.subject=Patient. DICOM stores in kg; FHIR Observation.valueQuantity uses UCUM 'kg'.

Observation (LOINC 8302-2)

  • (0010,1020) Patient's Size PatientSize

    Raw: PatientSize (DS: meters) ↔ Observation.code=8302-2 (Body height) with Observation.subject=Patient. Not stored directly on Patient resource per FHIR convention.

Patient.address

  • (0010,1040) Patient's Address PatientAddress

    Raw: PatientAddress (LO: free-text) ↔ Patient.address[0].text. FHIR prefers structured address (line/city/state/postalCode/country) when available; DICOM rarely provides decomposed components.

Patient.birthDate

Patient.birthDate (derived)

  • (0010,1010) Patient's Age PatientAge

    Raw: PatientAge (AS: nnnD/W/M/Y) is typically computed at study time from PatientBirthDate, not stored separately on FHIR Patient. Imaging downstream may carry it as Observation with LOINC 30525-0 (panel) or 63900-5 (reported age). Verify against your terminology server before binding.

Patient.birthDate.extension(patient-birthTime)

  • (0010,0032) Patient's Birth Time PatientBirthTime

    Raw: PatientBirthTime (TM) ↔ FHIR uses the patient-birthTime extension (http://hl7.org/fhir/StructureDefinition/patient-birthTime) on Patient.birthDate to carry the time-of-birth component when needed (rare in adult radiology, common in NICU/perinatal).

Patient.extension(us-core-ethnicity)

  • (0010,2160) Ethnic Group EthnicGroup

    Raw: EthnicGroup ↔ US Core ethnicity extension (http://hl7.org/fhir/us/core/StructureDefinition/us-core-ethnicity) on Patient. Base FHIR Patient has no ethnicity field; US Core profiles add it.

Patient.gender

  • (0010,0040) Patient's Sex PatientSex

    Raw: PatientSex (CS: M/F/O/empty) ↔ Patient.gender (code: male / female / other / unknown). DICOM 'O' maps to FHIR 'other'; empty DICOM → FHIR 'unknown' or absent.

Patient.identifier

  • (0010,0020) Patient ID PatientID

    Raw: PatientID ↔ Patient.identifier where system identifies the issuing assigning authority (commonly a local hospital MRN namespace). Use a coded type like MR (Medical Record Number) per HL7v2-0203.

Patient.name

  • (0010,0010) Patient's Name PatientName

    Raw: PatientName ↔ Patient.name (HumanName) — DICOM PN VR's 5 components (family^given^middle^prefix^suffix) map to FHIR HumanName fields family, given[], use=…, prefix[], suffix[]

Patient.telecom

ServiceRequest.identifier

ServiceRequest.identifier (filler)

ServiceRequest.identifier (placer)

FHIR ↔ DICOM Integration

Bridging DICOM PACS/VNA workflows to FHIR R4/R5 stacks is one of the most requested modernization patterns Saga IT's medical imaging team builds. If you're constructing ImagingStudy resources from incoming DIMSE store, or exposing a FHIR endpoint over a legacy PACS via DICOMweb + FHIR Bridge, talk to Saga IT.