Mercurial > hg > orthanc-book
comparison Sphinx/source/faq/worklist.rst @ 31:93bbfaf0e62c
worklist instructions migrated to a specific page, indexing of Osimis Web viewer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 20 Jul 2016 11:35:54 +0200 |
parents | 98c0c61e7931 |
children | 6ddc98c305cd |
comparison
equal
deleted
inserted
replaced
30:79b6d3ea92aa | 31:93bbfaf0e62c |
---|---|
18 from HL7 messages, from calls to a Web service (e.g. through FHIR), or | 18 from HL7 messages, from calls to a Web service (e.g. through FHIR), or |
19 from a direct access to some RIS database. It is thus up to the | 19 from a direct access to some RIS database. It is thus up to the |
20 Orthanc user to provide the worklist generator that is best suited for | 20 Orthanc user to provide the worklist generator that is best suited for |
21 her use. | 21 her use. |
22 | 22 |
23 A `sample plugin | 23 A :ref:`sample plugin <worklists-plugin>` is available in the source |
24 <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__ | 24 distribution of Orthanc to serve the worklists stored in some folder |
25 is available to serve the worklists stored in some folder on the | 25 on the filesystem. This sample plugin mimics the behavior of the |
26 filesystem. This mimics the behavior of the ``wlmscpfs`` command-line | 26 ``wlmscpfs`` command-line tool from the `DCMTK software |
27 tool from the `DCMTK software | 27 <http://support.dcmtk.org/docs/wlmscpfs.html>`__. |
28 <http://support.dcmtk.org/docs/wlmscpfs.html>`__. ``dump2dcm`` might | |
29 be a very `useful companion tool | |
30 <http://support.dcmtk.org/docs/dump2dcm.html>`__ to feed the sample | |
31 plugin with worklists for some separate maintenance script. | |
32 | 28 |
33 For more complex or integrated workflows where you must implement a | 29 For more complex or integrated workflows where you must implement a |
34 custom MWL plugin, please check the `documentation of the part of the | 30 custom MWL plugin, please check the `documentation of the part of the |
35 Orthanc plugin SDK | 31 Orthanc plugin SDK |
36 <https://orthanc.chu.ulg.ac.be/sdk/group__Worklists.html>`__ that is | 32 <https://orthanc.chu.ulg.ac.be/sdk/group__Worklists.html>`__ that is |
37 related to the management of worklists. | 33 related to the management of worklists. |
38 | |
39 | |
40 How should I use it ? | |
41 --------------------- | |
42 | |
43 - download `DCMTK utilities <http://dicom.offis.de/download/dcmtk/release/bin/>`__ | |
44 - 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. | |
45 | |
46 .. highlight:: javascript | |
47 | |
48 - Enable the ModalityWorklist plugin in your config.json by adding this section:: | |
49 | |
50 "Worklists" : { | |
51 "Enable": true, | |
52 "Database": "WorklistsDatabase" //this is the path to the folder with the worklist files. Use absolute path ! | |
53 }, | |
54 | |
55 - Add the plugin to the list of plugins to load (this is an example for Windows):: | |
56 | |
57 "Plugins" : [ | |
58 "OsimisWebViewer.dll", | |
59 "ModalityWorklists.dll" // on Linux, use ModalityWorklists.so | |
60 ], | |
61 | |
62 - Add the findscu utility to the list of know modalities (considering findscu and Orthanc runs on the same machine):: | |
63 | |
64 "DicomModalities" : { | |
65 "horos" : [ "HOROS", "192.168.0.8", 11112 ], | |
66 "findscu" : [ "FINDSCU", "127.0.0.1", 1234 ] | |
67 }, | |
68 | |
69 .. highlight:: bash | |
70 | |
71 - Launch Orthanc as usual, make sure to pass him the configuration file (ex for Windows):: | |
72 | |
73 Orthanc.exe config.json | |
74 | |
75 - 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):: | |
76 | |
77 findscu -W -k "ScheduledProcedureStepSequence[0].Modality=CT" 127.0.0.1 4242 | |
78 | |
79 - findscu should display the matching worklists | |
80 | |
81 How can I create worklist files ? | |
82 --------------------------------- | |
83 | |
84 - let's start from an existing `worklist file <https://bitbucket.org/sjodogne/orthanc/src/default/Plugins/Samples/ModalityWorklists/>`__. | |
85 | |
86 - dump the sample worklist file to a DCMTK dump file:: | |
87 | |
88 dcmdump.exe wklist1.wl > sampleWorklist.txt | |
89 | |
90 - you'll get something like:: | |
91 | |
92 # Dicom-File-Format | |
93 | |
94 # Dicom-Meta-Information-Header | |
95 # Used TransferSyntax: Little Endian Explicit | |
96 (0002,0000) UL 202 # 4, 1 FileMetaInformationGroupLength | |
97 (0002,0001) OB 00\01 # 2, 1 FileMetaInformationVersion | |
98 (0002,0002) UI [1.2.276.0.7230010.3.1.0.1] # 26, 1 MediaStorageSOPClassUID | |
99 (0002,0003) UI [1.2.276.0.7230010.3.1.4.2831176407.11154.1448031138.805061] # 58, 1 MediaStorageSOPInstanceUID | |
100 (0002,0010) UI =LittleEndianExplicit # 20, 1 TransferSyntaxUID | |
101 (0002,0012) UI [1.2.276.0.7230010.3.0.3.6.0] # 28, 1 ImplementationClassUID | |
102 (0002,0013) SH [OFFIS_DCMTK_360] # 16, 1 ImplementationVersionName | |
103 | |
104 # Dicom-Data-Set | |
105 # Used TransferSyntax: Little Endian Explicit | |
106 (0008,0005) CS [ISO_IR 100] # 10, 1 SpecificCharacterSet | |
107 (0008,0050) SH [00000] # 6, 1 AccessionNumber | |
108 (0010,0010) PN [VIVALDI^ANTONIO] # 16, 1 PatientName | |
109 (0010,0020) LO [AV35674] # 8, 1 PatientID | |
110 (0010,0030) DA [16780304] # 8, 1 PatientBirthDate | |
111 (0010,0040) CS [M] # 2, 1 PatientSex | |
112 (0010,2000) LO [METASTASIS] # 10, 1 MedicalAlerts | |
113 (0010,2110) LO [TANTAL] # 6, 1 Allergies | |
114 (0020,000d) UI [1.2.276.0.7230010.3.2.101] # 26, 1 StudyInstanceUID | |
115 (0032,1032) PN [SMITH] # 6, 1 RequestingPhysician | |
116 (0032,1060) LO [EXAM6] # 6, 1 RequestedProcedureDescription | |
117 (0040,0100) SQ (Sequence with explicit length #=1) # 176, 1 ScheduledProcedureStepSequence | |
118 (fffe,e000) na (Item with explicit length #=12) # 168, 1 Item | |
119 (0008,0060) CS [MR] # 2, 1 Modality | |
120 (0032,1070) LO [BARIUMSULFAT] # 12, 1 RequestedContrastAgent | |
121 (0040,0001) AE [AA32\AA33] # 10, 2 ScheduledStationAETitle | |
122 (0040,0002) DA [19951015] # 8, 1 ScheduledProcedureStepStartDate | |
123 (0040,0003) TM [085607] # 6, 1 ScheduledProcedureStepStartTime | |
124 (0040,0006) PN [JOHNSON] # 8, 1 ScheduledPerformingPhysicianName | |
125 (0040,0007) LO [EXAM74] # 6, 1 ScheduledProcedureStepDescription | |
126 (0040,0009) SH [SPD3445] # 8, 1 ScheduledProcedureStepID | |
127 (0040,0010) SH [STN456] # 6, 1 ScheduledStationName | |
128 (0040,0011) SH [B34F56] # 6, 1 ScheduledProcedureStepLocation | |
129 (0040,0012) LO (no value available) # 0, 0 PreMedication | |
130 (0040,0400) LT (no value available) # 0, 0 CommentsOnTheScheduledProcedureStep | |
131 (fffe,e00d) na (ItemDelimitationItem for re-encoding) # 0, 0 ItemDelimitationItem | |
132 (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) # 0, 0 SequenceDelimitationItem | |
133 (0040,1001) SH [RP454G234] # 10, 1 RequestedProcedureID | |
134 (0040,1003) SH [LOW] # 4, 1 RequestedProcedurePriority | |
135 | |
136 | |
137 - open sampleWorklist.txt file in a text editor and modify/add/remove some Dicom Tags | |
138 | |
139 - then, generate a new worklist file with dump2dcm:: | |
140 | |
141 dump2dcm.exe sampleWorklist.txt newWorklist.wl | |
142 | |
143 - copy that file in the folder where Orthanc searches for its worklist files and that's it ! | |
144 | |
145 - of course, you'll automate this worklist generation workflow with some scripting language. | |
146 | |
147 |