I’ve been working on this for awhile and have it partially integrated with our system now as an Orthanc Python Plug-in. I pulled out the essential parts of that in regards to creating an MWL from JSON and made it into a free-standing python script that can be easily plugged into an Orthanc Python Script. It can also just be run from the CLI, which is really convenient for development purposes.
I left part of that in there, and there is more that allows for storing into a database, etc. that I can provide later if there is interest. This is just sort of a free-standing demo. I have attached the script as a file.
Basically, what it does is take a JSON description of a MWL file and creates the DICOM version and writes it to a MWL folder on the file system, although optionally really easy to also store in a database with some other columns to index on.
To run the script from the CLI:
-
python3 json_to_mwl.py (however change WORKLIST_DIR = to the absolute path where you want to save the file on your system)
-
There is a sample JSON description already in there, and still working on that to abstract it a bit, and some tags are a little different, like PregnancyStatus. You can play around with the tags there is see what works and what does not.
-
After running the script you should see a file in your MWL named ‘DEVACC00000077.wl’ because the accession number for the sample. You can adjust to whatever you want to use really.
-
To verify, you could do:
- dcmdump path/to/file and it will spit out a dcmdump in dicom format.
- Dave Clunie has a set of tools also that are helpful to check the file here: DICOM Tools
I’m actually very motivated to develop of full package for MWL’s, but haven’t learned C++ yet and Python only about 6 months ago. Getting easier to code with Python.
json_to_mwl.py (5.35 KB)