Mercurial > hg > orthanc-book
annotate Sphinx/source/faq/worklist.rst @ 11:2394454105ee
how to use the DicomWorklist plugin
author | Alain Mazy <alain@mazy.be> |
---|---|
date | Thu, 26 May 2016 18:39:25 +0200 |
parents | 485504440bea |
children | 1a4e870d4953 |
rev | line source |
---|---|
5 | 1 Does Orthanc support worklists? |
7
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
2 =============================== |
5 | 3 |
7
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
4 Orthanc supports DICOM Modality Worklists (MWL) through its `plugin |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
5 SDK |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
6 <https://github.com/jodogne/OrthancContributed/tree/master/Plugins>`__. |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
7 In other words, Orthanc can act as a worklist server (C-Find SCP), but |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
8 an user-defined plugin must be provided to answer a list of worklists |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
9 given a MWL query. |
5 | 10 |
7
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
11 The rationale for using plugins instead of providing a built-in MWL |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
12 mechanism, is that the way worklists are generated is very specific to |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
13 the clinical flows and to the manufacturer of your `RIS system |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
14 <https://en.wikipedia.org/wiki/Radiology_information_system>`__. |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
15 Indeed, depending on the situation, worklists can be generated either |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
16 from HL7 messages, from calls to a Web service (e.g. through FHIR), or |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
17 from a direct access to some RIS database. It is thus up to the |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
18 Orthanc user to provide the worklist generator that is best suited for |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
19 her use. |
5 | 20 |
7
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
21 A `sample plugin |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
22 <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__ |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
23 is available to serve the worklists stored in some folder on the |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
24 filesystem. This mimics the behavior of the ``wlmscpfs`` command-line |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
25 tool from the `DCMTK software |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
26 <http://support.dcmtk.org/docs/wlmscpfs.html>`__. ``dump2dcm`` might |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
27 be a very `useful companion tool |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
28 <http://support.dcmtk.org/docs/dump2dcm.html>`__ to feed the sample |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
29 plugin with worklists for some separate maintenance script. |
5 | 30 |
7
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
31 For more complex or integrated workflows where you must implement a |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
32 custom MWL plugin, please check the `documentation of the part of the |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
33 Orthanc plugin SDK |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
34 <https://orthanc.chu.ulg.ac.be/sdk/group__Worklists.html>`__ that is |
485504440bea
Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
5
diff
changeset
|
35 related to the management of worklists. |
11
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
36 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
37 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
38 How should I use it ? |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
39 --------------------- |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
40 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
41 - download `DCMTK utilities <http://dicom.offis.de/download/dcmtk/release/bin/>`__ |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
42 - download sample `worklist files <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__ from the Orthanc source code and copy them in a dedicated folder. |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
43 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
44 .. highlight:: javascript |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
45 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
46 - Enable the ModalityWorklist plugin in your config.json by adding this section:: |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
47 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
48 "Worklists" : { |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
49 "Enable": true, |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
50 "Database": "WorklistsDatabase" //this is the path to the folder with the worklist files. Use absolute path ! |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
51 }, |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
52 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
53 - Add the plugin to the list of plugins to load (this is an example for Windows):: |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
54 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
55 "Plugins" : [ |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
56 "OsimisWebViewer.dll", |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
57 "ModalityWorklists.dll" // on Linux, use ModalityWorklists.so |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
58 ], |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
59 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
60 - Add the findscu utility to the list of know modalities (considering findscu and Orthanc runs on the same machine):: |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
61 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
62 "DicomModalities" : { |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
63 "horos" : [ "HOROS", "192.168.0.8", 11112 ], |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
64 "findscu" : [ "FINDSCU", "127.0.0.1", 1234 ] |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
65 }, |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
66 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
67 .. highlight:: bash |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
68 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
69 - Launch Orthanc as usual, make sure to pass him the configuration file (ex for Windows):: |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
70 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
71 Orthanc.exe config.json |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
72 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
73 - In a prompt, launch a findscu request to ask Orthanc to return all Worklists for 'CT' modalities (considering findscu and Orthanc both runs on your machine: 127.0.0.1 is the Orthanc url and 4242 is the Orthanc DICOM port):: |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
74 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
75 findscu -W -k "ScheduledProcedureStepSequence[0].Modality=CT" 127.0.0.1 4242 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
76 |
2394454105ee
how to use the DicomWorklist plugin
Alain Mazy <alain@mazy.be>
parents:
7
diff
changeset
|
77 - findscu should display the matching worklists |