-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path21-OS-SCU proxy.plantuml
112 lines (108 loc) · 3.79 KB
/
21-OS-SCU proxy.plantuml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
@startuml SCP-UA Proxy
!pragma teoz true
skinparam style strictuml
hide footbox
participant "User Agent" as UA
box Origin Server / SCU proxy
participant "**Origin Server**" as OS
participant "**SCU**" as SCU
end box
participant "SCP" as SCP
== Get Applicable //Workitems// ==
activate UA
UA -> OS: HTTP GET /workitems?{&match}...
activate OS
note left: [PS3.18, 11.9]\nSearch
OS -> SCU: perform Query using\nDICOMweb parameters
activate SCU
SCU -> SCU: convert DICOMweb\nparameters to\nDIMSE
SCU -> SCP: A-ASSOCIATE-RQ( 1.2.840.1008.5.1.4.31 )
activate SCP
SCU <-- SCP: A-ASSOCIATE-AC
SCU ->SCU: empty //Workitems//
SCU -> SCP: C-FIND-RQ( 1.2.840.10008.5.1.4.31, ... )
note left: [PS3.4, K.4.1]\n<color:red>Query
loop until done
SCU <-- SCP: C-FIND-RSP: FF00H (Pending), //Workitem//
SCU -> SCU: add //Workitem// to //Workitems//
end
SCU <-- SCP: C-FIND-RSP: 0000H (Success)
SCU -> SCP: A-RELEASE-RQ
SCU <-- SCP: A-RELEASE-RSP
SCU -> SCU: convert //Workitems//\nto DICOMweb
OS <-- SCU: ready: //Workitems//
UA <-- OS: 200 (OK), //Workitems//
...
== Claim and Prepare //Workitem// ==
UA -> OS: HTTP PUT /workitems///Workitem///state\nTransactionUID, "IN PROGRESS"
note left: [PS3.18, 11.7]\nChange Workitem\nState
OS -> OS: get applicable information\nof //Workitem//
note right: <color:red>or query MWL server?!
OS -> SCU: create MPPS with\n//Workitem// information
SCU -> SCU: convert DICOMweb\ninformation to\nDIMSE
SCU -> SCP: A-ASSOCIATE-RQ( 1.2.840.10008.3.1.2.3.3 )
SCU <-- SCP: A-ASSOCIATE-AC
SCU -> SCP: N-CREATE-RQ( 1.2.840.10008.3.1.2.3.3, \nMPPSInstanceUID, ... )
note left: [PS3.4, F.7.2.1]\nCreate
SCU <-- SCP: N-CREATE-RSP: 0000H (Success)
opt when not reusing the association
SCU -> SCP: A-RELEASE-RQ
SCU <-- SCP: A-RELEASE-RSP
end
OS <-- SCU: ready: OK
UA <-- OS: 200 (OK)
UA -> OS: HTTP POST /workitems///Workitem//?TransactionUID\n//Payload//
note left: [PS3.18, 11.6]\nUpdate Workitem
OS -> SCU: set information using\nDICOMweb //Payload//
SCU -> SCU: convert //Payload// to\nDIMSE parameters
opt when not reusing the association
SCU -> SCP: A-ASSOCIATE-RQ( 1.2.840.10008.3.1.2.3.3 )
SCU <-- SCP: A-ASSOCIATE-AC
end
SCU -> SCP: N-SET-RQ( MPPSInstanceUID, ... )
note left: [PS3.4, F.7.2.2]\nSet Information
SCU <-- SCP: N-SET-RSP: 0000H (Success)
opt when not reusing the association
SCU -> SCP: A-RELEASE-RQ
SCU <-- SCP: A-RELEASE-RSP
end
OS <-- SCU: ready: OK
UA <-- OS: 200 (OK)
...
== Report Progress on //Workitem// ==
UA -> OS: HTTP POST /workitems///Workitem//?TransactionUID\n//Payload//
note left: [PS3.18 11.6]\nUpdate Workitem
OS -> SCU: set information using\nDICOMweb //Payload//
SCU -> SCU: convert //Payload// to\nDIMSE parameters
opt when not reusing the association
SCU -> SCP: A-ASSOCIATE-RQ( 1.2.840.10008.3.1.2.3.3 )
SCU <-- SCP: A-ASSOCIATE-AC
end
SCU -> SCP: N-SET-RQ( MPPSInstanceUID, ... )
note left: [PS3.4, F.7.2.2]\nSet Information
SCU <-- SCP: N-SET-RSP: 0000H (Success)
opt when not reusing the association
SCU -> SCP: A-RELEASE-RQ
SCU <-- SCP: A-RELEASE-RSP
end
OS <-- SCU: ready: OK
UA <-- OS: 200 (OK)
...
== Change //Workitem// State<sub>Completed</sub> ==
UA -> OS: HTTP PUT /workitems///Workitem///state\nTransactionUID, "COMPLETED"
note left: [PS3.18 11.7]\nChange Workitem\nState
OS -> OS: get applicable information\nof //Workitem//
note right: or query MWL server?!
OS -> SCU: set //Workitem// state\nto COMPLETED
opt when not reusing the association
SCU -> SCP: A-ASSOCIATE-RQ( 1.2.840.10008.3.1.2.3.3 )
SCU <-- SCP: A-ASSOCIATE-AC
end
SCU -> SCP: N-SET-RQ( MPPSInstanceUID, \n"COMPLETED", ... )
note left: [PS3.4, F.7.2.2]\nSet Information
SCU <-- SCP: N-SET-RSP: 0000H (Success)
SCU -> SCP: A-RELEASE-RQ
SCU <-- SCP: A-RELEASE-RSP
OS <-- SCU: ready: OK
UA <-- OS: 200 (OK)
...