# HG changeset patch # User Sebastien Jodogne # Date 1623396628 -7200 # Node ID f093160dd7f453232f55c9ec77475e49b5bf8f26 # Parent 56a06ca9ec2051c5a1fdcd2c2832922b418ebf4a cross-references regarding worklists diff -r 56a06ca9ec20 -r f093160dd7f4 Sphinx/source/faq/worklist.rst --- 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 `__ that is related to the management of worklists. + +Custom MWL plugin can also be implemented using :ref:`Python plugins +`. This is especially useful to easily create +bridges between Orthanc, HL7 messages, RIS systems and `FHIR +`__ stores. Indeed, Python +provides many tools to handle HL7 or FHIR such as `python-hl7 library +`__. diff -r 56a06ca9ec20 -r f093160dd7f4 Sphinx/source/plugins/python.rst --- 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 `__. +answer :ref:`worklist queries ` 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 +`__. The following Python script reproduces features similar to the :ref:`sample modality 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 --------------------------- diff -r 56a06ca9ec20 -r f093160dd7f4 Sphinx/source/plugins/worklists-plugin.rst --- 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 @@ `__ (GPLv3+ license). +Note that it is possible to reproduce the features of this sample +using :ref:`Python plugins `. + + Basic configuration -------------------