FFF.2.3.3 Pixel-shift

This section provides information on the attribute encoding for use with image acquisitions that require subtracted display modes with multiple pixel shift ranges e.g., multiple subtracted views on a DSA acquisition.

FFF.2.3.3.1 User Scenario

When performing DSA acquisitions, the acquisition system may choose a default subtraction pixel-shift to allow review of the whole multi-frame, as acquired.

With advanced post-processing function the medical user may add further subtraction pixel-shifts to carve out certain details or improve contrast bolus visualization of a part of the anatomy that suffered from different movement during the acquisition.

FFF.2.3.3.2 Encoding Outline

The Mask Module is used to encode the various subtractions applicable to a multi-frame image.

The Enhanced XA IOD allows creating groups of mask-contrast pairs in the Mask Module, each group identified by a unique Subtraction Item ID within the multi-frame image.

The Enhanced XA IOD, with per frame macro encoding, supports multiple and different pixel-shift values per frame, each pixel-shift value is related to a given Subtraction Item ID.

It has to be assured that all the frames in the scope of a Subtraction Item ID have the pixel-shift values defined under that Subtraction Item ID.

In case a frame does not belong to any Subtraction Item ID, that frame does not necessarily have a pixel shift value encoded.

FFF.2.3.3.3 Encoding Details

This section provides detailed recommendations of the key attributes to address this particular scenario. The usage of the “Frame Pixel Shift” macro in a ‘per frame’ context is recommended. Only the usage of Mask Module and the Frame Pixel Shift Macro is further detailed.

Table FFF.2. 3-6 ENHANCED X-RAY ANGIOGRAPHIC IMAGE IOD MODULES

IE Module PS 3.3 Reference Usage
Image Mask C.7.6.10 Specifies the groups of mask-contrast pairs identified by a Subtraction Item ID.

Table FFF.2. 3-7 ENHANCED XA IMAGE FUNCTIONAL GROUP MACROS

Functional Group Macro PS 3.3 Reference Usage
Frame Pixel Shift C.7.6.16.2.14 Specifies the pixel shift associated with the Subtraction IDs.

FFF.2.3.3.3.1 Mask Module Recommendations

This module is recommended to specify the subtraction parameters. The number of items depends on the number of Subtractions to be applied (see section FFF.2.3.2).

Table FFF.2. 3-8 MASK MODULE Recommendations

Attribute Name Tag Comment
Recommended Viewing Mode (0028,1090) Recommended in this scenario, a value of “SUB” is used in this case.
Mask Subtraction Sequence (0028,6100) Recommended in this scenario. Item can be used to specify: - A range of contrast frames is to be subtracted from a generated mask; - A different set of pixel-shift pairs is to be applied to a range of contrast frames.

FFF.2.3.3.3.2 Frame Pixel Shift Macro Recommendations

The usage in this scenario is on a “per frame” context to allow individual pixel shift factors for each Subtraction Item ID.

The Subtraction Item ID specified in the Mask Subtraction Sequence (0028,6100) as well as in the Frame Pixel Shift Sequence (0028,9415) allows creating a relationship between the subtraction (mask and contrast frames) and a corresponding set of pixel shift values.

The Pixel Shift specified for a given frame in the Frame Pixel Shift Macro is the shift to be applied when this frame is subtracted to its associated mask for the given Subtraction Item ID.

Not all frames may have the same number of items in the Frame Pixel Shift Macro, but all frames that are in the scope of a Subtraction Item ID and identified as “contrast” frames in the Mask module are recommended to have a Frame Pixel Shift Sequence item with the related Subtraction Item ID.

Table FFF.2.3-9 FRAME PIXEL SHIFT MACRO Recommendations

Attribute Name Tag Comment
Frame Pixel Shift Sequence (0008,9415) Recommended in this scenario. The number of items may differ for each frame.

FFF.2.3.3.4 Examples

FFF.2.3.3.4.1 Usage of Pixel Shift Macro in Shared Context

In this example, the pixel shift –0.3\2.0 is applied to the frames 2 and 3 when they are subtracted to the mask frame 1 as defined in the Mask Subtraction Sequence.

Below are the encoded values of the key attributes of this example:

Mask Subtraction Sequence (0028,6100)
Item 1
>Mask Operation (0028,6101) = AVG_SUB
>Subtraction Item ID (0028,9416) = 100
>Applicable Frame Range (0028,6102) = 2\3
>Mask Frame Numbers (0028,6110) = 1
>Mask Operation Explanation (0028,6190) = Default Subtraction
Shared Functional Group Sequence (5200,9229)
Item 1 All the frames
>Frame Pixel Shift Sequence (0028,9415)
Item 1
Item 1
>Mask Operation (0028,6101) = AVG_SUB
>Subtraction Item ID (0028,9416) = 100
>Applicable Frame Range (0028,6102) = 2\3
>Mask Frame Numbers (0028,6110) = 1
>Mask Operation Explanation (0028,6190) = Left Leg
Per-Frame Functional Groups Sequence (5200,9230)
Item 1 Frame 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
Item 1
>Mask Operation (0028,6101) = AVG_SUB
>Subtraction Item ID (0028,9416) = 100
>Applicable Frame Range (0028,6102) = 2\3
>Mask Frame Numbers (0028,6110) = 1
>Mask Operation Explanation (0028,6190) = Left Leg
Item 2
>Mask Operation (0028,6101) = AVG_SUB
>Subtraction Item ID (0028,9416) = 101
>Applicable Frame Range (0028,6102) = 2\3
>Mask Frame Numbers (0028,6110) = 1
>Mask Operation Explanation (0028,6190) = Right Leg
Per-Frame Functional Groups Sequence (5200,9230)
Item 1 Frame 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
>Frame Pixel Shift Sequence (0028,9415)
Item 1
Image XA/XRF Acquisition C.8.19.3 Specifies system characteristics relevant for this scenario.

Table FFF.2. 4-2 ENHANCED XA IMAGE FUNCTIONAL GROUP MACROS

Functional Group Macro PS 3.3 Reference Usage
XA/XRF Frame Pixel Data Properties C.8.19.6.4 Specifies the pixel spacing on the receptor plane.
X-Ray Projection Pixel Calibration C.8.19.6.9 Specifies the calibration-specific attributes.
X-Ray Geometry C.8.19.6.14 Specifies the distances of the conic projection.

FFF.2.4.1.3.1 XA/XRF Acquisition Module Recommendations

In order to check if a calibration is appropriate, certain values have to be set in the XA/XRF Acquisition Module.

Table FFF.2.4-3 XA/XRF ACQUISITION MODULE Recommendations

Attribute Name Tag Comment
X-Ray Receptor Type (0018,9420) Recommended in this scenario. The values IMG_INTENSIFIER or DIGITAL_DETECTOR can provide information about exactness of the image plane.
Positioner Type (0018,1508) Recommended in this scenario. The value of CARM is typically expected for equipment providing geometry information required for calibration.
C-arm Positioner Tabletop Relationship (0018,9474) A value of YES is recommended in this scenario, to allow use of related information for calibration because table and gantry are geometrically aligned.

FFF.2.4.1.3.2 XA/XRF Frame Pixel Data Properties Macro Recommendations

This macro is recommended to provide the Pixel Spacing in the receptor plane. Typically the Image Pixel Spacing is identical for all frames. Future acquisition system techniques may result in per frame individual values.

Table FFF.2.4-4 XA/XRF FRAME PIXEL DATA PROPERTIES MACRO Recommendations

Attribute Name Tag Comment
Frame Pixel Data Properties Sequence (0028,9443)
>Imager Pixel Spacing (0018,1164) Recommended for this scenario, regardless the type of receptor.

FFF.2.4.1.3.3 X-Ray Projection Pixel Calibration Macro Recommendations

This macro contains the core inputs and results of calibration.

When there is no movement of the gantry and table, the macro is typically used in shared functional group context.

The attribute Beam Angle (0018,9449) is supplementary for the purpose of calibration; it is derived from the Primary and Secondary Positioner Angles but is not intended to replace them as they provide information for other purposes.

Table FFF.2.4-5 X-RAY PROJECTION PIXEL CALIBRATION MACRO Recommendations

Attribute Name Tag Comment
Projection Pixel Calibration Sequence (0018,9401)
>Distance Object to Table Top (0018,9403) Recommended in this scenario.
>Object Pixel Spacing in Center of Beam (0018,9404) Recommended in this scenario. The value pair corresponds to the patient plane defined by the other parameters in this macro.
>Table Height (0018,1130) Recommended in this scenario.
>Beam Angle (0018,9449) Recommended in this scenario.

FFF.2.4.1.3.4 X-Ray Geometry Macro Recommendations

When there is no change of the geometry, the macro is used in shared functional group context.

FFF.2.4.1.4 Example

The user performs an X-Ray acquisition with movement of the positioner during the acquisition. The patient is in Head First Supine position. During the review of the multi-frame image, a measurement of the object of interest in the frame “i” needs to be performed, which requires the calculation of the pixel spacing at the object location for that frame.

For the frame “i”, the Positioner Primary Angle is -30.0 degrees, and the Positioner Secondary Angle is 20.0 degrees. According to the definition of the positioner angles and given the patient position, the Beam Angle is calculated as follows:

Beam Angle = arcos( |cos(-30.0)| * |cos(20.0)| ) = 35.53 degrees

The value of the other attributes defining the geometry of the acquisition for the frame “i” are the following:

ISO = 750 mm SID = 983 mm TH = 187 mm

(Px (Imager Pixel Spacing) = 0.2 mm/pix

The user provides, via the application interface, an estimated value of the distance from the object of interest to the tabletop: TO = 180 mm. This value can be encoded in the attribute Distance Object to Table Top (0018,9403) of the Projection Pixel Calibration Sequence (0018,9401) for further usage.

This results in an SOD of 741.4 mm (according to the equation SOD = 750mm - [(187mm-180mm) / cos(35.53°)] ), and in a magnification ratio of SID/SOD of 1.32587.

The resulting pixel spacing at the object location and related to the center of the X-Ray beam is calculated as (Px * SOD / SID = 0.150844 mm/pix. This value can be encoded in the attribute Object Pixel Spacing in Center of Beam (0018,9404) of the Projection Pixel Calibration Sequence (0018,9401) for further usage.

Below are the encoded values of the key attributes of this example:

Positioner Type (0018,1508) = CARM
X-Ray Receptor Type (0018,9420) = DIGITAL_DETECTOR
C-arm Positioner Tabletop Relationship (0018,9474) = YES
Shared Functional Group Sequence (5200,9229)
Item 1 For all frames
Item 1
Item 1
>Projection Pixel Calibration Sequence (0018,9401)
Item 1
Image Enhanced XA/XRF Image C.8.19.2 Specifies the image type: ORIGINAL or DERIVED.

Table FFF.2. 4-7 ENHANCED XA IMAGE FUNCTIONAL GROUP MACROS

Functional Group Macro PS 3.3 Reference Usage
Derivation Image C.7.6.16.2.6 Specifies the different derivation steps (including the latest step) that led to this instance.
Pixel Intensity Relationship LUT C.7.6.16.2.13 Specifies the relationship between the stored pixel data values and the X-Ray intensity of the resulting derived instance.
XA/XRF Frame Characteristics C.8.19.6.1 Specifies the latest derivation step that led to this instance.
XA/XRF Frame Pixel Data Properties C.8.19.6.4 Specifies the characteristics of the derived pixel data, both geometric and densitometric.

FFF.2.4.2.3.1 Enhanced XA/XRF Image Module Recommendations

The usage of this module is recommended to specify the image type.

Table FFF.2.4-8 ENHANCED XA/XRF IMAGE MODULE Recommendations

Attribute Name Tag Comment
Image Type (0008,0008) The first value is DERIVED in this scenario.

FFF.2.4.2.3.2 Derivation Image Macro Recommendations

The usage of this macro is recommended to encode the information of the different derivation processes and steps, as well as the source SOP instance(s) when the image or frame are derived from other SOP Instance(s).

Table FFF.2.4-9 DERIVATION IMAGE MACRO Recommendations

Attribute Name Tag Comment
Derivation Image Sequence (0008,9124) Contains one item per derivation process that led to this SOP Instance.
>Derivation Description (0008,2111) Free text description of this derivation process, typically for display purposes.
>Derivation Code Sequence (0008,9215) Contains as many items as derivation steps in this derivation process.
>Source Image Sequence (0008,2112) Contains one item per source SOP Instance used in this derivation process.

If this image is not derived from source SOP Instances, the Derivation Image macro is not present, and the XA/XRF Frame Characteristics macro is used instead.

FFF.2.4.2.3.3 Pixel Intensity Relationship LUT Macro Recommendations

The usage of this macro is recommended to enable the applications to get the pixel values back to a linear relationship with the X-Ray intensity.

If readers of the image do not recognize the Pixel Intensity Relationship value, readers can use the value “OTHER” as default.

The number of bits in the LUT Data attribute (0028,3006) may be different from the value of Bits Stored attribute (0028,0101).

FFF.2.4.2.3.4 XA/XRF Frame Characteristics Macro Recommendations

The usage of this macro is recommended to specify the derivation characteristics

Table FFF.2.4-10 XA/XRF FRAME CHARACTERISTICS MACRO Recommendations

Attribute Name Tag Comment
XA/XRF Frame Characteristics Sequence (0018,9412)
>Derivation Description (0008,2111) Contains the description of the latest derivation process.
>Derivation Code Sequence (0008,9215) Contains as many items as derivation steps in this derivation process.
>Acquisition Device Processing Description (0018,1400) Specifies the derivation made at the acquisition system.
>Acquisition Device Processing Code (0018,1401) Specifies the derivation made at the acquisition system.

If the image is derived from one or more SOP Instances, the XA/XRF Frame Characteristics Sequence always contains the same values as the last item of the Derivation Image Sequence.

If the image is derived but not from other SOP Instances, it means that the derivation was performed on the Acquisition system, and the Acquisition Device Processing Description (0018,1400) and the Acquisition Device Processing Code (0018,1401) contain the information of that derivation.

An image derived from a derived image will change the Derivation Description but not the Acquisition Device Processing Description.

FFF.2.4.2.3.5 XA/XRF Frame Pixel Data Properties Macro Recommendations

The usage of this macro is recommended to specify the type of processing applied to the stored pixel data of the derived frames.

Table FFF.2.4-11 XA/XRF FRAME PIXEL DATA PROPERTIES MACRO Recommendations

Attribute Name Tag Comment
Frame Pixel Data Properties Sequence (0028,9443) Recommended in this scenario.
>Frame Type (0008,9007) The first value is DERIVED in this scenario
>Image Processing Applied (0028,9446) In case of derivation from a derived image, this attribute contains a concatenation of the previous values plus the new value(s) of the latest derivation process.

FFF.2.4.2.4 Examples

FFF.2.4.2.4.1 Various successive derivations

In this example, the acquisition modality creates two instances of the Enhanced XA object: the instance “A” with mask frames and the instance “B” with contrast frames. A temporal filtering has been applied by the modality before the creation of the instances.

The workstation 1 performs a digital subtraction of the frames of the instance “B” by using the frames of the instance “A” as mask, then the resulting subtracted frames are stored in a new instance “C”.

Finally the workstation 2 processes the instance “C” by applying a zoom and edge enhancement, and the resulting processed frames are stored in a new instance “D”.

[pic]

Figure FFF.2.4-2Example of various successive derivations

The following figure shows the values of the attributes of the instance “D” in the corresponding modules and macros related to derivation information. The Source Image Sequence (0008,2112) of the Derivation Image Sequence (0008,9124) does not contain the attribute Referenced Frame Number (0008,1160) because all the frames of the source images are used to generate the derived images.

Image Type (0008,0008) = DERIVED\ …
SOP Instance UID (0020,000E) = UID "D"
Shared Functional Groups Sequence (5200,9229)    
  item 1    
    >Derivation Image Sequence (0008,9124)    
      Item 1    
        >>Derivation Description (0008,2111)
        >>Derivation Description (0008,2111)
      Item 1    
        >>Derivation Description (0008,2111)
      Item 1    
        >>Frame Type

Figure FFF.2.4-3 Attributes of the example of various successive derivations

FFF.2.4.2.4.2 Derivation by applying a square root transformation

In this example, the acquisition modality creates the instance “A” of the Enhanced XA object with 14 bits stored where the relationship between the pixel intensity and the X-Ray intensity is linear.

A workstation reads the instance “A”, transforms the pixel values of the stored pixel data by applying a square root function and stores the resulting frames on the instance “B” with 8 bits stored.

[pic]

Figure FFF.2.4-4Example of derivation by square root transformation

The following figure shows the values of the attributes of the instance “B” in the corresponding modules and macros related to derivation information.

Note that the Derivation Code Sequence (0008,9215) is present when the Derivation Image Sequence (0008,9124) includes one or more items, even if the derivation code is not defined in the Context ID 7203.

The Pixel Intensity Relationship LUT Sequence (0028,9422) contains a LUT with the function “TO_LINEAR” to allow the calculation of the gray level intensity to be linear to the X-Ray intensity. Since the instance “B” has 8 bits stored, this LUT contains 256 entries (starting the mapping at pixel value 0) and is encoded in 16 bits.

The value of the Pixel Intensity Relationship (0028,1040) in the Frame Pixel Data Properties Sequence (0028,9443) could be “OTHER” as it is described in the defined terms. However, a more explicit term like “SQRT” is also allowed and will have the same effect in the reading application.

In the case of a modification of the pixel intensity relationship of an image, the value of the attribute Image Processing Applied (0028,9446) in the Frame Pixel Data Properties Sequence (0028,9443) can be “NONE” in order to indicate to the reading applications that there was no image processing applied to the original image that could modify the spatial or temporal characteristics of the pixels.

SOP Instance UID (0020,000E) = UID "B"
Bits Stored (0028,0101) = 8
item 1
Item 1
>>Derivation Code Sequence (0008,9215)
Item 1
Item 1
Item 1
>>LUT Data (0028,3006) = LUT data
>>LUT Function (0028,9474) = TO_LINEAR
>XA/XRF Frame Characteristics Sequence (0018,9412)
Item 1
>>Derivation Code Sequence (0008,9215)
Item 1
Item 1
>>Pixel Intensity Relationship (0028,1040) = SQRT
>>Pixel Intensity Relationship Sign (0028,1041) = 1
>>Geometrical Properties (0028,9444) = UNIFORM
>>Image Processing Applied (0028,9446) = NONE
Image Image Pixel C.7.6.3 Specifies the dimension of the pixel array of the frames.
XA/XRF Acquisition C.8.19.3 Describes some characteristics of the acquisition system that enables this scenario.
X-Ray Detector C.8.19.5 Specifies the type and characteristics of the image detector.

Table FFF.2. 5-2 ENHANCED XA IMAGE FUNCTIONAL GROUP MACROS

Functional Group Macro PS 3.3 Reference Usage
X-Ray Field of View C.8.19.6.2 Specifies the dimension of the Field of View as well as the flip and rotation transformations.
X-Ray Isocenter Reference System C.8.19.6.13 Specifies the acquisition geometry in a fixed reference system.
X-Ray Geometry C.8.19.6.14 Specifies the distances of the conic projection.
XA/XRF Frame Pixel Data Properties C.8.19.6.4 Specifies the dimensions of the pixels at the image reception plane.

FFF.2.5.1.3.1 Image Pixel Module Recommendations

The usage of this module is recommended to specify the number of rows and columns of the Pixel Data, as well as the aspect ratio.

FFF.2.5.1.3.2 XA/XRF Acquisition Module Recommendations

The usage of this module is recommended to give the necessary conditions to enable the calculations of this scenario.

Table FFF.2.5-3 XA/XRF ACQUISITION MODULE Recommendations

Attribute Name Tag Comment
X-Ray Receptor Type (0018,9420) DIGITAL_DETECTOR is used in this scenario.
Positioner Type (0018,1508) CARM is used in this scenario.
C-arm Positioner Tabletop Relationship (0018,9474) YES is necessary in this scenario.

In case of X-Ray Receptor Type (0018,9420) equals “IMG_INTENSIFIER”, there are some limitations that prevent the calculations described on this scenario:

As a consequence, in case of image intensifier it is impossible to relate the position of the pixels of the stored area to the isocenter reference system.

FFF.2.5.1.3.3 X-Ray Detector Module Recommendations

In case of X-Ray Receptor Type (0018,9420) equals “DIGITAL_DETECTOR” the usage of this module is recommended to specify the type and characteristics of the image detector.

FFF.2.5.1.3.4 X-Ray Field of View Macro Recommendations

The usage of this macro is recommended to specify the characteristics of the field of view.

The field of view characteristics may change per-frame across the multi-frame image.

FFF.2.5.1.3.5 X-Ray Isocenter Reference System Macro Recommendations

The usage of this macro is recommended to specify the fixed reference system of the acquisition geometry.

FFF.2.5.1.3.6 X-Ray Geometry Macro Recommendations

The usage of this macro is recommended to specify the distances between the X-Ray source, isocenter and X-Ray detector.

FFF.2.5.1.3.7 XA/XRF Frame Pixel Data Properties Macro Recommendations

The usage of this macro is recommended to specify the dimensions of the pixels at the image reception plane.

FFF.2.5.1.4 Example

In this example, the operator identifies the position (i, j) of an object of interest projected on the stored pixel data of an image A, and estimates the magnification of the conic projection by a calibration process.

The operator wants to know the position of the projection of such object of interest on a second image B acquired under different geometry.

The attributes that define the geometry of both images A and B are described in the following figure:

Image A Image B
Columns (0028,0011) = 850 = 1000
Positioner Type (0018,1508) = CARM = CARM
C-arm Positioner Tabletop Relationship (0018,9474) = YES = YES
Detector Binning (0018,701A) = 1.0\1.0 = 2.0\2.0
Detector Element Spacing (0018,7022) = 0.2\0.2 = 0.2\0.2
Detector Active Shape (0018,7024) = RECTANGLE = RECTANGLE
Detector Active Dimension(s) (0018,7026) = 400.0\400.0 = 400.0\400.0
Detector Active Origin (0018,7028) = 25.0\25.0 = 25.0\25.0
Physical Detector Size (0018,9429) = 410.0\410.0 = 410.0\410.0
Position of Isocenter Projection (0018,9430) = 1024.5\1024.5 = 1024.5\1024.5
>Field of View Sequence (0018,9432)
Item 1
Item 1
Item 1
Minimal Scheduler
Worklist Manager
Push Performer
Pull Performer X Self Scheduled Pull Performer X X A system that implements UPS Watch as an SCP will also need to implement UPS Event as an SCP to be able to send Event Reports to the systems from whom it accepts subscriptions. GGG.2.2 Typical Pull Workflow This example shows how a typical pull workflow could be used to manage the work of a 3D Lab. A group of 3D Workstations query a 3D Worklist Manager for work items which they perform and report their progress. In this example, the RIS would be a “Typical Scheduler”, the 3D Workstation is a “Pull Performer” as seen in Table GGG.1-1 and the PACS and Modality do not implement any UPS SOP Classes. We will assume the RIS decides which studies require 3D views and puts them on the worklist once the acquiring modality has reported it’s MPPS complete. The RIS identifies the required 3D views and lists the necessary input objects in the UPS based on the image references recorded in the MPPS. Assume the RIS has subscribed globally for all UPS instances managed by the 3D Worklist Manager. [pic] Figure GGG.2-1 Diagram of Typical Pull Workflow GGG.2.3 Reporting Workflow with “Hand-off” This example shows a reporting workflow with a “hand-off”. Reporting Workstations query a RIS for work items to interpret/report. In this example, the RIS is a “Worklist Manager”, the Reporting Workstation is both a “Pull Performer” and a “Minimal Scheduler” as shown in Table GGG.1-1 and the PACS and Modality do not implement any UPS SOP Classes. A reporting workstation claims Task X but can’t complete it and “puts it back on the worklist” by canceling Task X and creating Task Y as a replacement, recording Task X as the Replaced Procedure Step. Assume the RIS is picking up where example GGG.2.2 left off and was waiting for the 3D view generation task to be complete before putting the study on the reading worklist. The RIS identifies the necessary input objects in the UPS based on the image references recorded in the acquisition MPPS and the 3D UPS. [pic] Figure GGG.3-1 Diagram of Reporting Workflow You could also imagine the 3D workstation is a Mammo CAD workstation. If the first radiologist completed the report, the RIS could easily schedule Task Y as the over-read by another radiologist. For further discussion, refer to the Section GGG.2.7 material on Hand-offs, Fail-overs and Putting Tasks Back on the Worklist. GGG.2.4 Third Party Cancel Cancel requests are always directed to the system managing the UPS instance since it is the SCP. When the UPS is being managed by one system (for example a Treatment Management System) and performed by a second system (for example a Treatment Delivery System), a third party would send the cancel request to the TMS and cancellation would take place as shown below. Performing SCUs are not required to react to cancel requests, or even to listen for them, and in some situations would be unable to abort the task represented by the UPS even if they were listening. In the diagram below we assume the performing SCU is listening, willing, and able to cancel the task. If the User had sent the cancel request while the UPS was still in the SCHEDULED state, the SCP (i.e. the TMS) could simply have canceled the UPS internally. Since the UPS state was IN PROGRESS, it was necessary to send the messages as shown. Note that since the TDS has no need for the UPS instance to persist, it subscribed without setting a Deletion Lock, and so it didn’t need to bother unsubscribing later. [pic] Figure GGG.4-1 Diagram of Third Party Cancel GGG.2.5 Radiation Therapy Dose Calculation Push Workflow In this example, users schedule tasks to a shared dose calculation system and need to track progress. This example is intended as a demonstration of UPS and should not be taken as prescriptive of RT Therapy procedures. Pushing the tasks avoids problems with a pull workflow such as the server having to continually poll worklists on (a large number of) possible clients; needing to configure the server to know about all the clients; reporting results to a user who might be at several locations; and associating the results with clients automatically. Also, when performing machines each have unique capabilities, the scheduling must target individual machines, and there can be advantages for integrating the scheduling and performing activities like this. Although not shown in the diagram, the User could have gone to a User Terminal (“Watcher”) and monitored the progress from there by doing a C-FIND and selecting/subscribing to Task X. [pic] Figure GGG.5-1 Diagram of Radiation Therapy Planning Push Workflow In a second example, the User monitors progress from another User Terminal (“Watcher”) and decides to request cancellation after 3 beams. [pic] Figure GGG.5-2 Diagram of Remote Monitoring and Cancel GGG.2.6 X-Ray Clinic Push Workflow In this example, arriving patients are admitted at the RIS and sent to a specific X-Ray room for their exam. The RIS is shown here subscribing globally for events from each Room. Alternatively the RIS could subscribe individually to each Task right after the N-CREATE is requested. It is left open whether the patient demographics have been previously registered and the patients scheduled on the RIS or whether they are registered on the RIS when they arrive. [pic] Figure GGG.6-1 Diagram of X-Ray Clinic Push Workflow GGG.2.7 Other Examples A wide variety of workflow methods are possible using the UPS SOP Classes. In addition to those diagrammed in the previous sections, a few more are briefly described here. These include examples of ways to handle unscheduled tasks, grouped tasks, append cases, “event forwarding”, etc. Self-Scheduling Push & Pull : Unscheduled and Append Cases In radiation therapy a previously unscheduled ("emergency") procedure may be performed on a Treatment Delivery System. Normally a TDS performs scheduled procedures as a Performing SCU in a Typical Pull Workflow like that shown in GGG.2.2. A TDS that might need to perform unscheduled procedures could additionally implement UPS Push (as an SCU) and push the “unscheduled” procedure to the departmental worklist server then immediately set it IN PROGRESS as a UPS Pull SCU. The initial Push to the departmental server allows the rest of the departmental workflow to “sync up” normally to the new task on the schedule. A modality choosing to append some additional images after the original UPS was completed could use a similar method. Since the original UPS can no longer be modified, the modality could push a new UPS instance to the Worklist Manager and then immediately set it IN PROGRESS. Many of the attribute values in the new UPS would be the same as the original UPS. Note that for a Pull Performer that wants to handle unscheduled cases, this Push & Pull approach is pretty simple to implement. Becoming a UPS Push SCU just requires N-CREATE and N-ACTION (Request Cancel) which are quite similar to the N-SET and N-ACTION it already supports as a UPS Pull SCU. The alternative would be implementing both UPS Watch and UPS Event as an SCP which would be more work. Further, potential listeners would have to be aware of and monitor the performing system to track the unscheduled steps, instead of just monitoring the departmental Pull SCP. Self-Scheduling Performer An example of an alternative method for handling unscheduled procedures is a CAD workstation that decides for itself to perform processing on a study. By implementing UPS Watch as an SCP and UPS Event as an SCP, the workstation can create UPS instances internally and departmental systems such as the RIS can subscribe globally to the workstation to monitor its activities. The workstation might create the UPS tasks in response to having data pushed to it, or potentially the workstation could itself also be a Watch and Event SCU and subscribe globally to relevant modality or PACS systems and watch for appropriate studies. Push Daisy Chain Sometimes the performer of the current task is in the best position to decide what the next task should be. An alternative to centralized task management is daisy-chaining where each system pushes the next task to the next performer upon completion of the current task. Using a workflow similar to the X-Ray Clinic example in GGG.6, a modality could push a task to a CAD workstation to process the images created by the modality. The task would specify the necessary images and perhaps parameters relevant to the acquisition technique. The RIS could subscribe globally with the CAD workstation to track events. Another example of push daisy chain would be for the task completed at each step in a reporting process to be followed by scheduling the next logical task. Hand-offs, Fail-overs and Putting Tasks Back on the Worklist Sometimes the performer of the current task, after setting it to IN PROGRESS, may determine it cannot complete the task and would like the task performed by another system. It is not permitted to move the task backwards to the SCHEDULED state. One approach is for the performer to cancel the old UPS and schedule a new UPS to be pulled off the worklist by another system or by itself at some point in the future. The new UPS would be populated with details from the original. The details of the new UPS, such as the Input Information Sequence (0040,4021), the Scheduled Workitem Code Sequence (0040,4018), and the Scheduled Processing Parameters Sequence (0074,1210), might be revised to reflect any work already completed in the old UPS. By including the “Discontinued Procedure Step rescheduled” code in the Procedure Step Discontinuation Reason Code Sequence (0074,100e) of the old UPS, the performer can allow watchers and other systems monitoring the task to know that there is a replacement for the old cancelled UPS. By referencing the UID of the old UPS in the Replaced Procedure Step Sequence (0074,1224) of the new UPS, the performer can allow watchers and other systems to find the new UPS that replaced the old. A proactive SCP might even subscribe watchers of the old UPS to the new UPS that replaces it. Alternatively, if the performer does not have the capability to create a new UPS, it could include the “Discontinued Procedure Step rescheduling recommended” code in the Procedure Step Discontinuation Reason Code Sequence (0074,100e). A very smart scheduling system could observe the cancellation reason and create the new replacement UPS as described above on behalf of the performer. Another approach is for the performer to “sub-contract” to another system by pushing a new UPS onto that system and marking the original UPS complete after the sub-contractor finishes. Yet another approach would be for the performer to deliver the Locking UID (by some unspecified mechanism) to another system allowing the new system to continue the work on the existing UPS. Coordination and reconciliation would be very important since the new system would need to review the current contents of the UPS, understand the current state, update the performing system information, etc. GGG.3 Other Features GGG.3.1 What was Scheduled vs. What was Performed The performing system for a UPS instance determines what details to put in the attributes of the Performed Procedure Information Module. It is possible that the procedure performed may differ in some details from the procedure scheduled. It is up to the performing system to decide how much the performed procedure can differ from the scheduled procedure before it is considered a different procedure, or how much must be performed before the procedure is considered complete. In the case of cancellation, it is possible that some details of the situation may be undeterminable. Beyond meeting the Final State requirements, accurately reflecting in the CANCELED UPS instance the actual state of the task (e.g. reflecting partial work completed and/or any cleanup performed during cancellation), is at the discretion of the performing system. In general it is expected that: An SCU that completes a UPS differently than described in the scheduled details, but accomplishes the intended goal, would record the details as performed in the existing UPS and set it to COMPLETED. Interested systems may choose to N-GET the Performed Codes from the UPS and confirm whether they match the Scheduled Codes. An SCU that completes part of the work described in a UPS, but does not accomplish the intended goal, would set the Performed Protocol Codes to reflect what work was fully or partially completed, set the Output Sequence to reflect the created objects and set the UPS state to CANCELED since the goal was not completed. An SCU that completes a step with a different intent and scope in place of a scheduled UPS would cancel the original scheduled UPS, listing no work output products, and schedule a new UPS describing what was actually done, and reference the original UPS that it replaces in the Replaced Procedure Step Sequence to facilitate monitoring systems “closing the loop”. An SCU that completes multiple steps, scheduled as separate UPS instances (e.g. a dictation & a transcription & a verification), as a block would individually report each of them as completed. An SCU that completes additional unscheduled work in the course of completing a scheduled UPS would either report additional procedure codes in the completed UPS, or create one or more new UPS instances to record the unscheduled work. GGG.3.2 Complex Procedure Steps There are cases where it may be useful to schedule a complex procedure that is essentially a grouping of multiple workitems. Placing multiple workitem codes in the Scheduled Workitem Code Sequence is not permitted (partly due to the additional complexities that would result related to sequencing, dependency, partial completion, etc.) One approach is to schedule separate UPS instances for each of the component workitems and to identify the related UPS instances based on their use of a common Study UID or Order Number. Another approach is for the site to define a single workitem code that means a pre-defined combination of what would otherwise be separate workitems, along with describing the necessary sequencing, dependencies, etc. GGG.3.3 Gift Subscriptions The UPS Subscription allows the Receiving AE-Title to be different than the AE-Title of the SCU of the N-ACTION request. This allows an SCU to sign up someone else who would be interested for a subscription. For example, a reporting workflow manager could subscribe the RIS to UPSs the reporting workflow manager creates for radiology studies, and subscribe the CIS to UPSs it creates for cardiology studies. Or a RIS could subscribe the MPPS broker or the order tracking system to the high level UPS instances and save them from having independent business logic to determine which ones are significant. This can provide an alternative to systems using global subscriptions to stay on top of things. It also has the benefit of providing a way to avoid having to “forward” events. All interested SCUs get their events directly from the SCP. Instead of SCU A forwarding relevant events to SCU B, SCU A can simply subscribe SCU B to the relevant events.-----------------------
[pic] [pic] [pic] R Establish Baseline B L R R L Change Illumination and Filter L L L L L L L L L L R R ... Drug Injection Acquisition Information A Acquisition Information B Acquisition Information C and drug Information Stereometric Relationship SOP Instance Confirm Stereo Capture Short Term single Eye Angio Capture Long Term Angio Capture OP Sop Instances Stored for: B - Both eyes L - Left eye R - Right eye Pairs of images that are intended for stereo viewing Perfusion Analysis CT/MR Cardiovascular Analysis Report CONTAINER ... TID 1 001 Observation Context Patient Characteristics CONTAINER Patient History CONTAINER Procedure Summary CONTAINER Vascular Morphological Analysis CONTAINER Vascular Functional Analysis CONTAINER Ventricular Analysis CONTAINER Report Summary CONTAINERS Vessel CONTAINERS Vascular Measurements (Vessel Branch) CONTAINERS Lesion Finding CONTAINERS Vessel CONTAINERS Flow Quantification CONTAINER Left Ventricle Analysis CONTAINERS Right Ventricle Analysis CONTAINERS Thickening Analysis CONTAINERS Myocardial Perfusion Analysis CONTAINERS Ventricular Measurements - Absolute CONTAINER Ventricular Measurements - Normalized CONTAINERS Vascular Measurements (Vessel Branch) CONTAINERS Calcium Scoring CONTAINER Calcium Scoring CONTAINER Ventricular Measurements - Normalized CONTAINERS Ventricular Measurements - Absolute CONTAINER a b c d [pic] [pic] ROOT Stress Testing Measurements CONTAINER CONTAINS Patient Characteristics CONTAINER (TID 3602) CONTAINS Patient History CONTAINER (TID 3802) CONTAINS Test Conditions CONTAINER CONTAINS Temporal Phase Findings CONTAINER CONTAINS Procedure Summary CONTAINER CONTAINS Conclusions and Recommendations CONTAINER 1 0 - 1 1 1 - N 0 - 1 0 - 1 CONTAINS Observations NUM, TEXT CONTAINS Observations NUM, CODE, TEXT, DATE 1 - N CONTAINS Stress Monitoring Measurement Group CONTAINER 1 - N CONTAINS Observations NUM, TEXT, CODE 1 - N HAS CONCEPT MOD Phase CODE CONTAINS Comparison to Prior Study CONTAINER 0 - 1 CONTAINS Imaging Measurement Group CONTAINER 1 CONTAINS Observations NUM, TEXT, CODE 1 - N Right Eye Inner Inferior Subfield Outer Inferior Subfield Outer Temporal Subfield Inner Temporal Subfield Outer Superior Subfield Inner Superior Subfield Outer Nasal Subfield Inner Nasal Subfield Center Subfield Center Point Left Eye Inner Inferior Subfield Outer Inferior Subfield Outer Nasal Subfield Inner Nasal Subfield Outer Superior Subfield Inner Superior Subfield Outer Temporal Subfield Inner Temporal Subfield Center Subfield Center Point ROOT Document Title CONTAINER CONT HAS CONCEPT MOD Finding Site CODE CONTAINS Finding CONTAINER CONTAINS Image Entry IMAGE CONTAINS Image Library CONTAINER CONTAINS Measurement Group CONTAINER CONTAINS Observations NUM, CODE CONTAINS Patient Characteristics CONTAINER CONTAINS Observations NUM HAS CONCEPT MOD Target Site CODE HAS CONCEPT MOD Target Site = Cardiac Valve Annulus CONTAINS Cardiac Index NUM HAS CONCEPT MOD Cardiac Cycle Point = End Systole HAS CONCEPT MOD Target Site = Right Superior Pulmonary Vein HAS CONCEPT MOD Cardiac Cycle Point = End Diastole HAS CONCEPT MOD Image Mode = 2D Mode CONTAINS Internal Dimensions NUM CONTAINS A-Wave Duration NUM CONTAINS Tissue Velocity NUM CONTAINS Measurement Group CONTAINER HAS CONCEPT MOD Target Site Modifier = Medial HAS CONCEPT MOD Cardiac Cycle Point = Early Diastole HAS CONCEPT MOD Measurement Method = Teichholz HAS CONCEPT MOD Image Mode = 2D mode 20 30 40 50 60 52.20 mm 1 2 1 2 HPGL Document ID View Orientation
1 MEDIAL-LATERAL
2 ANTERIOR-POSTERIOR

Mating Feature ID: 1
2D Mating Feature Coordinates Sequence
Referenced HPGL Document ID 2D Mating Point 2D Mating Axes
1 6.87 / 44.91 1 / 0 / 0 / 1
2 44.24 / 16.7 0.6947 / 0.7193 / -0.7193 / 0.6947
Mating Feature ID: 2
2D Mating Feature Coordinates Sequence
Referenced HPGL Document ID 2D Mating Point 2D Mating Axes
1 6.87 / 44.23 1 / 0 / 0 / 1
2 43.58 / 16 0.6947 / 0.7193 / -0.7193 / 0.6947

Component Group 2 „Heads“ (Mandatory, Exclusive)

Component Group 1 „Stems“ (Mandatory, Exclusive)

1

2

3

4

5

6

Real-World Implant

Part Number

Implant Template A

ORIGINAL

Version 1

Implant Template A

Manufacturer

Replaced Implant Template

ORIGINAL

Version 2

Implant Template A1

DERIVED

Version 1

Derivation Implant Template

Original Implant Template

Implant Template A1

DERIVED

Version 2

Derivation Implant Template

Original Implant Template

Implant Template A2

DERIVED

Version 2

Derivation Implant Template

Original Implant Template

PACS System Integrator

Replaced Implant Template

issues

issues update

Software Vendor

issues

issues

Bite Plate

Patient(CT Image)

Implant

Dental Drilling Template

Spatial Relation

Spatial Relation

Spatial Relation

Archive

User

Treatment

Management

System (TMS)

Treatment Delivery

System (TDS)

1. ‘List Procedures for Delivery’ on TDS console

2. Query UPS (C-FIND)

3. Receive 0-n UPS

4. ‘Select Procedure’ on TDS console (optional if only one procedure in list)

RT Plan and any other reqd objects

(eg verification images, RT Beam Trmt Recs)

8. ‘Start Treatment Session’ on TDS console

9. Set UPS 0% complete, Beam '1' (N-SET)

13. Change UPS ‘COMPLETED’

(N-ACTION)

11. Store RT Treatment Rec and other result objects (C-STORE)

14. Indicate ‘Treatment Session Completed’ on TDS console

5a. Retrieve Archive objects (C-MOVE)

RT Beams Delivery Instruction

RT Treatment Record Summary

RT Beams Trmt Rec (if not in 5)

7. Retrieve TMS objects (C-MOVE)

DELIVER RADIATION

DELIVER RADIATION

Extract input UIDs from selected UPS

Display list to user

Verify

Verify

9. Set UPS 50% complete, Beam '2' (N-SET)

10. Set UPS 100% complete (N-SET)

Receive UPS details

5. Get UPS details (N-GET)

12. Set UPS to Final State (N-SET)

6. Change UPS ‘IN PROGRESS’(N-ACTION with Transaction UID)

Archive

User

Treatment

Management

System (TMS)

Treatment Delivery

System (TDS)

1. ‘List Procedures for Delivery’ on TDS console

2. Query UPS (C-FIND)

3. Receive 0-n UPS

4. ‘Select Procedure’ on TDS console (optional if only one procedure in list)

RT Plan and any other reqd objects

(e.g. verification images, RT Beam Trmt Recs)

8. ‘Start Treatment Session' on TDS console

9. Set UPS 0% complete, Beam '1' (N-SET)

13. Change UPS ‘COMPLETED’

(N-ACTION)

11. Store other result objects (C-STORE)

14. Indicate ‘Treatment Session Completed’ on TDS console

5a. Retrieve Archive objects (C-MOVE)

RT Beams Delivery Instruction

RT Treatment Record Summary

RT Beams Trmt Rec (if not in 5)

7. Retrieve TMS objects (C-MOVE)

Machine

Parameter

Verifier

External Verification

extensions shown in bold

7a. Communicate UPS and any required

delivery data using a non-specified mechanism

‘8a. Deliver Beam 1’ on TDS console

8b. Create RT Conv. Machine Verification

(N-CREATE)

9a. Set ‘Beam1’ RT Conv. Machine

Verification (N-SET)

9c. Notify Verification Status

(N-EVENT-REPORT, Event Type = ‘Done’,

TVS = VERIFIED)

DELIVER RADIATION

Verify

9e. Store ‘Beam1’ RT Beams Treatment Record (C-STORE)

‘8a. Deliver Beam 2’ on TDS console

DELIVER RADIATION

9e. Store ‘Beam2’ RT Beams Treatment Record (C-STORE)

Extract input UIDs from selected UPS

Display list to user

9. Set UPS 50% complete, Beam '2' (N-SET)

9a. Set ‘Beam2’ RT Conv. Machine

Verification (N-SET)

Verify

9f. Delete RT Conv. Machine Verification

(N-DELETE)

9b. Initiate verification (N-ACTION)

9b. Initiate verification (N-ACTION)

9c. Notify Verification Status

(N-EVENT-REPORT, Event Type = ‘Done’,

TVS = VERIFIED)

9d. Get RT Conv. Machine Verification

(N-GET) – optional instruction

9d. Get RT Conv. Machine Verification

(N-GET) – optional instruction

10. Set UPS 100% complete (N-SET)

Receive UPS details

5. Get UPS details (N-GET)

12. Set UPS to Final State (N-SET)

6. Change UPS ‘IN PROGRESS’(N-ACTION with Transaction UID)