How to set the Match and Return Attributes for Association.cfind() ?

147 views
Skip to first unread message

Tamás Sipos

unread,
Mar 7, 2018, 4:40:43 AM3/7/18
to dcm...@googlegroups.com
dcm4che's Association class has a

public DimseRSP cfind(String cuid, int priority, Attributes data, String tsuid, int autoCancel)

method.

Although there is no docs for dcm4che, I assume the data argument of this method is to specify the Attributes of the IOD sent in the C-FIND query.

An Attribute I can define like

Attributes atts = new Attributes();
atts
.setString(0x00100010, VR.PN, "*");

and then I call the cfind on my DICOM association like

DimseRSP res = assoc.cfind("1.2.840.10008.5.1.4.31"0000, atts, "1.2.840.10008.1.2", 0);

to query the MWL of my PACS (dcm4chee) that has many entries.

Then, I receive a null data set from the PACS with no errors.

But I'm not surprised, as how would my PACS know that based on what Attributes I want to query and what Attributes I'm expecting in return? For my purpose, to query all patients on the MWL, I haven't specified enough information in the data argument. But how to do it?

This is what I want in my C-FIND:

<QueryRoot>STUDY</QueryRoot>
<QueryLevel>STUDY</QueryLevel>
<Match>
   
<Attribute Tag="00100010">*</Attribute>
</Match>
<Return>
   
<Attribute Tag="00100010"/>
</Return>

Nicolas Roduit

unread,
Mar 7, 2018, 5:08:53 AM3/7/18
to dcm4che

Tamás Sipos

unread,
Mar 8, 2018, 3:44:14 AM3/8/18
to dcm4che
Thanks Nicolas, it helped!
Reply all
Reply to author
Forward
0 new messages