comparison OpenAPI/orthanc-openapi.yaml @ 285:45ed5ab7f92a

documented /store routes (peers and modalities)
author Alain Mazy <alain@mazy.be>
date Tue, 24 Sep 2019 09:52:38 +0200
parents 2946fcd2e7fa
children 833d4ec1c1e8
comparison
equal deleted inserted replaced
284:bcbe4a9ae8aa 285:45ed5ab7f92a
33 Type: 33 Type:
34 type: string 34 type: string
35 enum: 35 enum:
36 - Patient 36 - Patient
37 example: { 37 example: {
38 "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", 38 "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea",
39 "MainDicomTags" : { 39 "MainDicomTags" : {
40 "OtherPatientIDs" : "(null)", 40 "OtherPatientIDs" : "(null)",
41 "PatientBirthDate" : "0", 41 "PatientBirthDate" : "0",
42 "PatientID" : "000000185", 42 "PatientID" : "000000185",
43 "PatientName" : "Anonymous^Unknown", 43 "PatientName" : "Anonymous^Unknown",
44 "PatientSex" : "O" 44 "PatientSex" : "O"
45 }, 45 },
46 "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ], 46 "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ],
47 "Type" : "Patient" 47 "Type" : "Patient"
48 } 48 }
49 study: 49 study:
50 properties: 50 properties:
51 ID: 51 ID:
52 type: string 52 type: string
53 Series: 53 Series:
74 Type: 74 Type:
75 type: string 75 type: string
76 enum: 76 enum:
77 - Study 77 - Study
78 example: { 78 example: {
79 "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", 79 "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15",
80 "MainDicomTags" : { 80 "MainDicomTags" : {
81 "AccessionNumber" : "(null)", 81 "AccessionNumber" : "(null)",
82 "StudyDate" : "20120716", 82 "StudyDate" : "20120716",
83 "StudyDescription" : "TestSUVce-TF", 83 "StudyDescription" : "TestSUVce-TF",
84 "StudyID" : "23848", 84 "StudyID" : "23848",
85 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40", 85 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40",
86 "StudyTime" : "170728" 86 "StudyTime" : "170728"
87 }, 87 },
88 "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", 88 "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea",
89 "Series" : [ 89 "Series" : [
90 "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", 90 "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0",
91 "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", 91 "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35",
92 "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598" 92 "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598"
93 ], 93 ],
94 "Type" : "Study" 94 "Type" : "Study"
95 } 95 }
96 series: 96 series:
97 properties: 97 properties:
98 ID: 98 ID:
99 type: string 99 type: string
100 ExpectedNumberOfInstances: 100 ExpectedNumberOfInstances:
135 Status: 135 Status:
136 type: string 136 type: string
137 enum: 137 enum:
138 - Complete 138 - Complete
139 example: { 139 example: {
140 "ExpectedNumberOfInstances" : 45, 140 "ExpectedNumberOfInstances" : 45,
141 "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", 141 "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35",
142 "Instances" : [ 142 "Instances" : [
143 "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd", 143 "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd",
144 "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8", 144 "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8",
145 "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea", 145 "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea",
146 "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4" 146 "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4"
147 ], 147 ],
148 "MainDicomTags" : { 148 "MainDicomTags" : {
149 "Manufacturer" : "Philips Medical Systems", 149 "Manufacturer" : "Philips Medical Systems",
150 "Modality" : "PT", 150 "Modality" : "PT",
151 "NumberOfSlices" : "45", 151 "NumberOfSlices" : "45",
152 "ProtocolName" : "CHU/Body_PET/CT___50", 152 "ProtocolName" : "CHU/Body_PET/CT___50",
153 "SeriesDate" : "20120716", 153 "SeriesDate" : "20120716",
154 "SeriesDescription" : "[WB_CTAC] Body", 154 "SeriesDescription" : "[WB_CTAC] Body",
155 "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737", 155 "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737",
156 "SeriesNumber" : "587370", 156 "SeriesNumber" : "587370",
157 "SeriesTime" : "171121", 157 "SeriesTime" : "171121",
158 "StationName" : "r054-svr" 158 "StationName" : "r054-svr"
159 }, 159 },
160 "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", 160 "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15",
161 "Status" : "Complete", 161 "Status" : "Complete",
162 "Type" : "Series" 162 "Type" : "Series"
163 } 163 }
164 instance: 164 instance:
165 properties: 165 properties:
166 FileSize: 166 FileSize:
167 type: number 167 type: number
168 FileUuid: 168 FileUuid:
188 type: string 188 type: string
189 Type: 189 Type:
190 enum: 190 enum:
191 - Instance 191 - Instance
192 example: { 192 example: {
193 "FileSize" : 35440, 193 "FileSize" : 35440,
194 "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec", 194 "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec",
195 "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", 195 "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000",
196 "IndexInSeries" : 59, 196 "IndexInSeries" : 59,
197 "MainDicomTags" : { 197 "MainDicomTags" : {
198 "AcquisitionNumber" : "2", 198 "AcquisitionNumber" : "2",
199 "ImageIndex" : "59", 199 "ImageIndex" : "59",
200 "ImagePositionPatient" : "-134.74816\\-272.14441\\-712.764", 200 "ImagePositionPatient" : "-134.74816\\-272.14441\\-712.764",
201 "InstanceNumber" : "59", 201 "InstanceNumber" : "59",
202 "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" 202 "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748"
203 }, 203 },
204 "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", 204 "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb",
205 "Type" : "Instance" 205 "Type" : "Instance"
206 } 206 }
207 jobId:
208 properties:
209 ID:
210 type: string
211 Path:
212 type: string
213 example: {
214 "ID": "11541b16-e368-41cf-a8e9-3acf4061d238",
215 "Path": "/jobs/11541b16-e368-41cf-a8e9-3acf4061d238"
216 }
217 jobCStore:
218 properties:
219 Description:
220 type: string
221 FailedInstancesCount:
222 type: number
223 InstancesCount:
224 type: number
225 LocalAet:
226 type: string
227 RemoteAet:
228 type: string
229 example: {
230 "Description": "REST API",
231 "FailedInstancesCount": 0,
232 "InstancesCount": 1,
233 "LocalAet": "ORTHANCA",
234 "RemoteAet": "ORTHANCB"
235 }
236 jobPeerStore:
237 properties:
238 Description:
239 type: string
240 FailedInstancesCount:
241 type: number
242 InstancesCount:
243 type: number
244 Peer:
245 type: string
246 example: {
247 "Description": "REST API",
248 "FailedInstancesCount": 0,
249 "InstancesCount": 1,
250 "Peer": [
251 "http://127.0.0.1:8543/"
252 ]
253 }
254 listOfResourcesWithAsynchOption:
255 properties:
256 Resources:
257 description: A list of resources IDs (Patient, Studies, Series or Instances)
258 type: array
259 items:
260 type: string
261 Asynchronous:
262 description: true to create a job and return immediately, false to wait for job completion
263 type: boolean
264 example: {
265 "Resources" : ["62cdfbea-07c71f0c-cd643b19-841a306a-01221339"],
266 "Asynchronous" : true
267 }
268 listOfResources:
269 description: A list of resources IDs (Patient, Studies, Series or Instances)
270 schema:
271 type: array
272 items:
273 type: string
274 example: ["62cdfbea-07c71f0c-cd643b19-841a306a-01221339"]
275 singleResource:
276 description: A resource ID (Patient, Studies, Series or Instances)
277 type: string
278 example: "62cdfbea-07c71f0c-cd643b19-841a306a-01221339"
207 paths: 279 paths:
208 /instances: 280 /instances:
209 post: 281 post:
210 tags: [Instances] 282 tags: [Instances]
211 description: The upload of DICOM files is possible by querying the REST API using the following syntax. 283 description: The upload of DICOM files is possible by querying the REST API using the following syntax.
900 items: 972 items:
901 type: string 973 type: string
902 /peers/{Peer}: 974 /peers/{Peer}:
903 put: 975 put:
904 tags: [Orthanc Peers] 976 tags: [Orthanc Peers]
905 description: Add a new Orthanc peer. Note that this will only be stored in memory unless the 'OrthancPeersInDatabase' configuration option is set. 977 summary: Add a new Orthanc peer.
978 description: Note that this will only be stored in memory unless the 'OrthancPeersInDatabase' configuration option is set.
906 parameters: 979 parameters:
907 - name: Peer 980 - name: Peer
908 in: path 981 in: path
909 required: true 982 required: true
910 schema: 983 schema:
920 200: 993 200:
921 description: Peer created 994 description: Peer created
922 /peers/{Peer}/store: 995 /peers/{Peer}/store:
923 post: 996 post:
924 tags: [Orthanc Peers] 997 tags: [Orthanc Peers]
925 description: Send a resource to an Orthanc peer. Resource ID's are provided either as JSON array or a raw string. 998 summary: Send resources to an Orthanc peer.
926 parameters: 999 parameters:
927 - name: Peer 1000 - name: Peer
928 in: path 1001 in: path
929 required: true 1002 required: true
1003 description: the peer alias as defined in the Orthanc configuration file
930 schema: 1004 schema:
931 type: string 1005 type: string
932 requestBody: 1006 requestBody:
933 content: 1007 content:
934 application/json: 1008 application/json:
935 schema: 1009 schema:
936 type: array 1010 oneOf:
937 items: 1011 - $ref: "#/components/schemas/listOfResourcesWithAsynchOption"
938 type: string 1012 - $ref: "#/components/schemas/listOfResources"
939 description: Resource ID (patient, study, series or instance) to send to the peer.
940 example: ["d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88","d5604121-7d613ce6-c315a5-a77b3cf3-9c253b23","cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e"]
941 text/plain: 1013 text/plain:
942 example: d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88 1014 schema:
943 responses: 1015 $ref: "#/components/schemas/singleResource"
944 200: 1016 responses:
945 description: Resources sent 1017 200:
1018 description: Jobs that have been created
1019 content:
1020 application/json:
1021 schema:
1022 oneOf:
1023 - $ref: "#/components/schemas/jobId"
1024 - $ref: "#/components/schemas/jobPeerStore"
946 1025
947 /modalities/{Modality}/store: 1026 /modalities/{Modality}/store:
948 post: 1027 post:
949 tags: [Orthanc Peers] 1028 tags: [Remote Modalities]
950 description: Once you have identified the Orthanc identifier of the DICOM resource that would like to send you would use the following command to send it. 1029 summary: Send resources from Orthanc to a remote modality through C-Store.
951 parameters: 1030 parameters:
952 - name: Modality 1031 - name: Modality
953 in: path 1032 in: path
954 required: true 1033 required: true
955 description: The Modality to invoke C-STORE from within the Orthanc configuration file 1034 description: the modality alias where you want to send data (as defined in the Orthanc configuration file)
956 schema: 1035 schema:
957 type: string 1036 type: string
958 requestBody: 1037 requestBody:
959 content: 1038 content:
960 application/json: 1039 application/json:
961 schema: 1040 schema:
962 type: array 1041 oneOf:
963 items: 1042 - $ref: "#/components/schemas/listOfResourcesWithAsynchOption"
964 type: string 1043 - $ref: "#/components/schemas/listOfResources"
965 description: Resource ID (patient, study, series or instance) to send to the remote modality.
966 example: ["d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88","d5604121-7d613ce6-c315a5-a77b3cf3-9c253b23","cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e"]
967 text/plain: 1044 text/plain:
968 example: d4b46c8e-74b16992-b0f5ca11-f04a60fa-8eb13a88 1045 schema:
969 responses: 1046 $ref: "#/components/schemas/singleResource"
970 200: 1047 responses:
971 description: Resources sent 1048 200:
1049 description: Jobs that have been created
1050 content:
1051 application/json:
1052 schema:
1053 oneOf:
1054 - $ref: "#/components/schemas/jobId"
1055 - $ref: "#/components/schemas/jobCStore"
1056
1057
972 /modalities/{Modality}/query: 1058 /modalities/{Modality}/query:
973 post: 1059 post:
974 tags: [Remote Modalities] 1060 tags: [Remote Modalities]
975 description: To initiate a query you perform a POST command against the Modality with the identifiers you are looking for. This search is case insensitive unless configured otherwise within the Orthanc configuration file. Note that queries are cleaned up after a period of inactivity, which can sometimes be very short. You will need to access the query results quickly. 1061 description: To initiate a query you perform a POST command against the Modality with the identifiers you are looking for. This search is case insensitive unless configured otherwise within the Orthanc configuration file. Note that queries are cleaned up after a period of inactivity, which can sometimes be very short. You will need to access the query results quickly.
976 parameters: 1062 parameters: