Mercurial > hg > orthanc-book
comparison OpenAPI/2019-08-orthanc-openapi.yaml @ 577:7d27154e70f9
cheatsheet and full openapi
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 30 Dec 2020 07:55:12 +0100 |
parents | OpenAPI/orthanc-openapi.yaml@2e71e7cc0ec5 |
children |
comparison
equal
deleted
inserted
replaced
576:28a09c734c90 | 577:7d27154e70f9 |
---|---|
1 openapi: 3.0.0 | |
2 info: | |
3 title: Orthanc | |
4 version: 1.0.0 | |
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.<p> | |
7 This documentation is <b>work-in-progress</b>: The entire REST API is not covered yet. Please contribute by improving the source code of the documentation: https://bitbucket.org/sjodogne/orthanc-book/src/default/ | |
8 servers: | |
9 - url: 'https://demo.orthanc-server.com' | |
10 components: | |
11 | |
12 #################################################################################### | |
13 ## SCHEMAS / MODELS | |
14 #################################################################################### | |
15 | |
16 schemas: | |
17 patient: | |
18 properties: | |
19 ID: | |
20 type: string | |
21 Studies: | |
22 type: array | |
23 items: | |
24 type: string | |
25 MainDicomTags: | |
26 type: object | |
27 properties: | |
28 OtherPatientIDs: | |
29 type: string | |
30 PatientBirthDate: | |
31 type: string | |
32 PatientName: | |
33 type: string | |
34 PatientSex: | |
35 type: string | |
36 ParentPatient: | |
37 type: string | |
38 Type: | |
39 type: string | |
40 enum: | |
41 - Patient | |
42 example: { | |
43 "ID" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", | |
44 "MainDicomTags" : { | |
45 "OtherPatientIDs" : "(null)", | |
46 "PatientBirthDate" : "0", | |
47 "PatientID" : "000000185", | |
48 "PatientName" : "Anonymous^Unknown", | |
49 "PatientSex" : "O" | |
50 }, | |
51 "Studies" : [ "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15" ], | |
52 "Type" : "Patient" | |
53 } | |
54 study: | |
55 properties: | |
56 ID: | |
57 type: string | |
58 Series: | |
59 type: array | |
60 items: | |
61 type: string | |
62 MainDicomTags: | |
63 type: object | |
64 properties: | |
65 AccesionNumber: | |
66 type: string | |
67 StudyDate: | |
68 type: string | |
69 StudyDescription: | |
70 type: string | |
71 StudyID: | |
72 type: string | |
73 StudyInstanceUID: | |
74 type: string | |
75 StudyTime: | |
76 type: string | |
77 ParentPatient: | |
78 type: string | |
79 Type: | |
80 type: string | |
81 enum: | |
82 - Study | |
83 example: { | |
84 "ID" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", | |
85 "MainDicomTags" : { | |
86 "AccessionNumber" : "(null)", | |
87 "StudyDate" : "20120716", | |
88 "StudyDescription" : "TestSUVce-TF", | |
89 "StudyID" : "23848", | |
90 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40", | |
91 "StudyTime" : "170728" | |
92 }, | |
93 "ParentPatient" : "07a6ec1c-1be5920b-18ef5358-d24441f3-10e926ea", | |
94 "Series" : [ | |
95 "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", | |
96 "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", | |
97 "7384c47e-6398f2a8-901846ef-da1e2e0b-6c50d598" | |
98 ], | |
99 "Type" : "Study" | |
100 } | |
101 series: | |
102 properties: | |
103 ID: | |
104 type: string | |
105 ExpectedNumberOfInstances: | |
106 type: number | |
107 Instances: | |
108 type: array | |
109 items: | |
110 type: string | |
111 MainDicomTags: | |
112 type: object | |
113 properties: | |
114 Manufacturer: | |
115 type: string | |
116 Modality: | |
117 type: string | |
118 NumberOfSlices: | |
119 type: string | |
120 ProtocolName: | |
121 type: string | |
122 SeriesDate: | |
123 type: string | |
124 SeriesDescription: | |
125 type: string | |
126 SeriesInstanceUID: | |
127 type: string | |
128 SeriesNumber: | |
129 type: string | |
130 SeriesTime: | |
131 type: string | |
132 StationName: | |
133 type: string | |
134 ParentStudy: | |
135 type: string | |
136 Type: | |
137 type: string | |
138 enum: | |
139 - Series | |
140 Status: | |
141 type: string | |
142 enum: | |
143 - Complete | |
144 example: { | |
145 "ExpectedNumberOfInstances" : 45, | |
146 "ID" : "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35", | |
147 "Instances" : [ | |
148 "41bc3f74-360f9d10-6ae9ffa4-01ea2045-cbd457dd", | |
149 "1d3de868-6c4f0494-709fd140-7ccc4c94-a6daa3a8", | |
150 "1010f80b-161b71c0-897ec01b-c85cd206-e669a3ea", | |
151 "e668dcbf-8829a100-c0bd203b-41e404d9-c533f3d4" | |
152 ], | |
153 "MainDicomTags" : { | |
154 "Manufacturer" : "Philips Medical Systems", | |
155 "Modality" : "PT", | |
156 "NumberOfSlices" : "45", | |
157 "ProtocolName" : "CHU/Body_PET/CT___50", | |
158 "SeriesDate" : "20120716", | |
159 "SeriesDescription" : "[WB_CTAC] Body", | |
160 "SeriesInstanceUID" : "1.3.46.670589.28.2.12.30.26407.37145.2.2516.0.1342458737", | |
161 "SeriesNumber" : "587370", | |
162 "SeriesTime" : "171121", | |
163 "StationName" : "r054-svr" | |
164 }, | |
165 "ParentStudy" : "9ad2b0da-a406c43c-6e0df76d-1204b86f-78d12c15", | |
166 "Status" : "Complete", | |
167 "Type" : "Series" | |
168 } | |
169 instance: | |
170 properties: | |
171 FileSize: | |
172 type: number | |
173 FileUuid: | |
174 type: string | |
175 ID: | |
176 type: string | |
177 IndexInSeries: | |
178 type: number | |
179 MainDicomTags: | |
180 type: object | |
181 properties: | |
182 AcquisitionNumber: | |
183 type: string | |
184 ImageIndex: | |
185 type: string | |
186 ImagePositionPatient: | |
187 type: string | |
188 InstanceNumber: | |
189 type: string | |
190 SOPInstanceUID: | |
191 type: string | |
192 ParentSeries: | |
193 type: string | |
194 Type: | |
195 enum: | |
196 - Instance | |
197 example: { | |
198 "FileSize" : 35440, | |
199 "FileUuid" : "7976ad32-4d15-439b-8789-bf70f52200ec", | |
200 "ID" : "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
201 "IndexInSeries" : 59, | |
202 "MainDicomTags" : { | |
203 "AcquisitionNumber" : "2", | |
204 "ImageIndex" : "59", | |
205 "ImagePositionPatient" : "-134.74816\\-272.14441\\-712.764", | |
206 "InstanceNumber" : "59", | |
207 "SOPInstanceUID" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" | |
208 }, | |
209 "ParentSeries" : "318603c5-03e8cffc-a82b6ee1-3ccd3c1e-18d7e3bb", | |
210 "Type" : "Instance" | |
211 } | |
212 | |
213 | |
214 jobId: | |
215 properties: | |
216 ID: | |
217 type: string | |
218 Path: | |
219 type: string | |
220 example: { | |
221 "ID": "11541b16-e368-41cf-a8e9-3acf4061d238", | |
222 "Path": "/jobs/11541b16-e368-41cf-a8e9-3acf4061d238" | |
223 } | |
224 | |
225 | |
226 jobCStore: | |
227 properties: | |
228 Description: | |
229 type: string | |
230 FailedInstancesCount: | |
231 type: number | |
232 InstancesCount: | |
233 type: number | |
234 LocalAet: | |
235 type: string | |
236 RemoteAet: | |
237 type: string | |
238 example: { | |
239 "Description": "REST API", | |
240 "FailedInstancesCount": 0, | |
241 "InstancesCount": 1, | |
242 "LocalAet": "ORTHANCA", | |
243 "RemoteAet": "ORTHANCB" | |
244 } | |
245 | |
246 | |
247 jobPeerStore: | |
248 properties: | |
249 Description: | |
250 type: string | |
251 FailedInstancesCount: | |
252 type: number | |
253 InstancesCount: | |
254 type: number | |
255 Peer: | |
256 type: string | |
257 example: { | |
258 "Description": "REST API", | |
259 "FailedInstancesCount": 0, | |
260 "InstancesCount": 1, | |
261 "Peer": [ | |
262 "http://127.0.0.1:8543/" | |
263 ] | |
264 } | |
265 | |
266 | |
267 listOfResourcesWithAsynchOption: | |
268 properties: | |
269 Resources: | |
270 description: A list of resources IDs (Patient, Studies, Series or Instances) | |
271 type: array | |
272 items: | |
273 type: string | |
274 Asynchronous: | |
275 description: true to create a job and return immediately, false to wait for job completion. | |
276 The response will vary according to this parameter. If the call is synchronous, you'll receive | |
277 a completed job in the response while if the call is asynchronous, you'll receive a job identifier. | |
278 type: boolean | |
279 example: { | |
280 "Resources" : ["62cdfbea-07c71f0c-cd643b19-841a306a-01221339"], | |
281 "Asynchronous" : true | |
282 } | |
283 | |
284 | |
285 listOfResources: | |
286 description: A list of resources IDs (Patient, Studies, Series or Instances) | |
287 schema: | |
288 type: array | |
289 items: | |
290 type: string | |
291 example: ["62cdfbea-07c71f0c-cd643b19-841a306a-01221339"] | |
292 | |
293 | |
294 singleResource: | |
295 description: A resource ID (Patient, Studies, Series or Instances) | |
296 type: string | |
297 example: "62cdfbea-07c71f0c-cd643b19-841a306a-01221339" | |
298 | |
299 peer: | |
300 required: | |
301 - Url | |
302 properties: | |
303 Url: | |
304 type: string | |
305 description: the root url of the Orthanc Rest API of the other peer | |
306 Username: | |
307 type: string | |
308 Password: | |
309 type: string | |
310 HttpHeaders: | |
311 description: HTTP headers to add to every request sent to that peer | |
312 type: object | |
313 CertificateFile: | |
314 type: string | |
315 CertificateKeyFile: | |
316 type: string | |
317 CertificateKeyPassword: | |
318 type: string | |
319 example: { | |
320 "Url" : "http://localhost:8044", | |
321 "Username" : "alice", | |
322 "Password" : "alicePassword", | |
323 "HttpHeaders" : { "Token" : "Hello world" }, | |
324 "CertificateFile" : "client.crt", | |
325 "CertificateKeyFile" : "client.key", | |
326 "CertificateKeyPassword" : "certpass" | |
327 } | |
328 | |
329 | |
330 #################################################################################### | |
331 ## ROUTES / PATHS | |
332 #################################################################################### | |
333 | |
334 paths: | |
335 /instances: | |
336 post: | |
337 tags: [Instances] | |
338 description: The upload of DICOM files is possible by querying the REST API using the following syntax. | |
339 requestBody: | |
340 description: DICOM file | |
341 content: | |
342 application/dicom: {} | |
343 responses: | |
344 200: | |
345 description: New instance successfully posted | |
346 content: | |
347 application/json: | |
348 schema: | |
349 properties: | |
350 ID: | |
351 description: New Orthanc instance ID | |
352 type: string | |
353 Path: | |
354 description: URL path for the instance | |
355 type: string | |
356 Status: | |
357 description: Status | |
358 type: string | |
359 enum: | |
360 - Success | |
361 get: | |
362 tags: [Instances] | |
363 description: Get all DICOM instances ID's in Orthanc | |
364 parameters: | |
365 - name: limit | |
366 in: query | |
367 schema: | |
368 type: number | |
369 description: Limit the number of results to the specified. number | |
370 - name: since | |
371 in: query | |
372 schema: | |
373 type: number | |
374 description: Show only the resources since the index provided. | |
375 responses: | |
376 200: | |
377 description: Array of all instances ID's | |
378 content: | |
379 application/json: | |
380 schema: | |
381 type: array | |
382 items: | |
383 type: string | |
384 example: [ | |
385 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
386 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | |
387 ] | |
388 /instances/{Id}: | |
389 get: | |
390 tags: [Instances] | |
391 description: Get an instance from Orthanc | |
392 parameters: | |
393 - name: Id | |
394 required: true | |
395 in: path | |
396 schema: | |
397 type: string | |
398 responses: | |
399 200: | |
400 description: Orthanc instance | |
401 content: | |
402 application/json: | |
403 schema: | |
404 $ref: "#/components/schemas/instance" | |
405 delete: | |
406 tags : [Instances] | |
407 description: Delete an instance | |
408 parameters: | |
409 - name: Id | |
410 required: true | |
411 in: path | |
412 schema: | |
413 type: string | |
414 responses: | |
415 200: | |
416 description: Success | |
417 /instances/{Id}/simplified-tags: | |
418 get: | |
419 tags: [Instances] | |
420 description: Get the human readable tags for the DICOM instance. | |
421 parameters: | |
422 - name: Id | |
423 required: true | |
424 in: path | |
425 schema: | |
426 type: string | |
427 responses: | |
428 200: | |
429 description: DICOM tags and values | |
430 content: | |
431 application/json: | |
432 schema: | |
433 type: object | |
434 example: { | |
435 "ACR_NEMA_2C_VariablePixelDataGroupLength" : "57130", | |
436 "AccessionNumber" : null, | |
437 "AcquisitionDate" : "20120716", | |
438 "AcquisitionDateTime" : "20120716171219", | |
439 "AcquisitionTime" : "171219", | |
440 "ActualFrameDuration" : "3597793", | |
441 "AttenuationCorrectionMethod" : "CTAC-SG", | |
442 "PatientID" : "000000185", | |
443 "PatientName" : "Anonymous^Unknown", | |
444 "PatientOrientationCodeSequence" : [ | |
445 { | |
446 "CodeMeaning" : "recumbent", | |
447 "CodeValue" : "F-10450", | |
448 "CodingSchemeDesignator" : "99SDM", | |
449 "PatientOrientationModifierCodeSequence" : [ | |
450 { | |
451 "CodeMeaning" : "supine", | |
452 "CodeValue" : "F-10340", | |
453 "CodingSchemeDesignator" : "99SDM" | |
454 } | |
455 ] | |
456 } | |
457 ], | |
458 "StudyDescription" : "TestSUVce-TF", | |
459 "StudyID" : "23848", | |
460 "StudyInstanceUID" : "1.2.840.113704.1.111.7016.1342451220.40", | |
461 "StudyTime" : "171117", | |
462 "TypeOfDetectorMotion" : "NONE", | |
463 "Units" : "BQML", | |
464 "Unknown" : null, | |
465 "WindowCenter" : "1.496995e+04", | |
466 "WindowWidth" : "2.993990e+04" | |
467 } | |
468 /instances/{Id}/tags: | |
469 get: | |
470 tags: [Instances] | |
471 description: Get the detailed tags for the DICOM instance. | |
472 parameters: | |
473 - name: Id | |
474 required: true | |
475 in: path | |
476 schema: | |
477 type: string | |
478 - name: simplify | |
479 required: false | |
480 description: Show more user-friendly tags like in /simplified-tags | |
481 in: query | |
482 schema: | |
483 type: boolean | |
484 - name: short | |
485 required: false | |
486 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. | |
487 in: query | |
488 schema: | |
489 type: boolean | |
490 responses: | |
491 200: | |
492 description: DICOM tags and values | |
493 content: | |
494 application/json: | |
495 schema: | |
496 type: object | |
497 example: | |
498 { | |
499 "0008,0005" : { | |
500 "Name" : "SpecificCharacterSet", | |
501 "Type" : "String", | |
502 "Value" : "ISO_IR 100" | |
503 }, | |
504 "0008,0008" : { | |
505 "Name" : "ImageType", | |
506 "Type" : "String", | |
507 "Value" : "ORIGINAL\\PRIMARY\\HEADER_CORRECTED" | |
508 }, | |
509 "0008,0016" : { | |
510 "Name" : "SOPClassUID", | |
511 "Type" : "String", | |
512 "Value" : "1.2.840.10008.5.1.4.1.1.128" | |
513 }, | |
514 "0008,0018" : { | |
515 "Name" : "SOPInstanceUID", | |
516 "Type" : "String", | |
517 "Value" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" | |
518 }, | |
519 "0008,0020" : { | |
520 "Name" : "StudyDate", | |
521 "Type" : "String", | |
522 "Value" : "20040304" | |
523 }, | |
524 "0008,0021" : { | |
525 "Name" : "SeriesDate", | |
526 "Type" : "String", | |
527 "Value" : "20040304" | |
528 }, | |
529 "0008,0022" : { | |
530 "Name" : "AcquisitionDate", | |
531 "Type" : "String", | |
532 "Value" : "20040304" | |
533 } | |
534 } | |
535 /instances/{Id}/header: | |
536 get: | |
537 tags: [Instances] | |
538 description: Get the detailed header tags for the DICOM instance. | |
539 parameters: | |
540 - name: Id | |
541 required: true | |
542 in: path | |
543 schema: | |
544 type: string | |
545 - name: simplify | |
546 required: false | |
547 description: Show more user-friendly tags like in /simplified-tags | |
548 in: query | |
549 schema: | |
550 type: boolean | |
551 - name: short | |
552 required: false | |
553 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. | |
554 in: query | |
555 schema: | |
556 type: boolean | |
557 responses: | |
558 200: | |
559 description: DICOM tags and values | |
560 content: | |
561 application/json: | |
562 schema: | |
563 type: object | |
564 example: { | |
565 "0002,0000" : { | |
566 "Name" : "FileMetaInformationGroupLength", | |
567 "Type" : "String", | |
568 "Value" : "222" | |
569 }, | |
570 "0002,0002" : { | |
571 "Name" : "MediaStorageSOPClassUID", | |
572 "Type" : "String", | |
573 "Value" : "1.2.840.10008.5.1.4.1.1.128" | |
574 }, | |
575 "0002,0003" : { | |
576 "Name" : "MediaStorageSOPInstanceUID", | |
577 "Type" : "String", | |
578 "Value" : "1.3.12.2.1107.5.1.4.36085.2.0.3752288429331748" | |
579 }, | |
580 "0002,0010" : { | |
581 "Name" : "TransferSyntaxUID", | |
582 "Type" : "String", | |
583 "Value" : "1.2.840.10008.1.2.1" | |
584 }, | |
585 "0002,0012" : { | |
586 "Name" : "ImplementationClassUID", | |
587 "Type" : "String", | |
588 "Value" : "1.2.826.0.1.3680043.2.1143.107.104.103.115.2.2.4" | |
589 }, | |
590 "0002,0013" : { | |
591 "Name" : "ImplementationVersionName", | |
592 "Type" : "String", | |
593 "Value" : "GDCM 2.2.4" | |
594 }, | |
595 "0002,0016" : { | |
596 "Name" : "SourceApplicationEntityTitle", | |
597 "Type" : "String", | |
598 "Value" : "gdcmconv" | |
599 } | |
600 } | |
601 /instances/{Id}/content/{Tag}: | |
602 get: | |
603 tags: [Instances] | |
604 description: Get the value for a single tag of a DICOM instance. | |
605 parameters: | |
606 - name: Id | |
607 required: true | |
608 in: path | |
609 schema: | |
610 type: string | |
611 - name: Tag | |
612 required: true | |
613 in: path | |
614 schema: | |
615 type: string | |
616 responses: | |
617 200: | |
618 description: Returns the DICOM tag value or value sub-structure. | |
619 content: | |
620 application/json: | |
621 schema: | |
622 type: object | |
623 text/plain: | |
624 example: Anonymous^Unknown | |
625 /instances/{Id}/file: | |
626 get: | |
627 tags: [Instances] | |
628 description: Download the DICOM instance file in DCM format. | |
629 parameters: | |
630 - name: Id | |
631 required: true | |
632 in: path | |
633 schema: | |
634 type: string | |
635 responses: | |
636 200: | |
637 description: DICOM file contents | |
638 content: | |
639 application/dicom: {} | |
640 /instances/{Id}/preview: | |
641 get: | |
642 tags: [Instances] | |
643 description: Download a preview image of the DICOM instance. | |
644 parameters: | |
645 - name: Id | |
646 required: true | |
647 in: path | |
648 schema: | |
649 type: string | |
650 - name: Accept | |
651 description: Default is image/png | |
652 required: false | |
653 in: header | |
654 schema: | |
655 type: string | |
656 enum: | |
657 - image/png | |
658 - image/jpeg | |
659 responses: | |
660 200: | |
661 description: DICOM preview | |
662 content: | |
663 image/png: {} | |
664 image/jpg: {} | |
665 /instances/{Id}/{PixelFormat}: | |
666 get: | |
667 tags: [Instances] | |
668 description: Download an image of the DICOM instance in the specified format. | |
669 parameters: | |
670 - name: Id | |
671 required: true | |
672 in: path | |
673 schema: | |
674 type: string | |
675 - name: PixelFormat | |
676 required: true | |
677 in: path | |
678 schema: | |
679 type: string | |
680 enum: | |
681 - image-uint8 | |
682 - image-uint16 | |
683 - image-int16 | |
684 - matlab | |
685 - raw | |
686 - raw.gz | |
687 - name: Accept | |
688 required: true | |
689 in: header | |
690 schema: | |
691 type: string | |
692 enum: | |
693 - image/png | |
694 - image/jpeg | |
695 - image/x-portable-arbitrarymap | |
696 responses: | |
697 200: | |
698 description: Image | |
699 content: | |
700 image/png: {} | |
701 image/jpg: {} | |
702 image/x-portable-arbitrarymap: {} | |
703 application/octet-stream: {} | |
704 text/plain: {} | |
705 /instances/{Id}/pdf: | |
706 get: | |
707 tags: [Instances] | |
708 description: Download the embedded PDF of the DICOM instance. | |
709 parameters: | |
710 - name: Id | |
711 required: true | |
712 in: path | |
713 schema: | |
714 type: string | |
715 responses: | |
716 200: | |
717 description: The raw PDF bytes are returned. | |
718 content: | |
719 application/pdf: {} | |
720 404: | |
721 description: The instance does not contain an encapsulated PDF or the instance is not found. | |
722 /series: | |
723 get: | |
724 tags: [Series] | |
725 description: Get all DICOM series ID's in Orthanc | |
726 parameters: | |
727 - name: limit | |
728 in: query | |
729 schema: | |
730 type: number | |
731 description: Limit the number of results to the specified. number | |
732 - name: since | |
733 in: query | |
734 schema: | |
735 type: number | |
736 description: Show only the resources since the index provided. | |
737 responses: | |
738 200: | |
739 description: Array of all series ID's | |
740 content: | |
741 application/json: | |
742 schema: | |
743 type: array | |
744 items: | |
745 type: string | |
746 example: [ | |
747 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
748 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | |
749 ] | |
750 /series/{Id}: | |
751 get: | |
752 tags: [Series] | |
753 description: Get a series from Orthanc | |
754 parameters: | |
755 - name: Id | |
756 required: true | |
757 in: path | |
758 schema: | |
759 type: string | |
760 responses: | |
761 200: | |
762 description: Orthanc series | |
763 content: | |
764 application/json: | |
765 schema: | |
766 $ref: "#/components/schemas/series" | |
767 delete: | |
768 tags : [Series] | |
769 description: Delete a series | |
770 parameters: | |
771 - name: Id | |
772 required: true | |
773 in: path | |
774 schema: | |
775 type: string | |
776 responses: | |
777 200: | |
778 description: Success | |
779 /series/{Id}/instances: | |
780 get: | |
781 tags: [Series] | |
782 description: Get the instances for a series | |
783 parameters: | |
784 - name: Id | |
785 required: true | |
786 in: path | |
787 schema: | |
788 type: string | |
789 responses: | |
790 200: | |
791 description: Orthanc instances | |
792 content: | |
793 application/json: | |
794 schema: | |
795 type: array | |
796 items: | |
797 $ref: "#/components/schemas/instance" | |
798 | |
799 /studies: | |
800 get: | |
801 tags: [Studies] | |
802 description: Get all DICOM studies ID's in Orthanc | |
803 parameters: | |
804 - name: limit | |
805 in: query | |
806 schema: | |
807 type: number | |
808 description: Limit the number of results to the specified. number | |
809 - name: since | |
810 in: query | |
811 schema: | |
812 type: number | |
813 description: Show only the resources since the index provided. | |
814 responses: | |
815 200: | |
816 description: Array of all study ID's | |
817 content: | |
818 application/json: | |
819 schema: | |
820 type: array | |
821 items: | |
822 type: string | |
823 example: [ | |
824 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
825 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | |
826 ] | |
827 /studies/{Id}: | |
828 get: | |
829 tags: [Studies] | |
830 description: Get a study from Orthanc | |
831 parameters: | |
832 - name: Id | |
833 required: true | |
834 in: path | |
835 schema: | |
836 type: string | |
837 responses: | |
838 200: | |
839 description: Orthanc study | |
840 content: | |
841 application/json: | |
842 schema: | |
843 $ref: "#/components/schemas/study" | |
844 delete: | |
845 tags : [Studies] | |
846 description: Delete a study | |
847 parameters: | |
848 - name: Id | |
849 required: true | |
850 in: path | |
851 schema: | |
852 type: string | |
853 responses: | |
854 200: | |
855 description: Success | |
856 /studies/{Id}/series: | |
857 get: | |
858 tags: [Studies] | |
859 description: Get the series for a study | |
860 parameters: | |
861 - name: Id | |
862 required: true | |
863 in: path | |
864 schema: | |
865 type: string | |
866 responses: | |
867 200: | |
868 description: Orthanc series | |
869 content: | |
870 application/json: | |
871 schema: | |
872 type: array | |
873 items: | |
874 $ref: "#/components/schemas/series" | |
875 /studies/{Id}/instances: | |
876 get: | |
877 tags: [Studies] | |
878 description: Get the instances for a study | |
879 parameters: | |
880 - name: Id | |
881 required: true | |
882 in: path | |
883 schema: | |
884 type: string | |
885 responses: | |
886 200: | |
887 description: Orthanc instances | |
888 content: | |
889 application/json: | |
890 schema: | |
891 type: array | |
892 items: | |
893 $ref: "#/components/schemas/instance" | |
894 | |
895 /patients: | |
896 get: | |
897 tags: [Patients] | |
898 description: Get all DICOM patient ID's in Orthanc | |
899 parameters: | |
900 - name: limit | |
901 in: query | |
902 schema: | |
903 type: number | |
904 description: Limit the number of results to the specified. number | |
905 - name: since | |
906 in: query | |
907 schema: | |
908 type: number | |
909 description: Show only the resources since the index provided. | |
910 responses: | |
911 200: | |
912 description: Array of all patient ID's | |
913 content: | |
914 application/json: | |
915 schema: | |
916 type: array | |
917 items: | |
918 type: string | |
919 example: [ | |
920 "055bfbaf-2aae936c-82ed5a9a-9267f8b7-416a4000", | |
921 "62dc1ec1-9fc2dd9d-aa66eae1-0db608b1-e17f8ce8" | |
922 ] | |
923 /patients/{Id}: | |
924 get: | |
925 tags: [Patients] | |
926 description: Get a patient from Orthanc | |
927 parameters: | |
928 - name: Id | |
929 required: true | |
930 in: path | |
931 schema: | |
932 type: string | |
933 responses: | |
934 200: | |
935 description: Orthanc patient | |
936 content: | |
937 application/json: | |
938 schema: | |
939 $ref: "#/components/schemas/patient" | |
940 delete: | |
941 tags : [Patients] | |
942 description: Delete a patient | |
943 parameters: | |
944 - name: Id | |
945 required: true | |
946 in: path | |
947 schema: | |
948 type: string | |
949 responses: | |
950 200: | |
951 description: Success | |
952 /patients/{Id}/studies: | |
953 get: | |
954 tags: [Patients] | |
955 description: Get the studies for a patient | |
956 parameters: | |
957 - name: Id | |
958 required: true | |
959 in: path | |
960 schema: | |
961 type: string | |
962 responses: | |
963 200: | |
964 description: Success | |
965 content: | |
966 application/json: | |
967 schema: | |
968 type: array | |
969 items: | |
970 $ref: "#/components/schemas/study" | |
971 /patients/{Id}/series: | |
972 get: | |
973 tags: [Patients] | |
974 description: Get the series for a patient | |
975 parameters: | |
976 - name: Id | |
977 required: true | |
978 in: path | |
979 schema: | |
980 type: string | |
981 responses: | |
982 200: | |
983 description: Orthanc series | |
984 content: | |
985 application/json: | |
986 schema: | |
987 type: array | |
988 items: | |
989 $ref: "#/components/schemas/series" | |
990 /patients/{Id}/instances: | |
991 get: | |
992 tags: [Patients] | |
993 description: Get the instances for a patient | |
994 parameters: | |
995 - name: Id | |
996 required: true | |
997 in: path | |
998 schema: | |
999 type: string | |
1000 responses: | |
1001 200: | |
1002 description: Orthanc instances | |
1003 content: | |
1004 application/json: | |
1005 schema: | |
1006 type: array | |
1007 items: | |
1008 $ref: "#/components/schemas/instance" | |
1009 | |
1010 /peers: | |
1011 get: | |
1012 tags: [Orthanc Peers] | |
1013 description: Get a list of Orthanc peers. | |
1014 parameters: | |
1015 - name: expand | |
1016 in: query | |
1017 required: false | |
1018 schema: | |
1019 type: boolean | |
1020 responses: | |
1021 200: | |
1022 description: List of Orthanc peers | |
1023 content: | |
1024 application/json: | |
1025 schema: | |
1026 type: array | |
1027 items: | |
1028 type: string | |
1029 /peers/{Peer}: | |
1030 put: | |
1031 tags: [Orthanc Peers] | |
1032 summary: Add a new Orthanc peer. | |
1033 description: Note that this will only be stored in memory unless the 'OrthancPeersInDatabase' configuration option is set. | |
1034 parameters: | |
1035 - name: Peer | |
1036 in: path | |
1037 required: true | |
1038 schema: | |
1039 type: string | |
1040 requestBody: | |
1041 content: | |
1042 application/json: | |
1043 schema: | |
1044 type: array | |
1045 items: | |
1046 $ref: "#/components/schemas/peer" | |
1047 responses: | |
1048 200: | |
1049 description: Peer created | |
1050 /peers/{Peer}/store: | |
1051 post: | |
1052 tags: [Orthanc Peers] | |
1053 summary: Send resources to an Orthanc peer. | |
1054 parameters: | |
1055 - name: Peer | |
1056 in: path | |
1057 required: true | |
1058 description: the peer alias as defined in the Orthanc configuration file | |
1059 schema: | |
1060 type: string | |
1061 requestBody: | |
1062 content: | |
1063 application/json: | |
1064 schema: | |
1065 oneOf: | |
1066 - $ref: "#/components/schemas/listOfResourcesWithAsynchOption" | |
1067 - $ref: "#/components/schemas/listOfResources" | |
1068 text/plain: | |
1069 schema: | |
1070 $ref: "#/components/schemas/singleResource" | |
1071 responses: | |
1072 200: | |
1073 description: Jobs that have been created | |
1074 content: | |
1075 application/json: | |
1076 schema: | |
1077 oneOf: | |
1078 - $ref: "#/components/schemas/jobId" | |
1079 - $ref: "#/components/schemas/jobPeerStore" | |
1080 | |
1081 /modalities/{Modality}/store: | |
1082 post: | |
1083 tags: [Remote Modalities] | |
1084 summary: Send resources from Orthanc to a remote modality through C-Store. | |
1085 parameters: | |
1086 - name: Modality | |
1087 in: path | |
1088 required: true | |
1089 description: the modality alias where you want to send data (as defined in the Orthanc configuration file) | |
1090 schema: | |
1091 type: string | |
1092 requestBody: | |
1093 content: | |
1094 application/json: | |
1095 schema: | |
1096 oneOf: | |
1097 - $ref: "#/components/schemas/listOfResourcesWithAsynchOption" | |
1098 - $ref: "#/components/schemas/listOfResources" | |
1099 text/plain: | |
1100 schema: | |
1101 $ref: "#/components/schemas/singleResource" | |
1102 responses: | |
1103 200: | |
1104 description: Jobs that have been created | |
1105 content: | |
1106 application/json: | |
1107 schema: | |
1108 oneOf: | |
1109 - $ref: "#/components/schemas/jobId" | |
1110 - $ref: "#/components/schemas/jobCStore" | |
1111 | |
1112 | |
1113 /modalities/{Modality}/query: | |
1114 post: | |
1115 tags: [Remote Modalities] | |
1116 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. | |
1117 parameters: | |
1118 - name: Modality | |
1119 in: path | |
1120 required: true | |
1121 description: The Modality to be queried from within the Orthanc configuration file | |
1122 schema: | |
1123 type: string | |
1124 requestBody: | |
1125 content: | |
1126 application/json: | |
1127 schema: | |
1128 properties: | |
1129 Level: | |
1130 type: string | |
1131 enum: | |
1132 - Patient | |
1133 - Study | |
1134 - Series | |
1135 - Instance | |
1136 Query: | |
1137 type: object | |
1138 properties: | |
1139 PatientID: | |
1140 type: string | |
1141 StudyDescription: | |
1142 type: string | |
1143 description: Match the study description. Note that wildcard "*" can be used to match any text (eg. "*Chest*"). | |
1144 PatientName: | |
1145 type: string | |
1146 StudyDate: | |
1147 type: string | |
1148 description: This is the study date in the format "20160504". Note that ranges can be used using a hyphen (eg. "20160504-" and "20160504-20170504"). | |
1149 StudyTime: | |
1150 type: string | |
1151 required: [Level, Query] | |
1152 example: {"Level":"Study","Query": {"PatientID":"","StudyDescription":"*Chest*","PatientName":""}} | |
1153 responses: | |
1154 200: | |
1155 description: Query successful | |
1156 content: | |
1157 application/json: | |
1158 schema: | |
1159 properties: | |
1160 ID: | |
1161 type: string | |
1162 Path: | |
1163 type: string | |
1164 example: { | |
1165 "ID": "5af318ac-78fb-47ff-b0b0-0df18b0588e0", | |
1166 "Path": "/queries/5af318ac-78fb-47ff-b0b0-0df18b0588e0" | |
1167 } | |
1168 /queries/{QueryID}/level: | |
1169 get: | |
1170 tags: [Remote Modalities] | |
1171 description: Review the query level, such as Patient, Study, Series or Instance. | |
1172 parameters: | |
1173 - name: QueryID | |
1174 description: This is the query ID that comes from posting a query to the modality. | |
1175 in: path | |
1176 required: true | |
1177 schema: | |
1178 type: string | |
1179 responses: | |
1180 200: | |
1181 description: Return the level of the query, whether Patient, Study, Series or Instance. | |
1182 content: | |
1183 text/plain: | |
1184 example: Series | |
1185 /queries/{QueryID}/modality: | |
1186 get: | |
1187 tags: [Remote Modalities] | |
1188 description: Review the query modality name that the query was originally performed against. | |
1189 parameters: | |
1190 - name: QueryID | |
1191 description: This is the query ID that comes from posting a query to the modality. | |
1192 in: path | |
1193 required: true | |
1194 schema: | |
1195 type: string | |
1196 responses: | |
1197 200: | |
1198 description: Return the name of the modality that the query was run against. | |
1199 content: | |
1200 text/plain: | |
1201 example: SomeModalityName | |
1202 /queries/{QueryID}/query: | |
1203 get: | |
1204 tags: [Remote Modalities] | |
1205 description: Review the query that was posted. | |
1206 parameters: | |
1207 - name: QueryID | |
1208 description: This is the query ID that comes from posting a query to the modality. | |
1209 in: path | |
1210 required: true | |
1211 schema: | |
1212 type: string | |
1213 responses: | |
1214 200: | |
1215 description: Return the query identifiers that were used originally when it was posted. | |
1216 /queries/{QueryID}/answers: | |
1217 get: | |
1218 tags: [Remote Modalities] | |
1219 description: Review the query answers. | |
1220 parameters: | |
1221 - name: QueryID | |
1222 description: This is the query ID that comes from posting a query to the modality. | |
1223 in: path | |
1224 required: true | |
1225 schema: | |
1226 type: string | |
1227 responses: | |
1228 200: | |
1229 description: Return the query answers. | |
1230 /queries/{QueryID}/answers/{Idx}/content: | |
1231 get: | |
1232 tags: [Remote Modalities] | |
1233 description: Review a specific query answer. If there are content items missing, you may add them by adding that identifier to the original query. For example if we wanted Modalities listed in this JSON answer in the initial query we would add to the POST body "ModalitiesInStudy":"" | |
1234 parameters: | |
1235 - name: QueryID | |
1236 description: This is the query ID that comes from posting a query to the modality. | |
1237 in: path | |
1238 required: true | |
1239 schema: | |
1240 type: string | |
1241 - name: Idx | |
1242 description: This is the index of a specific answer in the list of answers of the query. | |
1243 in: path | |
1244 required: true | |
1245 schema: | |
1246 type: number | |
1247 responses: | |
1248 200: | |
1249 description: Return a single query answer | |
1250 content: | |
1251 application/json: {} | |
1252 /queries/{QueryID}/retrieve: | |
1253 post: | |
1254 tags: [Remote Modalities] | |
1255 description: You can perform a C-Move to retrieve all studies within the original query using a post command and identifying the Modality (named in this example Orthanc), to be one to in the POST contents. The C-Move can be done asynchronously using an Orthanc job using a JSON parameter in the request body. | |
1256 parameters: | |
1257 - name: QueryID | |
1258 description: This is the query ID that comes from posting a query to the modality. | |
1259 in: path | |
1260 required: true | |
1261 schema: | |
1262 type: string | |
1263 requestBody: | |
1264 description: The request body is the name of the modality to perform the C-Move or a JSON structure with additional information. | |
1265 content: | |
1266 text/plain: | |
1267 example: Orthanc | |
1268 application/json: | |
1269 schema: | |
1270 properties: | |
1271 TargetAet: | |
1272 type: string | |
1273 Synchronous: | |
1274 type: boolean | |
1275 default: true | |
1276 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1277 Priority: | |
1278 type: number | |
1279 default: 0 | |
1280 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1281 example: {"TargetAet":"Orthanc","Synchronous":false} | |
1282 responses: | |
1283 200: | |
1284 description: Success | |
1285 content: | |
1286 application/json: | |
1287 schema: | |
1288 properties: | |
1289 ID: | |
1290 type: string | |
1291 description: The ID of the job if the retrieve is asynchronous (ie. Synchronous is set to true) | |
1292 Path: | |
1293 type: string | |
1294 description: The URL path of the job if the retrieve is asynchronous (ie. Synchronous is set to false) | |
1295 example: { | |
1296 "ID" : "11541b16-e368-41cf-a8e9-3acf4061d238", | |
1297 "Path" : "/jobs/11541b16-e368-41cf-a8e9-3acf4061d238" | |
1298 } | |
1299 /queries/{QueryID}/answers/{Idx}/retrieve: | |
1300 post: | |
1301 tags: [Remote Modalities] | |
1302 description: You can perform a C-Move to retrieve a specific study within the original query using a post command and identifying the Modality (named in this example Orthanc), to be one to in the POST contents. | |
1303 parameters: | |
1304 - name: QueryID | |
1305 description: This is the query ID that comes from posting a query to the modality. | |
1306 in: path | |
1307 required: true | |
1308 schema: | |
1309 type: string | |
1310 - name: Idx | |
1311 description: This is the index of a specific answer in the list of answers of the query. | |
1312 in: path | |
1313 required: true | |
1314 schema: | |
1315 type: number | |
1316 requestBody: | |
1317 description: The request body is the name of the modality to perform the C-Move. | |
1318 content: | |
1319 text/plain: | |
1320 example: Orthanc | |
1321 responses: | |
1322 200: | |
1323 description: Success | |
1324 /tools/find: | |
1325 post: | |
1326 tags: [Find] | |
1327 description: Performing a find within Orthanc is very similar to using Queries against DICOM modalities and the additional options listed above work with find also. When performing a find, you will receive the Orthanc ID’s of all the matched items within your find. For example if you perform a study level find and 5 Studies match you will receive 5 study level Orthanc ID’s in JSON format as a response. | |
1328 requestBody: | |
1329 description: The request body gives the parameters for the find much like when querying a remote modality. | |
1330 content: | |
1331 application/json: | |
1332 schema: | |
1333 properties: | |
1334 Level: | |
1335 type: string | |
1336 enum: | |
1337 - Patient | |
1338 - Study | |
1339 - Series | |
1340 - Instance | |
1341 Expand: | |
1342 type: boolean | |
1343 description: Returns an array of resources instead of just ID's. | |
1344 Limit: | |
1345 type: number | |
1346 Query: | |
1347 properties: | |
1348 Modality: | |
1349 type: string | |
1350 StudyDate: | |
1351 type: string | |
1352 PatientID: | |
1353 type: string | |
1354 example: {"Level":"Instance","Limit": 2, "Query":{"Modality":"CR","StudyDate":"20180323-","PatientID":"*"}} | |
1355 responses: | |
1356 200: | |
1357 description: Success | |
1358 content: | |
1359 application/json: | |
1360 schema: | |
1361 oneOf: | |
1362 - type: array | |
1363 items: | |
1364 type: string | |
1365 - type: array | |
1366 items: | |
1367 $ref: "#/components/schemas/instance" | |
1368 - type: array | |
1369 items: | |
1370 $ref: "#/components/schemas/series" | |
1371 - type: array | |
1372 items: | |
1373 $ref: "#/components/schemas/study" | |
1374 - type: array | |
1375 items: | |
1376 $ref: "#/components/schemas/patient" | |
1377 example: [ "6821d761-31fb55a9-031ebecb-ba7f9aae-ffe4ddc0", "2cc6336f-2d4ae733-537b3ca3-e98184b1-ba494b35" ] | |
1378 /changes: | |
1379 get: | |
1380 tags: [Tracking Changes] | |
1381 parameters: | |
1382 - name: limit | |
1383 description: Limit the number of changes to a maximum of the provided number. | |
1384 in: query | |
1385 required: false | |
1386 schema: | |
1387 type: number | |
1388 - name: since | |
1389 description: Show only changes that have happened after the change with the provided sequence number. | |
1390 in: query | |
1391 required: false | |
1392 schema: | |
1393 type: number | |
1394 description: Whenever Orthanc receives a new DICOM instance, this event is recorded in the so-called “Changes Log”. This enables remote scripts to react to the arrival of new DICOM resources. A typical application is auto-routing, where an external script waits for a new DICOM instance to arrive into Orthanc, then forward this instance to another modality. | |
1395 responses: | |
1396 200: | |
1397 description: The list of recent changes | |
1398 content: | |
1399 application/json: | |
1400 schema: | |
1401 properties: | |
1402 Changes: | |
1403 type: array | |
1404 items: | |
1405 properties: | |
1406 ChangeType: | |
1407 type: string | |
1408 enum: | |
1409 - NewPatient | |
1410 - NewStudy | |
1411 - NewSeries | |
1412 - NewInstance | |
1413 - StablePatient | |
1414 - StableStudy | |
1415 - StableSeries | |
1416 - StableInstance | |
1417 Date: | |
1418 type: string | |
1419 ID: | |
1420 type: string | |
1421 Path: | |
1422 type: string | |
1423 ResourceType: | |
1424 type: string | |
1425 enum: | |
1426 - Patient | |
1427 - Study | |
1428 - Series | |
1429 - Instance | |
1430 Seq: | |
1431 type: number | |
1432 Done: | |
1433 type: boolean | |
1434 description: The flag Done is set to true if no further event has occurred after this lastly returned event. If Done is set to false, further events are available and can be retrieved. This is done by setting the since option that specifies from which sequence number the changes must be returned. | |
1435 Last: | |
1436 type: number | |
1437 description: The flag Last records the sequence number of the lastly returned event. | |
1438 example: { | |
1439 "Changes" : [ | |
1440 { | |
1441 "ChangeType" : "NewInstance", | |
1442 "Date" : "20130507T143902", | |
1443 "ID" : "8e289db9-0e1437e1-3ecf395f-d8aae463-f4bb49fe", | |
1444 "Path" : "/instances/8e289db9-0e1437e1-3ecf395f-d8aae463-f4bb49fe", | |
1445 "ResourceType" : "Instance", | |
1446 "Seq" : 921 | |
1447 }, | |
1448 { | |
1449 "ChangeType" : "NewSeries", | |
1450 "Date" : "20130507T143902", | |
1451 "ID" : "cceb768f-e0f8df71-511b0277-07e55743-9ef8890d", | |
1452 "Path" : "/series/cceb768f-e0f8df71-511b0277-07e55743-9ef8890d", | |
1453 "ResourceType" : "Series", | |
1454 "Seq" : 922 | |
1455 }, | |
1456 { | |
1457 "ChangeType" : "NewStudy", | |
1458 "Date" : "20130507T143902", | |
1459 "ID" : "c4ec7f68-9b162055-2c8c5888-5bf5752f-155ab19f", | |
1460 "Path" : "/studies/c4ec7f68-9b162055-2c8c5888-5bf5752f-155ab19f", | |
1461 "ResourceType" : "Study", | |
1462 "Seq" : 923 | |
1463 }, | |
1464 { | |
1465 "ChangeType" : "NewPatient", | |
1466 "Date" : "20130507T143902", | |
1467 "ID" : "dc65762c-f476e8b9-898834f4-2f8a5014-2599bc94", | |
1468 "Path" : "/patients/dc65762c-f476e8b9-898834f4-2f8a5014-2599bc94", | |
1469 "ResourceType" : "Patient", | |
1470 "Seq" : 924 | |
1471 } | |
1472 ], | |
1473 "Done" : true, | |
1474 "Last" : 924 | |
1475 } | |
1476 delete: | |
1477 tags : [Tracking Changes] | |
1478 description: Clear the content of the changes log | |
1479 responses: | |
1480 200: | |
1481 description: Success | |
1482 | |
1483 /exports: | |
1484 get: | |
1485 tags: [Exported Resources] | |
1486 description: For medical traceability, Orthanc can be configured to store a log of all the resources that have been exported to remote modalities. | |
1487 responses: | |
1488 200: {description: Success} | |
1489 | |
1490 delete: | |
1491 tags: [Exported Resources] | |
1492 description: In auto-routing scenarios, it is important to prevent this log to grow indefinitely as incoming instances are routed. You can either disable this logging by setting the option LogExportedResources to false in the configuration file, or periodically clear this log by DELETE-ing this URI. | |
1493 responses: | |
1494 200: {description: Success} | |
1495 | |
1496 /instances/{Id}/anonymize: | |
1497 post: | |
1498 tags: [Anonymization] | |
1499 description: Anonymize the instance by erasing all the tags that are specified in Table E.1-1 from PS 3.15 of the DICOM standard 2008 or 2017c (default). The response will contain the anonymized DICOM result. New UUIDs are automatically generated for the instance. | |
1500 parameters: | |
1501 - name: Id | |
1502 required: true | |
1503 in: path | |
1504 schema: | |
1505 type: string | |
1506 requestBody: | |
1507 content: | |
1508 application/json: | |
1509 schema: | |
1510 properties: | |
1511 DicomVersion: | |
1512 type: string | |
1513 description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used. | |
1514 enum: | |
1515 - 2017c | |
1516 - 2008 | |
1517 Replace: | |
1518 type: object | |
1519 description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed. | |
1520 Keep: | |
1521 type: array | |
1522 items: | |
1523 type: string | |
1524 description: List of DICOM tags that should be kept through the anonymization process. | |
1525 KeepPrivateTags: | |
1526 type: boolean | |
1527 description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information. | |
1528 example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"} | |
1529 responses: | |
1530 200: | |
1531 description: The response contains a DICOM file that has been anonymized. | |
1532 content: | |
1533 application/dicom: {} | |
1534 | |
1535 /patients/{Id}/anonymize: | |
1536 post: | |
1537 tags: [Anonymization] | |
1538 description: Anonymize the patient | |
1539 parameters: | |
1540 - name: Id | |
1541 required: true | |
1542 in: path | |
1543 schema: | |
1544 type: string | |
1545 requestBody: | |
1546 content: | |
1547 application/json: | |
1548 schema: | |
1549 properties: | |
1550 DicomVersion: | |
1551 type: string | |
1552 description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used. | |
1553 enum: | |
1554 - 2017c | |
1555 - 2008 | |
1556 Replace: | |
1557 type: object | |
1558 description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed. | |
1559 Keep: | |
1560 type: array | |
1561 items: | |
1562 type: string | |
1563 description: List of DICOM tags that should be kept through the anonymization process. | |
1564 KeepPrivateTags: | |
1565 type: boolean | |
1566 description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information. | |
1567 Synchronous: | |
1568 type: boolean | |
1569 default: true | |
1570 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1571 Priority: | |
1572 type: number | |
1573 default: 0 | |
1574 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1575 example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"} | |
1576 responses: | |
1577 200: | |
1578 description: Success | |
1579 content: | |
1580 application/json: | |
1581 schema: | |
1582 properties: | |
1583 ID: | |
1584 type: string | |
1585 description: The ID of the new anonymized patient. | |
1586 Path: | |
1587 type: string | |
1588 description: The URL of the new anonymized patient. | |
1589 PatientID: | |
1590 type: string | |
1591 Type: | |
1592 type: string | |
1593 enum: | |
1594 - Patient | |
1595 example: { | |
1596 "ID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1597 "Path" : "/patients/f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1598 "PatientID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1599 "Type" : "Patient" | |
1600 } | |
1601 | |
1602 /studies/{Id}/anonymize: | |
1603 post: | |
1604 tags: [Anonymization] | |
1605 description: Anonymize the study | |
1606 parameters: | |
1607 - name: Id | |
1608 required: true | |
1609 in: path | |
1610 schema: | |
1611 type: string | |
1612 requestBody: | |
1613 content: | |
1614 application/json: | |
1615 schema: | |
1616 properties: | |
1617 DicomVersion: | |
1618 type: string | |
1619 description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used. | |
1620 enum: | |
1621 - 2017c | |
1622 - 2008 | |
1623 Replace: | |
1624 type: object | |
1625 description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed. | |
1626 Keep: | |
1627 type: array | |
1628 items: | |
1629 type: string | |
1630 description: List of DICOM tags that should be kept through the anonymization process. | |
1631 KeepPrivateTags: | |
1632 type: boolean | |
1633 description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information. | |
1634 Synchronous: | |
1635 type: boolean | |
1636 default: true | |
1637 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1638 Priority: | |
1639 type: number | |
1640 default: 0 | |
1641 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1642 example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"} | |
1643 responses: | |
1644 200: | |
1645 description: Success | |
1646 content: | |
1647 application/json: | |
1648 schema: | |
1649 properties: | |
1650 ID: | |
1651 type: string | |
1652 description: The ID of the new anonymized study. | |
1653 Path: | |
1654 type: string | |
1655 description: The URL of the new anonymized study. | |
1656 example: { | |
1657 "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce", | |
1658 "Path" : "/studies/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce" | |
1659 } | |
1660 | |
1661 /series/{Id}/anonymize: | |
1662 post: | |
1663 tags: [Anonymization] | |
1664 description: Anonymize the series | |
1665 parameters: | |
1666 - name: Id | |
1667 required: true | |
1668 in: path | |
1669 schema: | |
1670 type: string | |
1671 requestBody: | |
1672 content: | |
1673 application/json: | |
1674 schema: | |
1675 properties: | |
1676 DicomVersion: | |
1677 type: string | |
1678 description: Specifies which version of the DICOM standard shall be used for anonymization. Allowed values are 2008 and 2017c (default value if the parameter is absent). This parameter has been introduced in Orthanc 1.3.0. In earlier version, the 2008 standard was used. | |
1679 enum: | |
1680 - 2017c | |
1681 - 2008 | |
1682 Replace: | |
1683 type: object | |
1684 description: Replace is an associative array that associates a DICOM tag with its new string value. The value is dynamically cast to the proper DICOM data type (an HTTP error will occur if the cast fails). Replacements are applied after all the tags to anonymize have been removed. | |
1685 Keep: | |
1686 type: array | |
1687 items: | |
1688 type: string | |
1689 description: List of DICOM tags that should be kept through the anonymization process. | |
1690 KeepPrivateTags: | |
1691 type: boolean | |
1692 description: If KeepPrivateTags is set to true in the JSON request, private tags (i.e. manufacturer-specific tags) are not removed by the anonymization process. The default behavior consists in removing the private tags, as such tags can contain patient-specific information. | |
1693 Synchronous: | |
1694 type: boolean | |
1695 default: true | |
1696 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1697 Priority: | |
1698 type: number | |
1699 default: 0 | |
1700 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1701 example: {"Replace":{"PatientName":"Hello","0010-1001":"World"},"Keep":["StudyDescription", "SeriesDescription"],"KeepPrivateTags": true, "DicomVersion" : "2017c"} | |
1702 responses: | |
1703 200: | |
1704 description: Success | |
1705 content: | |
1706 application/json: | |
1707 schema: | |
1708 properties: | |
1709 ID: | |
1710 type: string | |
1711 description: The ID of the new anonymized series. | |
1712 Path: | |
1713 type: string | |
1714 description: The URL of the new anonymized series. | |
1715 example: { | |
1716 "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce", | |
1717 "Path" : "/series/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce" | |
1718 } | |
1719 | |
1720 /instances/{Id}/modify: | |
1721 post: | |
1722 tags: [Modification] | |
1723 description: Orthanc allows to modify a set of specified tags in a single DICOM instance and to download the resulting modified DICOM file. | |
1724 parameters: | |
1725 - name: Id | |
1726 required: true | |
1727 in: path | |
1728 schema: | |
1729 type: string | |
1730 requestBody: | |
1731 content: | |
1732 application/json: | |
1733 schema: | |
1734 properties: | |
1735 Replace: | |
1736 type: object | |
1737 description: The Replace associative array specifies the substitions to be applied (cf. anonymization). | |
1738 Remove: | |
1739 type: array | |
1740 items: | |
1741 type: string | |
1742 description: The Remove array specifies the list of the tags to remove. | |
1743 RemovePrivateTags: | |
1744 type: boolean | |
1745 description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed. | |
1746 Force: | |
1747 type: boolean | |
1748 description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect. | |
1749 default: false | |
1750 example: {"Replace":{"PatientName":"hello","PatientID":"world"},"Remove":["InstitutionName"],"RemovePrivateTags": true, "Force": true} | |
1751 responses: | |
1752 200: | |
1753 description: The response contains a DICOM file that has been anonymized. | |
1754 content: | |
1755 application/dicom: {} | |
1756 | |
1757 /studies/{Id}/modify: | |
1758 post: | |
1759 tags: [Modification] | |
1760 description: It is possible to modify all the instances from a study or from a series in a single request. In this case, the modified instances are stored back into the Orthanc store. | |
1761 parameters: | |
1762 - name: Id | |
1763 required: true | |
1764 in: path | |
1765 schema: | |
1766 type: string | |
1767 requestBody: | |
1768 content: | |
1769 application/json: | |
1770 schema: | |
1771 properties: | |
1772 Replace: | |
1773 type: object | |
1774 description: The Replace associative array specifies the substitions to be applied (cf. anonymization). | |
1775 Remove: | |
1776 type: array | |
1777 items: | |
1778 type: string | |
1779 description: The Remove array specifies the list of the tags to remove. | |
1780 RemovePrivateTags: | |
1781 type: boolean | |
1782 description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed. | |
1783 Force: | |
1784 type: boolean | |
1785 description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect. | |
1786 default: false | |
1787 Synchronous: | |
1788 type: boolean | |
1789 default: true | |
1790 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1791 Priority: | |
1792 type: number | |
1793 default: 0 | |
1794 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1795 example: {"Replace":{"InstitutionName":"My own clinic"}} | |
1796 responses: | |
1797 200: | |
1798 description: Success | |
1799 content: | |
1800 application/json: | |
1801 schema: | |
1802 properties: | |
1803 ID: | |
1804 type: string | |
1805 description: The ID of the new modified study. | |
1806 Path: | |
1807 type: string | |
1808 description: The URL of the new modified study. | |
1809 example: { | |
1810 "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce", | |
1811 "Path" : "/studies/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce" | |
1812 } | |
1813 | |
1814 /series/{Id}/modify: | |
1815 post: | |
1816 tags: [Modification] | |
1817 description: It is possible to modify all the instances from a study or from a series in a single request. In this case, the modified instances are stored back into the Orthanc store. | |
1818 parameters: | |
1819 - name: Id | |
1820 required: true | |
1821 in: path | |
1822 schema: | |
1823 type: string | |
1824 requestBody: | |
1825 content: | |
1826 application/json: | |
1827 schema: | |
1828 properties: | |
1829 Replace: | |
1830 type: object | |
1831 description: The Replace associative array specifies the substitions to be applied (cf. anonymization). | |
1832 Remove: | |
1833 type: array | |
1834 items: | |
1835 type: string | |
1836 description: The Remove array specifies the list of the tags to remove. | |
1837 RemovePrivateTags: | |
1838 type: boolean | |
1839 description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed. | |
1840 Force: | |
1841 type: boolean | |
1842 description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect. | |
1843 default: false | |
1844 Synchronous: | |
1845 type: boolean | |
1846 default: true | |
1847 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1848 Priority: | |
1849 type: number | |
1850 default: 0 | |
1851 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1852 example: {"Replace":{"InstitutionName":"My own clinic"}} | |
1853 responses: | |
1854 200: | |
1855 description: Success | |
1856 content: | |
1857 application/json: | |
1858 schema: | |
1859 properties: | |
1860 ID: | |
1861 type: string | |
1862 description: The ID of the new modified study. | |
1863 Path: | |
1864 type: string | |
1865 description: The URL of the new modified study. | |
1866 example: { | |
1867 "ID" : "3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce", | |
1868 "Path" : "/series/3bd3d343-82879d86-da77321c-1d23fd6b-faa07bce" | |
1869 } | |
1870 | |
1871 /patients/{Id}/modify: | |
1872 post: | |
1873 tags: [Modification] | |
1874 description: Starting with Orthanc 0.7.5, Orthanc can also modify all the instances of a patient with a single REST call. | |
1875 parameters: | |
1876 - name: Id | |
1877 required: true | |
1878 in: path | |
1879 schema: | |
1880 type: string | |
1881 requestBody: | |
1882 content: | |
1883 application/json: | |
1884 schema: | |
1885 properties: | |
1886 Replace: | |
1887 type: object | |
1888 description: The Replace associative array specifies the substitions to be applied (cf. anonymization). | |
1889 Remove: | |
1890 type: array | |
1891 items: | |
1892 type: string | |
1893 description: The Remove array specifies the list of the tags to remove. | |
1894 RemovePrivateTags: | |
1895 type: boolean | |
1896 description: If RemovePrivateTags is set to true, the private tags (i.e. manufacturer-specific tags) are removed. | |
1897 Force: | |
1898 type: boolean | |
1899 description: The Force option must be set to true, in order to allow the modification of the PatientID, as such a modification of the DICOM identifiers might lead to breaking the DICOM model of the real-world. In general, any explicit modification to one of the PatientID, StudyInstanceUID, SeriesInstanceUID, and SOPInstanceUID requires Force to be set to true, in order to prevent any unwanted side effect. | |
1900 default: false | |
1901 Synchronous: | |
1902 type: boolean | |
1903 default: true | |
1904 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1905 Priority: | |
1906 type: number | |
1907 default: 0 | |
1908 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1909 example: {"Replace":{"PatientID":"Hello","PatientName":"Sample patient name"},"Force":true} | |
1910 responses: | |
1911 200: | |
1912 description: Success | |
1913 content: | |
1914 application/json: | |
1915 schema: | |
1916 properties: | |
1917 ID: | |
1918 type: string | |
1919 description: The ID of the new modified patient. | |
1920 Path: | |
1921 type: string | |
1922 description: The URL of the new modified patient. | |
1923 PatientID: | |
1924 type: string | |
1925 Type: | |
1926 type: string | |
1927 enum: | |
1928 - Patient | |
1929 example: { | |
1930 "ID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1931 "Path" : "/patients/f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1932 "PatientID" : "f7ff9e8b-7bb2e09b-70935a5d-785e0cc5-d9d0abf0", | |
1933 "Type" : "Patient" | |
1934 } | |
1935 | |
1936 /studies/{Id}/split: | |
1937 post: | |
1938 tags: [Split/merge DICOM studies] | |
1939 description: "Starting with Orthanc 1.5.0, Orthanc supports splitting and merging DICOM studies through its REST API. By issuing the example command, the series whose Orthanc identifier is 6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228, and that is part of the source study with identifier in the URL, will be removed from the source study, and will be moved to a brand new study. This is done by generating a new value for all the following DICOM tags in the DICOM instances of the series of interest: StudyInstanceUID (0x0020, 0x000d), SeriesInstanceUID (0x0020, 0x000e), and SOPInstanceUID (0x0008, 0x0018)" | |
1940 parameters: | |
1941 - name: Id | |
1942 required: true | |
1943 in: path | |
1944 schema: | |
1945 type: string | |
1946 requestBody: | |
1947 content: | |
1948 application/json: | |
1949 schema: | |
1950 properties: | |
1951 Series: | |
1952 type: array | |
1953 items: | |
1954 type: string | |
1955 description: Series gives the list of series to be separated from the parent study (mandatory option). These series must all be children of the same source study, that is specified in the URI. | |
1956 Replace: | |
1957 type: object | |
1958 description: Replace allows to overwrite the DICOM tags that are part of the "Patient Module Attributes" and the "General Study Module Attributes", as specified by the DICOM 2011 standard in Tables C.7-1 and C.7-3. | |
1959 Remove: | |
1960 type: array | |
1961 items: | |
1962 type: string | |
1963 description: Remove allows to remove DICOM tags from the same modules as in the Replace options. | |
1964 KeepSource: | |
1965 type: boolean | |
1966 description: KeepSource (Boolean value), if set to true, instructs Orthanc to keep a copy of the original series in the source study. By default, the original series are deleted from Orthanc. | |
1967 Synchronous: | |
1968 type: boolean | |
1969 default: true | |
1970 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
1971 Priority: | |
1972 type: number | |
1973 default: 0 | |
1974 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
1975 example: {"Series":["6ca4c9f3-5e895cb3-4d82c6da-09e060fe-9c59f228"],"Replace":{"PatientName":"HELLO"},"Remove":["AccessionNumber"]} | |
1976 responses: | |
1977 200: | |
1978 description: Success | |
1979 | |
1980 /studies/{Id}/merge: | |
1981 post: | |
1982 tags: [Split/merge DICOM studies] | |
1983 description: "Merge DICOM series into another DICOM study. By issuing this command, the DICOM series whose Orthanc identifier is ef2ce55f-9342856a-aee23907-2667e859-9f3b734d, will be merged into target study with identifier Id in the URL. As in the case of splitting, this is done by updating the following DICOM tags: StudyInstanceUID (0x0020, 0x000d), SeriesInstanceUID (0x0020, 0x000e), and SOPInstanceUID (0x0008, 0x0018). Furthermore, all the DICOM tags that are part of the “Patient Module Attributes” and the “General Study Module Attributes” (as specified by the DICOM 2011 standard in Tables C.7-1 and C.7-3), are modified to match the target study." | |
1984 parameters: | |
1985 - name: Id | |
1986 required: true | |
1987 in: path | |
1988 schema: | |
1989 type: string | |
1990 requestBody: | |
1991 content: | |
1992 application/json: | |
1993 schema: | |
1994 properties: | |
1995 Resources: | |
1996 type: array | |
1997 items: | |
1998 type: string | |
1999 description: Resources gives the list of source studies or source series that are to be merged into the target study. | |
2000 KeepSource: | |
2001 type: boolean | |
2002 description: KeepSource (Boolean value), if set to true, instructs Orthanc to keep the source studies and series. By default, the original resources are deleted from Orthanc. | |
2003 Synchronous: | |
2004 type: boolean | |
2005 default: true | |
2006 description: If Synchronous is set to false then this operation runs as an Orthanc job. The output of this request will indicate the Job ID. | |
2007 Priority: | |
2008 type: number | |
2009 default: 0 | |
2010 description: If Synchronous is set to false then this sets the priority of the job. The default priority is 0. | |
2011 example: {"Resources":["ef2ce55f-9342856a-aee23907-2667e859-9f3b734d"]} | |
2012 responses: | |
2013 200: | |
2014 description: Success | |
2015 | |
2016 /instances/{Id}/frames: | |
2017 get: | |
2018 tags: [Frames] | |
2019 description: Get the list of frames for a DICOM instance. | |
2020 parameters: | |
2021 - name: Id | |
2022 required: true | |
2023 in: path | |
2024 schema: | |
2025 type: string | |
2026 responses: | |
2027 200: | |
2028 description: Success | |
2029 content: | |
2030 application/json: | |
2031 schema: | |
2032 type: array | |
2033 items: | |
2034 type: number | |
2035 example: [0, 75] | |
2036 /instances/{Id}/frames/{Idx}/{PixelFormat}: | |
2037 get: | |
2038 tags: [Frames] | |
2039 description: Get the image data of a frame within an instance. | |
2040 parameters: | |
2041 - name: Id | |
2042 required: true | |
2043 in: path | |
2044 schema: | |
2045 type: string | |
2046 - name: Idx | |
2047 required: true | |
2048 in: path | |
2049 schema: | |
2050 type: number | |
2051 - name: PixelFormat | |
2052 required: true | |
2053 in: path | |
2054 schema: | |
2055 type: string | |
2056 enum: | |
2057 - image-uint8 | |
2058 - image-uint16 | |
2059 - image-int16 | |
2060 - matlab | |
2061 - raw | |
2062 - raw.gz | |
2063 - name: Accept | |
2064 required: true | |
2065 in: header | |
2066 schema: | |
2067 type: string | |
2068 enum: | |
2069 - image/png | |
2070 - image/jpeg | |
2071 - image/x-portable-arbitrarymap | |
2072 responses: | |
2073 200: | |
2074 description: Image | |
2075 content: | |
2076 image/png: {} | |
2077 image/jpg: {} | |
2078 image/x-portable-arbitrarymap: {} | |
2079 application/octet-stream: {} | |
2080 text/plain: {} | |
2081 /instances/{Id}/frames/{Idx}/preview: | |
2082 get: | |
2083 tags: [Frames] | |
2084 description: Download a preview image of the frame of a DICOM instance. | |
2085 parameters: | |
2086 - name: Id | |
2087 required: true | |
2088 in: path | |
2089 schema: | |
2090 type: string | |
2091 - name: Idx | |
2092 required: true | |
2093 in: path | |
2094 schema: | |
2095 type: number | |
2096 - name: Accept | |
2097 description: Default is image/png | |
2098 required: false | |
2099 in: header | |
2100 schema: | |
2101 type: string | |
2102 enum: | |
2103 - image/png | |
2104 - image/jpeg | |
2105 responses: | |
2106 200: | |
2107 description: DICOM preview | |
2108 content: | |
2109 image/png: {} | |
2110 image/jpg: {} | |
2111 | |
2112 /tools/lookup: | |
2113 post: | |
2114 tags: [Lookup] | |
2115 description: Lookup resources by their UID | |
2116 requestBody: | |
2117 content: | |
2118 text/plain: | |
2119 example: "1.2.826.0.1.3680043.8.1055.1.20111103111148288.81713267.86905863" | |
2120 responses: | |
2121 200: | |
2122 description: Success | |
2123 content: | |
2124 application/json: | |
2125 schema: | |
2126 type: array | |
2127 items: | |
2128 properties: | |
2129 ID: | |
2130 type: string | |
2131 Path: | |
2132 type: string | |
2133 Type: | |
2134 type: string | |
2135 enum: | |
2136 - Patient | |
2137 - Study | |
2138 - Series | |
2139 - Instance | |
2140 example: { | |
2141 "ID" : "53a15d3a-ec236c65-5958be97-e31b8725-5f55ca69", | |
2142 "Path" : "/instances/53a15d3a-ec236c65-5958be97-e31b8725-5f55ca69", | |
2143 "Type" : "Instance" | |
2144 } | |
2145 | |
2146 /tools/create-archive: | |
2147 post: | |
2148 tags: [Archive] | |
2149 description: Create an archive (zip) of the specified resource ID's as a collection of DICOM files. | |
2150 requestBody: | |
2151 content: | |
2152 application/json: | |
2153 schema: | |
2154 oneOf: | |
2155 - type: array | |
2156 items: | |
2157 type: string | |
2158 - properties: | |
2159 Synchronous: | |
2160 type: boolean | |
2161 default: true | |
2162 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. | |
2163 Resources: | |
2164 type: array | |
2165 items: | |
2166 type: string | |
2167 example: [ | |
2168 'ca29faea-b6a0e17f-067743a1-8b778011-a48b2a17', | |
2169 '0a9b3153-2512774b-2d9580de-1fc3dcf6-3bd83918', | |
2170 '1e2c125c-411b8e86-3f4fe68e-a7584dd3-c6da78f0' | |
2171 ] | |
2172 responses: | |
2173 200: | |
2174 description: Success | |
2175 content: | |
2176 application/zip: {} | |
2177 application/json: | |
2178 schema: | |
2179 properties: | |
2180 ID: | |
2181 type: string | |
2182 Path: | |
2183 type: string | |
2184 example: { | |
2185 "ID" : "6c5bab22-79ae-4eca-b0af-d979431801bd", | |
2186 "Path" : "/jobs/6c5bab22-79ae-4eca-b0af-d979431801bd" | |
2187 } | |
2188 | |
2189 /tools/default-encoding: | |
2190 get: | |
2191 tags: [I18N] | |
2192 description: Get the default text encoding for the Orthanc server. | |
2193 responses: | |
2194 200: | |
2195 description: Success | |
2196 content: | |
2197 text/plain: | |
2198 example: Latin1 | |
2199 post: | |
2200 tags: [I18N] | |
2201 description: Set the default text encoding for the Orthanc server. | |
2202 requestBody: | |
2203 content: | |
2204 text/plain: | |
2205 example: "Latin1" | |
2206 responses: | |
2207 200: | |
2208 description: Success | |
2209 | |
2210 /jobs: | |
2211 get: | |
2212 tags: [Jobs] | |
2213 description: The list of all jobs can be retrieved as follows. | |
2214 responses: | |
2215 200: | |
2216 description: Success | |
2217 content: | |
2218 application/json: | |
2219 schema: | |
2220 type: array | |
2221 items: | |
2222 type: string | |
2223 example: [ "e0d12aac-47eb-454f-bb7f-9857931e2904" ] | |
2224 | |
2225 /jobs/{Id}: | |
2226 get: | |
2227 tags: [Jobs] | |
2228 description: The list of all jobs can be retrieved as follows. | |
2229 parameters: | |
2230 - name: Id | |
2231 required: true | |
2232 in: path | |
2233 schema: | |
2234 type: string | |
2235 responses: | |
2236 200: | |
2237 description: Success | |
2238 content: | |
2239 application/json: | |
2240 schema: | |
2241 properties: | |
2242 CompletionTime: | |
2243 type: string | |
2244 Content: | |
2245 type: array | |
2246 items: | |
2247 properties: | |
2248 Description: | |
2249 type: string | |
2250 InstanceCount: | |
2251 type: number | |
2252 UncompressedSizeMB: | |
2253 type: number | |
2254 CreationTime: | |
2255 type: string | |
2256 EffectiveRuntime: | |
2257 type: number | |
2258 ErrorCode: | |
2259 type: number | |
2260 ErrorDescription: | |
2261 type: string | |
2262 ID: | |
2263 type: string | |
2264 Priority: | |
2265 type: number | |
2266 Progress: | |
2267 type: number | |
2268 State: | |
2269 type: string | |
2270 enum: | |
2271 - Success | |
2272 - Failure | |
2273 - Pending | |
2274 - Running | |
2275 - Paused | |
2276 - Retry | |
2277 Timestamp: | |
2278 type: string | |
2279 Type: | |
2280 type: string | |
2281 example: { | |
2282 "CompletionTime" : "20190306T095223.753851", | |
2283 "Content" : { | |
2284 "Description" : "REST API", | |
2285 "InstancesCount" : 1, | |
2286 "UncompressedSizeMB" : 0 | |
2287 }, | |
2288 "CreationTime" : "20190306T095223.750666", | |
2289 "EffectiveRuntime" : 0.001, | |
2290 "ErrorCode" : 0, | |
2291 "ErrorDescription" : "Success", | |
2292 "ID" : "e0d12aac-47eb-454f-bb7f-9857931e2904", | |
2293 "Priority" : 0, | |
2294 "Progress" : 100, | |
2295 "State" : "Success", | |
2296 "Timestamp" : "20190306T095408.556082", | |
2297 "Type" : "Archive" | |
2298 } | |
2299 /jobs/{Id}/archive: | |
2300 get: | |
2301 tags: [Jobs] | |
2302 description: Get the archive generated by the job. Note that the job must be an archive job and it must be complete. | |
2303 parameters: | |
2304 - name: Id | |
2305 required: true | |
2306 in: path | |
2307 schema: | |
2308 type: string | |
2309 responses: | |
2310 200: | |
2311 description: Success | |
2312 content: | |
2313 application/zip: {} | |
2314 /jobs/{Id}/cancel: | |
2315 post: | |
2316 tags: [Jobs] | |
2317 description: Cancel the job | |
2318 parameters: | |
2319 - name: Id | |
2320 required: true | |
2321 in: path | |
2322 schema: | |
2323 type: string | |
2324 responses: | |
2325 200: | |
2326 description: Success | |
2327 /jobs/{Id}/pause: | |
2328 post: | |
2329 tags: [Jobs] | |
2330 description: Pause the job | |
2331 parameters: | |
2332 - name: Id | |
2333 required: true | |
2334 in: path | |
2335 schema: | |
2336 type: string | |
2337 responses: | |
2338 200: | |
2339 description: Success | |
2340 /jobs/{Id}/resume: | |
2341 post: | |
2342 tags: [Jobs] | |
2343 description: Resume the job | |
2344 parameters: | |
2345 - name: Id | |
2346 required: true | |
2347 in: path | |
2348 schema: | |
2349 type: string | |
2350 responses: | |
2351 200: | |
2352 description: Success | |
2353 /jobs/{Id}/resubmit: | |
2354 post: | |
2355 tags: [Jobs] | |
2356 description: Retry the job | |
2357 parameters: | |
2358 - name: Id | |
2359 required: true | |
2360 in: path | |
2361 schema: | |
2362 type: string | |
2363 responses: | |
2364 200: | |
2365 description: Success | |
2366 | |
2367 /tools/create-dicom: | |
2368 post: | |
2369 tags: [PDF] | |
2370 description: The /tools/create-dicom URI can be used to upload a PDF file to Orthanc. You can retrieve the PDF from the instance using /instances/{Id}/pdf. | |
2371 requestBody: | |
2372 content: | |
2373 application/json: | |
2374 schema: | |
2375 properties: | |
2376 Tags: | |
2377 properties: | |
2378 PatientName: | |
2379 type: string | |
2380 Modality: | |
2381 type: string | |
2382 Content: | |
2383 type: string | |
2384 pattern: 'data:application/pdf;base64,.*' | |
2385 description: Base 64 encoded bytes of the PDF to store. | |
2386 example: {"Tags" : {"PatientName" : "Benjamino", "Modality" : "CT"},"Content" : "data:application/pdf;base64,<base64contentsofpdf>"} | |
2387 responses: | |
2388 200: | |
2389 description: The ID of the new DICOM instance is returned. | |
2390 content: | |
2391 text/plain: | |
2392 example: "e0d12aac-47eb-454f-bb7f-9857931e2904" | |
2393 | |
2394 /tools/metrics-prometheus: | |
2395 get: | |
2396 tags: [Prometheus Metrics] | |
2397 description: Orthanc publishes its metrics according to the text-based format of Prometheus (check also the OpenMetrics project), onto the /tools/metrics-prometheus URI of the REST API. | |
2398 responses: | |
2399 200: | |
2400 description: Success | |
2401 content: | |
2402 text/plain: | |
2403 example: | | |
2404 orthanc_count_instances 1 1551868380543 | |
2405 orthanc_count_patients 1 1551868380543 | |
2406 orthanc_count_series 1 1551868380543 | |
2407 orthanc_count_studies 1 1551868380543 | |
2408 orthanc_disk_size_mb 0.0135002136 1551868380543 | |
2409 orthanc_jobs_completed 1 1551868380543 | |
2410 orthanc_jobs_failed 0 1551868380543 | |
2411 orthanc_jobs_pending 0 1551868380543 | |
2412 orthanc_jobs_running 0 1551868380543 | |
2413 orthanc_jobs_success 1 1551868380543 | |
2414 orthanc_rest_api_active_requests 1 1551868380543 | |
2415 orthanc_rest_api_duration_ms 0 1551868094265 | |
2416 orthanc_storage_create_duration_ms 0 1551865919315 | |
2417 orthanc_storage_read_duration_ms 0 1551865943752 | |
2418 orthanc_store_dicom_duration_ms 5 1551865919319 | |
2419 orthanc_uncompressed_size_mb 0.0135002136 1551868380543 | |
2420 | |
2421 /tools/metrics: | |
2422 get: | |
2423 tags: [Prometheus Metrics] | |
2424 description: Get the enablement state of the metrics gathering. | |
2425 responses: | |
2426 200: | |
2427 description: Success | |
2428 content: | |
2429 text/plain: | |
2430 example: "1" | |
2431 put: | |
2432 tags: [Prometheus Metrics] | |
2433 description: Set the enablement state of the metrics gathering. | |
2434 requestBody: | |
2435 content: | |
2436 text/plain: | |
2437 example: "1" | |
2438 responses: | |
2439 200: | |
2440 description: Success | |
2441 | |
2442 /system: | |
2443 get: | |
2444 tags: [System] | |
2445 description: Get system information for the Orthanc server. | |
2446 responses: | |
2447 200: | |
2448 description: Success | |
2449 content: | |
2450 application/json: | |
2451 schema: | |
2452 properties: | |
2453 ApiVersion: | |
2454 type: number | |
2455 DatabaseBackendPlugin: | |
2456 type: string | |
2457 DatabaseVersion: | |
2458 type: number | |
2459 DicomAet: | |
2460 type: string | |
2461 DicomPort: | |
2462 type: number | |
2463 HttpPort: | |
2464 type: number | |
2465 Name: | |
2466 type: string | |
2467 PluginsEnabled: | |
2468 type: boolean | |
2469 StorageAreaPlugin: | |
2470 type: string | |
2471 Version: | |
2472 type: string | |
2473 example: { | |
2474 "ApiVersion" : 3, | |
2475 "DatabaseBackendPlugin" : null, | |
2476 "DatabaseVersion" : 6, | |
2477 "DicomAet" : "ORTHANC", | |
2478 "DicomPort" : 4242, | |
2479 "HttpPort" : 8042, | |
2480 "Name" : "Orthanc Demo", | |
2481 "PluginsEnabled" : true, | |
2482 "StorageAreaPlugin" : null, | |
2483 "Version" : "1.5.7" | |
2484 } | |
2485 | |
2486 /statistics: | |
2487 get: | |
2488 tags: [Statistics] | |
2489 description: Get statistics about the data stored in Orthanc. | |
2490 responses: | |
2491 200: | |
2492 description: Success | |
2493 content: | |
2494 application/json: | |
2495 schema: | |
2496 properties: | |
2497 CountInstances: | |
2498 type: number | |
2499 CountPatients: | |
2500 type: number | |
2501 CountSeries: | |
2502 type: number | |
2503 CountStudies: | |
2504 type: number | |
2505 TotalDiskSize: | |
2506 type: string | |
2507 TotalDiskSizeMB: | |
2508 type: number | |
2509 TotalUncompressedSize: | |
2510 type: string | |
2511 TotalUncompressedSizeMB: | |
2512 type: number | |
2513 example: { | |
2514 "CountInstances" : 2352, | |
2515 "CountPatients" : 7, | |
2516 "CountSeries" : 23, | |
2517 "CountStudies" : 7, | |
2518 "TotalDiskSize" : "913213057", | |
2519 "TotalDiskSizeMB" : 870, | |
2520 "TotalUncompressedSize" : "913213057", | |
2521 "TotalUncompressedSizeMB" : 870 | |
2522 } | |
2523 | |
2524 /tools/execute-script: | |
2525 post: | |
2526 tags: [Lua] | |
2527 description: Execute the posted Lua script | |
2528 requestBody: | |
2529 content: | |
2530 text/plain: | |
2531 example: print(42) | |
2532 responses: | |
2533 200: | |
2534 description: Script executed | |
2535 content: | |
2536 text/plain: | |
2537 example: "42" |