Hassan,
That requires the MWL Plug-in, which I think comes with the Main Orthanc package, e.g. “libModalityWorklists.dylib”, or “libModalityWorklists.so”
That has to be configured in your Plug-ins in the Orthanc Config File:
“Plugins” : [
“libModalityWorklists.dylib”,
],
and you also have to specify the location of the MWL folder itself:
“Worklists” : {
“Enable”: true,
“Database”: “WorklistsDatabase” // Path to the folder with the worklist files, might have to be full path.
},
There is a bit of a tutorial here:
Sample Modality Worklists plugin
I don’t think there is an interface built-in to the Explorer for that. You basically need to create a .txt template for an order from the RIS system or HL7 message to create something like the example, and then convert that to a .wl file using dump2dcm from the Dicom Toolkit. dcmdump goes the other way, convert a .wl file to a dump in readable form. Your acquisition devices can then query Orthanc for the worklist files, somewhat explained in the documentation in the link provided.
I actually just wrote a Python Plugin that’ll create a .txt file from passed in arguments via the REST API, and then convert that a .wl by executing dump2dcm from the Python script… Could pretty easily make one to delete them also. It is setup to just name them by the accession number.
e.g. REST call:
curl --request POST --url http://localhost:8042/mwl/file/make --data ‘{“MediaStorageSOPClassUID”:“MediaStorageSOPClassUID”,“CharSet”:“CharSet”,“AccessionNumber”:“AccessionNumber”,“Modality”:“Modality”,“RequestingPhysician”:“RequestingPhysician”,“PatientName”:“PatientName”,“PatientID”:“PatientID”,“PatientBirthDate”:“PatientBirthDate”,“PatientSex”:“PatientSex”,“MedicalAlerts”:“MedicalAlerts”,“Allergies”:“Allergies”,“AdditionalPatientHistory”:“AdditionalPatientHistory”,“StudyInstanceUID”:“StudyInstanceUID”,“RequestingPhysician”:“RequestingPhysician”,“RequestedProcedureDescription”:“RequestedProcedureDescription”,“ScheduleStationAETitle”:“ScheduleStationAETitle”,“ScheduledProcedureStepStartDate”:“ScheduledProcedureStepStartDate”,“ScheduledProcedureStepStartTime”:“ScheduledProcedureStepStartTime”,“RequestedProcedureID”:“RequestedProcedureID”,“RequestedProcedurePriority”:“RequestedProcedurePriority”}’
That requires getting the path to the Worklist Folder via the Config, and also DCMTK. There is a REST call to get the Config from the Config file via a Python script, and directoy. Below if from a .py script.
e.g # pathtodcmtk = “/usr/bin/”
pathtodcmtk = “/usr/local/bin/”
pathtoworklist = json.loads(orthanc.GetConfiguration())[‘Worklists’][‘Database’] + ‘/’
filename = pathtoworklist + query[‘AccessionNumber’]
I don’t think managing that is built into Orthanc, but I think once you handle managing the files in the WorklistsDatabase Folder that Orthanc will handle the requests from Imaging devices. I think you would have to add something to your RIS system or whatever you are using to handle management of the Worklist Files themselves.