Title: Kevin O
1Flexible Workflow usingUPSUnified Procedure
Step
- Kevin ODonnellToshiba Medical Systems
2UPS Goals
- Add Push Workflow Create Workitem
- Request another system to add item to worklist
- Simplify Implementation
- GPWL had NM relation of SPSPPS
- State diagram was very complex
- Add Cancel Request
- Improve Status/Result Monitoring
- Getting PPS feed was awkward required
configuration and forwarding
3Interesting UPS Features
- Remote create
- Task Locking by performer
- Deletion Locking by watchers
- Subscription-based Monitoring
- Gift Subscriptions
- Push, Pull, and Watch Workflows
- Sub-contracting
- 1-to-1 relationship between SPS and PPS
- 4 SOP Classes operating on 1 IOD
4UPS Architecture
- One object
- Each item on a worklist is a UPS Object
- UPS Object Unified Procedure Step IOD
- Unified contains details of both the requested
task the performed task - Four SOP Classes
- UPS Push SOP Class
- UPS Pull SOP Class
- UPS Watch SOP Class
- UPS Event SOP Class
5UPS Object
A UPS Object has its attributes grouped into 4
Modules (this does not affect processing
just for logical organization)
6UPS Object Modules
- Relationship Module
- Patient demographics
- Admission details
- Order details
- Requested Procedure
- Accession
- - Reason for Requested Procedure
- Requesting physician/department
- etc
7UPS Object Modules
- Scheduled Proc. Info. Module
- - Priority
- - Requested perform./completion time
- - Requested resources/location
- - Requested Procedure descrip./codes
- - Requested Processing parameters
- List of Input data IDs
- Input Data Availability Flag
- etc
8UPS Object Modules
- Progress Module
- - UPS State (Scheduled, In-Progress, Completed,
Canceled) - Progress Status Numerical (e.g. complete)
- Progress Status Description (e.g. Annealing
phase complete) - - Contact information for performer (e.g. phone
) - etc
9UPS Object Modules
- Performed Proc. Info. Module
- - Time Performed/completed
- - Performing resources/location
- Performed Procedure descrip./codes
- Performed Processing parameters
- - List of Output data IDs
- etc
10UPS State Diagram
11UPS Pull Workflow
Requester(SCU)
Worklist Manager (SCP)
Create UPS
Subscribe UPS
Query
Performer(SCU)
UPS State Event
Get UPS Contents
Get UPS Contents
UPS
UPS State In-Progress
Set UPS Contents
UPS State Complete
Watcher(SCU)
Subscribe Global
UPS State Event
12UPS SOP Classes
Each UPS Object is managed by a single SCP. 4
SOP Classes exist which can be used to operate on
a UPS object. Each SOP Class supports a few
related operations. SCU/SCP not required to
implement all the SOP Classes. Can implement SOP
Classes based on the operations it needs.
13UPS SOP Classes
UPS Push SOP Class allows SCU systems to
create (push) a new worklist item (i.e.
instance) on a worklist request cancellation of
a worklist item
14UPS SOP Classes
UPS Pull SOP Class allows SCU systems to
query a worklist for matching items take
ownership/control (pull) of a worklist item
modify progress/status/result details for
the worklist item finalize a controlled
worklist item as Completed or Canceled.
15UPS SOP Classes
UPS Watch SOP Class allows SCU systems to
query a worklist for items of interest
subscribe/unsubscribe for change events for
one worklist item subscribe/unsubscribe for
change events for all worklist items get
details for a worklist item request
cancellation of a worklist item
16UPS SOP Classes
UPS Event SOP Class allows SCU systems to
receive change events for worklist items
17UPS Task Locking
- For a UPS in SCHEDULED State
- (SCU does N-ACTION to IN-PROGRESS)
- SCP generates a lock ID
- (SCP returns lock ID to performing SCU)
- For a UPS in IN-PROGRESS State
- N-SET without lock ID is rejected by SCP
- N-ACTION to change state
- Of course, lock ID could be distributed, but be
careful
18Pull Workflow
SCP
SCU
Give me a list of tasks that need to be done
(C-FIND)
UPS
UPS
UPS
UPS
I will do that one (N-ACTION Set to IN-PROGRESS)
Record these details in the UPS (N-SET attribute
values)
I am finished (N-ACTION Set to COMPLETE)
19Pull Workflow 3D Workstation
20Comparison to Modality Worklist
- MWL is like UPS Pull-mode, except
- UPS combines SPS and MPPS in a single object
- UPS has extra features
- UPS will not generally replace MWL
- MWL does its (limited) job reasonably well
- MWL has a large install base
- UPS might supplement MWL for specific
applications that need its features - e.g. Push Workflow for X-Ray clinics
21Push Workflow
SCU
SCP
Please perform this task(N-CREATE with these
attribute values)
UPS
Notify me about progress for that task(N-ACTION
Subscribe)
I have started to do that task (N-EVENT it is
IN-PROGRESS)
I have updated details in the UPS (N-EVENT)
I am finished (N-EVENT it is COMPLETE)
Give me the result details of the task(N-GET
these attribute values)
22Push Workflow X-Ray Clinic
23Watch Workflow
- No central controller
- Workstation watches flow of N-EVENTsSystem A
did X, System B did Y - Workstation decides Hmmm, I think I will do
this - Workstation internally creates a UPS
- Interested Subscribers are notified of
Workstation activity via N-EVENT N-GET details
as needed - Examples
- CAD workstation sees N-EVENT that Mammo Acq. is
complete decides to do CAD processing - Reporting station sees N-EVENT that CAD is
complete decides to queue reading worklist for
that study
24Example Implementation Groupings
25Deletion Locks Reliable Watchers
- Reliable Watcher (SCU)
- Problem SCP might delete a completed UPS before
SCU gets needed details - (e.g. due to Network latency or outage)
- Missing a UPS could prevent Watcher from
- monitoring completion
- extracting details
- creating subsequent UPS Instances,
- referencing UPS 1 outputs as UPS 2 inputs
- Mechanism
- SCU Sets a Deletion Lock flag during subscription
- SCP cant delete UPS with outstanding Deletion
Locks - SCU removes Deletion Lock after retrieving final
state of UPS - SCP free to delete UPS after all deletion locks
removed - SCP documents how it handles orphans
26Requesting Cancel
27Current DICOM Status
- Sup 96 (UPS)
- Officially published as Frozen for Trial Use
- Sup 74 (Radiotherapy Treatment Delivery Workflow)
- Officially published as Frozen for Trial Use
- Defines Treatment Delivery Objects
- Documents use of UPS for RT
- UPS references instances of RT Beams Delivery
Instruction - Treatment Delivery System (SCU) pulls work from
the Treatment Management System (SCP) - Z.3.1.2 gives detailed example of UPS usage,
specifying both the task and input objects - Sup 124 (Softcopy Display Mgt.)
- Under development
- Defines Display management/callibration Tasks
Results - Uses UPS to push Display Calibration jobs (with
Task description) convey Results
28Current IHE Status
- IHE Radiation Oncology
- Planning to test Sup 74 workflow using UPS
- IHE Mammography
- expressed interest in UPS features (not
committed yet) - UPS could help handle complex cases such as
- Multi-pass Acquisition
- Callbacks
- CAD
- Reading Worklists
- IHE Radiology
- no plan to replace Modality Worklist for
acquisition workflow - will consider UPS when re-visiting Reporting
Workflowand Post-processing Workflow - may profile Sup 124 when its ready
29Questions?
- www.dclunie.com
- gt DICOM Status
- gt Sup 96