Page 570 |
DICOM PS3.17 2020a - Explanatory Information |
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 astheInputInformationSequence(0040,4021),theScheduledWorkitemCodeSequence(0040,4018),andtheScheduledProcessing Parameters Sequence (0074,1210), might be revised to reflect any work already completed in the old UPS. By including the "Discon- tinued Procedure Step rescheduled" code in the Procedure Step Discontinuation Reason Code Sequence (0074,100e) of the old UPS,theperformercanallowwatchersandothersystemsmonitoringthetasktoknowthatthereisareplacementfortheoldcanceled 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 in- formation, 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 indeterminable. Beyond meeting the Final State requirements,accuratelyreflectingintheCANCELEDUPSinstancetheactualstateofthetask(e.g.,reflectingpartialworkcompleted and/or any cleanup performed during cancellation), is at the discretion of the performing system.
In general it is expected that:
•AnSCUthatcompletesaUPSdifferentlythandescribedinthescheduleddetails,butaccomplishestheintendedgoal,wouldrecord 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.