Create MWL Scheduled Procedure Step

493 views
Skip to first unread message

Alexandr Kuznetsov

unread,
Jul 28, 2020, 2:12:11 PM7/28/20
to Fellow Oak DICOM
Hello!
Tell me, is it possible to create a new one on the MWL server or change an existing Modality Worklist using any query?
I just can't figure out how this can be done. For example, for the dcm4chee-arc server, I can create a Scheduled Procedure Step using a web request MWL-RS. But I need to do it using the fo-dicom library.
Can someone provide some sample code?
Thank you for your time.

Philipp Schulte

unread,
Aug 4, 2020, 4:11:34 PM8/4/20
to Fellow Oak DICOM
Dear Alexandr,

currently the DICOM standard specifies only a C-FIND service operation for Modality Worklists (MWLs) (see http://dicom.nema.org/medical/dicom/current/output/html/part04.html#chapter_K)
The only way I currently know to create MWL on a PACS is a implementes REST API, if exists (see your example DCM4chee) or using HL7 messages which will be parsed by the MWL-Server part of a PACS system.

To generate HL7 messages I currently use nHAPI (see githup repo: https://github.com/duaneedwards/nHapi).

But there are some challanges:
1. If you use DCM4CHEE you may have to edit the Vendor data (xlst files which contain the instructions how DCM4CHEE parse the HL7 message into a DICOM MWL instance). partly it is not really trivial. Hope you are familar with xml template (see introduction tutorial here: https://www.w3schools.com/xml/xsl_intro.asp)
2. (that is the point where it will be really hard in my opinion) In appendix B of the technical framework for radiology Vol. 2 of IHE (see this PDF: https://www.ihe.net/uploadedFiles/Documents/Radiology/IHE_RAD_TF_Vol2.pdf) you can find an overview about the relationship between the attributes of the DICOM MWL IOD and the general HL7 ordering messages.

Hope that helps you.

Best,

Philipp

Note: If anyone see a mistake in my explanation, then don't hesitate to correct me.

philipp....@gmail.com

unread,
Aug 6, 2020, 4:09:56 AM8/6/20
to Fellow Oak DICOM
Edit:
Alternatively to MWL you can may can use Unified Worklist (UWL) instead?
UWL instances can be created by common DICOM activities like Create, store etc.
Inspect the related supplement of DICOM standard for more details (https://www.dicomstandard.org/News/ftsup/docs/sups/sup96.pdf).

Best,

Philipp

Alexandr Kuznetsov

unread,
Aug 11, 2020, 2:31:04 AM8/11/20
to Fellow Oak DICOM
Dear Philipp,
thanks for the answers and help. I was able to make my application for creating MWL using the NHapi library. I used the guide from Saravanan Subramanian: https://saravanansubramanian.com/hl72xnhapisendmessage/
But like fo-dicom this library is not well described. Therefore, many things have to be guessed.
For example, I am unable to transmit the patient's address using this code:
 
           _ormMesage = new ORM_O01();  
...
            var pid = _ormMesage.PATIENT.PID;
           
            var patientName = pid.GetPatientName(0);
            patientName.FamilyLastName.FamilyName.Value = "Petrov";
            patientName.GivenName.Value = "Ivan";
            pid.PatientID.ID.Value = "818844378785433211"; //
            pid.GetPatientIdentifierList(0).ID.Value = "81883784557854133211";
            pid.GetPatientIdentifierList(0).AssigningAuthority.NamespaceID.Value = "ALPHAPLUS";
            pid.DateTimeOfBirth.TimeOfAnEvent.Value = "19991111";
            pid.Sex.Value = "M";
      
            var patientAddress = pid.GetPatientAddress(0);
            patientAddress.StreetAddress.Value = "123 Main Street";
            patientAddress.City.Value = "Kiev";
            patientAddress.StateOrProvince.Value = "Kiev";
            patientAddress.Country.Value = "UKR"
;
 
Although other data is transferred completely.
I still can't find how to convey comments about a patient. In which segment or field to be included in the (0010,4000) PatientComments tag.

Thank you for your time.
Good luck!


philipp....@gmail.com

unread,
Aug 20, 2020, 3:51:26 AM8/20/20
to Fellow Oak DICOM
Dear Alexandr ,

have you already edited the vendor data of DCM4CHEE? I have not checked it, but I believe that the HL7 to DICOM mapping in DCM4CHEE for address data is not implemented per default.
Check the xlst files (located in folder: "\data\wildfly\tmp\dcm4chee-arc"). I`m going to have also a look on these files this evening and hope to give you some more helpful details.

The same will be for patient comments. This theme (generating and parsing HL7 messages for MWL items) is also discussed in the DCM4CHEE user/developer group here (https://groups.google.com/g/dcm4che/c/5sWxKmOhyhw/m/O5YOQpHGBAAJ)

Best,
Philipp
Reply all
Reply to author
Forward
0 new messages