ImagingStudy — detail: DICOM linkage
Bridge between the DICOM PACS (Picture Archiving and Communication System) and FHIR REST. ImagingStudy exposes a DICOM Study via the FHIR API without duplicating pixels.
DICOM <-> FHIR pivot
ImagingStudy does not transport pixels. It carries only the descriptive structure of a DICOM Study: Study Instance UID, Series, Instance UID. The pixels themselves stay in the PACS and are retrieved via WADO-RS (DICOMweb), QIDO-RS for search, STOW-RS for storage.
series/instance structure
- ImagingStudy = DICOM Study level. An
urn:oid:UIDidentifier. - series[] = DICOM Series level. A modality (MR, CT, US, XA, ...), a bodySite, a description.
- series.instance[] = DICOM SOP Instance level. A SOP Class UID + SOP Instance UID.
WADO-RS access
To retrieve pixels:
GET {endpoint.address}/studies/{studyUID}— full DICOM Study as multipart/related (DICOM MIME).GET {endpoint.address}/studies/{studyUID}/series/{seriesUID}/instances/{instanceUID}/frames/1— frame as JPEG/PNG/multipart.GET {endpoint.address}/studies/{studyUID}/metadata— DICOM metadata as JSON.
Example: brain MRI
{
"resourceType": "ImagingStudy",
"id": "study-mri-brain-001",
"identifier": [{
"system": "urn:dicom:uid",
"value": "urn:oid:1.2.826.0.1.3680043.8.498.123456789"
}],
"status": "available",
"modality": [{
"system": "http://dicom.nema.org/resources/ontology/DCM",
"code": "MR",
"display": "Magnetic Resonance"
}],
"subject": { "reference": "Patient/marie-dupont" },
"encounter": { "reference": "Encounter/enc-2026-05-18" },
"started": "2026-05-18T10:30:00+02:00",
"basedOn": [{ "reference": "ServiceRequest/sr-brain-mri-001" }],
"referrer": { "reference": "Practitioner/dr-neurologue" },
"interpreter": [{ "reference": "Practitioner/dr-radiologue" }],
"endpoint": [{ "reference": "Endpoint/pacs-wadors-acme" }],
"numberOfSeries": 4,
"numberOfInstances": 752,
"description": "Brain MRI 3T with contrast",
"series": [{
"uid": "1.2.826.0.1.3680043.8.498.123456789.1",
"number": 1,
"modality": {
"system": "http://dicom.nema.org/resources/ontology/DCM",
"code": "MR"
},
"description": "T1 axial",
"numberOfInstances": 180,
"bodySite": {
"concept": { "coding": [{
"system": "http://snomed.info/sct",
"code": "12738006",
"display": "Brain"
}] }
}
}]
} Common pitfalls
- Non-OID UID — DICOM mandates OID UIDs. Always use
urn:dicom:uid+urn:oid:invalue. - No endpoint — without an Endpoint pointing to the PACS WADO-RS, the client has no way to access pixels.
- Missing series-level modality — each series must carry a modality, or viewers cannot decode it.
- Inconsistent numberOfInstances — verify the sum of series.instance against the declared total.