Mercurial > hg > orthanc-book
annotate Sphinx/source/plugins/multitenant-dicom.rst @ 948:20a369cc2823
security: non privilege user
author | Alain Mazy <am@osimis.io> |
---|---|
date | Fri, 02 Jun 2023 15:21:48 +0200 |
parents | 5491953f7492 |
children | 1316bc62b5d5 |
rev | line source |
---|---|
936
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
1 .. _multitenant-dicom: |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
2 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
3 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
4 Sample multitenant DICOM server |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
5 =============================== |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
6 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
7 .. contents:: |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
8 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
9 This **official** plugin by the `ICTEAM institute of UCLouvain |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
10 <https://uclouvain.be/en/research-institutes/icteam>`__ can be used to |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
11 turn Orthanc into a **multitenant DICOM** server using :ref:`labels |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
12 <labels>`. More precisely, the same Orthanc database can be accessed |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
13 from different DICOM servers, that each provides a different view |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
14 depending on the presence of labels. This plugin available is part of |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
15 the `official source distribution |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
16 <https://hg.orthanc-server.com/orthanc/file/default/OrthancServer/Plugins/Samples/MultitenantDicom>`__ |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
17 of Orthanc, starting with Orthanc 1.12.0. |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
18 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
19 This plugin starts additional DICOM servers, in complement to the main |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
20 DICOM server of Orthanc that provides full access to the Orthanc |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
21 database. These additional DICOM servers support the C-Find, C-Move, |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
22 and C-Store commands, and share most of their configuration with the |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
23 main DICOM server of Orthanc. They are however distinguished from the |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
24 latter by using a **different AET** and a **different TCP |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
25 port**. Furthermore, each of those additional DICOM servers are |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
26 associated with a **set of labels** that restricts which DICOM |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
27 resources stored in Orthanc are accessible through this additional |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
28 DICOM server. |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
29 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
30 .. highlight:: json |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
31 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
32 Here is a sample :ref:`configuration file <configuration>` to use this |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
33 plugin:: |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
34 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
35 { |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
36 "Plugins" : [ "." ], |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
37 "DicomModalities" : { |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
38 "sample" : [ "STORESCP", "127.0.0.1", 2000 ] |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
39 }, |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
40 "MultitenantDicom" : { |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
41 "Servers" : [ |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
42 { |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
43 "AET" : "HELLO", |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
44 "Port" : 4343, |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
45 "Labels" : [ "hello" ], |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
46 "LabelsConstraint" : "All", |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
47 "LabelsStoreLevels" : [ "Patient", "Study", "Series", "Instance" ] |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
48 } |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
49 ] |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
50 } |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
51 } |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
52 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
53 This configuration will start an additional DICOM server with AET |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
54 ``HELLO`` listening on the 4343 port. This DICOM server will work as |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
55 follows: |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
56 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
57 * DICOM C-Find and C-Move requests are restricted to the DICOM |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
58 resources that are assigned with the ``hello`` label. |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
59 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
60 * Note that the labels are checked by query/retrieve level: For |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
61 instance, if ``QueryRetrieveLevel (0008, 0052)`` equals ``STUDY``, |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
62 the plugin will only report the studies that are associated with |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
63 the ``hello`` label. |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
64 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
65 * The ``LabelsConstraint`` specifies the type of constraint on the |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
66 labels. Its value can be ``All`` (default), ``Any``, or ``None``, |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
67 which corresponds to the values accepted by the ``/tools/find`` |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
68 :ref:`route in the REST API <labels>` of Orthanc. Note that in the |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
69 sample configuration above, because there is only one label in the |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
70 ``Labels`` field, both ``Any`` and ``All`` have the same behavior. |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
71 |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
72 * Any DICOM resource that is received through DICOM C-Store requests |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
73 issued to this additional DICOM server, is automatically associated |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
74 with all the labels provided in the ``Labels`` field. The |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
75 configuration option ``LabelsStoreLevels`` can be used to restrict |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
76 the levels to which the labels are applied (it defaults to the three |
5491953f7492
documentation of labels
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff
changeset
|
77 study, series, and instances levels). |