UPS Tutorial

advertisement
Flexible Workflow using
UPS:
Unified Procedure Step
Kevin O’Donnell
Toshiba Medical Systems
UPS Goals

Add “Push Workflow” & “Create Workitem”
– Request another system to add item to worklist

Simplify Implementation
– GPWL had N:M relation of SPS:PPS
– State diagram was very complex

Add “Cancel Request”

Improve Status/Result Monitoring
– Getting PPS feed was awkward;
required configuration and forwarding
Interesting 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
UPS 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
UPS Object
UPS Object
Relationship
A UPS Object has its attributes
grouped into 4 Modules:
Sched. Task Details
Progress
Perf. Task Details
(this does not affect processing;
just for logical organization)
UPS Object Modules
UPS Object
Relationship
Sched. Task Details
Progress
Perf. Task Details
Relationship Module
- Patient demographics
- Admission details
- Order details
- Requested Procedure
- Accession #
- Reason for Requested Procedure
- Requesting physician/department
- etc…
UPS Object Modules
UPS Object
Relationship
Sched. Task Details
Progress
Perf. Task Details
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…
UPS Object Modules
UPS Object
Relationship
Sched. Task Details
Progress
Perf. Task Details
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…
UPS Object Modules
UPS Object
Relationship
Sched. Task Details
Progress
Perf. Task Details
Performed Proc. Info. Module
- Time Performed/completed
- Performing resources/location
- Performed Procedure descrip./codes
- Performed Processing parameters
- List of Output data IDs
- etc…
UPS State Diagram
SCHEDULED
IN PROGRESS
COMPLETED
N-CREATE by an SCU
(or SCP internal logic)
N-ACTION by an SCU
(or SCP internal logic)
N-ACTION by an SCU with the lock key
(or SCP internal logic)
CANCELED
UPS Pull Workflow
Requester
(SCU)
Worklist
Manager
(SCP)
Query
Get UPS Contents
UPS
UPS State “In-Progress”
Performer
(SCU)
Set UPS Contents
Watcher
(SCU)
Dashboard
System
UPS State “Complete”
3D Workstation
UPS SOP Classes
Each UPS Object is managed by a
single SCP.
UPS Object
4 SOP Classes exist which can be
used to operate on a UPS object.
Relationship
Each SOP Class supports a few
related operations.
Progress
SCU/SCP not required to implement
all the SOP Classes. Can implement
SOP Classes based on the operations
it needs.
Sched. Task Details
Perf. Task Details
UPS SOP Classes
UPS Push SOP Class
allows SCU systems to:
UPS Object
* create (push) a new worklist item
(i.e. instance) on a worklist
* request cancellation of a worklist
item
Relationship
Sched. Task Details
Progress
Perf. Task Details
UPS SOP Classes
UPS Pull SOP Class
allows SCU systems to:
UPS Object
Relationship
* 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.
Sched. Task Details
Progress
Perf. Task Details
UPS 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
UPS Object
Relationship
Sched. Task Details
Progress
Perf. Task Details
UPS SOP Classes
UPS Object
UPS Event SOP Class
allows SCU systems to:
* receive change events for worklist
items
Relationship
Sched. Task Details
Progress
Perf. Task Details
UPS 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
Pull Workflow
SCP
SCU
3D Workstation
RIS
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)
Pull Workflow – 3D Workstation
RIS
PACS
Acquisition
Modality
3D
Worklist Manager
3D
3D
Workstation
3D
Workstation
Workstation
Store Images
MPPS Complete
Add UPS Task (N-CREATE)
Create UPS for Task X
Add RIS to Task X
Subscriber List (based on
prior Global Subscription)
Query Worklist (C-FIND)
Select UPS for Task X
Retrieve full details for Task X
(N-GET)
Query Input Image Instances
Report Task X In-Progress (N-EVENT)
Claim Task X
(N-ACTION IN-PROGRESS)
Confirm Availability
of Task X inputs
Return Transaction-UID
Retrieve Input Image Instances
Generate 3D Views
requested in Task X
Store 3D Views
Record Task Details
(N-SET [T-UID] )
Report Task X Complete (N-EVENT)
Retrieve Final State Details (N-GET)
Complete Task X
(N-ACTION COMPLETE [T-UID])
Comparison 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 it’s (limited) job reasonably well
– MWL has a large install base

UPS might supplement MWL for specific
applications that need it’s features
– e.g. Push Workflow for X-Ray clinics
Push Workflow
SCU
RIS
SCP
Please perform this task
(N-CREATE with these attribute values)
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)
3D Workstation
UPS
Push Workflow – X-Ray Clinic
X-Ray
X-Ray
(Room #3)
X-Ray
(Room #2)
(Room #1)
RIS
PACS
Subscribe globally for events
(N-ACTION SUBSCRIBE [Well-Known Instance])
...
Patient (Mr. X) arrives at Reception
RIS assigns Mr. X
to Room 1
Add UPS Task (N-CREATE)
Create UPS for Task X
Patient (Mr. X) arrives at X-Ray Room 1
Tech confirms identify of Mr. X
and begins procedure
Report Task X In-Progress (N-EVENT)
Update Task X UPS Status to
IN-PROGRESS
Display Progress
“Exam Started”
Report Task X Progress (N-EVENT)
Display Progress
“All Views Taken”
Update Task X UPS Progress to
”All Views Taken”
Store Images
Update Task X Details
Display Progress
“Exam Complete”
Report Task X Complete (N-EVENT)
Update Task X UPS Status to
COMPLETE
Retrieve Final State Details (N-GET)
UnSubscribe for Task X
(N-ACTION SUBSCRIBE [Task X])
Delete Task X
Watch Workflow

No central controller
– Workstation watches flow of N-EVENTs:
“System 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
Example Implementation Groupings
Deletion 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 can’t 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
Requesting Cancel
Treatment
Delivery
System
Treatment
Management
System
User
Terminal
Start Task X (N-ACTION IN PROGRESS)
Return Transaction UID (TUID)
Start listening (N-ACTION SUBSCRIBE [Task X])
Return Current Task X Status (N-EVENT)
User decides to cancel Task X
…
Find UPS Task of Interest (C-FIND)
User selects Task X
Copy Contact URI from Request into N-EVENT
Request Task X Cancel
(N-ACTION REQUEST CANCEL)
Report Task X Cancel Requested (N-EVENT)
Display Cancel Request
for Task X and Contact
URI to Operator
Operator pauses task &
uses Contact URI to call
user & discuss cancel
Update Task X Details (N-SET w TUID)
Cancel Task X (N-ACTION CANCELED w TUID)
Report Task X Canceled (N-EVENT)
Operator agrees and
cancels Task X
Current 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
Current 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 Workflow
and Post-processing Workflow
– may profile Sup 124 when it’s ready
Questions?
www.dclunie.com
> DICOM Status
> Sup 96
Download