DCM4CHEE-ARC-LIGHT v5.13.1 - MWL setup question

1,749 views
Skip to first unread message

Docjay

unread,
Jun 2, 2018, 1:23:29 AM6/2/18
to dcm4che
I'm setting up a MWL to replace 2.18.1 and I need to figure out how to let multiple modalities see multiple MWL entries.

scenario:

CT SCANNER 1
CT SCANNER 2
CT SCANNER 3

-- all three of the above CT scanners will need to see the same MWL entries for a CT Head as the patient might be scanned in scanner 1,2, or 3, depending on the workload and which scanner is free.

CT Scanner ER1
CT Scanner ER2

 -- The above two scanners need to see their MWL entries for the Emergency Dept, but not see the MWL entries for scanners 1,2 or 3.

Do I need to somehow assign mutiple Schedule Station AETs to MWL entries to achieve this?  Can I group them all with Scheduled Station Name instead?

How can the above scenario be achieved?



Thank you

Docjay

unread,
Jun 5, 2018, 8:01:59 AM6/5/18
to dcm4che
Can maybe one of the Devs help answer this question?

Thanks for all of your help!

vrinda...@j4care.com

unread,
Jun 5, 2018, 8:47:20 AM6/5/18
to dcm4che
Hello,
Is there an AE title assigned to each? Or is each of them referenced by a ScheduledStationAETitle in the MWL?

You can directly use value of ScheduledStationAETitle, if you are using :
- C-FIND : in the matching key as ScheduledProcedureStepSequence/ScheduledStationAETitle
- Archive UI : on the Studies page -> MWL query -> Scheduled Station AE Title filter

Docjay

unread,
Jun 5, 2018, 9:20:57 AM6/5/18
to dcm...@googlegroups.com
Vrinda,

   Thanks for your reply.  As of right now, I'm just testing.  I have only added a couple of Modalities to the DCM4CHEE devices for testing, both with a separate AET.

If I have two MWL items, and each is a CT exam, I need both CT scanners to see both MWL items.  I currently do not have AETs in ORC-18, but I can set that up and make it happen in Mirth based on some table mappings I have setup.

I know that I can query them from the Archive UI, but I need my CT scanners to be able to query DCM4CHEE and return both MWL.  The only problem is that each CT scanner has a different calling AET, and both of my MWL items might have the same ScheduledStationAET attached  to them.

Maybe I'm going about this the wrong way, should I not use ORC-18 and use the method of selecting a Scheduled Station for HL7 order instead?

EDIT:

Vrinda,

   Maybe I've caught on to what your saying.  Are you saying I should add each one of my modalites that will be calling in to get a MWL, and if I want a certain group of them to see the same list, just assign each of those in that group the same 'Station Name'?

vrinda...@j4care.com

unread,
Jun 5, 2018, 10:29:43 AM6/5/18
to dcm4che
Hello,
- Currently the Scheduled Station Name filter is not available in UI as this is optional attribute.
- Normally each modality has its own ScheduledStationAETitle which is sent in the HL7 message (either ORC-18 or IPC-9). If there is no ScheduledStationAETitle in the HL7 message, it will be configured as per the hl7OrderScheduledStation rule by default. You may want to take a look at https://github.com/dcm4che/dcm4chee-arc-light/wiki/Extract-Scheduled-station-details to configure rules as per your requirement.
- W.r.t your above point : MWL items might have the same ScheduledStationAET attached  to them : assuming each of your two groups has its own ScheduledStationAETitle, it should still work, if the modalities (in the group) are using just this ScheduledStationAETitle value in the matching key/UI filter while querying the archive for MWL items.

Docjay

unread,
Jun 5, 2018, 4:34:54 PM6/5/18
to dcm4che
Vrinda,

   Each of our modalites has its own unique calling AET.  I am currently sending the AET in ORC-18 based on some mirth mapping rules. 

REQUEST

Hopefully you and Gunter see this and will consider this functionality - -

Can I request that a functionality be built into DCM4CHEE that will map the calling AET of a modality to a 'Resource' or a Scheduled Station to help group MWL items together for groups of modalites to see them?

I just don't see an easy way to group MWL items together for certain Calling AETs to see the ones they need, if you need to show a small group of modalities their special list of scheduled exams. 

A nice way to do it would be to have a 'resource table' maybe that you can group calling AETs together with to say 'this group can see these MWL items for this Scheduled Station Name'.

Thanks!

Gunter Zeilinger

unread,
Jun 6, 2018, 8:15:10 AM6/6/18
to dcm...@googlegroups.com
A MWL Item can have multiple values for its Scheduled Station AET and Scheduled Station Name. A Modality shall use Scheduled Station AET as matching key, so the MWL SCP will return all MWL Items for which one the value of its Scheduled Station AET matches.

--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+unsubscribe@googlegroups.com.
To post to this group, send email to dcm...@googlegroups.com.
Visit this group at https://groups.google.com/group/dcm4che.
For more options, visit https://groups.google.com/d/optout.

Docjay

unread,
Jun 6, 2018, 9:03:32 AM6/6/18
to dcm4che
Gunter,

   So, can I use ORC-18, in addition to https://github.com/dcm4che/dcm4chee-arc-light/wiki/Extract-Scheduled-station-details, in order to assign multiple Scheduled Station AET values to a MWL?

Thanks

gunterze

unread,
Jun 6, 2018, 9:46:55 AM6/6/18
to dcm4che
Unfortunately HL7 v2 IPC - Imaging Procedure Control Segment does not support to include multiple values in IPC-9 Scheduled Station AE Title, so I guess Vrinda did not implement to map multiple values in IPC-9 to multiple values of the corresponding DICOM attribute in the default XSL. But it should not be too hard to implement such proprietary extension - perhaps you may volunteer :). - I will try to convince HL7 to adjust their specification with the possibilities of DICOM.

gunter

Docjay

unread,
Jun 6, 2018, 10:26:09 AM6/6/18
to dcm4che
Gunter,

   If I could code, I would definitely help contribute to the project.  I will be happy to test out any changes or additions of extensions though! 

So, it appears by your reply, there is no current way to assign multiple AETs to MWL items, correct?  If this is so, and you can't get HL7 to adjust their specification (this could take quite a while), maybe something could be implemented so that we could have a table of some sort within DCM4CHEE to associate multiple calling AETs together to present multiple MWL items to them if the need arises? 

I wish I knew how to code to help contribute to this project and to this enhancement idea.

Thanks for all of your help and the teams help!

vrinda...@j4care.com

unread,
Jun 6, 2018, 12:04:47 PM6/6/18
to dcm4che
Hello,
For your requirement to work with current code/stylesheets, you may
- Disable the ORC_18 field value containing Scheduled Station AE Title (in the incoming HL7 message) and use Scheduled Station for HL7 Order rules with conditions. (The Scheduled Station for HL7 Order rules will only take effect if there is no Scheduled station AE Title in the HL7 message). The rule has a hl7OrderScheduledStationDeviceReference pointing to device (containing multiple AEs) which then shall be applied as Scheduled Station AE Titles to the MWL item.
- For your requirement to work both with HL7 v2.3 and v2.5 type of messages, it is advisable to use ReasonForTheRequestedProcedure(00401002) in the condition and ensuring that the same value is present in the HL7 message. The field 31 of OBR segment is mapped to this DICOM attribute. See attached ldif file for reference.
Hope this helps!
AE-MWL.ldif

Docjay

unread,
Jun 6, 2018, 2:39:12 PM6/6/18
to dcm4che
Vrinda,

   Thanks for this.  I'll try it and report back  :)

Docjay

unread,
Jun 6, 2018, 10:23:04 PM6/6/18
to dcm4che
@vrinda - it works great.  I ended up not using ReasonForTheRequestedProcedure because we are currently receiving relevant info in that component and didn't want to change it.  Instead I used my original idea of 'ScheduledStationName' that is being sent in OBR-21.  I edited the file 'hl7-order2dcm' and added it to the OBR segment.  I then added it to the MWL attributes to store in the database.  Then I did as you suggested and used the Scheduled Station for HL7 Order rules and setup several rules and assigned them to separate Modality AETs, which then assigned mutiple AETs to multiple MWL items, just what I was needing.

Then I took your idea with the .ldif file and created a device with several AETs (one device that grouped three CT Scanners for example).   That should be way easier than building over 100 modalities into the device list for our MWL project.

Thank you for explaining it like you did and I'll be doing some more testing on my end to make sure MWL items are found by the modalities correctly.  I might have to edit the query on some of the devices to ensure they are using their Scheduled Station AET as a matching key.

vrinda...@j4care.com

unread,
Jun 7, 2018, 4:40:30 AM6/7/18
to dcm4che
Hello,
If you update the vendor data over UI/Ldap or with archive upgrades, you would need to backup your modified version of hl7-order2dcm stylesheet to not break your requirement.

gunterze

unread,
Jun 7, 2018, 4:57:08 AM6/7/18
to dcm4che
Opened issue #1435.

Docjay

unread,
Jun 7, 2018, 9:23:00 AM6/7/18
to dcm4che
@Vrinda - is there any way to enable logging of a specific calling AET for MWL items like it is currently done in v2.18.x?

Gunter Zeilinger

unread,
Jun 7, 2018, 9:30:16 AM6/7/18
to dcm...@googlegroups.com
No. Only emitted Audit message can be suppressed concerning configured Audit Suppress Criteria.

On Thu, Jun 7, 2018 at 3:23 PM, Docjay <jlhe...@gmail.com> wrote:
@Vrinda - is there any way to enable logging of a specific calling AET for MWL items like it is currently done in v2.18.x?

--

Marina Mota

unread,
Sep 5, 2019, 4:44:15 PM9/5/19
to dcm4che
I've tried this solution here putting filter with ReasonForTheRequestedProcedure=modalityGroup2 and putting OBR-31 equals to modalityGroup2 in the HL7, and another time tried putting ScheduledStationName=modalityGroup2 and putting ORC-19 equals to modalityGroup2 in the HL7, but in both situations the field Scheduled Station AE Title (0040,0001) receives the values CT_SCANNER_1, CT_SCANNER_2, CT_SCANNER3, CT_SCANNER_ER1, CT_SCANNER_ER2.

I've searched in the code and found this:
"dcmProperty": {
        "title": "Storage Property",
        "description": "Property in format <name>=<value>",
        "type": "array",
        "items": {
          "type": "string"
        }

So the to filter is correct. I've find this too into MWLItem.java in dcm4chee-arc-entity:

String[] ssAETs = spsItem.getStrings(Tag.ScheduledStationAETitle);
        if (ssAETs != null && ssAETs.length != 0) {
            if (scheduledStationAETs == null)
                scheduledStationAETs = new HashSet<>();
            if (!scheduledStationAETs.isEmpty())
                scheduledStationAETs.clear();
            for (String s : ssAETs)
                scheduledStationAETs.add(s);
        }






Whats I've understood from this part of the code is that will add all ScheduledStationAETitle that exists. In which part the filter from dcmProperty is applied?

What I want to do is create groups of MWL, so that certain\ groups of equipment from the hospital can access a specific MWL.


Another doubt that I have: Am I able to restrict which devices (by ip for example) will connect to dcm4chee to retrieve studies or mwl for example ?? Or anyone with the IIP, Port and AE_TITLE will be able to query the DCM4CHEE?

vrinda nayak

unread,
Sep 6, 2019, 6:03:52 AM9/6/19
to dcm...@googlegroups.com
The storage configuration is unrelated with HL7 Order Processing and MWL creation in archive. Which fields are containing CT_SCANNER_1, CT_SCANNER_2, CT_SCANNER3, CT_SCANNER_ER1, CT_SCANNER_ER2 ? Or is it present somewhere in your configuration ?
Please share, if possible, the HL7 message(s).

- Am I able to restrict which devices (by ip for example) will connect to dcm4chee to retrieve studies or mwl for example ?? Or anyone with the IIP, Port and AE_TITLE will be able to query the DCM4CHEE?

Marina Mota

unread,
Sep 6, 2019, 7:20:19 AM9/6/19
to dcm4che
I've used the ldif file that you posted here, where the CT_SCANNERs are like:

dn: dicomAETitle=CT_SCANNER_1,dicomDeviceName=modalityGroup1,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: dcmNetworkAE
objectClass: dicomNetworkAE
dicomAETitle: CT_SCANNER_1
dicomAssociationAcceptor: TRUE
dicomAssociationInitiator: TRUE
dicomNetworkConnectionReference: cn=dicom,dicomDeviceName=modalityGroup1,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org


And the ModalityGroup1 and ModalityGroup2 are like:

dn: cn=Scheduled Station for Modality Group 1,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: hl7OrderScheduledStation
cn: Scheduled Station for Modality Group 1
hl7OrderScheduledStationDeviceReference: dicomDeviceName=modalityGroup1,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmProperty: ReasonForTheRequestedProcedure=modalityGroup1


With the dcmProperty: ReasonForTheRequestedProcedure=modalityGroup1 the HL7  sent is:

MSH|^~&|||||20190968180||ORM^O01||P|2.5.1
PID||3363675|10002192837|619841|OSHFSXFPZSOSHIBNGMFHOFLK4^ISA|EKSLSZFSG4^GLORIA|19490328|F
PV1||||||||AQUI-PV1:8|||||||AQUI-PV1:15||||14778373
ORC|NW|8989738-1|||SC||^^^20190618161022|||20000018490^QPNBRNHQKCHFLMNHHNFHSEBLFKH4^OROSMAO
OBR||||^^^DO01^DENSITOMETRIA ÓSSEA (UM SEGMENTO, ANTEBRAÇO/PUNHO)|||||||||Paciente Externo|||||AQUI-OBR:18|8989738-1|AQUI-OBR:20||||MR|||||||modalityGroup1


With the dcmProperty: ScheduledStationName=modalityGroup1 the HL7  sent is:

MSH|^~&|||||20190968130||ORM^O01||P|2.5.1
PID||3363675|10002192837|619841|OSHFSXFPZSOSHIBNGMFHOFLK4^ISA|EKSLSZFSG4^GLORIA|19490328|F
PV1||||||||AQUI-PV1:8|||||||AQUI-PV1:15||||14778373
ORC|NW|8989738-1|||SC||^^^20190618161022|||20000018490^QPNBRNHQKCHFLMNHHNFHSEBLFKH4^OROSMAO||||||||modalityGroup1
OBR||||^^^DO01^DENSITOMETRIA ÓSSEA (UM SEGMENTO, ANTEBRAÇO/PUNHO)|||||||||Paciente Externo|||||AQUI-OBR:18|8989738-1|AQUI-OBR:20||||MR|||||||


Marina Mota

unread,
Sep 6, 2019, 8:45:34 AM9/6/19
to dcm4che
Looking at the Ldap Configuration I found those parameters in HL7 and Dicom Connection: dcmBindAddress and dcmClientBindAddress , so I should put in the "dcmBindAddress" of the HL7 the IP's server that will send the hl7 to the MWL and in "dcmClientBindAddress" of the Dicom the IP's workstations that will consume the data from DCM4CHEE?


Em sexta-feira, 6 de setembro de 2019 07:03:52 UTC-3, vrinda nayak escreveu:

Marina Mota

unread,
Sep 6, 2019, 9:48:11 AM9/6/19
to dcm4che
I've solved, looking I little bet better in the code I found this:

"dcmProperty": {
      "title": "Conditions",
      "description": "Conditions in format {SEG}-{Seq#}[.{Comp#}[.{SubComp#}]][!]={regEx}. Examples: MSH-4=FORWARD or MSH-9=ADT\\^A28\\^ADT_A05",

      "type": "array",
      "items": {
        "type": "string"
      }

Putting in this format I was able to filter. And tested the IP filter and also worked. Thanks.

--
You received this message because you are subscribed to the Google Groups "dcm4che" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dcm4che+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dcm4che/495ad148-f907-48af-82e6-440657dab318%40googlegroups.com.

vrinda nayak

unread,
Sep 6, 2019, 9:49:38 AM9/6/19
to dcm...@googlegroups.com
Following configuration should work for your HL7 messages.

dn: cn=Scheduled Station for Modality Group 1,dicomDeviceName=dcm4chee-arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: hl7OrderScheduledStation
cn: Scheduled Station for Modality Group 1
hl7OrderScheduledStationDevice
Reference: dicomDeviceName=modalityGroup1,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=
org
dcmProperty: ORC-18=modalityGroup1

dn: cn=Scheduled Station for Modality Group 2,dicomDeviceName=dcm4chee-
arc,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
objectClass: hl7OrderScheduledStation
cn: Scheduled Station for Modality Group 2
hl7OrderScheduledStationDevice
Reference: dicomDeviceName=modalityGroup2,cn=Devices,cn=DICOM Configuration,dc=dcm4che,dc=org
dcmProperty: OBR-31=modalityGroup2


Earlier DICOM tags were supported for conditions in HL7 Scheduled Station configuration, but this was later changed as part of issue 1586 and 1587.

Note : If you want to disable the default scheduled station AE title from being applied, you may set some condition to default scheduled station configuration.
Screenshot_2019-09-06 dcm4chee-arc-ui.png
Screenshot_2019-09-06 dcm4chee-arc-ui(1).png
Reply all
Reply to author
Forward
0 new messages