ImagingSelection
Introduction
Scope and Usage
This resource is an event resource from a FHIR workflow perspective - see Workflow.
A selection of data from an ImagingStudy. The selection might be:
- All DICOM SOP Instances in a single DICOM Series
- A set of DICOM SOP Instances within a single DICOM Series
- A set of frames within one or more DICOM multiframe image SOP Instances
- A set of segments within one or more DICOM segmentation SOP Instances
- A set of content items within one or more DICOM Structured Report SOP Instances
- ...
Can also represent regions within the ImagingStudy, including:
- A 2D region within one or more DICOM image SOP Instances
- A 3D region within a DICOM Frame of Reference
Uses for ImagingSelection resources include:
- Identifying a specific set of images or frames that an Observation is derived from
- Identifying a spatial region or volume that an Observation is derived from
- Identifying the set of image coordinates as the focus of a measurement represented by an Observation
- Identifying a node in a DICOM Structured Report SOP Instance from which an Observation is derived
- Identifying images, frames or presentation states selected as part of shared application context in a context-sharing environment
- Identifying a specific set of images, frames or presentation states to be presented
All DICOM SOP Instances referenced in a single ImagingSelection resource are part of the same DICOM Series (and therefore also the same DICOM Study). In order to reference SOP Instances in multiple Studies or Series it is necessary to create multiple ImagingSelection resources.
Boundaries and Relationships
The ImagingStudy resource is used to store details of an entire DICOM Study and its relationship to other resources, such as Patient. ServiceRequest and Encounter.
The ImagingSelection resource is used to reference a subset of a study. Instances of this resource are created for specific clinical purposes and are unlikely to change once created.
An Observation typically relates to a set of images in the following ways.
- Observation.partOf references an ImagingStudy
- Observation.derivedFrom references an ImagingSelection when it directly relates to an identified subset of a study
- Observation.derivedFrom references an ImagingStudy when it does not relate to an identified subset of a study
- Observation.derivedFrom references an ImagingSelection when it is a measurement of an identified subset of a study
The DocumentReference resource is used to store non-DICOM images, video, or audio with relevant metadata. The DocumentReference resource might be appropriate for including a rendered DICOM image in cases where only the image is needed and not the full image context.
Notes
Notes
Imaging Selection Subsets
Some DICOM SOP Instances contain sub-resources, such as frames, segments, etc.
An Imaging Selection resource can specify the subset of these that are included in the selection using the following elements.
instance.frameNumber- Frames selected from a multiframe SOP Instance- Corresponds to the value of DICOM Referenced Frame Number (0008,1160)
- Each value specifies a frame included in the selection
- Note: Frame number is implicit, and the first frame is denoted as frame 1
instance.referencedContentItemIdentifier- Referenced Content Item Identifiers selected from a DICOM SR or other structured document SOP Instance- Corresponds to the value of DICOM Referenced Content Item Identifier (0040,DB73)
- Each value specifies the node in the DICOM SR tree that is selected at each level
- See DICOM PS 3.3 C.17.3.2.5
instance.segmentNumber- Segments selected from a segmentation SOP Instance- Corresponds to the value of DICOM Referenced Segment Number (0062,000B)
- Each value specifies a segment included in the selection
instance.regionOfInterest- Regions of interest selected from a radiotherapy structure set SOP Instance- Corresponds to the value of DICOM Referenced ROI Number (0002,000E)
- Each value specifies a region of interest included in the selection
instance.waveFormChannel- Channels selected from a waveform SOP Instance- Specified as a pair of values (M,C), where the first value is the Item number of Waveform Sequence (5400,0100) in the referenced object (i.e., the Multiplex Group Number), and the second Value is the Item number of Channel Definition Sequence (003A,0200) (i.e., the Channel Number) within the multiplex group
- Each value pair specifies a channel included in the selection
The value of the instance.sopClass element determines which type of subset can be present.
For example:
- If
instance.sopClasshas a value ofurn:oid:1.2.840.10008.5.1.4.1.1.2.1, this indicates that the instance is Enhanced CT, which is a multiframe image instance and thereforeinstance.frameNumbercan be included to specify a list of frames - If
instance.sopClasshas a value ofurn:oid:1.2.840.10008.5.1.4.1.1.88.22, this indicates that the instance is Enhanced SR and thereforeinstance.referencedContentItemIdentifiercan be included to specify a list of content item identifiers
Note: Because an imaging selection instance is limited to a single DICOM Series and each DICOM Series can contain only one type of instance - image, SR document, radiotherapy object, etc. - each imaging selection instance can only contain one type of subset.
Use of ImagingSelection.code and ImagingSelection.category
The code and category element can be used to provide information relevant for applications that want to identify specific types of ImagingSelection resources.
For example, if an ImagingSelection is used to identify a set of images that make up a volume rendered view, the code could contain a code indicating Volume Rendering - such as RadLex RID35862 - and the category could contain values of the DICOM Image Type (0008,0008) attribute - such as DERVIED and SECONDARY.
{ "resource": { "resourceType": "ImagingSelection", "id": "fa8e0948175f3117a3b8c4be2ff972ec", "subject": { "reference": "Patient/acb045960122378999c97cd7ca532f8b" }, "code": { "coding": [ { "system": "http://radlex.org/", "code": "RID12769", "display": "volume rendering" } ] }, "category": [ { "text": "DERIVED" }, { "text": "SECONDARY" } ] } }
Element Requirements by Selection Type
This section outlines several imaging selection types, each listing a set of resource elements that are required and/or typically present in the selection. Some types require only a minimal set of elements, while others require a comprehensive list to ensure clarity.
Single-Frame Image Selection
An imaging selection that points to one single-frame image requires:
studyUidto identify the DICOM Study that contains the imageseriesUidto identify the Series within the Study that contains the imageinstancecontaining a single entry that specifies:uidto identify the SOP Instance UID of the selected image
While not required, this type of selection typically includes:
frameOfReferenceUidto identify the coordinate system of the imageinstance.sopClassto specify the SOP Class UID of the selected image
See Single-Frame Image Selection example.
Multiframe Image Selection
An imaging selection that points to frames in a multiframe image requires:
studyUidto identify the DICOM Study that contains the imageseriesUidto identify the Series within the Study that contains the imageinstancecontaining a single entry that specifies:uidto identify the SOP Instance UID of the selected imageframeNumberto identify the list of frames included in the selection
While not required, this type of selection typically includes:
frameOfReferenceUidto identify the coordinate system of the imageinstance.sopClassto specify the SOP Class UID of the selected image
See Multiframe Image Selection example.
2D Image Selection
An imaging selection that points to a 2D region on an image requires:
studyUidto identify the DICOM Study that contains the imageseriesUidto identify the Series within the Study that contains the imageinstancecontaining a single entry that specifies:uidto identify the SOP Instance UID of the selected imageimageRegion2DcontainingregionTypespecifying the type of image regioncoordinatespecifying the x and y coordinates that define the image region in image pixel space
While not required, this type of selection typically includes:
frameOfReferenceUidto identify the coordinate system of the imageinstance.sopClassto specify the SOP Class UID of the selected image
See 2D Image Region Selection example.
3D Image Selection
An imaging selection that points to a 3D region requires:
frameOfReferenceUidto identify the coordinate system that includes the specified coordinatesimageRegion3DcontainingregionTypespecifying the type of image regioncoordinatespecifying the x, y and z coordinates that define the 3D region
This type of selection can also specify a set of images but this is not required. The 3D region selection can be applied to any images that share the same Frame of Reference UID.
See 3D Image Region Selection example.
ImagingSelection Endpoints
The ImagingSelection.endpoint elements indicate network services that can be used to access the imaging data referenced by the imaging selection; for example, a DICOM WADO-RS server. Systems can determine if the relevant imaging data is available or offline by interacting with the endpoint.
Different Endpoint connection types can have different capabilities, protocols or requirements. Furthermore, the specified Endpoint.address identifies the DICOM Web Service Base URI (see DICOM PS 3.18 Section 8.2 ). The URL needed to retrieve image data might need to be constructed from this base URL. See below for the details on use of imaging-related Endpoint connection types.
WADO-RS
An Endpoint.connectionType of code dicom-wado-rs, system http://terminology.hl7.org/CodeSystem/endpoint-connection-type, identifies a DICOM WADO-RS service.
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 ImagingSelection resource:
- the WADO-RS service base URL of
https://pacs.hospital.org/wado-rsfound in anImagingSelection.endpoint.address, - the DICOM Study Instance UID of
1.2.250.1.59.40211.12345678.678910found in anImagingSelection.identifierhavingIdentifier.systemof“urn:dicom:uid”, - the DICOM Series Instance UID of
1.2.250.1.59.40211.789001276.14556172.67789found inImagingSelection.series.uid, and - the DICOM SOP Instance UID of
1.2.250.1.59.40211.2678810.87991027.899772.2found inImagingSelection.series.instance.uid
we can construct the WADO-RS URL to issue an HTTP GET for a native DICOM PS3.10 instance file (if consistent with the Accept header):
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
WADO-URI
An Endpoint.connectionType of code dicom-wado-uri, system http://terminology.hl7.org/CodeSystem/endpoint-connection-type, identifies a DICOM WADO-URI service.
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 ImagingSelection resource:
- the WADO-URI service base URL of
https://pacs.hospital.org/wado-urifound in anImagingSelection.endpoint.address, - the DICOM Study Instance UID of
1.2.250.1.59.40211.12345678.678910found in anImagingSelection.identifierhavingIdentifier.systemofurn:dicom:uid, - the DICOM Series Instance UID of
1.2.250.1.59.40211.789001276.14556172.67789found inImagingSelection.series.uid, and - the DICOM SOP Instance UID of
1.2.250.1.59.40211.2678810.87991027.899772.2found inImagingSelection.series.instance.uid
we can construct the WADO-URI URL to issue an HTTP GET for a native DICOM PS3.10 instance file (if consistent with the Accept header):
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
Body Site and Laterality
The bodySite element can include the laterality of the (possibly paired) anatomic structures examined – e.g. left knee, bilateral lungs, etc. This can be conveyed in several ways:
-
bodySitecontains an anatomic code that includes laterality, e.g."bodySite": { "concept": { "coding": [{ "system": "http://snomed.info/sct", "code": "5951000", "display": "Left wrist" }] } }
-
bodySitecontains a reference to aBodyStructureresource whoseincludedStructure.structureelement contains an anatomic code that includes laterality -
bodySitecontains a reference to aBodyStructureresource whoseincludedStructureelement includes a laterality value. See this example BodyStructure representation of the Left Wrist, with laterality and SNOMED coding for anatomical structure.
StructureDefinition
Elements (Simplified)
- ImagingSelection [0..*]: - A selection of DICOM SOP instances
- ImagingSelection.identifier [0..*]: Identifier Business identifier for imaging selection
- ImagingSelection.status [1..1]: code required:imagingselection-status available | entered-in-error | inactive | unknown
- ImagingSelection.category [0..*]: CodeableConcept preferred:sect_CID_7010.html Classifies the imaging selection
- ImagingSelection.modality [0..1]: CodeableConcept extensible:sect_CID_33.html The distinct modality
- ImagingSelection.code [1..1]: CodeableConcept preferred:image-reference-type Imaging Selection purpose text or code
- ImagingSelection.subject [0..1]: [Reference(Patient](/Reference(Patient), Group, Device, Procedure, Practitioner, Medication, Substance, Specimen)) Who or what is the subject of the imaging selection
- ImagingSelection.issued [0..1]: instant When the imaging selection was created
- ImagingSelection.performer [0..*]: BackboneElement Who performed imaging selection and what they did
- ImagingSelection.performer.function [0..1]: CodeableConcept extensible:series-performer-function Type of performance
- ImagingSelection.performer.actor [1..1]: [Reference(Practitioner](/Reference(Practitioner), PractitionerRole, Device, Organization, CareTeam, Patient, RelatedPerson, HealthcareService)) Who performed the imaging selection
- ImagingSelection.basedOn [0..*]: [Reference(CarePlan](/Reference(CarePlan), ServiceRequest, Appointment, Task)) Fulfills plan or order
- ImagingSelection.derivedFrom [0..1]: [Reference(ImagingStudy](/Reference(ImagingStudy), DocumentReference)) The imaging study from which the imaging selection is derived
- ImagingSelection.studyUid [0..1]: id DICOM Study Instance UID
- ImagingSelection.seriesUid [0..1]: id DICOM Series Instance UID
- ImagingSelection.seriesNumber [0..1]: unsignedInt Numeric identifier of the selected series
- ImagingSelection.frameOfReferenceUid [0..1]: id The Frame of Reference UID for the selected images
- ImagingSelection.bodySite [0..*]: CodeableReference example:body-site Selected anatomic structure
- ImagingSelection.focus [0..*]: Reference(ImagingSelection) Related resources that are the focus for the imaging selection
- ImagingSelection.endpoint [0..*]: Reference(Endpoint) The network services providing access for the subset of the study
- ImagingSelection.instance [0..*]: BackboneElement The selected instances
- ImagingSelection.instance.uid [1..1]: id DICOM SOP Instance UID
- ImagingSelection.instance.number [0..1]: unsignedInt The number of this instance in the series
- ImagingSelection.instance.sopClass [0..1]: oid DICOM class type
- ImagingSelection.instance.frameNumber [0..*]: positiveInt Selected frames
- ImagingSelection.instance.referencedContentItemIdentifier [0..*]: positiveInt Selected content items
- ImagingSelection.instance.segmentNumber [0..*]: positiveInt Selected segments
- ImagingSelection.instance.regionOfInterest [0..*]: positiveInt Selected regions of interest
- ImagingSelection.instance.waveFormChannel [0..*]: positiveInt Selected waveform channel
- ImagingSelection.instance.imageRegion2D [0..*]: BackboneElement A 2D region in an image
- ImagingSelection.instance.imageRegion2D.regionType [1..1]: code required:imagingselection-2dgraphictype point | polyline | multipoint | circle | ellipse
- ImagingSelection.instance.imageRegion2D.coordinate [1..*]: decimal The coordinates that define the image region
- ImagingSelection.imageRegion3D [0..*]: BackboneElement A 3D region in a DICOM frame of reference
- ImagingSelection.imageRegion3D.regionType [1..1]: code required:imagingselection-3dgraphictype point | multipoint | polyline | polygon | ellipse | ellipsoid
- ImagingSelection.imageRegion3D.coordinate [1..*]: decimal Specifies the coordinates that define the image region
Mappings
- ImagingSelection Mappings — 39 mapping entries
Resource Packs
list-ImagingSelection-packs.xml
<?xml version="1.0" encoding="UTF-8"?>
<List xmlns="http://hl7.org/fhir">
<id value="ImagingSelection-packs"/>
<status value="current"/>
<mode value="working"/>
</List>
Search Parameters
- identifier — token — Identifiers for the imaging selection —
ImagingSelection.identifier - based-on — reference — The request associated with an imaging selection —
ImagingSelection.basedOn - subject — reference — The subject of the Imaging Selection, such as the associated Patient —
ImagingSelection.subject - patient — reference — Who the study is about —
ImagingSelection.subject.where(resolve() is Patient) - issued — date — The date / time the imaging selection was created —
ImagingSelection.issued - code — token — The imaging selection description text or code —
ImagingSelection.code - category — token — The imaging selection category —
ImagingSelection.category - derived-from — reference — The imaging study from which the imaging selection was derived —
ImagingSelection.derivedFrom - study-uid — token — The DICOM Study Instance UID from which the images were selected —
ImagingSelection.studyUid - body-site — token — The body site code associated with the imaging selection —
ImagingSelection.bodySite.concept - body-structure — reference — The body structure associated with the imaging selection —
ImagingSelection.bodySite.reference - status — token — The status of the imaging selection —
ImagingSelection.status - modality — token — The modality of the selection —
ImagingSelection.modality
Examples
- example-2d-image-region-selection — imagingselection-example-2d-image-region-selection — 2D Image Region Selection
- example-3d-image-region-selection — imagingselection-example-3d-image-region-selection — 3D Image Region Selection
- example-dicom-sr-selection — imagingselection-example-dicom-sr-selection — DICOM SR Selection
- example-multiframe-image-selection — imagingselection-example-multiframe-image-selection — Multiframe Image Selection
- example-presentation-state-selection — imagingselection-example-presentation-state-selection — Presentation State Selection
- example-rt-structure-set-region-selection — imagingselection-example-rt-structure-set-region-selection — RT Structure Set Selection
- example-segmentation-image-selection — imagingselection-example-segmentation-image-selection — Segmentation Image Selection
- example-single-frame-image-selection — imagingselection-example-single-frame-image-selection — Single Frame Image Selection
- example-waveform-channel-selection — imagingselection-example-waveform-channel-selection — Waveform Channel Selection
- imagingselection-example-2d-image-region-selection — imagingselection-example-2d-image-region-selection
- imagingselection-example-3d-image-region-selection — imagingselection-example-3d-image-region-selection
- imagingselection-example-dicom-sr-selection — imagingselection-example-dicom-sr-selection
- imagingselection-example-multiframe-image-selection — imagingselection-example-multiframe-image-selection
- imagingselection-example-presentation-state-selection — imagingselection-example-presentation-state-selection
- imagingselection-example-rt-structure-set-region-selection — imagingselection-example-rt-structure-set-region-selection
- imagingselection-example-segmentation-image-selection — imagingselection-example-segmentation-image-selection
- imagingselection-example-single-frame-image-selection — imagingselection-example-single-frame-image-selection
- imagingselection-example-waveform-channel-selection — imagingselection-example-waveform-channel-selection
- imagingselection-examples-header — imagingselection-examples-header
Mapping Exceptions
imagingselection-event-mapping-exceptions.xml
Divergent Elements
- Event.identifier → ImagingSelection.identifier
- commentsUnmatched | reason=Uses different capitalization of MAY. | pattern=Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices may occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number. | resource=Note: This is a business identifier, not a resource identifier (see discussion). It is best practice for the identifier to only appear on a single resource instance, however business practices MAY occasionally dictate that multiple resource instances with the same identifier can exist - possibly even with different resource types. For example, multiple Patient and a Person resource instance might share the same social insurance number.
- Event.basedOn → ImagingSelection.basedOn
- missingTypes | reason=Reference type not relevant to resource | pattern=Reference(Request)
- extraTypes | reason=Additional reference types are relevant to resource
- shortUnmatched | reason=Imaging selection not typically based on a proposal | pattern=Fulfills plan, proposal or order | resource=Fulfills plan or order
- definitionUnmatched | reason=Imaging selection not typically based on a proposal | pattern=A plan, proposal or order that is fulfilled in whole or in part by this imaging selection. | resource=A plan or order that is fulfilled in whole or in part by this imaging selection.
- Event.status → ImagingSelection.status
- shortUnmatched | reason=Imaging selection status codes are specialized | pattern=preparation | in-progress | not-done | suspended | aborted | completed | entered-in-error | unknown | resource=available | entered-in-error | inactive | unknown
- commentsUnmatched | reason=State diagram does not apply to imaging selection | pattern=A nominal state-transition diagram can be found in the (Event pattern documentation
Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is. | resource=Unknown does not represent "other" - one of the defined statuses must apply. Unknown is used when the authoring system is not sure what the current status is.
- Event.category → ImagingSelection.category
- shortUnmatched | reason=Definition is more specific to this resource | pattern=High level categorization of imaging selection | resource=Classifies the imaging selection
- definitionUnmatched | reason=Definition is more specific to this resource | pattern=Partitions the imaging selection into one or more categories that can be used to filter searching, to govern access control and/or to guide system behavior. | resource=Classifies the general purpose of the imaging selection.
- commentsUnmatched | reason=Comment not relevant to this resource | pattern=Categorization might be done automatically (inferred by code) or manually by user assertion. The absence of a category may limit the ability to determine when the element should be handled, so strong consideration should be given to how systems will be able to determine category values for legacy data and how data that cannot be categorized will be handled. As well, some categories might not be mutually exclusive, so systems should prepare for multiple declared categories - even within a single category 'axis'. In general, there should not be a 'strong' binding ('required' or 'extensible') on the category element overall. Instead, the element can be sliced and bindings can be asserted that apply to particular repetitions.
- Event.code → ImagingSelection.code
- shortUnmatched | reason=Definition is more specific to this resource | pattern=What service was done | resource=Imaging Selection purpose text or code
- definitionUnmatched | reason=Definition is more specific to this resource | pattern=A code that identifies the specific service or action that was or is being performed. | resource=Identifies the type of imaging selection.
- Event.subject → ImagingSelection.subject
- extraTypes | reason=Phantoms and other non-patient subjects can be subjects of imaging selections
- shortUnmatched | reason=Resource value is more specific | pattern=Individual service was done for/to | resource=Who or what is the subject of the imaging selection
- definitionUnmatched | reason=Resource value is more specific | pattern=The individual or set of individuals the action is being or was performed on. | resource=The subject, typically a patient, of the imaging selection.
- requirementsUnmatched | reason=Requirement is not needed for this resource | pattern=Links the imaging selection to the Patient context. May also affect access control.
- Event.performer → ImagingSelection.performer
- extraTypes | reason=Performer needs to be qualified with role
- Event.performer.function → ImagingSelection.performer.function
- bindingStrength | reason=Specific codes almost always applicable | pattern=example
- definitionUnmatched | reason=Don't want extra space at the end. | pattern=Distinguishes the type of involvement of the performer in the imaging selection.. | resource=Distinguishes the type of involvement of the performer in the imaging selection.
- Event.performer.actor → ImagingSelection.performer.actor
- extraTypes | reason=HealthcareService is a possible performer for an imaging selection
- shortUnmatched | reason=Better english | pattern=Who performed imaging selection | resource=Who performed the imaging selection
Unmapped Elements
- Event.partOf — Not relevant for this resource
- Event.reported — Not relevant for this resource
- Event.reason — Not relevant for this resource
- Event.relevantHistory — Not relevant for this resource
- Event.location — Not relevant for this resource
- Event.statusReason — Not relevant for this resource
- Event.note — Not relevant for this resource
- Event.encounter — Not relevant for this resource
- Event.recorded — Not relevant for this resource
- Event.occurrence — Not relevant for this resource
- Event.product — Not relevant for this resource
- Event.researchStudy — Not relevant for this resource
imagingselection-fivews-mapping-exceptions.xml
Unmapped Elements
- FiveWs.author — Not relevant for this resource
- FiveWs.version — Not relevant for this resource
- FiveWs.witness — Not relevant for this resource
- FiveWs.where — Not relevant for this resource
- FiveWs.context — Not relevant for this resource
- FiveWs.init — Not relevant for this resource
- FiveWs.why — Not relevant for this resource
- FiveWs.source — Not relevant for this resource
- FiveWs.who — Not relevant for this resource
- FiveWs.grade — Not relevant for this resource
- FiveWs.planned — Not relevant for this resource
- FiveWs.done — Not relevant for this resource