Generating worklists and sending to Orthanc from an RIS using Java, RESTful web services and JSON

687 views
Skip to first unread message

Charles Waweru

unread,
Nov 5, 2021, 1:53:27 AM11/5/21
to Orthanc Users
Hi, is there a way that I can generate worklists and send to Orthanc from an RIS using Java, RESTful web services and JSON

I have an Orthanc instance but cannot get information on how to generate worklist requests to the Orthanc server from RIS.

Thank you,

Charles

Stephen Douglas Scotti

unread,
Nov 5, 2021, 11:16:29 AM11/5/21
to Orthanc Users
Charles,

There is some basic information here:


I also have some github repos that might be helpful, mostly this one:

https://github.com/sscotti/python_script_library

I started out using the text templates as outlines in the orthanc book, but then switched over to using that python script (as a plug-in) because it allows you to use JSON to create an MWL file.  I have a more integrated package on Python Plug-ins for that on my dev system that I can share if interested.

If you are using a RIS that uses Java, you would just have to create an API to post the JSON to the Python Plug-in, and then save the MWL on the filesystem in the worklists directory, or use a DB.


has some information about Python Plug-ins in general and about handling worklist requests with a Python Plug-in if you want to customize things further.

Stephen Douglas Scotti

unread,
Nov 5, 2021, 11:44:16 AM11/5/21
to Orthanc Users
If you are looking to actually query the MWL's from the RIS using an API and not from the modality directly, you can try something like this:

curl -d '{"PatientID":"","ScheduledProcedureStepSequence": [{"Modality": "MR"}]}' localhost:8042/modalities/SELF/find-worklist

To use that method you would have to setup your Orthanc server as a Modality in your orthanc.json config.  I use SELF as an entry.

    "DicomModalities" : {

        "SELF" : {

        "AET" : "AET",
        "Port" : 4242,
        "Host" : "ip",
        "Manufacturer" : "Generic",
        "AllowEcho" : true,
        "AllowFind" : true,
        "AllowMove" : true,
        "AllowStore" : true,
        "UseDicomTls" : false
        },

findscu from dcmtk is not bad for testing purposes also.

Normally, the modality itself (CT, MR, US) does the query using the DICOM protocol, and the orthanc MWL plug-in will handle that.
Reply all
Reply to author
Forward
0 new messages