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"