ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

ImagingStudy — DICOM study in FHIR

Chest CT, brain MR, ultrasound: ImagingStudy is the FHIR bridge to DICOM. DICOM UID, series, instances, modality — the metadata of a medical imaging study, without the pixel.

Purpose

ImagingStudy describes the metadata of a medical imaging study stored in a PACS: DICOM identifier (Study Instance UID), modality (CT, MR, US, XA, PT), series, individual instances (DICOM objects). Pixel access happens through WADO-RS, WADO-URI or DICOMweb — URLs are carried by endpoint on ImagingStudy or its series.

Key fields

FieldTypeCardinalityRole
identifierIdentifier[]0..*External identifiers — typically Study Instance UID in urn:dicom:uid.
statuscode1..1Mandatory. registered, available, cancelled, entered-in-error, unknown.
modalityCodeableConcept[]0..*DICOM modalities (CT, MR, US…).
subjectReference(Patient | Device | Group)1..1Mandatory. Subject.
encounterReference(Encounter)0..1Context.
starteddateTime0..1Study start.
basedOnReference(Any)[]0..*Originating orders.
partOfReference(Procedure)0..*Parent procedure.
referrerReference(Practitioner | PractitionerRole)0..1Referrer.
endpointReference(Endpoint)[]0..*PACS endpoints (WADO-RS, etc.).
numberOfSeriesunsignedInt0..1Number of series.
numberOfInstancesunsignedInt0..1Number of instances.
procedureCodeableReference[]0..*Performed procedure(s).
locationReference(Location)0..1Location.
reasonCodeableReference[]0..*Indication.
noteAnnotation[]0..*Notes.
descriptionstring0..1Free description.
seriesBackboneElement[]0..*DICOM series: uid, number, modality, description, numberOfInstances, bodySite, started, performer, endpoint, specimen, instance[].

JSON example

Pulmonary embolism chest CT, 4 series, 312 instances:

json imagingstudy-ct-thorax.json
{
  "resourceType": "ImagingStudy",
  "id": "is-thorax-ct-001",
  "identifier": [{
    "system": "urn:dicom:uid",
    "value": "urn:oid:1.2.840.113619.2.62.994044785528.114289542244"
  }],
  "status": "available",
  "modality": [{
    "system": "http://dicom.nema.org/resources/ontology/DCM",
    "code": "CT",
    "display": "Computed Tomography"
  }],
  "subject": { "reference": "Patient/doe-john" },
  "encounter": { "reference": "Encounter/enc-radio-2026-05-15" },
  "started": "2026-05-15T14:30:00+02:00",
  "basedOn": [{ "reference": "ServiceRequest/sr-ct-thorax-001" }],
  "referrer": { "reference": "Practitioner/dr-smith" },
  "numberOfSeries": 4,
  "numberOfInstances": 312,
  "procedure": [{
    "concept": {
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "418394000",
        "display": "Computed tomography of thorax"
      }]
    }
  }],
  "reason": [{
    "concept": {
      "coding": [{
        "system": "http://snomed.info/sct",
        "code": "162573006",
        "display": "Suspected pulmonary embolism"
      }]
    }
  }],
  "description": "Chest CT with contrast, pulmonary embolism protocol",
  "series": [{
    "uid": "1.2.840.113619.2.62.994044785528.114289542244.1",
    "number": 1,
    "modality": {
      "system": "http://dicom.nema.org/resources/ontology/DCM",
      "code": "CT"
    },
    "description": "Axial slices, mediastinal window",
    "numberOfInstances": 156,
    "bodySite": {
      "concept": {
        "coding": [{
          "system": "http://snomed.info/sct",
          "code": "51185008",
          "display": "Thoracic structure"
        }]
      }
    },
    "started": "2026-05-15T14:35:00+02:00"
  }]
}

Common pitfalls

  • DICOM UID in id instead of identifier — the FHIR id is internal to the server; the DICOM UID is an external identifier.
  • No WADO endpoint — without a PACS URL, you can't fetch the images.
  • modality without DICOM system — use http://dicom.nema.org/resources/ontology/DCM, not free text.
  • Confusing numberOfInstances and numberOfSeries — a CT study can have 4 series of 100 instances each = 400 instances total.
  • Pixel embedded in media — anti-pattern. ImagingStudy NEVER carries the pixel, only the PACS reference.