changeset 701:f093160dd7f4

cross-references regarding worklists
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 11 Jun 2021 09:30:28 +0200
parents 56a06ca9ec20
children 6e02cd89eb6a
files Sphinx/source/faq/worklist.rst Sphinx/source/plugins/python.rst Sphinx/source/plugins/worklists-plugin.rst
diffstat 3 files changed, 47 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/Sphinx/source/faq/worklist.rst	Fri Jun 11 09:22:22 2021 +0200
+++ b/Sphinx/source/faq/worklist.rst	Fri Jun 11 09:30:28 2021 +0200
@@ -31,3 +31,10 @@
 Orthanc plugin SDK
 <https://sdk.orthanc-server.com/group__DicomCallbacks.html#ga23080c4e871b8428ede61d9841c10d76>`__
 that is related to the management of worklists.
+
+Custom MWL plugin can also be implemented using :ref:`Python plugins
+<python_worklists>`.  This is especially useful to easily create
+bridges between Orthanc, HL7 messages, RIS systems and `FHIR
+<https://www.hl7.org/fhir/overview.html>`__ stores. Indeed, Python
+provides many tools to handle HL7 or FHIR such as `python-hl7 library
+<https://python-hl7.readthedocs.io/en/latest/>`__.
--- a/Sphinx/source/plugins/python.rst	Fri Jun 11 09:22:22 2021 +0200
+++ b/Sphinx/source/plugins/python.rst	Fri Jun 11 09:30:28 2021 +0200
@@ -963,10 +963,11 @@
 ...........................................
 
 Starting with release 3.2 of the Python plugin, it is possible to
-answer worklist queries using a Python script. This is especially
-useful to create a bridge between Orthanc, HL7 messages and RIS
-systems. Indeed, Python provides many tools to handle HL7 such as
-`python-hl7 library <https://python-hl7.readthedocs.io/en/latest/>`__.
+answer :ref:`worklist queries <worklist>` using a Python script. This
+is especially useful to easily create a bridge between Orthanc,
+HL7/FHIR messages and RIS systems. Indeed, Python provides many tools
+to handle HL7 such as `python-hl7 library
+<https://python-hl7.readthedocs.io/en/latest/>`__.
 
 The following Python script reproduces features similar to the
 :ref:`sample modality worklists plugin <worklists-plugin>`:
@@ -974,6 +975,37 @@
 .. literalinclude:: python/worklist.py
                     :language: python
 
+.. highlight:: text
+  
+Here is the result of this plugin on a sample call::
+
+  $ findscu -W -k "ScheduledProcedureStepSequence[0].Modality=MR" 127.0.0.1 4242
+  I: ---------------------------
+  I: Find Response: 1 (Pending)
+  I: 
+  I: # Dicom-Data-Set
+  I: # Used TransferSyntax: Little Endian Explicit
+  I: (0008,0005) CS [ISO_IR 100]                             #  10, 1 SpecificCharacterSet
+  I: (0040,0100) SQ (Sequence with explicit length #=1)      #  18, 1 ScheduledProcedureStepSequence
+  I:   (fffe,e000) na (Item with explicit length #=1)          #  10, 1 Item
+  I:     (0008,0060) CS [MR]                                     #   2, 1 Modality
+  I:   (fffe,e00d) na (ItemDelimitationItem for re-encoding)   #   0, 0 ItemDelimitationItem
+  I: (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
+  I: 
+  I: ---------------------------
+  I: Find Response: 2 (Pending)
+  I: 
+  I: # Dicom-Data-Set
+  I: # Used TransferSyntax: Little Endian Explicit
+  I: (0008,0005) CS [ISO_IR 100]                             #  10, 1 SpecificCharacterSet
+  I: (0040,0100) SQ (Sequence with explicit length #=1)      #  18, 1 ScheduledProcedureStepSequence
+  I:   (fffe,e000) na (Item with explicit length #=1)          #  10, 1 Item
+  I:     (0008,0060) CS [MR]                                     #   2, 1 Modality
+  I:   (fffe,e00d) na (ItemDelimitationItem for re-encoding)   #   0, 0 ItemDelimitationItem
+  I: (fffe,e0dd) na (SequenceDelimitationItem for re-encod.) #   0, 0 SequenceDelimitationItem
+  I:
+
+                               
 
 Performance and concurrency
 ---------------------------
--- a/Sphinx/source/plugins/worklists-plugin.rst	Fri Jun 11 09:22:22 2021 +0200
+++ b/Sphinx/source/plugins/worklists-plugin.rst	Fri Jun 11 09:30:28 2021 +0200
@@ -29,6 +29,10 @@
 <https://hg.orthanc-server.com/orthanc/file/default/OrthancServer/Plugins/Samples/ModalityWorklists/>`__
 (GPLv3+ license).
 
+Note that it is possible to reproduce the features of this sample
+using :ref:`Python plugins <python_worklists>`.
+
+
 
 Basic configuration
 -------------------