This page is part of the FHIR Specification (v4.6.0: R5 Draft Ballot - see ballot notes). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4 R3 R2
Imaging Integration Work Group | Maturity Level: 3 | Trial Use | Security Category: Patient | Compartments: Patient |
Representation of the content produced in a DICOM imaging study. A study comprises a set of series, each of which includes a set of Service-Object Pair Instances (SOP Instances - images or other data) acquired or produced in a common context. A series is of only one modality (e.g. X-ray, CT, MR, ultrasound), but a study may have multiple series of different modalities.
ImagingStudy provides information on a DICOM imaging study, and the series and imaging objects in that study. It also provides information on how to retrieve that information (in a native DICOM format, or in a rendered format, such as JPEG). ImagingStudy is used to make available information about all parts of a single DICOM study.
This resource provides mappings of its elements to DICOM attributes. DICOM attributes are identified by a 32-bit tag, presented in canonical form as two four-digit hexadecimal values within parentheses and separated by a comma, e.g. (0008,103E). The name and value representation (data type) of each attribute can be found in DICOM Part 6 Data Dictionary . The use of the attributes in the context of information objects, including detailed description of use, can be found in DICOM Part 3 Information Object Definitions . Attributes used in the DICOM query information models, such as "Number of Instances in Study", can be found in DICOM Part 4 Annex C .
ImagingStudy provides access to significant DICOM information but will only eliminate the need for DICOM query (e.g., QIDO-RS) in the simplest cases. The DICOM instances are not stored in the ImagingStudy resource; use of a DICOM WADO-RS server or other storage mechanism is needed.
An ImagingStudy SHALL reference one DICOM Study, and MAY reference a subset of that Study. More than one ImagingStudy MAY reference the same DICOM Study or different subsets of the same DICOM Study.
ImagingStudy is used for DICOM imaging and associated information. Use DocumentReference to track non-DICOM images, video, or audio. Binary can be used to store arbitrary content. DocumentReference allow indexing and retrieval of clinical “documents” with relevant metadata.
This resource is referenced by ChargeItem, DiagnosticReport and Observation.
This resource implements the Event pattern.
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ImagingStudy | TU | DomainResource | A set of images produced in single study (one or more series of references images) Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Identifiers for the whole study |
status | ?!Σ | 1..1 | code | registered | available | cancelled | entered-in-error | unknown ImagingStudyStatus (Required) |
modality | Σ | 0..* | Coding | All of the distinct values for series' modalities ImagingModality (Extensible) |
subject | Σ | 1..1 | Reference(Patient | Device | Group) | Who or what is the subject of the study |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter with which this imaging study is associated |
started | Σ | 0..1 | dateTime | When the study was started |
basedOn | Σ | 0..* | Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task) | Request fulfilled |
referrer | Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Referring physician |
interpreter | Σ | 0..* | Reference(Practitioner | PractitionerRole) | Who interpreted images |
endpoint | Σ | 0..* | Reference(Endpoint) | Study access endpoint |
numberOfSeries | Σ | 0..1 | unsignedInt | Number of Study Related Series |
numberOfInstances | Σ | 0..1 | unsignedInt | Number of Study Related Instances |
procedure | 0..* | BackboneElement | The performed procedure or code | |
value[x] | Σ | 1..1 | The performed Procedure ImagingProcedureCode (Extensible) | |
valueReference | Reference(Procedure) | |||
valueCodeableConcept | CodeableConcept | |||
location | Σ | 0..1 | Reference(Location) | Where ImagingStudy occurred |
reason | Σ | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the study was requested / performed Procedure Reason Codes (Example) |
note | Σ | 0..* | Annotation | User-defined comments |
description | Σ | 0..1 | string | Institution-generated description |
series | Σ | 0..* | BackboneElement | Each study has one or more series of instances |
uid | Σ | 1..1 | id | DICOM Series Instance UID for the series |
number | Σ | 0..1 | unsignedInt | Numeric identifier of this series |
modality | Σ | 1..1 | Coding | The modality used for this series ImagingModality (Extensible) |
description | Σ | 0..1 | string | A short human readable summary of the series |
numberOfInstances | Σ | 0..1 | unsignedInt | Number of Series Related Instances |
endpoint | Σ | 0..* | Reference(Endpoint) | Series access endpoint |
bodySite | Σ | 0..1 | Coding | Body part examined SNOMED CT Body Structures (Example) |
laterality | Σ | 0..1 | Coding | Body part laterality Laterality (Example) |
specimen | Σ | 0..* | Reference(Specimen) | Specimen imaged |
started | Σ | 0..1 | dateTime | When the series started |
performer | Σ | 0..* | BackboneElement | Who performed the series |
function | Σ | 0..1 | CodeableConcept | Type of performance ImagingStudy series performer function (Extensible) |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson | HealthcareService) | Who performed the series |
instance | 0..* | BackboneElement | A single SOP instance from the series | |
uid | 1..1 | id | DICOM SOP Instance UID | |
sopClass | 1..1 | Coding | DICOM class type sopClass (Extensible) | |
number | 0..1 | unsignedInt | The number of this instance in the series | |
title | 0..1 | string | Description of instance | |
Documentation for this format |
UML Diagram (Legend)
XML Template
<ImagingStudy xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers for the whole study --></identifier> <status value="[code]"/><!-- 1..1 registered | available | cancelled | entered-in-error | unknown --> <modality><!-- 0..* Coding All of the distinct values for series' modalities --></modality> <subject><!-- 1..1 Reference(Device|Group|Patient) Who or what is the subject of the study --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter with which this imaging study is associated --></encounter> <started value="[dateTime]"/><!-- 0..1 When the study was started --> <basedOn><!-- 0..* Reference(Appointment|AppointmentResponse|CarePlan| ServiceRequest|Task) Request fulfilled --></basedOn> <referrer><!-- 0..1 Reference(Practitioner|PractitionerRole) Referring physician --></referrer> <interpreter><!-- 0..* Reference(Practitioner|PractitionerRole) Who interpreted images --></interpreter> <endpoint><!-- 0..* Reference(Endpoint) Study access endpoint --></endpoint> <numberOfSeries value="[unsignedInt]"/><!-- 0..1 Number of Study Related Series --> <numberOfInstances value="[unsignedInt]"/><!-- 0..1 Number of Study Related Instances --> <procedure> <!-- 0..* The performed procedure or code --> <value[x]><!-- 1..1 Reference(Procedure)|CodeableConcept The performed Procedure --></value[x]> </procedure> <location><!-- 0..1 Reference(Location) Where ImagingStudy occurred --></location> <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) Why the study was requested / performed --></reason> <note><!-- 0..* Annotation User-defined comments --></note> <description value="[string]"/><!-- 0..1 Institution-generated description --> <series> <!-- 0..* Each study has one or more series of instances --> <uid value="[id]"/><!-- 1..1 DICOM Series Instance UID for the series --> <number value="[unsignedInt]"/><!-- 0..1 Numeric identifier of this series --> <modality><!-- 1..1 Coding The modality used for this series --></modality> <description value="[string]"/><!-- 0..1 A short human readable summary of the series --> <numberOfInstances value="[unsignedInt]"/><!-- 0..1 Number of Series Related Instances --> <endpoint><!-- 0..* Reference(Endpoint) Series access endpoint --></endpoint> <bodySite><!-- 0..1 Coding Body part examined --></bodySite> <laterality><!-- 0..1 Coding Body part laterality --></laterality> <specimen><!-- 0..* Reference(Specimen) Specimen imaged --></specimen> <started value="[dateTime]"/><!-- 0..1 When the series started --> <performer> <!-- 0..* Who performed the series --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the series --></actor> </performer> <instance> <!-- 0..* A single SOP instance from the series --> <uid value="[id]"/><!-- 1..1 DICOM SOP Instance UID --> <sopClass><!-- 1..1 Coding DICOM class type --></sopClass> <number value="[unsignedInt]"/><!-- 0..1 The number of this instance in the series --> <title value="[string]"/><!-- 0..1 Description of instance --> </instance> </series> </ImagingStudy>
JSON Template
{ "resourceType" : "ImagingStudy", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers for the whole study "status" : "<code>", // R! registered | available | cancelled | entered-in-error | unknown "modality" : [{ Coding }], // All of the distinct values for series' modalities "subject" : { Reference(Device|Group|Patient) }, // R! Who or what is the subject of the study "encounter" : { Reference(Encounter) }, // Encounter with which this imaging study is associated "started" : "<dateTime>", // When the study was started "basedOn" : [{ Reference(Appointment|AppointmentResponse|CarePlan| ServiceRequest|Task) }], // Request fulfilled "referrer" : { Reference(Practitioner|PractitionerRole) }, // Referring physician "interpreter" : [{ Reference(Practitioner|PractitionerRole) }], // Who interpreted images "endpoint" : [{ Reference(Endpoint) }], // Study access endpoint "numberOfSeries" : "<unsignedInt>", // Number of Study Related Series "numberOfInstances" : "<unsignedInt>", // Number of Study Related Instances "procedure" : [{ // The performed procedure or code // value[x]: The performed Procedure. One of these 2: "valueReference" : { Reference(Procedure) } "valueCodeableConcept" : { CodeableConcept } }], "location" : { Reference(Location) }, // Where ImagingStudy occurred "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) }], // Why the study was requested / performed "note" : [{ Annotation }], // User-defined comments "description" : "<string>", // Institution-generated description "series" : [{ // Each study has one or more series of instances "uid" : "<id>", // R! DICOM Series Instance UID for the series "number" : "<unsignedInt>", // Numeric identifier of this series "modality" : { Coding }, // R! The modality used for this series "description" : "<string>", // A short human readable summary of the series "numberOfInstances" : "<unsignedInt>", // Number of Series Related Instances "endpoint" : [{ Reference(Endpoint) }], // Series access endpoint "bodySite" : { Coding }, // Body part examined "laterality" : { Coding }, // Body part laterality "specimen" : [{ Reference(Specimen) }], // Specimen imaged "started" : "<dateTime>", // When the series started "performer" : [{ // Who performed the series "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) } // R! Who performed the series }], "instance" : [{ // A single SOP instance from the series "uid" : "<id>", // R! DICOM SOP Instance UID "sopClass" : { Coding }, // R! DICOM class type "number" : "<unsignedInt>", // The number of this instance in the series "title" : "<string>" // Description of instance }] }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ImagingStudy; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:ImagingStudy.identifier [ Identifier ], ... ; # 0..* Identifiers for the whole study fhir:ImagingStudy.status [ code ]; # 1..1 registered | available | cancelled | entered-in-error | unknown fhir:ImagingStudy.modality [ Coding ], ... ; # 0..* All of the distinct values for series' modalities fhir:ImagingStudy.subject [ Reference(Device|Group|Patient) ]; # 1..1 Who or what is the subject of the study fhir:ImagingStudy.encounter [ Reference(Encounter) ]; # 0..1 Encounter with which this imaging study is associated fhir:ImagingStudy.started [ dateTime ]; # 0..1 When the study was started fhir:ImagingStudy.basedOn [ Reference(Appointment|AppointmentResponse|CarePlan|ServiceRequest|Task) ], ... ; # 0..* Request fulfilled fhir:ImagingStudy.referrer [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Referring physician fhir:ImagingStudy.interpreter [ Reference(Practitioner|PractitionerRole) ], ... ; # 0..* Who interpreted images fhir:ImagingStudy.endpoint [ Reference(Endpoint) ], ... ; # 0..* Study access endpoint fhir:ImagingStudy.numberOfSeries [ unsignedInt ]; # 0..1 Number of Study Related Series fhir:ImagingStudy.numberOfInstances [ unsignedInt ]; # 0..1 Number of Study Related Instances fhir:ImagingStudy.procedure [ # 0..* The performed procedure or code # ImagingStudy.procedure.value[x] : 1..1 The performed Procedure. One of these 2 fhir:ImagingStudy.procedure.valueReference [ Reference(Procedure) ] fhir:ImagingStudy.procedure.valueCodeableConcept [ CodeableConcept ] ], ...; fhir:ImagingStudy.location [ Reference(Location) ]; # 0..1 Where ImagingStudy occurred fhir:ImagingStudy.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why the study was requested / performed fhir:ImagingStudy.note [ Annotation ], ... ; # 0..* User-defined comments fhir:ImagingStudy.description [ string ]; # 0..1 Institution-generated description fhir:ImagingStudy.series [ # 0..* Each study has one or more series of instances fhir:ImagingStudy.series.uid [ id ]; # 1..1 DICOM Series Instance UID for the series fhir:ImagingStudy.series.number [ unsignedInt ]; # 0..1 Numeric identifier of this series fhir:ImagingStudy.series.modality [ Coding ]; # 1..1 The modality used for this series fhir:ImagingStudy.series.description [ string ]; # 0..1 A short human readable summary of the series fhir:ImagingStudy.series.numberOfInstances [ unsignedInt ]; # 0..1 Number of Series Related Instances fhir:ImagingStudy.series.endpoint [ Reference(Endpoint) ], ... ; # 0..* Series access endpoint fhir:ImagingStudy.series.bodySite [ Coding ]; # 0..1 Body part examined fhir:ImagingStudy.series.laterality [ Coding ]; # 0..1 Body part laterality fhir:ImagingStudy.series.specimen [ Reference(Specimen) ], ... ; # 0..* Specimen imaged fhir:ImagingStudy.series.started [ dateTime ]; # 0..1 When the series started fhir:ImagingStudy.series.performer [ # 0..* Who performed the series fhir:ImagingStudy.series.performer.function [ CodeableConcept ]; # 0..1 Type of performance fhir:ImagingStudy.series.performer.actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ]; # 1..1 Who performed the series ], ...; fhir:ImagingStudy.series.instance [ # 0..* A single SOP instance from the series fhir:ImagingStudy.series.instance.uid [ id ]; # 1..1 DICOM SOP Instance UID fhir:ImagingStudy.series.instance.sopClass [ Coding ]; # 1..1 DICOM class type fhir:ImagingStudy.series.instance.number [ unsignedInt ]; # 0..1 The number of this instance in the series fhir:ImagingStudy.series.instance.title [ string ]; # 0..1 Description of instance ], ...; ], ...; ]
Changes since R3
ImagingStudy | |
ImagingStudy.status |
|
ImagingStudy.modality |
|
ImagingStudy.procedure |
|
ImagingStudy.procedure.value[x] |
|
ImagingStudy.reason |
|
ImagingStudy.series.modality |
|
ImagingStudy.series.performer.actor |
|
ImagingStudy.procedureReference |
|
ImagingStudy.procedureCode |
|
ImagingStudy.reasonCode |
|
ImagingStudy.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (0 errors).)
Structure
Name | Flags | Card. | Type | Description & Constraints |
---|---|---|---|---|
ImagingStudy | TU | DomainResource | A set of images produced in single study (one or more series of references images) Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension | |
identifier | Σ | 0..* | Identifier | Identifiers for the whole study |
status | ?!Σ | 1..1 | code | registered | available | cancelled | entered-in-error | unknown ImagingStudyStatus (Required) |
modality | Σ | 0..* | Coding | All of the distinct values for series' modalities ImagingModality (Extensible) |
subject | Σ | 1..1 | Reference(Patient | Device | Group) | Who or what is the subject of the study |
encounter | Σ | 0..1 | Reference(Encounter) | Encounter with which this imaging study is associated |
started | Σ | 0..1 | dateTime | When the study was started |
basedOn | Σ | 0..* | Reference(CarePlan | ServiceRequest | Appointment | AppointmentResponse | Task) | Request fulfilled |
referrer | Σ | 0..1 | Reference(Practitioner | PractitionerRole) | Referring physician |
interpreter | Σ | 0..* | Reference(Practitioner | PractitionerRole) | Who interpreted images |
endpoint | Σ | 0..* | Reference(Endpoint) | Study access endpoint |
numberOfSeries | Σ | 0..1 | unsignedInt | Number of Study Related Series |
numberOfInstances | Σ | 0..1 | unsignedInt | Number of Study Related Instances |
procedure | 0..* | BackboneElement | The performed procedure or code | |
value[x] | Σ | 1..1 | The performed Procedure ImagingProcedureCode (Extensible) | |
valueReference | Reference(Procedure) | |||
valueCodeableConcept | CodeableConcept | |||
location | Σ | 0..1 | Reference(Location) | Where ImagingStudy occurred |
reason | Σ | 0..* | CodeableReference(Condition | Observation | DiagnosticReport | DocumentReference) | Why the study was requested / performed Procedure Reason Codes (Example) |
note | Σ | 0..* | Annotation | User-defined comments |
description | Σ | 0..1 | string | Institution-generated description |
series | Σ | 0..* | BackboneElement | Each study has one or more series of instances |
uid | Σ | 1..1 | id | DICOM Series Instance UID for the series |
number | Σ | 0..1 | unsignedInt | Numeric identifier of this series |
modality | Σ | 1..1 | Coding | The modality used for this series ImagingModality (Extensible) |
description | Σ | 0..1 | string | A short human readable summary of the series |
numberOfInstances | Σ | 0..1 | unsignedInt | Number of Series Related Instances |
endpoint | Σ | 0..* | Reference(Endpoint) | Series access endpoint |
bodySite | Σ | 0..1 | Coding | Body part examined SNOMED CT Body Structures (Example) |
laterality | Σ | 0..1 | Coding | Body part laterality Laterality (Example) |
specimen | Σ | 0..* | Reference(Specimen) | Specimen imaged |
started | Σ | 0..1 | dateTime | When the series started |
performer | Σ | 0..* | BackboneElement | Who performed the series |
function | Σ | 0..1 | CodeableConcept | Type of performance ImagingStudy series performer function (Extensible) |
actor | Σ | 1..1 | Reference(Practitioner | PractitionerRole | Organization | CareTeam | Patient | Device | RelatedPerson | HealthcareService) | Who performed the series |
instance | 0..* | BackboneElement | A single SOP instance from the series | |
uid | 1..1 | id | DICOM SOP Instance UID | |
sopClass | 1..1 | Coding | DICOM class type sopClass (Extensible) | |
number | 0..1 | unsignedInt | The number of this instance in the series | |
title | 0..1 | string | Description of instance | |
Documentation for this format |
XML Template
<ImagingStudy xmlns="http://hl7.org/fhir"> <!-- from Resource: id, meta, implicitRules, and language --> <!-- from DomainResource: text, contained, extension, and modifierExtension --> <identifier><!-- 0..* Identifier Identifiers for the whole study --></identifier> <status value="[code]"/><!-- 1..1 registered | available | cancelled | entered-in-error | unknown --> <modality><!-- 0..* Coding All of the distinct values for series' modalities --></modality> <subject><!-- 1..1 Reference(Device|Group|Patient) Who or what is the subject of the study --></subject> <encounter><!-- 0..1 Reference(Encounter) Encounter with which this imaging study is associated --></encounter> <started value="[dateTime]"/><!-- 0..1 When the study was started --> <basedOn><!-- 0..* Reference(Appointment|AppointmentResponse|CarePlan| ServiceRequest|Task) Request fulfilled --></basedOn> <referrer><!-- 0..1 Reference(Practitioner|PractitionerRole) Referring physician --></referrer> <interpreter><!-- 0..* Reference(Practitioner|PractitionerRole) Who interpreted images --></interpreter> <endpoint><!-- 0..* Reference(Endpoint) Study access endpoint --></endpoint> <numberOfSeries value="[unsignedInt]"/><!-- 0..1 Number of Study Related Series --> <numberOfInstances value="[unsignedInt]"/><!-- 0..1 Number of Study Related Instances --> <procedure> <!-- 0..* The performed procedure or code --> <value[x]><!-- 1..1 Reference(Procedure)|CodeableConcept The performed Procedure --></value[x]> </procedure> <location><!-- 0..1 Reference(Location) Where ImagingStudy occurred --></location> <reason><!-- 0..* CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) Why the study was requested / performed --></reason> <note><!-- 0..* Annotation User-defined comments --></note> <description value="[string]"/><!-- 0..1 Institution-generated description --> <series> <!-- 0..* Each study has one or more series of instances --> <uid value="[id]"/><!-- 1..1 DICOM Series Instance UID for the series --> <number value="[unsignedInt]"/><!-- 0..1 Numeric identifier of this series --> <modality><!-- 1..1 Coding The modality used for this series --></modality> <description value="[string]"/><!-- 0..1 A short human readable summary of the series --> <numberOfInstances value="[unsignedInt]"/><!-- 0..1 Number of Series Related Instances --> <endpoint><!-- 0..* Reference(Endpoint) Series access endpoint --></endpoint> <bodySite><!-- 0..1 Coding Body part examined --></bodySite> <laterality><!-- 0..1 Coding Body part laterality --></laterality> <specimen><!-- 0..* Reference(Specimen) Specimen imaged --></specimen> <started value="[dateTime]"/><!-- 0..1 When the series started --> <performer> <!-- 0..* Who performed the series --> <function><!-- 0..1 CodeableConcept Type of performance --></function> <actor><!-- 1..1 Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) Who performed the series --></actor> </performer> <instance> <!-- 0..* A single SOP instance from the series --> <uid value="[id]"/><!-- 1..1 DICOM SOP Instance UID --> <sopClass><!-- 1..1 Coding DICOM class type --></sopClass> <number value="[unsignedInt]"/><!-- 0..1 The number of this instance in the series --> <title value="[string]"/><!-- 0..1 Description of instance --> </instance> </series> </ImagingStudy>
JSON Template
{ "resourceType" : "ImagingStudy", // from Resource: id, meta, implicitRules, and language // from DomainResource: text, contained, extension, and modifierExtension "identifier" : [{ Identifier }], // Identifiers for the whole study "status" : "<code>", // R! registered | available | cancelled | entered-in-error | unknown "modality" : [{ Coding }], // All of the distinct values for series' modalities "subject" : { Reference(Device|Group|Patient) }, // R! Who or what is the subject of the study "encounter" : { Reference(Encounter) }, // Encounter with which this imaging study is associated "started" : "<dateTime>", // When the study was started "basedOn" : [{ Reference(Appointment|AppointmentResponse|CarePlan| ServiceRequest|Task) }], // Request fulfilled "referrer" : { Reference(Practitioner|PractitionerRole) }, // Referring physician "interpreter" : [{ Reference(Practitioner|PractitionerRole) }], // Who interpreted images "endpoint" : [{ Reference(Endpoint) }], // Study access endpoint "numberOfSeries" : "<unsignedInt>", // Number of Study Related Series "numberOfInstances" : "<unsignedInt>", // Number of Study Related Instances "procedure" : [{ // The performed procedure or code // value[x]: The performed Procedure. One of these 2: "valueReference" : { Reference(Procedure) } "valueCodeableConcept" : { CodeableConcept } }], "location" : { Reference(Location) }, // Where ImagingStudy occurred "reason" : [{ CodeableReference(Condition|DiagnosticReport|DocumentReference| Observation) }], // Why the study was requested / performed "note" : [{ Annotation }], // User-defined comments "description" : "<string>", // Institution-generated description "series" : [{ // Each study has one or more series of instances "uid" : "<id>", // R! DICOM Series Instance UID for the series "number" : "<unsignedInt>", // Numeric identifier of this series "modality" : { Coding }, // R! The modality used for this series "description" : "<string>", // A short human readable summary of the series "numberOfInstances" : "<unsignedInt>", // Number of Series Related Instances "endpoint" : [{ Reference(Endpoint) }], // Series access endpoint "bodySite" : { Coding }, // Body part examined "laterality" : { Coding }, // Body part laterality "specimen" : [{ Reference(Specimen) }], // Specimen imaged "started" : "<dateTime>", // When the series started "performer" : [{ // Who performed the series "function" : { CodeableConcept }, // Type of performance "actor" : { Reference(CareTeam|Device|HealthcareService|Organization| Patient|Practitioner|PractitionerRole|RelatedPerson) } // R! Who performed the series }], "instance" : [{ // A single SOP instance from the series "uid" : "<id>", // R! DICOM SOP Instance UID "sopClass" : { Coding }, // R! DICOM class type "number" : "<unsignedInt>", // The number of this instance in the series "title" : "<string>" // Description of instance }] }] }
Turtle Template
@prefix fhir: <http://hl7.org/fhir/> . [ a fhir:ImagingStudy; fhir:nodeRole fhir:treeRoot; # if this is the parser root # from Resource: .id, .meta, .implicitRules, and .language # from DomainResource: .text, .contained, .extension, and .modifierExtension fhir:ImagingStudy.identifier [ Identifier ], ... ; # 0..* Identifiers for the whole study fhir:ImagingStudy.status [ code ]; # 1..1 registered | available | cancelled | entered-in-error | unknown fhir:ImagingStudy.modality [ Coding ], ... ; # 0..* All of the distinct values for series' modalities fhir:ImagingStudy.subject [ Reference(Device|Group|Patient) ]; # 1..1 Who or what is the subject of the study fhir:ImagingStudy.encounter [ Reference(Encounter) ]; # 0..1 Encounter with which this imaging study is associated fhir:ImagingStudy.started [ dateTime ]; # 0..1 When the study was started fhir:ImagingStudy.basedOn [ Reference(Appointment|AppointmentResponse|CarePlan|ServiceRequest|Task) ], ... ; # 0..* Request fulfilled fhir:ImagingStudy.referrer [ Reference(Practitioner|PractitionerRole) ]; # 0..1 Referring physician fhir:ImagingStudy.interpreter [ Reference(Practitioner|PractitionerRole) ], ... ; # 0..* Who interpreted images fhir:ImagingStudy.endpoint [ Reference(Endpoint) ], ... ; # 0..* Study access endpoint fhir:ImagingStudy.numberOfSeries [ unsignedInt ]; # 0..1 Number of Study Related Series fhir:ImagingStudy.numberOfInstances [ unsignedInt ]; # 0..1 Number of Study Related Instances fhir:ImagingStudy.procedure [ # 0..* The performed procedure or code # ImagingStudy.procedure.value[x] : 1..1 The performed Procedure. One of these 2 fhir:ImagingStudy.procedure.valueReference [ Reference(Procedure) ] fhir:ImagingStudy.procedure.valueCodeableConcept [ CodeableConcept ] ], ...; fhir:ImagingStudy.location [ Reference(Location) ]; # 0..1 Where ImagingStudy occurred fhir:ImagingStudy.reason [ CodeableReference(Condition|DiagnosticReport|DocumentReference|Observation) ], ... ; # 0..* Why the study was requested / performed fhir:ImagingStudy.note [ Annotation ], ... ; # 0..* User-defined comments fhir:ImagingStudy.description [ string ]; # 0..1 Institution-generated description fhir:ImagingStudy.series [ # 0..* Each study has one or more series of instances fhir:ImagingStudy.series.uid [ id ]; # 1..1 DICOM Series Instance UID for the series fhir:ImagingStudy.series.number [ unsignedInt ]; # 0..1 Numeric identifier of this series fhir:ImagingStudy.series.modality [ Coding ]; # 1..1 The modality used for this series fhir:ImagingStudy.series.description [ string ]; # 0..1 A short human readable summary of the series fhir:ImagingStudy.series.numberOfInstances [ unsignedInt ]; # 0..1 Number of Series Related Instances fhir:ImagingStudy.series.endpoint [ Reference(Endpoint) ], ... ; # 0..* Series access endpoint fhir:ImagingStudy.series.bodySite [ Coding ]; # 0..1 Body part examined fhir:ImagingStudy.series.laterality [ Coding ]; # 0..1 Body part laterality fhir:ImagingStudy.series.specimen [ Reference(Specimen) ], ... ; # 0..* Specimen imaged fhir:ImagingStudy.series.started [ dateTime ]; # 0..1 When the series started fhir:ImagingStudy.series.performer [ # 0..* Who performed the series fhir:ImagingStudy.series.performer.function [ CodeableConcept ]; # 0..1 Type of performance fhir:ImagingStudy.series.performer.actor [ Reference(CareTeam|Device|HealthcareService|Organization|Patient|Practitioner| PractitionerRole|RelatedPerson) ]; # 1..1 Who performed the series ], ...; fhir:ImagingStudy.series.instance [ # 0..* A single SOP instance from the series fhir:ImagingStudy.series.instance.uid [ id ]; # 1..1 DICOM SOP Instance UID fhir:ImagingStudy.series.instance.sopClass [ Coding ]; # 1..1 DICOM class type fhir:ImagingStudy.series.instance.number [ unsignedInt ]; # 0..1 The number of this instance in the series fhir:ImagingStudy.series.instance.title [ string ]; # 0..1 Description of instance ], ...; ], ...; ]
Changes since Release 3
ImagingStudy | |
ImagingStudy.status |
|
ImagingStudy.modality |
|
ImagingStudy.procedure |
|
ImagingStudy.procedure.value[x] |
|
ImagingStudy.reason |
|
ImagingStudy.series.modality |
|
ImagingStudy.series.performer.actor |
|
ImagingStudy.procedureReference |
|
ImagingStudy.procedureCode |
|
ImagingStudy.reasonCode |
|
ImagingStudy.reasonReference |
|
See the Full Difference for further information
This analysis is available as XML or JSON.
See R3 <--> R4 Conversion Maps (status = 2 tests that all execute ok. 1 fail round-trip testing and 2 r3 resources are invalid (0 errors).)
See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions, the spreadsheet version & the dependency analysis a
Path | Definition | Type | Reference |
---|---|---|---|
ImagingStudy.status | Required | ImagingStudyStatus | |
ImagingStudy.modality | Extensible | http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_33.html | |
ImagingStudy.procedure.value[x] | The performed procedure type. | Extensible | http://loinc.org/download/loincrsna-radiology-playbook-file/ |
ImagingStudy.reason | Example | ProcedureReasonCodes | |
ImagingStudy.series.modality | Extensible | http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_33.html | |
ImagingStudy.series.bodySite | Codes describing anatomical locations. May include laterality. | Example | SNOMEDCTBodyStructures |
ImagingStudy.series.laterality | Example | http://dicom.nema.org/medical/dicom/current/output/chtml/part16/sect_CID_244.html | |
ImagingStudy.series.performer.function | Extensible | ImagingStudySeriesPerformerFunction | |
ImagingStudy.series.instance.sopClass | Extensible | http://dicom.nema.org/medical/dicom/current/output/chtml/part04/sect_B.5.html#table_B.5-1 |
A referenced DICOM SOP instance could be:
DICOM Series Instance UID and SOP Instance UID use the id
datatype, and are encoded directly. For example, an image with SOP Instance UID of 2.16.124.113543.1154777499.30246.19789.3503430045.1.1
is encoded in ImagingStudy.series.instance.uid
as “2.16.124.113543.1154777499.30246.19789.3503430045.1.1”
.
The ImagingStudy’s DICOM Study Instance UID is encoded in the ImagingStudy.identifier
element, which is of the Identifier
datatype. When encoding a DICOM UID in an Identifier
datatype, use the Identifier system of “urn:dicom:uid”
, and prefix the UID value with “urn:oid:”
. Therefore, an ImagingStudy with DICOM Study Instance UID of 2.16.124.113543.1154777499.30246.19789.3503430046
is encoded as:
"identifier":{ "system":"urn:dicom:uid", "value":"urn:oid:2.16.124.113543.1154777499.30246.19789.3503430046" }
The study accession number can also be encoded as an Reference.Identifier
using the ServiceRequest Reference type and the “ACSN”
identifier type, as follows:
"basedOn": [ "reference": { "type": "ServiceRequest", "identifier":{ "type" : { "coding" : [ { "system" : "http://terminology.hl7.org/CodeSystem/v2-0203", "code" : "ACSN" } ] }, "system":"http://ginormoushospital.org/accession", "value":"GH334103" } } ]
The ImagingStudy.endpoint elements and ImagingStudy.series.endpoint elements indicate network services that can be used to access the studies, series, or instances; for example, a DICOM WADO-RS server. An ImagingStudy.series.endpoint of a particular Endpoint.connectionType provides that service for that series, and all contained instances. An ImagingStudy.endpoint of a particular connection type provides that service for all series in that study that do not have a specified Endpoint of that type, and their contained instances. That is, an ImagingStudy.series.endpoint overrides an ImagingStudy.endpoint of the same connection type. Systems can determine if a particular study, series, or instance is available or offline by interacting with the endpoint. Since each study, or individual series of a study can be stored on different imaging archive servers, per-series endpoints are required. For the identified services and use cases, all instances within a series would be stored together, and thus instance-level endpoints are not defined.
Different Endpoint connection types may have different capabilities, protocols or requirements; and the specified
Endpoint.address
may require manipulation. See below for the details on use of imaging-related Endpoint connection types.
An Endpoint.connectionType
of code dicom-wado-rs
, system http://terminology.hl7.org/CodeSystem/endpoint-connection-type
,
identifies a DICOM WADO-RS service. The Endpoint.address
identifies the HTTP(S) service base url.
That is, only the scheme, authority and path are included. Sub-services, such as study
, shall not be specified.
The path shall not contain a trailing slash.
The DICOM WADO-RS (Web Access to DICOM Objects, RESTful mode) service uses a RESTful approach to instance retrieval.
This service allows for retrieval of native DICOM SOP instances, or instances “rendered” into other formats, including
JPEG and MPEG. The media type of a response is specified by the request Accept header (preferred); or, by the accept
query parameters. Supported media types depend on the capabilities of the WADO-RS server and the classification of the instance
as “single frame,” “multi-frame,” “video,” “text,” or “other.” The WADO-RS service also allows retrieval of study
or series level information.
The path to retrieve a DICOM instance is constructed by appending the appropriate sub-resource paths to the Endpoint.address
value.
For example, using the following information in a fictional ImagingStudy resource:
“https://pacs.hospital.org/wado-rs”
found in an ImagingStudy.endpoint.address
,“1.2.250.1.59.40211.12345678.678910”
found in an ImagingStudy.identifier
having Identifier.system
of “urn:dicom:uid”
,“1.2.250.1.59.40211.789001276.14556172.67789”
found in ImagingStudy.series.uid
, and“1.2.250.1.59.40211.2678810.87991027.899772.2”
found in ImagingStudy.series.instance.uid
https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/1.2.250.1.59.40211.2678810.87991027.899772.2
Query parameters on the "rendered" sub-resource can control other aspects of the rendering including: the rendered dimensions, the quality (compression ratio), the region of interest to render, the brightness/contrast (window center/width) adjustments, and whether to “burn” patient or study demographics into the rendered result. Specific frames of a multi-frame instance may be retrieved using the frames sub-resource.
For example, provided the Accept header indicates a preference for image/jpeg, the example above can be extended with parameters that cause a JPEG (rendered to a size of 400 columns by 400 rows) of a region extending from the top-left corner of the original image to 1000 pixels across and 3000 pixels right, to be retrieved (additional sub-resource and parameters emphasized):
https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/series/1.2.250.1.59.40211.789001276.14556172.67789/instances/1.2.250.1.59.40211.2678810.87991027.899772.2/rendered?viewport=400,400,0,0,1000,3000
If the WADO-RS service supports the DICOMweb thumbnail resource, a representative image can be requested, for example, to display alongside the study. The URL would look as follows:
https://pacs.hospital.org/wado-rs/studies/1.2.250.1.59.40211.12345678.678910/thumbnail
For further details on DICOM WADO-RS capabilities including additional rendering parameters, see DICOM PS 3.18 .
An Endpoint.connectionType
of code dicom-wado-uri
, system http://terminology.hl7.org/CodeSystem/endpoint-connection-type
,
identifies a DICOM WADO-URI service. The Endpoint.address
identifies the HTTP(S) service base url.
That is, only the scheme, authority and path are included. Neither a question mark (“?”) nor any query parameters shall be included.
The DICOM WADO-URI (Web Access to DICOM Objects, URI mode) service uses HTTP query parameter syntax. This service allows for retrieval of native DICOM instances, or instances “rendered” into other formats, including JPEG and MPEG. The media type of a response is specified by the request Accept header (preferred); or, by the contentType query parameter. Supported media types depend on the classification of the instance as “single frame,” “multi-frame,” “video,” “text,” or “other.”
The query to retrieve a DICOM instance is constructed by appending the appropriate query parameters to the Endpoint.address
value.
For example, using the following information in a fictional ImagingStudy resource:
“https://pacs.hospital.org/wado-uri”
found in an ImagingStudy.endpoint.address
,1.2.250.1.59.40211.12345678.678910”
found in an ImagingStudy.identifier
having Identifier.system
of “urn:dicom:uid”
,“1.2.250.1.59.40211.789001276.14556172.67789”
found in ImagingStudy.series.uid
, and“1.2.250.1.59.40211.2678810.87991027.899772.2”
found in ImagingStudy.series.instance.uid
https://pacs.hospital.org/wado-uri?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2
Additional query parameters can control other aspects of the rendering including rendered dimensions, quality (compression ratio), the region of interest within the image to render, brightness/contrast (window center/width) adjustments, whether to “burn” patient or study demographics into the rendered result, and which frame of a multi-frame instance to retrieve.
For example, provided the Accept header indicates a preference for image/jpeg, the example above can be extended with parameters that cause a JPEG thumbnail (100 columns by 100 rows) of the left half of the image to be retrieved (additional parameters emphasized):
https://pacs.hospital.org/wado-uri?requestType=WADO&studyUID=1.2.250.1.59.40211.12345678.678910&seriesUID=1.2.250.1.59.40211.789001276.14556172.67789&objectUID=1.2.250.1.59.40211.2678810.87991027.899772.2&rows=100&columns=100®ion=0,0,0.5,1
For further details on DICOM WADO-URI capabilities including additional rendering parameters, see DICOM PS 3.18 .
An Endpoint.connectionType
of code ihe-iid
, system http://terminology.hl7.org/CodeSystem/endpoint-connection-type
,
identifies an IHE Invoke Image Display (IID) service. The Endpoint.address
identifies the HTTP(S) service base url.
That is, only the scheme, authority and path are included. Neither a question mark (“?”) nor any query parameters shall be included.
The IHE Invoke Image Display (IID) service provides a standardized mechanism to launch a viewer in a particular study context. (IID also supports invoking a particular patient context, but that is not profiled here.) An IID-type Endpoint should be used only at the study level. As well as invoking the viewer on a particular study, query parameters can request particular viewer capabilities, image quality, and more.
To launch a viewer, append the appropriate query parameters to Endpoint.address
value.
For example, using the following information in a fictional ImagingStudy resource:
“https://pacs.hospital.org/IHEInvokeImageDisplay”
found in an ImagingStudy.endpoint.address
,“urn:oid:1.2.250.1.59.40211.12345678.678910”
found in an ImagingStudy.identifier
having Identifier.system
of “urn:dicom:uid”
,https://pacs.hospital.org/IHEInvokeImageDisplay?requestType=STUDY&studyUID=1.2.250.1.59.40211.12345678.678910&diagnosticQuality=true
For further details on IHE Invoke Image Display capabilities including additional parameters, see the IHE Technical Frameworks , or the introduction on the IHE IID Profile Wiki .
Amy, a family physician, would like to see a list of available studies for her patient, Alex, filtered by ImagingStudy.status=available to exclude studies without images. Her EHR client makes a FHIR call for all ImagingStudy objects available for Alex. In the response, she is able to see the study date, procedure, modality, and accession number, for each study returned. There is enough information provided in the response to obtain a thumbnail via a WADO-RS call, or to launch a viewer using an IHE Radiology - Invoke Image Display (IID) profile call using the url elements found in the ImagingStudy.
Joe Angina complains of shortness of breath and occasional chest pain to his primary care physician, Dr. Pat Down at Local MultiClinic, who orders a stress echocardiogram; the order is created as a FHIR Task resource to manage the workflow, with a link to a ServiceRequest resource with the details of the request. The order is scheduled and assigned to cardiologist Dr. Art Skann, also at Local MultiClinic.
On the scheduled day of the exam, Joe arrives at the echo lab to meet with Dr. Skann and have the study done. Dr. Skann’s workstation shows the daily list of Task, and he follows the link to retrieve the ServiceRequest. (He may follow the links through the referenced Patient resource to access Joe’s electronic medical record, but that is not the concern of this storyboard.)
The Task and ServiceRequest has been transcoded to a DICOM Modality Worklist Scheduled Procedure Step, and in the echo lab the equipment has downloaded the Modality Worklist. The study is performed, and the acquired images and sonographer’s preliminary measurements are stored in the Local MultiClinic Picture Archiving and Communication System (PACS). The PACS creates an ImagingStudy resource for each study it manages.
Dr. Skann interprets the study on a PACS workstation, and he selects two key image frames to be included in the diagnostic report; this selection is stored back to the PACS as a DICOM Key Object Selection with the title "For Report Attachment", and the PACS makes it available (transcodes it) as a FHIR ImagingStudy resource. Dr. Skann dictates the report using a structured data entry report writing program, including a recommendation for a cardiac catheterization procedure, and signs it. The report writing program formats the report as a CDA document, retrieves the ImagingStudy resource, and inserts the referenced key images into the report.
Dr. Down meets again with Joe, and they review the results of the stress test. Joe has a question about the findings that the key images in the report do not show, so Dr. Down uses the Local MultiClinic EMR to query the PACS for the full ImagingStudy resource and uses the references there to open an image display for the full study. Joe agrees to proceed to catheterization, and Dr. Down sends a referral to the Ginormous University Hospital cath department and triggers the PACS to share the echo study through the Metropolitan Health Information Exchange.
The PACS creates an imaging study as an ImagingStudy resource, which includes all the images but excludes the sonographer’s preliminary measurements (which as a matter of policy are not shared outside the Local MultiClinic). The imaging study is published to the Metro HIE. (In accordance with IHE XDS-I , the images themselves are not directly published to the HIE, but available for on-demand retrieval from the PACS.)
At Ginormous Hospital, Dr. Cora Plummer receives the cath referral, and looks up the study in the Metro HIE registry. She retrieves the study ImagingStudy, and uses it to access the shared images, which she uses to prepare for the cath procedure.
Depending on the modality and procedure type, a DICOM study can range from having one or two instances instance (as in many X-ray procedures) to several thousand instances (for some CT exams). The number of series within a study has far less variability, and is usually under twenty, although post-processing, computer-aided detection, and AI applications may cause modest increases. An ImagingStudy resource describing a large DICOM study would itself be of significant size.
Issuing narrowly-tailored queries can help a client avoid search results containing many ImagingStudy resources. The _summary=true query parameter will omit several resource elements, including all instance-level elements; this can be used to examine search results before retrieving the full instances. If a server limits the byte size of search bundle, this may impact the number of ImagingStudy resources returned per search result page; a client can use the _count query parameter to influence the number of resources per search result page.
When populating an ImagingStudy resource, storing an update for each DICOM instance in the study could result in sending previously sent information repeatedly--an issue that grows as the study size increases. It might also result in a server maintaining thousands of versions of the resource. Repeated, rapid updates of an ImagingStudy may lead to resource contention.
Although not reflected in the ImagingStudy resource, the size of an individual referenced instance may be anywhere from a few kilobytes (a compressed 256x256 pixel MR or 640x480 pixel ultrasound image) to a gigabyte or more (for digital breast tomography imaging). When retrieving the referenced content of an ImagingStudy, consider whether all DICOM instances are needed, whether DICOM instances are used concurrently or sequentially, and what rendering or Transfer Syntax is appropriate for the use case.
Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.
Name | Type | Description | Expression | In Common |
basedon | reference | The order for the image, such as Accession Number associated with a ServiceRequest | ImagingStudy.basedOn (Appointment, AppointmentResponse, CarePlan, Task, ServiceRequest) | |
bodysite | token | The body site studied | ImagingStudy.series.bodySite | |
dicom-class | token | The type of the instance | ImagingStudy.series.instance.sopClass | |
encounter | reference | The context of the study | ImagingStudy.encounter (Encounter) | |
endpoint | reference | The endpoint for the study or series | ImagingStudy.endpoint | ImagingStudy.series.endpoint (Endpoint) | |
identifier | token | Identifiers for the Study, such as DICOM Study Instance UID | ImagingStudy.identifier | |
instance N | token | SOP Instance UID for an instance | ImagingStudy.series.instance.uid | |
interpreter | reference | Who interpreted the images | ImagingStudy.interpreter (Practitioner, PractitionerRole) | |
modality | token | The modality of the series | ImagingStudy.series.modality | |
patient | reference | Who the study is about | ImagingStudy.subject.where(resolve() is Patient) (Group, Device, Patient) | |
performer | reference | The person who performed the study | ImagingStudy.series.performer.actor (Practitioner, Organization, CareTeam, Device, Patient, HealthcareService, PractitionerRole, RelatedPerson) | |
reason | token | The reason for the study | ||
referrer | reference | The referring physician | ImagingStudy.referrer (Practitioner, PractitionerRole) | |
series N | token | DICOM Series Instance UID for a series | ImagingStudy.series.uid | |
started N | date | When the study was started | ImagingStudy.started | |
status N | token | The status of the study | ImagingStudy.status | |
subject | reference | Who the study is about | ImagingStudy.subject (Group, Device, Patient) |