We have used findscu.exe and Conquest to query a Conquest DICOM server.
Findscu with QueryRetrieveLevel="STUDY" and -S (Study Root Query/Retrieve Information Model) looks like this in the receiving Conquest debug log at level 4 (this is the query that works on Aria):
[BATCH] Connected by address: 0100007f[BATCH] Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2.2' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'[BATCH] [BATCH] UPACS THREAD 24: STARTED AT: Tue Jun 24 09:38:45 2014[BATCH] A-ASSOCIATE-RQ Packet Dump[BATCH] Calling Application Title : "CAB "[BATCH] Called Application Title : "BATCH "[BATCH] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384[BATCH] Number of Proposed Presentation Contexts: 1[BATCH] Presentation Context 0 "1.2.840.10008.5.1.4.1.2.2.1" 1[BATCH] Server Command := 0020[BATCH] Message ID := 0001[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1" (Study Root Query/Retrieve Information Model - FIND)[BATCH] 0000,0100 2 US CommandField 32 [BATCH] 0000,0110 2 US MessageID 1 [BATCH] 0000,0700 2 US Priority 2 [BATCH] 0000,0800 2 US DataSetType 1 [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] (StudyRootQuery) search level: STUDY [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " [BATCH] 0010,0020 8 LO PatientID "01023* " [BATCH] Query On Study[BATCH] Issue Query on Columns: DICOMStudies.PatientID[BATCH] Values: DICOMStudies.PatientID LIKE '01023%'[BATCH] Tables: DICOMStudies[BATCH] Sorting ((null)) DoSort := 0[BATCH] Query Distinct Tables: DICOMStudies[BATCH] Columns : DICOMStudies.PatientID[BATCH] Where : DICOMStudies.PatientID LIKE '01023%'[BATCH] Order : (null)[BATCH] Records = 0[BATCH] C-Find (StudyRoot) located 0 records[BATCH] UPACS THREAD 24: ENDED AT: Tue Jun 24 09:38:45 2014[BATCH] UPACS THREAD 24: TOTAL RUNNING TIME: 0 SECONDS
Findscu with -P (Patient Root Query/Retrieve Information Model)
[BATCH] Connected by address: 0100007f[BATCH] Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2.2' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'[BATCH] [BATCH] UPACS THREAD 25: STARTED AT: Tue Jun 24 09:39:38 2014[BATCH] A-ASSOCIATE-RQ Packet Dump[BATCH] Calling Application Title : "CAB "[BATCH] Called Application Title : "BATCH "[BATCH] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384[BATCH] Number of Proposed Presentation Contexts: 1[BATCH] Presentation Context 0 "1.2.840.10008.5.1.4.1.2.1.1" 1[BATCH] Server Command := 0020[BATCH] Message ID := 0001[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.1.1" (Patient Root Query/Retrieve Information Model - FIND)[BATCH] 0000,0100 2 US CommandField 32 [BATCH] 0000,0110 2 US MessageID 1 [BATCH] 0000,0700 2 US Priority 2 [BATCH] 0000,0800 2 US DataSetType 1 [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] (PatientRootQuery) search level: STUDY [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " [BATCH] 0010,0020 8 LO PatientID "01023* " [BATCH] Query On Study[BATCH] Issue Query on Columns: DICOMStudies.PatientID[BATCH] Values: DICOMStudies.PatientID LIKE '01023%'[BATCH] Tables: DICOMStudies[BATCH] Sorting ((null)) DoSort := 0[BATCH] Query Distinct Tables: DICOMStudies[BATCH] Columns : DICOMStudies.PatientID[BATCH] Where : DICOMStudies.PatientID LIKE '01023%'[BATCH] Order : (null)[BATCH] Records = 0[BATCH] C-Find (PatientRoot) located 0 records[BATCH] UPACS THREAD 25: ENDED AT: Tue Jun 24 09:39:38 2014[BATCH] UPACS THREAD 25: TOTAL RUNNING TIME: 0 SECONDS
Next, we tested all the possible values of "Query level" in the Conquest GUI.
//Query level = PATIENT[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.1.1" [BATCH] 0008,0052 8 CS QueryRetrieveLevel "PATIENT " // Query level = STUDY[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.1.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " // Query level = SERIES[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.1.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "SERIES" // Query level = IMAGE[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.1.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "IMAGE " // Query level = STUDY - StudyRoot[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " // Query level = SERIE - StudyRoot[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "SERIES" // Query level = IMAGE - StudyRoot[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "IMAGE " // Query level = PATIENT - PatientStudyOnly[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.3.1" (Patient/Study Only Query/Retrieve Information Model - FIND)[BATCH] 0008,0052 8 CS QueryRetrieveLevel "PATIENT " // Query level = STUDY - PatientStudyOnly[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.3.1" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " // Query level = Modality Worklist[BATCH] 0000,0002 24 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.31" (Modality Worklist Information Model - FIND)[BATCH] 0008,0052 0 CS QueryRetrieveLevel (empty)
Thus, to archive the same result as with findscu the correct "Query level" in Conquest is the "STUDY - StudyRoot". Finally, comparing the log for a query from findscu and Conquest only show minor differences.
Findscu with QueryRetrieveLevel="STUDY" and -S:
[BATCH] Connected by address: 0100007f[BATCH] Testing transfer: '1.2.840.10008.1.2.1' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2.2' against list #0 = '1.2.840.10008.1.2'[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'[BATCH] [BATCH] UPACS THREAD 24: STARTED AT: Tue Jun 24 09:38:45 2014[BATCH] A-ASSOCIATE-RQ Packet Dump[BATCH] Calling Application Title : "CAB "[BATCH] Called Application Title : "BATCH "[BATCH] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384[BATCH] Number of Proposed Presentation Contexts: 1[BATCH] Presentation Context 0 "1.2.840.10008.5.1.4.1.2.2.1" 1[BATCH] Server Command := 0020[BATCH] Message ID := 0001[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1" (Study Root Query/Retrieve Information Model - FIND)[BATCH] 0000,0100 2 US CommandField 32 [BATCH] 0000,0110 2 US MessageID 1 [BATCH] 0000,0700 2 US Priority 2 [BATCH] 0000,0800 2 US DataSetType 1 [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] (StudyRootQuery) search level: STUDY [BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2" [BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY " [BATCH] 0010,0020 8 LO PatientID "01023* " [BATCH] Query On Study[BATCH] Issue Query on Columns: DICOMStudies.PatientID[BATCH] Values: DICOMStudies.PatientID LIKE '01023%'[BATCH] Tables: DICOMStudies[BATCH] Sorting ((null)) DoSort := 0[BATCH] Query Distinct Tables: DICOMStudies[BATCH] Columns : DICOMStudies.PatientID[BATCH] Where : DICOMStudies.PatientID LIKE '01023%'[BATCH] Order : (null)[BATCH] Records = 0[BATCH] C-Find (StudyRoot) located 0 records[BATCH] UPACS THREAD 24: ENDED AT: Tue Jun 24 09:38:45 2014[BATCH] UPACS THREAD 24: TOTAL RUNNING TIME: 0 SECONDS
Conquest with Query level = STUDY StudyRoot:
[BATCH] Connected by address: 0100007f
[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'
[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'
[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'
[BATCH] Testing transfer: '1.2.840.10008.1.2' against list #0 = '1.2.840.10008.1.2'
[BATCH]
[BATCH] UPACS THREAD 30: STARTED AT: Tue Jun 24 09:51:07 2014
[BATCH] A-ASSOCIATE-RQ Packet Dump
[BATCH] Calling Application Title : "BATCH "
[BATCH] Called Application Title : "BATCH "
[BATCH] Application Context : "1.2.840.10008.3.1.1.1", PDU length: 16384
[BATCH] Number of Proposed Presentation Contexts: 4
[BATCH] Presentation Context 0 "1.2.840.10008.5.1.4.1.2.1.1" 1
[BATCH] Presentation Context 1 "1.2.840.10008.5.1.4.1.2.2.1" 1
[BATCH] Presentation Context 2 "1.2.840.10008.5.1.4.1.2.3.1" 1
[BATCH] Presentation Context 3 "1.2.840.10008.5.1.4.31" 1
[BATCH] Server Command := 0020
[BATCH] Message ID := 0003
[BATCH] 0000,0002 28 UI AffectedSOPClassUID "1.2.840.10008.5.1.4.1.2.2.1"
[BATCH] 0000,0100 2 US CommandField 32
[BATCH] 0000,0110 2 US MessageID 3
[BATCH] 0000,0700 2 US Priority 0
[BATCH] 0000,0800 2 US DataSetType 258
[BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2"
[BATCH] (StudyRootQuery) search level: STUDY
[BATCH] 0002,0010 17 UI TransferSyntaxUID "1.2.840.10008.1.2"
[BATCH] 0008,0020 0 DA StudyDate (empty)
[BATCH] 0008,0052 6 CS QueryRetrieveLevel "STUDY "
[BATCH] 0010,0010 0 PN PatientName (empty)
[BATCH] 0010,0020 8 LO PatientID "01023* "
[BATCH] Query On Study
[BATCH] Issue Query on Columns: DICOMStudies.StudyDate, DICOMStudies.PatientNam, DICOMStudies.PatientID
[BATCH] Values: DICOMStudies.PatientID LIKE '01023%'
[BATCH] Tables: DICOMStudies
[BATCH] Sorting (DICOMStudies.PatientNam) DoSort := 1
[BATCH] Query Distinct Tables: DICOMStudies
[BATCH] Columns : DICOMStudies.StudyDate, DICOMStudies.PatientNam, DICOMStudies.PatientID
[BATCH] Where : DICOMStudies.PatientID LIKE '01023%'
[BATCH] Order : DICOMStudies.PatientNam
[BATCH] Records = 0
[BATCH] C-Find (StudyRoot) located 0 records
[BATCH] UPACS THREAD 30: ENDED AT: Tue Jun 24 09:51:07 2014
[BATCH] UPACS THREAD 30: TOTAL RUNNING TIME: 0 SECONDS
Display More
Is it an issue with the transfer syntax or presentation context - and why does it test four of the same (1.2.840.10008.1.2) in the beginning of the log?