MWL-SCP response coercion with data from original request

338 views
Skip to first unread message

lur...@gmail.com

unread,
May 17, 2013, 10:01:30 AM5/17/13
to dcm...@googlegroups.com

Hi folks,

I'm using dcm4chee 2.17 as an MWL broker for a RIS that is serving multiple physical locations.  We want all modalities of a particular type at a particular location to be grouped together.  So if Location A has three ultrasounds US1, US2, and US3 they should all receive the same worklist.  I've got that part working by coercing the inbound query to use the AE titles for all three.

My problem is that some US machines are picky on displaying items in the response that are scheduled in other rooms.  So if US2 gets a result back where the scheduled AE is US3, it wont' display that item.

Is there a way to access the original request when coercing the response?

I basically want to say that if the calling AE title in the request was US2 then all items in the response should be returned as scheduled for US2.

I have a similar problem with some CRs that don't accept anything other than CR as a modality type.  This I hope could be solved the same way.

Thanks for any help.

cheers,

Stuart

fleetwoodfc

unread,
May 17, 2013, 10:23:51 AM5/17/13
to dcm...@googlegroups.com
You can coerce attributes using a mwl-cfindrsp.xsl file.

lur...@gmail.com

unread,
May 17, 2013, 10:32:34 AM5/17/13
to dcm...@googlegroups.com
Thanks for the response.

I don't think I was quite clear enough on what I'm trying to do.  I realize that for any particular AE I can set up a sub-directory with an mwl-cfindrsp.xsl file that forces the returned AE to be the calling AE.  What I would much rather do is in the main mwl-cfindrsp.xsl file say that all returned items should have an ae title equal to the calling ae title of the original request.  That way I don't have to test every machine to see if this coercion is required, I can just do it across the board.

Thoughts?

David Davies

unread,
May 17, 2013, 11:40:32 AM5/17/13
to dcm...@googlegroups.com
Right so if you have a mwl-cfindrsp.xsl file in the dcm4chee-ae folder it applies to all calling AE. So you need some logic that says  "if the calling AE title was US2 then all items in the response should be returned as scheduled for US2".

--
You received this message because you are subscribed to a topic in the Google Groups "dcm4che" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dcm4che/dMuNpwIRBHk/unsubscribe?hl=en.
To unsubscribe from this group and all its topics, send an email to dcm4che+u...@googlegroups.com.
To post to this group, send email to dcm...@googlegroups.com.
Visit this group at http://groups.google.com/group/dcm4che?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

lur...@gmail.com

unread,
May 17, 2013, 12:04:45 PM5/17/13
to dcm...@googlegroups.com, dda...@eesimed.com
Exactly, but I can't figure out how mwl-cfindrsp.xsl would be able to tell what the original calling ae in the request was.  The dataset it's operating on seems to only be the response item with the other AE in it.

My AE specific file would look something like this:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 
<xsl:output method="xml" indent="no"/>
 
<xsl:template match="/dataset">
   
<dataset>
         
<attr tag="00400100" vr="SQ">
           
<item>
               
<attr tag="00400001" vr="CS">
                   
<xsl:value-of select="'US2'"/>
               
</attr>
           
</item>
       
</attr>
   
</dataset>
 
</xsl:template>
</xsl:stylesheet>

The dataset this is operating on looks something like this:

<?xml version="1.0" encoding="UTF-8"?>
<dataset>
</attr>
<attr tag="00400100" vr="SQ" pos="-1" name="Scheduled Procedure Step Sequence" len="-1">
<item id="1" pos="492" len="-1">
<attr tag="00400001" vr="CS" pos="510" name="Scheduled Station AE Title" vm="1" len="3">US3</attr>
</attr>
</dataset>

I trimmed a lot of information related to patient, procedure code, etc for the scheduled item, but none of that referred to the data that was in the original request.

fleetwoodfc

unread,
May 18, 2013, 10:55:32 AM5/18/13
to dcm...@googlegroups.com, dda...@eesimed.com
Something like:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output method="xml" indent="no"/>
  <xsl:param name="calling" select="'SAMPLE_MOD'"/>
  <xsl:param name="called" select="'DCM4CHEE'"/>
  <xsl:param name="date" select="'20051206'"/>
  <xsl:param name="time" select="'115600.000'"/>
  <xsl:template match="/dataset">
    <dataset>
         <attr tag="00400100" vr="SQ">
            <item>
                <attr tag="00400001" vr="CS">
                    <xsl:value-of select="$calling"/>
                </attr>
            </item>
        </attr>
    </dataset>
  </xsl:template>
</xsl:stylesheet>

lur...@gmail.com

unread,
May 21, 2013, 2:06:47 PM5/21/13
to dcm...@googlegroups.com, dda...@eesimed.com
Thanks, I think that will work for the AE title.  My second problem was matching the modality type to what was queried, but I think that will require a different solution.
Reply all
Reply to author
Forward
0 new messages