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"