findscu finds many dates
Moderator: Moderator Team
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
findscu finds many dates
Dear All,
I'm trying to automate Q/R from our pacs. I use findscu for Query and movescu for Retrieve.
All seems working right, except for a problem in the first step.
Look at the example below:
findscu -P -k "0008,0052=SERIES" -k "PatientID=*" -k "PatientName=XXX Y*" -k "StudyInstanceUID=*" -k "AcquisitionDate=20220217" -k "SeriesDescription=DCE*" -k "SeriesInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
if the patient performed more than one exam (with the same series, i.e. in every exam there is the same type of series), findscu produces as many dcm files as there are exams. For example, if the series containing "DCE*" in the name is in 4 exams, findscu produces 4 rsp000X.dcm files. THIS HAPPENS ALTHOUGH THE DATE OF THE EXAM HAS BEEN PUT IN THE FILTERS!
Can anyone please help me understand?
Thanks a lot
Domenico
I'm trying to automate Q/R from our pacs. I use findscu for Query and movescu for Retrieve.
All seems working right, except for a problem in the first step.
Look at the example below:
findscu -P -k "0008,0052=SERIES" -k "PatientID=*" -k "PatientName=XXX Y*" -k "StudyInstanceUID=*" -k "AcquisitionDate=20220217" -k "SeriesDescription=DCE*" -k "SeriesInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
if the patient performed more than one exam (with the same series, i.e. in every exam there is the same type of series), findscu produces as many dcm files as there are exams. For example, if the series containing "DCE*" in the name is in 4 exams, findscu produces 4 rsp000X.dcm files. THIS HAPPENS ALTHOUGH THE DATE OF THE EXAM HAS BEEN PUT IN THE FILTERS!
Can anyone please help me understand?
Thanks a lot
Domenico
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: findscu finds many dates
Hi Domenico,
You cannot provide "*" for the Patient ID and the Study Instance UID. Instead they must be filled with exact values. That is why you cannot start querying at SERIES level (0008,0052), since you first have to find out about the Patient ID and Study Instance UID. In Patient Root (-P) that would mean two extra queries, one on level PATIENT and one on level STUDY.
Best regards,
Michael
You cannot provide "*" for the Patient ID and the Study Instance UID. Instead they must be filled with exact values. That is why you cannot start querying at SERIES level (0008,0052), since you first have to find out about the Patient ID and Study Instance UID. In Patient Root (-P) that would mean two extra queries, one on level PATIENT and one on level STUDY.
Best regards,
Michael
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
Re: findscu finds many dates
So I have to do something like this?
This to find PatientID
findscu -P -k "0008,0052=PATIENT" -k "PatientID=*" -k "PatientName=XXX Y*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
This for StudyInstanceUID:
findscu -P -k "0008,0052=STUDY" -k "PatientID=XYZXYZXYZ" -k "PatientName=XXX Y*" -k "StudyInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
This for SeriesInstanceUID:
findscu -P -k "0008,0052=SERIES" -k "PatientID=XYZXYZXYZ" -k "PatientName=XXX Y*" -k "StudyInstanceUID=1.XXX.YYY.ZZZZZZZ...." -k "SeriesInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
Thanks a lot
Domenico
This to find PatientID
findscu -P -k "0008,0052=PATIENT" -k "PatientID=*" -k "PatientName=XXX Y*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
This for StudyInstanceUID:
findscu -P -k "0008,0052=STUDY" -k "PatientID=XYZXYZXYZ" -k "PatientName=XXX Y*" -k "StudyInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
This for SeriesInstanceUID:
findscu -P -k "0008,0052=SERIES" -k "PatientID=XYZXYZXYZ" -k "PatientName=XXX Y*" -k "StudyInstanceUID=1.XXX.YYY.ZZZZZZZ...." -k "SeriesInstanceUID=*" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
Thanks a lot
Domenico
-
- DCMTK Developer
- Posts: 2505
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: findscu finds many dates
Strictly speaking, your second and third query are invalid: you should remove the -k "PatientName=XXX Y*" to make them valid. For the higher levels, the Q/R Information Model only allows for specifying the Unique Key of the respective level. See DICOM PS3.4 for details. I would also remove the "*" from your Query Keys (in bold) in order to use Universal Matching instead of Wildcard Matching, even though the result is probably the same (depending on the Q/R SCP).
-
- Posts: 8
- Joined: Thu, 2017-11-09, 12:20
Re: findscu finds many dates
Thanks a lot!
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: findscu finds many dates
One more note: Don't use * on StudyInstanceUID and SeriesInstanceUID. Instead just send it empty (same meaning as what you wanted to say with *), e.g. for your STUDY level call:
Best,
Michael
Code: Select all
findscu -P -k "0008,0052=STUDY" -k "PatientID=XYZXYZXYZ" -k "StudyInstanceUID" --aetitle "My_AETITLE" --call "PAC_AETITLE" 192.168.17.XXX 3102 -v -X
Michael
-
- DCMTK Developer
- Posts: 2505
- Joined: Tue, 2011-05-03, 14:38
- Location: Oldenburg, Germany
- Contact:
Re: findscu finds many dates
Michael, that's what I wrote above
-
- DCMTK Developer
- Posts: 2049
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: findscu finds many dates
For Patient ID * is probably OK on PATIENT level. For UIDs it's not. Sorry, did not read your post carefully, you thread hijacker
Who is online
Users browsing this forum: Google [Bot] and 1 guest