can't match studies stored in my databse using findscu ...

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
amvb
Posts: 8
Joined: Fri, 2006-09-29, 11:41

can't match studies stored in my databse using findscu ...

#1 Post by amvb »

Hi,

I am having problems with findscu (the fixed version).

As you can see below I have two studies in the
database ...

--------------------------------------------------------
C:\DICOM\Tools\DCMTK\qr>dcmqrti -c dcmqrscp.cfg localhost

Welcome to the Image CTN Telnet Initiator

......

COMMON->FINDSCU> database
Database Titles:
Database
* 0) COMMON

COMMON->FINDSCU> study
Querying Database for Studies ...
Patient PatientID StudyID
* 0) SUJETO^CON MARCO F006 1
1) ALEJANDRA ANDREA BRAVO ARREDONDO C0301 2

2 Studies in Database: COMMON

COMMON->FINDSCU> quit
Good Bye, Auf Wiedersehen, Au Revoir
--------------------------------------------------------

Then I started the dcmqrscp application like this ...

------------------------------------------------------

C:\DICOM\Tools\DCMTK\qr>dcmqrscp -d -XF -XM -xe

-----------------------------------------------------

After that I have run the findscu application like this ...

---------------------------------------------------

C:\DICOM\Tools\DCMTK>findscu -v -P -aec COMMON -k PatientsName localhost 2006

Requesting Association
Association Accepted (Max Send PDV: 16372)
Find SCU RQ: MsgID 1
REQUEST:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0010,0010) PN (no value available) # 0, 0 PatientsName
--------
C-Find RSP: MsgID: 1 [Status=Failed: IdentifierDoesNotMatchSOPClass]
AffectedSOPClassUID: =FINDPatientRootQueryRetrieveInformationModel
Data Set: Not Present
Releasing Association

---------------------------------------------------

And the dcmqrscp said ...

--------------------------------------------------

C:\DICOM\Tools\DCMTK\qr>dcmqrscp -d -XF -XM -xe
PDU Type: Associate Request, PDU Length: 261 + 6 bytes PDU header
01 00 00 00 01 05 00 01 00 00 43 4f 4d 4d 4f 4e
20 20 20 20 20 20 20 20 20 20 46 49 4e 44 53 43
55 20 20 20 20 20 20 20 20 20 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 10 00 00 15 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 33 2e 31 2e
31 2e 31 20 00 00 66 01 00 ff 00 30 00 00 1b 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 35 2e 31
2e 34 2e 31 2e 32 2e 31 2e 31 40 00 00 13 31 2e
32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32 2e
31 40 00 00 13 31 2e 32 2e 38 34 30 2e 31 30 30
30 38 2e 31 2e 32 2e 32 40 00 00 11 31 2e 32 2e
38 34 30 2e 31 30 30 30 38 2e 31 2e 32 50 00 00
3a 51 00 00 04 00 00 40 00 52 00 00 1b 31 2e 32
2e 32 37 36 2e 30 2e 37 32 33 30 30 31 30 2e 33
2e 30 2e 33 2e 35 2e 34 55 00 00 0f 4f 46 46 49
53 5f 44 43 4d 54 4b 5f 33 35 34

Parameters:
Our Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Our Implementation Version Name: OFFIS_DCMTK_354
Their Implementation Class UID: 1.2.276.0.7230010.3.0.3.5.4
Their Implementation Version Name: OFFIS_DCMTK_354
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: FINDSCU
Called Application Name: COMMON
Responding Application Name:
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 16384

Presentation Contexts:
Context ID: 1 (Proposed)
Abstract Syntax: =FINDPatientRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Proposed Transfer Syntax(es):
=LittleEndianExplicit
=BigEndianExplicit
=LittleEndianImplicit

Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Constructing Associate AC PDU
DIMSE receiveCommand
DIMSE receiveCommand: 1 pdv's (88 bytes), presID=1
DIMSE Command Received:

# Dicom-Data-Set
# Used TransferSyntax: LittleEndianImplicit
(0000,0002) UI =FINDPatientRootQueryRetrieveInformationModel # 28, 1 AffectedSO
PClassUID
(0000,0100) US 32 # 2, 1 CommandField
(0000,0110) US 1 # 2, 1 MessageID
(0000,0700) US 2 # 2, 1 Priority
(0000,0800) US 1 # 2, 1 DataSetType
DIMSE receiveFileData: 8 bytes read (last: YES)
DIMSE receiveCommand
DB_startFindRequest(): missing Query/Retrieve Level
DcmQueryRetrieve: findSCP: Database: startFindRequest Failed (Failed: Identifier
DoesNotMatchSOPClass):
DIMSE Command To Send:

# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLen
gth
(0000,0002) UI =FINDPatientRootQueryRetrieveInformationModel # 28, 1 AffectedSO
PClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingR
espondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 43264 # 2, 1 Status
DIMSE sendDcmDataset: sending 88 bytes
DIMSE receiveCommand

--------------------------------------------------

What is going wrong? I am sure that I am missing something but I don't know what.

Could you please give me a hand with this?

Best,

Adrian

amvb
Posts: 8
Joined: Fri, 2006-09-29, 11:41

I have found the solution of findscu error ...

#2 Post by amvb »

Hi,

finally I get the point. The correct findscu query should look like this ...

C:\DICOM\Tools\DCMTK>findscu -v -P -k 0008,0052="patient" -k 0010,0010 -aec COMMON localhost 2006

or like this ...

C:\DICOM\Tools\DCMTK>findscu -v -P -k 0008,0052=PATIENT -k 0010,0010 -aec COMMON localhost 2006

in both cases it works nicely but please some examples in the documentation could be better, don't you think? ;-)

Best,

Adrian

Michael Onken
DCMTK Developer
Posts: 2055
Joined: Fri, 2004-11-05, 13:47
Location: Oldenburg, Germany
Contact:

#3 Post by Michael Onken »

Dear Adrian,

of course the documentation could be better, for everything, always :) But sometimes the user has to do his part, too :wink:

First of all:
http://support.dcmtk.org/docs/findscu.html lists the query level.
A search through the forum would have showed you many more examples...

Why there has to be a query level or how Q/R generally works can be found in DICOM part 4. It can not be the sense of our documentation to explain the standard but only how to transfer things from the standard onto the commandline. And findscu is quite intuitive if you have read and understood the Q/R part from the standard :wink: OK, as long as not speaking about the -k bug... :roll:

Please note that you get all this library for free and many things we do for the toolkit are kind of a "hobby". Feel free to write code extensions or more documentation, we will happily integrate every contribution if it's ok!

But of course: We would be happy and it would be good to have more documentation! (also see FAQ)

Regards,
Michael

amvb
Posts: 8
Joined: Fri, 2006-09-29, 11:41

#4 Post by amvb »

Hi Michael,

Thank you for the replay :wink: Of course I am so glad :D for using DCMTK for free because it is one of the best DICOM solutions around the world.

I am agree with you that the user should do his own part but you know, the users always want more :wink: Of course I'd like to put my modest contributions to improve the documentation as well.

and finally, I realized that the query level (0008,0052) is in the query data set example so it was my fault :roll: but I suppose some other of us could have the same problem and at least this mistake could be an example

See you on the road :wink:

Best regards,

Adrian

Post Reply

Who is online

Users browsing this forum: Bing [Bot], Google [Bot] and 1 guest