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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
fe86363b3a21 added Worklist in FAQ
Alain Mazy <alain@mazy.be>
parents:
diff changeset
1 Does Orthanc support worklists?
7
485504440bea Improved Does Orthanc support worklists?
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 5
diff changeset
2 ===============================
5
fe86363b3a21 added Worklist in FAQ
Alain Mazy <alain@mazy.be>
parents:
diff changeset
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
fe86363b3a21 added Worklist in FAQ
Alain Mazy <alain@mazy.be>
parents:
diff changeset
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
fe86363b3a21 added Worklist in FAQ
Alain Mazy <alain@mazy.be>
parents:
diff changeset
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
fe86363b3a21 added Worklist in FAQ
Alain Mazy <alain@mazy.be>
parents:
diff changeset
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