GETSCU test failed?

All other questions regarding DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
jorgezavalab
Posts: 8
Joined: Tue, 2019-02-12, 09:41

GETSCU test failed?

#1 Post by jorgezavalab »

Windows 10. DCMTK3.6.3

I am trying to test the GETSCU command with the https://www.dicomserver.co.uk/.

I know that the server supports C-GET: "Support for C-STORE, C-FIND, C-GET & C-MOVE"

I so far tested the C-FIND and C-MOVE and they worked perfectly.

However, when I use the following command: getscu -d -aet TEST -aec VMSDBD www.dicomserver.co.uk 104 -S -k "0010,0020=PAT023" -k "0020,000d=1.2.826.0.1.3680043.11.129"

to retrieve this study from the database https://dicomserver.co.uk/MWLTestData.HTML: 147 PAT023 o'mally Clive Mr M Mar 28 1953 Davison^^^Dr Evans^^^Dr CR Nov 26 2005 10:20AM CR1 CR Left Knee 1.2.826.0.1.3680043.11.129 29 1 Test Hospital CR1

I got this command output but not file:

---->
: Association Accepted (Max Send PDV: 65524)
I: Sending C-GET Request
D: ===================== OUTGOING DIMSE MESSAGE ====================
D: Message Type : C-GET RQ
D: Presentation Context ID : 1
D: Message ID : 1
D: Affected SOP Class UID : GETStudyRootQueryRetrieveInformationModel
D: Data Set : present
D: Priority : medium
D: -----------------------------------------------------------------
D: # Dicom-Data-Set
D: # Used TransferSyntax: Little Endian Explicit
D: (0010,0020) LO [PAT023] # 6, 1 PatientID
D: (0020,000d) UI [1.2.826.0.1.3680043.11.129] # 26, 1 StudyInstanceUID
D: ======================= END DIMSE MESSAGE =======================
D: DcmDataset::read() TransferSyntax="Little Endian Implicit"
I: Received C-GET Response
D: ===================== INCOMING DIMSE MESSAGE ====================
D: Message Type : C-GET RSP
D: Presentation Context ID : 1
D: Message ID Being Responded To : 1
D: Affected SOP Class UID : GETStudyRootQueryRetrieveInformationModel
D: Remaining Suboperations : 0
D: Completed Suboperations : 0
D: Failed Suboperations : 0
D: Warning Suboperations : 0
D: Data Set : none
D: DIMSE Status : 0x0000: Success
D: ======================= END DIMSE MESSAGE =======================
D: Handling C-GET Response
D: Received final C-GET response, no more C-GET responses expected
I: Final status report from last C-GET message:
I: Number of Remaining Suboperations : 0
I: Number of Completed Suboperations : 0
I: Number of Failed Suboperations : 0
I: Number of Warning Suboperations : 0
I: Releasing Association
D: Cleaning up internal association and network structures
<------

It does not seem to have an error, but I am probably missing something. I already double-check that the getscu.exe is whitelist for the inbound rules of the firewall.

J. Riesmeier
DCMTK Developer
Posts: 2496
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: GETSCU test failed?

#2 Post by J. Riesmeier »

You did not specify the QueryRetrieveLevel, which should probably be "STUDY".

In addition, you should first use findscu in order to find out whether the requested Study really exists on the server.

jorgezavalab
Posts: 8
Joined: Tue, 2019-02-12, 09:41

Re: GETSCU test failed?

#3 Post by jorgezavalab »

You were right, I was missing the QueryRetrieveLevel.

The following commands do the job:

Retrieve all data for PAT020:

Code: Select all

getscu -d -aet TEST -aec VMSDBD www.dicomserver.co.uk  104 -S -k QueryRetrieveLevel=Study -k "0010,0020=PAT020"
or just the study that I want:

Code: Select all

getscu -d -aet TEST -aec VMSDBD www.dicomserver.co.uk  104 -S -k QueryRetrieveLevel=Study -k "0010,0020=PAT020" -k "0020,000d=1.2.826.0.1.3680043.11.125"
Thanks.

J. Riesmeier
DCMTK Developer
Posts: 2496
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: GETSCU test failed?

#4 Post by J. Riesmeier »

The SCP seems to be rather relaxed regarding the requirements of the DICOM standard (because, strictly speaking, both requests are invalid):
  • The value for QueryRetrieveLevel should be "STUDY" instead of "Study".
  • In your first command line call ("Retrieve all data for PAT020"), you should use the Patient Root Information Model (option -P) and set QueryRetrieveLevel to "PATIENT".
  • In your second command line call ("just the study that I want"), you should not specify the PatientID (-k "0010,0020=PAT020") since the unique key on study level is the StudyInstanceUID.
I mention this since other Query/Retrieve SCPs might be stricter.

jorgezavalab
Posts: 8
Joined: Tue, 2019-02-12, 09:41

Re: GETSCU test failed?

#5 Post by jorgezavalab »

ok, then I let me set the commands the correct way regarding the DICOM standard:

Code: Select all

getscu -d -aet TEST -aec VMSDBD www.dicomserver.co.uk  104 -P -k QueryRetrieveLevel=PATIENT -k "0010,0020=PAT020"

Code: Select all

getscu -d -aet TEST -aec VMSDBD www.dicomserver.co.uk  104 -S -k QueryRetrieveLevel=STUDY -k "0020,000d=1.2.826.0.1.3680043.11.125"

J. Riesmeier
DCMTK Developer
Posts: 2496
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: GETSCU test failed?

#6 Post by J. Riesmeier »

Perfect!

Post Reply

Who is online

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