Mercurial > hg > orthanc-book
comparison OpenAPI/orthanc-openapi.yaml @ 267:0a97b61ae021
updated openapi based on Chris McGee message on 2019-08-18
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 19 Aug 2019 08:35:48 +0200 |
parents | 4e1a034ace3f |
children | 869d6efbb54c |
comparison
equal
deleted
inserted
replaced
266:a9e34dc2635b | 267:0a97b61ae021 |
---|---|
4 version: 1.0.0 | 4 version: 1.0.0 |
5 description: >- | 5 description: >- |
6 One of the major strengths of Orthanc lies in its built-in RESTful API, that can be used to drive Orthanc from external applications, independently of the programming language that is used to develop these applications. The REST API of Orthanc gives a full programmatic access to all the core features of Orthanc. Importantly, Orthanc Explorer (the embedded administrative interface of Orthanc) entirely resorts to this REST API for all its features. This implies that anything that can be done through Orthanc Explorer, can also be done through REST queries. | 6 One of the major strengths of Orthanc lies in its built-in RESTful API, that can be used to drive Orthanc from external applications, independently of the programming language that is used to develop these applications. The REST API of Orthanc gives a full programmatic access to all the core features of Orthanc. Importantly, Orthanc Explorer (the embedded administrative interface of Orthanc) entirely resorts to this REST API for all its features. This implies that anything that can be done through Orthanc Explorer, can also be done through REST queries. |
7 servers: | 7 servers: |
8 - url: 'https://demo.orthanc-server.com' | 8 - url: 'https://demo.orthanc-server.com' |
9 paths: | 9 components: |
10 /instances: | 10 schemas: |
11 post: | 11 patient: |
12 tags: [Instances] | 12 properties: |
13 description: The upload of DICOM files is possible by querying the REST API using the following syntax. | 13 ID: |
14 requestBody: | 14 type: string |
15 description: DICOM file | 15 Studies: |
16 content: | 16 type: array |
17 application/dicom: {} | 17 items: |
18 responses: | 18 type: string |
19 200: | 19 MainDicomTags: |
20 description: New instance successfully posted | 20 type: object |
21 content: | 21 properties: |
22 application/json: | 22 OtherPatientIDs: |
23 schema: | 23 type: string |
24 properties: | 24 PatientBirthDate: |
25 ID: | 25 type: string |
26 description: New Orthanc instance ID | 26 PatientName: |
27 type: string | 27 type: string |
28 Path: | 28 PatientSex: |
29 description: URL path for the instance | 29 type: string |
30 type: string | 30 ParentPatient: |
31 Status: | 31 type: string |
32 description: Status | 32 Type: |
33 type: string | 33 type: string |
34 enum: | 34 enum: |
35 - Success | 35 - Patient |
36 get: | 36 example: { |
37 tags: [Instances] | 37 "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", |
38 description: Get all DICOM instances ID's in Orthanc | 38 "MainDicomTags" : { |
39 responses: | 39 "OtherPatientIDs" : "(null)", |
40 200: | 40 "PatientBirthDate" : "0", |
41 description: Array of all instances ID's | 41 "PatientID" : "000000185", |
42 content: | 42 "PatientName" : "Anonymous^Unknown", |
43 application/json: | 43 "PatientSex" : "O" |
44 schema: | 44 }, |
45 type: array | 45 "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ], |
46 items: | 46 "Type" : "Patient" |
47 type: string | 47 } |
48 example: [ | 48 study: |
49 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | 49 properties: |
50 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | 50 ID: |
51 ] | 51 type: string |
52 /instances/{Id}: | 52 Series: |
53 get: | 53 type: array |
54 tags: [Instances] | 54 items: |
55 description: Get an instance from Orthanc | 55 type: string |
56 parameters: | 56 MainDicomTags: |
57 - name: Id | 57 type: object |
58 required: true | 58 properties: |
59 in: path | 59 AccesionNumber: |
60 schema: | 60 type: string |
61 type: string | 61 StudyDate: |
62 responses: | 62 type: string |
63 200: | 63 StudyDescription: |
64 description: Orthanc instance | 64 type: string |
65 content: | 65 StudyID: |
66 application/json: | 66 type: string |
67 schema: | 67 StudyInstanceUID: |
68 properties: | 68 type: string |
69 FileSize: | 69 StudyTime: |
70 type: number | 70 type: string |
71 FileUuid: | 71 ParentPatient: |
72 type: string | 72 type: string |
73 ID: | 73 Type: |
74 type: string | 74 type: string |
75 IndexInSeries: | 75 enum: |
76 type: number | 76 - Study |
77 MainDicomTags: | 77 example: { |
78 type: object | 78 "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", |
79 properties: | 79 "MainDicomTags" : { |
80 AcquisitionNumber: | 80 "AccessionNumber" : "(null)", |
81 type: string | 81 "StudyDate" : "20120716", |
82 ImageIndex: | 82 "StudyDescription" : "TestSUVce-TF", |
83 type: string | 83 "StudyID" : "23848", |
84 ImagePositionPatient: | 84 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40", |
85 type: string | 85 "StudyTime" : "170728" |
86 InstanceNumber: | 86 }, |
87 type: string | 87 "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", |
88 SOPInstanceUID: | 88 "Series" : [ |
89 type: string | 89 "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", |
90 ParentSeries: | 90 "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", |
91 type: string | 91 "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598" |
92 Type: | 92 ], |
93 enum: | 93 "Type" : "Study" |
94 - Instance | 94 } |
95 example: { | 95 series: |
96 properties: | |
97 ID: | |
98 type: string | |
99 ExpectedNumberOfInstances: | |
100 type: number | |
101 Instances: | |
102 type: array | |
103 items: | |
104 type: string | |
105 MainDicomTags: | |
106 type: object | |
107 properties: | |
108 Manufacturer: | |
109 type: string | |
110 Modality: | |
111 type: string | |
112 NumberOfSlices: | |
113 type: string | |
114 ProtocolName: | |
115 type: string | |
116 SeriesDate: | |
117 type: string | |
118 SeriesDescription: | |
119 type: string | |
120 SeriesInstanceUID: | |
121 type: string | |
122 SeriesNumber: | |
123 type: string | |
124 SeriesTime: | |
125 type: string | |
126 StationName: | |
127 type: string | |
128 ParentStudy: | |
129 type: string | |
130 Type: | |
131 type: string | |
132 enum: | |
133 - Series | |
134 Status: | |
135 type: string | |
136 enum: | |
137 - Complete | |
138 example: { | |
139 "ExpectedNumberOfInstances" : 45, | |
140 "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", | |
141 "Instances" : [ | |
142 "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd", | |
143 "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8", | |
144 "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea", | |
145 "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4" | |
146 ], | |
147 "MainDicomTags" : { | |
148 "Manufacturer" : "Philips Medical Systems", | |
149 "Modality" : "PT", | |
150 "NumberOfSlices" : "45", | |
151 "ProtocolName" : "CHU/Body_PET/CT___50", | |
152 "SeriesDate" : "20120716", | |
153 "SeriesDescription" : "[WB_CTAC] Body", | |
154 "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737", | |
155 "SeriesNumber" : "587370", | |
156 "SeriesTime" : "171121", | |
157 "StationName" : "r054-svr" | |
158 }, | |
159 "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", | |
160 "Status" : "Complete", | |
161 "Type" : "Series" | |
162 } | |
163 instance: | |
164 properties: | |
165 FileSize: | |
166 type: number | |
167 FileUuid: | |
168 type: string | |
169 ID: | |
170 type: string | |
171 IndexInSeries: | |
172 type: number | |
173 MainDicomTags: | |
174 type: object | |
175 properties: | |
176 AcquisitionNumber: | |
177 type: string | |
178 ImageIndex: | |
179 type: string | |
180 ImagePositionPatient: | |
181 type: string | |
182 InstanceNumber: | |
183 type: string | |
184 SOPInstanceUID: | |
185 type: string | |
186 ParentSeries: | |
187 type: string | |
188 Type: | |
189 enum: | |
190 - Instance | |
191 example: { | |
96 "FileSize" : 35440, | 192 "FileSize" : 35440, |
97 "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec", | 193 "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec", |
98 "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | 194 "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", |
99 "IndexInSeries" : 59, | 195 "IndexInSeries" : 59, |
100 "MainDicomTags" : { | 196 "MainDicomTags" : { |
105 "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" | 201 "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" |
106 }, | 202 }, |
107 "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", | 203 "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", |
108 "Type" : "Instance" | 204 "Type" : "Instance" |
109 } | 205 } |
206 paths: | |
207 /instances: | |
208 post: | |
209 tags: [Instances] | |
210 description: The upload of DICOM files is possible by querying the REST API using the following syntax. | |
211 requestBody: | |
212 description: DICOM file | |
213 content: | |
214 application/dicom: {} | |
215 responses: | |
216 200: | |
217 description: New instance successfully posted | |
218 content: | |
219 application/json: | |
220 schema: | |
221 properties: | |
222 ID: | |
223 description: New Orthanc instance ID | |
224 type: string | |
225 Path: | |
226 description: URL path for the instance | |
227 type: string | |
228 Status: | |
229 description: Status | |
230 type: string | |
231 enum: | |
232 - Success | |
233 get: | |
234 tags: [Instances] | |
235 description: Get all DICOM instances ID's in Orthanc | |
236 parameters: | |
237 - name: limit | |
238 in: query | |
239 schema: | |
240 type: number | |
241 description: Limit the number of results to the specified. number | |
242 - name: since | |
243 in: query | |
244 schema: | |
245 type: number | |
246 description: Show only the resources since the index provided. | |
247 responses: | |
248 200: | |
249 description: Array of all instances ID's | |
250 content: | |
251 application/json: | |
252 schema: | |
253 type: array | |
254 items: | |
255 type: string | |
256 example: [ | |
257 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
258 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | |
259 ] | |
260 /instances/{Id}: | |
261 get: | |
262 tags: [Instances] | |
263 description: Get an instance from Orthanc | |
264 parameters: | |
265 - name: Id | |
266 required: true | |
267 in: path | |
268 schema: | |
269 type: string | |
270 responses: | |
271 200: | |
272 description: Orthanc instance | |
273 content: | |
274 application/json: | |
275 schema: | |
276 $ref: "#/components/schemas/instance" | |
110 delete: | 277 delete: |
111 tags : [Instances] | 278 tags : [Instances] |
112 description: Delete an instance | 279 description: Delete an instance |
113 parameters: | 280 parameters: |
114 - name: Id | 281 - name: Id |
178 - name: Id | 345 - name: Id |
179 required: true | 346 required: true |
180 in: path | 347 in: path |
181 schema: | 348 schema: |
182 type: string | 349 type: string |
350 - name: simplify | |
351 required: false | |
352 description: Show more user-friendly tags like in /simplified-tags | |
353 in: query | |
354 schema: | |
355 type: boolean | |
356 - name: short | |
357 required: false | |
358 description: Shorten the values so that they are not separate JSON objects with the user-friendly description of the tag and the type. Instead, values are given as direct values to the tags. | |
359 in: query | |
360 schema: | |
361 type: boolean | |
183 responses: | 362 responses: |
184 200: | 363 200: |
185 description: DICOM tags and values | 364 description: DICOM tags and values |
186 content: | 365 content: |
187 application/json: | 366 application/json: |
223 "Name" : "AcquisitionDate", | 402 "Name" : "AcquisitionDate", |
224 "Type" : "String", | 403 "Type" : "String", |
225 "Value" : "20040304" | 404 "Value" : "20040304" |
226 } | 405 } |
227 } | 406 } |
407 /instances/{Id}/header: | |
408 get: | |
409 tags: [Instances] | |
410 description: Get the detailed header tags for the DICOM instance. | |
411 parameters: | |
412 - name: Id | |
413 required: true | |
414 in: path | |
415 schema: | |
416 type: string | |
417 - name: simplify | |
418 required: false | |
419 description: Show more user-friendly tags like in /simplified-tags | |
420 in: query | |
421 schema: | |
422 type: boolean | |
423 - name: short | |
424 required: false | |
425 description: Shorten the values so that they are not separate JSON objects with the user-friendly description of the tag and the type. Instead, values are given as direct values to the tags. | |
426 in: query | |
427 schema: | |
428 type: boolean | |
429 responses: | |
430 200: | |
431 description: DICOM tags and values | |
432 content: | |
433 application/json: | |
434 schema: | |
435 type: object | |
436 example: { | |
437 "0002,0000" : { | |
438 "Name" : "FileMetaInformationGroupLength", | |
439 "Type" : "String", | |
440 "Value" : "222" | |
441 }, | |
442 "0002,0002" : { | |
443 "Name" : "MediaStorageSOPClassUID", | |
444 "Type" : "String", | |
445 "Value" : "1.2.840.10008.5.1.4.1.1.128" | |
446 }, | |
447 "0002,0003" : { | |
448 "Name" : "MediaStorageSOPInstanceUID", | |
449 "Type" : "String", | |
450 "Value" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" | |
451 }, | |
452 "0002,0010" : { | |
453 "Name" : "TransferSyntaxUID", | |
454 "Type" : "String", | |
455 "Value" : "1.2.840.10008.1.2.1" | |
456 }, | |
457 "0002,0012" : { | |
458 "Name" : "ImplementationClassUID", | |
459 "Type" : "String", | |
460 "Value" : "1.2.826.0.1.3680043.2.1143.107.104.103.115.2.2.4" | |
461 }, | |
462 "0002,0013" : { | |
463 "Name" : "ImplementationVersionName", | |
464 "Type" : "String", | |
465 "Value" : "GDCM 2.2.4" | |
466 }, | |
467 "0002,0016" : { | |
468 "Name" : "SourceApplicationEntityTitle", | |
469 "Type" : "String", | |
470 "Value" : "gdcmconv" | |
471 } | |
472 } | |
228 /instances/{Id}/content/{Tag}: | 473 /instances/{Id}/content/{Tag}: |
229 get: | 474 get: |
230 tags: [Instances] | 475 tags: [Instances] |
231 description: Get the value for a single tag of a DICOM instance. | 476 description: Get the value for a single tag of a DICOM instance. |
232 parameters: | 477 parameters: |
290 image/png: {} | 535 image/png: {} |
291 image/jpg: {} | 536 image/jpg: {} |
292 /instances/{Id}/{PixelFormat}: | 537 /instances/{Id}/{PixelFormat}: |
293 get: | 538 get: |
294 tags: [Instances] | 539 tags: [Instances] |
295 description: Download a preview image of the DICOM instance. | 540 description: Download an image of the DICOM instance in the specified format. |
296 parameters: | 541 parameters: |
297 - name: Id | 542 - name: Id |
298 required: true | 543 required: true |
299 in: path | 544 in: path |
300 schema: | 545 schema: |
306 type: string | 551 type: string |
307 enum: | 552 enum: |
308 - image-uint8 | 553 - image-uint8 |
309 - image-uint16 | 554 - image-uint16 |
310 - image-int16 | 555 - image-int16 |
556 - matlab | |
557 - raw | |
558 - raw.gz | |
311 - name: Accept | 559 - name: Accept |
312 required: true | 560 required: true |
313 in: header | 561 in: header |
314 schema: | 562 schema: |
315 type: string | 563 type: string |
317 - image/png | 565 - image/png |
318 - image/jpeg | 566 - image/jpeg |
319 - image/x-portable-arbitrarymap | 567 - image/x-portable-arbitrarymap |
320 responses: | 568 responses: |
321 200: | 569 200: |
322 description: DICOM preview | 570 description: Image |
323 content: | 571 content: |
324 image/png: {} | 572 image/png: {} |
325 image/jpg: {} | 573 image/jpg: {} |
326 image/x-portable-arbitrarymap: {} | 574 image/x-portable-arbitrarymap: {} |
575 application/octet-stream: {} | |
576 text/plain: {} | |
327 /instances/{Id}/pdf: | 577 /instances/{Id}/pdf: |
328 get: | 578 get: |
329 tags: [Instances] | 579 tags: [Instances] |
330 description: Download the embedded PDF of the DICOM instance. | 580 description: Download the embedded PDF of the DICOM instance. |
331 parameters: | 581 parameters: |
343 description: The instance does not contain an encapsulated PDF or the instance is not found. | 593 description: The instance does not contain an encapsulated PDF or the instance is not found. |
344 /series: | 594 /series: |
345 get: | 595 get: |
346 tags: [Series] | 596 tags: [Series] |
347 description: Get all DICOM series ID's in Orthanc | 597 description: Get all DICOM series ID's in Orthanc |
598 parameters: | |
599 - name: limit | |
600 in: query | |
601 schema: | |
602 type: number | |
603 description: Limit the number of results to the specified. number | |
604 - name: since | |
605 in: query | |
606 schema: | |
607 type: number | |
608 description: Show only the resources since the index provided. | |
348 responses: | 609 responses: |
349 200: | 610 200: |
350 description: Array of all series ID's | 611 description: Array of all series ID's |
351 content: | 612 content: |
352 application/json: | 613 application/json: |
372 200: | 633 200: |
373 description: Orthanc series | 634 description: Orthanc series |
374 content: | 635 content: |
375 application/json: | 636 application/json: |
376 schema: | 637 schema: |
377 properties: | 638 $ref: "#/components/schemas/series" |
378 ID: | |
379 type: string | |
380 ExpectedNumberOfInstances: | |
381 type: number | |
382 Instances: | |
383 type: array | |
384 items: | |
385 type: string | |
386 MainDicomTags: | |
387 type: object | |
388 properties: | |
389 Manufacturer: | |
390 type: string | |
391 Modality: | |
392 type: string | |
393 NumberOfSlices: | |
394 type: string | |
395 ProtocolName: | |
396 type: string | |
397 SeriesDate: | |
398 type: string | |
399 SeriesDescription: | |
400 type: string | |
401 SeriesInstanceUID: | |
402 type: string | |
403 SeriesNumber: | |
404 type: string | |
405 SeriesTime: | |
406 type: string | |
407 StationName: | |
408 type: string | |
409 ParentStudy: | |
410 type: string | |
411 Type: | |
412 type: string | |
413 enum: | |
414 - Series | |
415 Status: | |
416 type: string | |
417 enum: | |
418 - Complete | |
419 example: { | |
420 "ExpectedNumberOfInstances" : 45, | |
421 "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", | |
422 "Instances" : [ | |
423 "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd", | |
424 "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8", | |
425 "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea", | |
426 "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4" | |
427 ], | |
428 "MainDicomTags" : { | |
429 "Manufacturer" : "Philips Medical Systems", | |
430 "Modality" : "PT", | |
431 "NumberOfSlices" : "45", | |
432 "ProtocolName" : "CHU/Body_PET/CT___50", | |
433 "SeriesDate" : "20120716", | |
434 "SeriesDescription" : "[WB_CTAC] Body", | |
435 "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737", | |
436 "SeriesNumber" : "587370", | |
437 "SeriesTime" : "171121", | |
438 "StationName" : "r054-svr" | |
439 }, | |
440 "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", | |
441 "Status" : "Complete", | |
442 "Type" : "Series" | |
443 } | |
444 delete: | 639 delete: |
445 tags : [Series] | 640 tags : [Series] |
446 description: Delete a series | 641 description: Delete a series |
447 parameters: | 642 parameters: |
448 - name: Id | 643 - name: Id |
451 schema: | 646 schema: |
452 type: string | 647 type: string |
453 responses: | 648 responses: |
454 200: | 649 200: |
455 description: Success | 650 description: Success |
651 /series/{Id}/instances: | |
652 get: | |
653 tags: [Series] | |
654 description: Get the instances for a series | |
655 parameters: | |
656 - name: Id | |
657 required: true | |
658 in: path | |
659 schema: | |
660 type: string | |
661 responses: | |
662 200: | |
663 description: Orthanc instances | |
664 content: | |
665 application/json: | |
666 schema: | |
667 type: array | |
668 items: | |
669 $ref: "#/components/schemas/instance" | |
670 | |
456 /studies: | 671 /studies: |
457 get: | 672 get: |
458 tags: [Studies] | 673 tags: [Studies] |
459 description: Get all DICOM studies ID's in Orthanc | 674 description: Get all DICOM studies ID's in Orthanc |
675 parameters: | |
676 - name: limit | |
677 in: query | |
678 schema: | |
679 type: number | |
680 description: Limit the number of results to the specified. number | |
681 - name: since | |
682 in: query | |
683 schema: | |
684 type: number | |
685 description: Show only the resources since the index provided. | |
460 responses: | 686 responses: |
461 200: | 687 200: |
462 description: Array of all study ID's | 688 description: Array of all study ID's |
463 content: | 689 content: |
464 application/json: | 690 application/json: |
484 200: | 710 200: |
485 description: Orthanc study | 711 description: Orthanc study |
486 content: | 712 content: |
487 application/json: | 713 application/json: |
488 schema: | 714 schema: |
489 properties: | 715 $ref: "#/components/schemas/study" |
490 ID: | |
491 type: string | |
492 Series: | |
493 type: array | |
494 items: | |
495 type: string | |
496 MainDicomTags: | |
497 type: object | |
498 properties: | |
499 AccesionNumber: | |
500 type: string | |
501 StudyDate: | |
502 type: string | |
503 StudyDescription: | |
504 type: string | |
505 StudyID: | |
506 type: string | |
507 StudyInstanceUID: | |
508 type: string | |
509 StudyTime: | |
510 type: string | |
511 ParentPatient: | |
512 type: string | |
513 Type: | |
514 type: string | |
515 enum: | |
516 - Study | |
517 example: { | |
518 "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", | |
519 "MainDicomTags" : { | |
520 "AccessionNumber" : "(null)", | |
521 "StudyDate" : "20120716", | |
522 "StudyDescription" : "TestSUVce-TF", | |
523 "StudyID" : "23848", | |
524 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40", | |
525 "StudyTime" : "170728" | |
526 }, | |
527 "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", | |
528 "Series" : [ | |
529 "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", | |
530 "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", | |
531 "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598" | |
532 ], | |
533 "Type" : "Study" | |
534 } | |
535 delete: | 716 delete: |
536 tags : [Studies] | 717 tags : [Studies] |
537 description: Delete a study | 718 description: Delete a study |
538 parameters: | 719 parameters: |
539 - name: Id | 720 - name: Id |
542 schema: | 723 schema: |
543 type: string | 724 type: string |
544 responses: | 725 responses: |
545 200: | 726 200: |
546 description: Success | 727 description: Success |
728 /studies/{Id}/series: | |
729 get: | |
730 tags: [Studies] | |
731 description: Get the series for a study | |
732 parameters: | |
733 - name: Id | |
734 required: true | |
735 in: path | |
736 schema: | |
737 type: string | |
738 responses: | |
739 200: | |
740 description: Orthanc series | |
741 content: | |
742 application/json: | |
743 schema: | |
744 type: array | |
745 items: | |
746 $ref: "#/components/schemas/series" | |
747 /studies/{Id}/instances: | |
748 get: | |
749 tags: [Studies] | |
750 description: Get the instances for a study | |
751 parameters: | |
752 - name: Id | |
753 required: true | |
754 in: path | |
755 schema: | |
756 type: string | |
757 responses: | |
758 200: | |
759 description: Orthanc instances | |
760 content: | |
761 application/json: | |
762 schema: | |
763 type: array | |
764 items: | |
765 $ref: "#/components/schemas/instance" | |
766 | |
547 /patients: | 767 /patients: |
548 get: | 768 get: |
549 tags: [Patients] | 769 tags: [Patients] |
550 description: Get all DICOM patient ID's in Orthanc | 770 description: Get all DICOM patient ID's in Orthanc |
771 parameters: | |
772 - name: limit | |
773 in: query | |
774 schema: | |
775 type: number | |
776 description: Limit the number of results to the specified. number | |
777 - name: since | |
778 in: query | |
779 schema: | |
780 type: number | |
781 description: Show only the resources since the index provided. | |
551 responses: | 782 responses: |
552 200: | 783 200: |
553 description: Array of all patient ID's | 784 description: Array of all patient ID's |
554 content: | 785 content: |
555 application/json: | 786 application/json: |
575 200: | 806 200: |
576 description: Orthanc patient | 807 description: Orthanc patient |
577 content: | 808 content: |
578 application/json: | 809 application/json: |
579 schema: | 810 schema: |
580 properties: | 811 $ref: "#/components/schemas/patient" |
581 ID: | |
582 type: string | |
583 Studies: | |
584 type: array | |
585 items: | |
586 type: string | |
587 MainDicomTags: | |
588 type: object | |
589 properties: | |
590 OtherPatientIDs: | |
591 type: string | |
592 PatientBirthDate: | |
593 type: string | |
594 PatientName: | |
595 type: string | |
596 PatientSex: | |
597 type: string | |
598 ParentPatient: | |
599 type: string | |
600 Type: | |
601 type: string | |
602 enum: | |
603 - Patient | |
604 example: { | |
605 "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", | |
606 "MainDicomTags" : { | |
607 "OtherPatientIDs" : "(null)", | |
608 "PatientBirthDate" : "0", | |
609 "PatientID" : "000000185", | |
610 "PatientName" : "Anonymous^Unknown", | |
611 "PatientSex" : "O" | |
612 }, | |
613 "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ], | |
614 "Type" : "Patient" | |
615 } | |
616 delete: | 812 delete: |
617 tags : [Patients] | 813 tags : [Patients] |
618 description: Delete a patient | 814 description: Delete a patient |
619 parameters: | 815 parameters: |
620 - name: Id | 816 - name: Id |
623 schema: | 819 schema: |
624 type: string | 820 type: string |
625 responses: | 821 responses: |
626 200: | 822 200: |
627 description: Success | 823 description: Success |
824 /patients/{Id}/studies: | |
825 get: | |
826 tags: [Patients] | |
827 description: Get the studies for a patient | |
828 parameters: | |
829 - name: Id | |
830 required: true | |
831 in: path | |
832 schema: | |
833 type: string | |
834 responses: | |
835 200: | |
836 description: Success | |
837 content: | |
838 application/json: | |
839 schema: | |
840 type: array | |
841 items: | |
842 $ref: "#/components/schemas/study" | |
843 /patients/{Id}/series: | |
844 get: | |
845 tags: [Patients] | |
846 description: Get the series for a patient | |
847 parameters: | |
848 - name: Id | |
849 required: true | |
850 in: path | |
851 schema: | |
852 type: string | |
853 responses: | |
854 200: | |
855 description: Orthanc series | |
856 content: | |
857 application/json: | |
858 schema: | |
859 type: array | |
860 items: | |
861 $ref: "#/components/schemas/series" | |
862 /patients/{Id}/instances: | |
863 get: | |
864 tags: [Patients] | |
865 description: Get the instances for a patient | |
866 parameters: | |
867 - name: Id | |
868 required: true | |
869 in: path | |
870 schema: | |
871 type: string | |
872 responses: | |
873 200: | |
874 description: Orthanc instances | |
875 content: | |
876 application/json: | |
877 schema: | |
878 type: array | |
879 items: | |
880 $ref: "#/components/schemas/instance" | |
628 | 881 |
629 /peers: | 882 /peers: |
630 get: | 883 get: |
631 tags: [Orthanc Peers] | 884 tags: [Orthanc Peers] |
632 description: Get a list of Orthanc peers. | 885 description: Get a list of Orthanc peers. |
941 enum: | 1194 enum: |
942 - Patient | 1195 - Patient |
943 - Study | 1196 - Study |
944 - Series | 1197 - Series |
945 - Instance | 1198 - Instance |
1199 Expand: | |
1200 type: boolean | |
1201 description: Returns an array of resources instead of just ID's. | |
946 Limit: | 1202 Limit: |
947 type: number | 1203 type: number |
948 Query: | 1204 Query: |
949 properties: | 1205 properties: |
950 Modality: | 1206 Modality: |
958 200: | 1214 200: |
959 description: Success | 1215 description: Success |
960 content: | 1216 content: |
961 application/json: | 1217 application/json: |
962 schema: | 1218 schema: |
963 type: array | 1219 oneOf: |
964 items: | 1220 - type: array |
965 type: string | 1221 items: |
1222 type: string | |
1223 - type: array | |
1224 items: | |
1225 $ref: "#/components/schemas/instance" | |
1226 - type: array | |
1227 items: | |
1228 $ref: "#/components/schemas/series" | |
1229 - type: array | |
1230 items: | |
1231 $ref: "#/components/schemas/study" | |
1232 - type: array | |
1233 items: | |
1234 $ref: "#/components/schemas/patient" | |
966 example: [ "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35" ] | 1235 example: [ "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35" ] |
967 /changes: | 1236 /changes: |
968 get: | 1237 get: |
969 tags: [Tracking Changes] | 1238 tags: [Tracking Changes] |
970 parameters: | 1239 parameters: |
1599 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | 1868 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. |
1600 example: {"Resources":["ef2ce55f-9342856a-aee23907-2667e859-9f3b734d"]} | 1869 example: {"Resources":["ef2ce55f-9342856a-aee23907-2667e859-9f3b734d"]} |
1601 responses: | 1870 responses: |
1602 200: | 1871 200: |
1603 description: Success | 1872 description: Success |
1873 | |
1874 /instances/{Id}/frames: | |
1875 get: | |
1876 tags: [Frames] | |
1877 description: Get the list of frames for a DICOM instance. | |
1878 parameters: | |
1879 - name: Id | |
1880 required: true | |
1881 in: path | |
1882 schema: | |
1883 type: string | |
1884 responses: | |
1885 200: | |
1886 description: Success | |
1887 content: | |
1888 application/json: | |
1889 schema: | |
1890 type: array | |
1891 items: | |
1892 type: number | |
1893 example: [0, 75] | |
1894 /instances/{Id}/frames/{Idx}/{PixelFormat}: | |
1895 get: | |
1896 tags: [Frames] | |
1897 description: Get the image data of a frame within an instance. | |
1898 parameters: | |
1899 - name: Id | |
1900 required: true | |
1901 in: path | |
1902 schema: | |
1903 type: string | |
1904 - name: Idx | |
1905 required: true | |
1906 in: path | |
1907 schema: | |
1908 type: number | |
1909 - name: PixelFormat | |
1910 required: true | |
1911 in: path | |
1912 schema: | |
1913 type: string | |
1914 enum: | |
1915 - image-uint8 | |
1916 - image-uint16 | |
1917 - image-int16 | |
1918 - matlab | |
1919 - raw | |
1920 - raw.gz | |
1921 - name: Accept | |
1922 required: true | |
1923 in: header | |
1924 schema: | |
1925 type: string | |
1926 enum: | |
1927 - image/png | |
1928 - image/jpeg | |
1929 - image/x-portable-arbitrarymap | |
1930 responses: | |
1931 200: | |
1932 description: Image | |
1933 content: | |
1934 image/png: {} | |
1935 image/jpg: {} | |
1936 image/x-portable-arbitrarymap: {} | |
1937 application/octet-stream: {} | |
1938 text/plain: {} | |
1939 /instances/{Id}/frames/{Idx}/preview: | |
1940 get: | |
1941 tags: [Frames] | |
1942 description: Download a preview image of the frame of a DICOM instance. | |
1943 parameters: | |
1944 - name: Id | |
1945 required: true | |
1946 in: path | |
1947 schema: | |
1948 type: string | |
1949 - name: Idx | |
1950 required: true | |
1951 in: path | |
1952 schema: | |
1953 type: number | |
1954 - name: Accept | |
1955 description: Default is image/png | |
1956 required: false | |
1957 in: header | |
1958 schema: | |
1959 type: string | |
1960 enum: | |
1961 - image/png | |
1962 - image/jpeg | |
1963 responses: | |
1964 200: | |
1965 description: DICOM preview | |
1966 content: | |
1967 image/png: {} | |
1968 image/jpg: {} | |
1969 | |
1970 /tools/lookup: | |
1971 post: | |
1972 tags: [Lookup] | |
1973 description: Lookup resources by their UID | |
1974 requestBody: | |
1975 content: | |
1976 text/plain: | |
1977 example: "1.2.826.0.1.3680043.8.1055.1.20111103111148288.81713267.86905863" | |
1978 responses: | |
1979 200: | |
1980 description: Success | |
1981 content: | |
1982 application/json: | |
1983 schema: | |
1984 type: array | |
1985 items: | |
1986 properties: | |
1987 ID: | |
1988 type: string | |
1989 Path: | |
1990 type: string | |
1991 Type: | |
1992 type: string | |
1993 enum: | |
1994 - Patient | |
1995 - Study | |
1996 - Series | |
1997 - Instance | |
1998 example: { | |
1999 "ID" : "53a15d3a-ec236c65-5958be97-e31b8725-5f55ca69", | |
2000 "Path" : "/instances/53a15d3a-ec236c65-5958be97-e31b8725-5f55ca69", | |
2001 "Type" : "Instance" | |
2002 } | |
2003 | |
2004 /tools/create-archive: | |
2005 post: | |
2006 tags: [Archive] | |
2007 description: Create an archive (zip) of the specified resource ID's as a collection of DICOM files. | |
2008 requestBody: | |
2009 content: | |
2010 application/json: | |
2011 schema: | |
2012 oneOf: | |
2013 - type: array | |
2014 items: | |
2015 type: string | |
2016 - properties: | |
2017 Synchronous: | |
2018 type: boolean | |
2019 default: true | |
2020 description: If synchronous is set to false then the archive is created through a job. The job ID and path will be given in the response. Once that job is complete then you can access the archive from the /jobs/{Id}/archive endpoint. | |
2021 Resources: | |
2022 type: array | |
2023 items: | |
2024 type: string | |
2025 example: [ | |
2026 'ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17', | |
2027 '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918', | |
2028 '1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0' | |
2029 ] | |
2030 responses: | |
2031 200: | |
2032 description: Success | |
2033 content: | |
2034 application/zip: {} | |
2035 application/json: | |
2036 schema: | |
2037 properties: | |
2038 ID: | |
2039 type: string | |
2040 Path: | |
2041 type: string | |
2042 example: { | |
2043 "ID" : "6c5bab22-79ae-4eca-b0af-d979431801bd", | |
2044 "Path" : "/jobs/6c5bab22-79ae-4eca-b0af-d979431801bd" | |
2045 } | |
2046 | |
2047 /tools/default-encoding: | |
2048 get: | |
2049 tags: [I18N] | |
2050 description: Get the default text encoding for the Orthanc server. | |
2051 responses: | |
2052 200: | |
2053 description: Success | |
2054 content: | |
2055 text/plain: | |
2056 example: Latin1 | |
2057 post: | |
2058 tags: [I18N] | |
2059 description: Set the default text encoding for the Orthanc server. | |
2060 requestBody: | |
2061 content: | |
2062 text/plain: | |
2063 example: "Latin1" | |
2064 responses: | |
2065 200: | |
2066 description: Success | |
1604 | 2067 |
1605 /jobs: | 2068 /jobs: |
1606 get: | 2069 get: |
1607 tags: [Jobs] | 2070 tags: [Jobs] |
1608 description: The list of all jobs can be retrieved as follows. | 2071 description: The list of all jobs can be retrieved as follows. |
1689 "Progress" : 100, | 2152 "Progress" : 100, |
1690 "State" : "Success", | 2153 "State" : "Success", |
1691 "Timestamp" : "20190306T095408.556082", | 2154 "Timestamp" : "20190306T095408.556082", |
1692 "Type" : "Archive" | 2155 "Type" : "Archive" |
1693 } | 2156 } |
2157 /jobs/{Id}/archive: | |
2158 get: | |
2159 tags: [Jobs] | |
2160 description: Get the archive generated by the job. Note that the job must be an archive job and it must be complete. | |
2161 parameters: | |
2162 - name: Id | |
2163 required: true | |
2164 in: path | |
2165 schema: | |
2166 type: string | |
2167 responses: | |
2168 200: | |
2169 description: Success | |
2170 content: | |
2171 application/zip: {} | |
1694 /jobs/{Id}/cancel: | 2172 /jobs/{Id}/cancel: |
1695 post: | 2173 post: |
1696 tags: [Jobs] | 2174 tags: [Jobs] |
1697 description: Cancel the job | 2175 description: Cancel the job |
1698 parameters: | 2176 parameters: |
1816 text/plain: | 2294 text/plain: |
1817 example: "1" | 2295 example: "1" |
1818 responses: | 2296 responses: |
1819 200: | 2297 200: |
1820 description: Success | 2298 description: Success |
2299 | |
2300 /system: | |
2301 get: | |
2302 tags: [System] | |
2303 description: Get system information for the Orthanc server. | |
2304 responses: | |
2305 200: | |
2306 description: Success | |
2307 content: | |
2308 application/json: | |
2309 schema: | |
2310 properties: | |
2311 ApiVersion: | |
2312 type: number | |
2313 DatabaseBackendPlugin: | |
2314 type: string | |
2315 DatabaseVersion: | |
2316 type: number | |
2317 DicomAet: | |
2318 type: string | |
2319 DicomPort: | |
2320 type: number | |
2321 HttpPort: | |
2322 type: number | |
2323 Name: | |
2324 type: string | |
2325 PluginsEnabled: | |
2326 type: boolean | |
2327 StorageAreaPlugin: | |
2328 type: string | |
2329 Version: | |
2330 type: string | |
2331 example: { | |
2332 "ApiVersion" : 3, | |
2333 "DatabaseBackendPlugin" : null, | |
2334 "DatabaseVersion" : 6, | |
2335 "DicomAet" : "ORTHANC", | |
2336 "DicomPort" : 4242, | |
2337 "HttpPort" : 8042, | |
2338 "Name" : "Orthanc Demo", | |
2339 "PluginsEnabled" : true, | |
2340 "StorageAreaPlugin" : null, | |
2341 "Version" : "1.5.7" | |
2342 } | |
2343 | |
2344 /statistics: | |
2345 get: | |
2346 tags: [Statistics] | |
2347 description: Get statistics about the data stored in Orthanc. | |
2348 responses: | |
2349 200: | |
2350 description: Success | |
2351 content: | |
2352 application/json: | |
2353 schema: | |
2354 properties: | |
2355 CountInstances: | |
2356 type: number | |
2357 CountPatients: | |
2358 type: number | |
2359 CountSeries: | |
2360 type: number | |
2361 CountStudies: | |
2362 type: number | |
2363 TotalDiskSize: | |
2364 type: string | |
2365 TotalDiskSizeMB: | |
2366 type: number | |
2367 TotalUncompressedSize: | |
2368 type: string | |
2369 TotalUncompressedSizeMB: | |
2370 type: number | |
2371 example: { | |
2372 "CountInstances" : 2352, | |
2373 "CountPatients" : 7, | |
2374 "CountSeries" : 23, | |
2375 "CountStudies" : 7, | |
2376 "TotalDiskSize" : "913213057", | |
2377 "TotalDiskSizeMB" : 870, | |
2378 "TotalUncompressedSize" : "913213057", | |
2379 "TotalUncompressedSizeMB" : 870 | |
2380 } | |
2381 | |
2382 /tools/execute-script: | |
2383 post: | |
2384 tags: [Lua] | |
2385 description: Execute the posted Lua script | |
2386 requestBody: | |
2387 content: | |
2388 text/plain: | |
2389 example: print(42) | |
2390 responses: | |
2391 200: | |
2392 description: Script executed | |
2393 content: | |
2394 text/plain: | |
2395 example: "42" |