First of all, thanks for your interest.
Here is my test with debug options. ( NOTE: on the server; port 104 listen by dcmqrscp.exe, port 4006 listen by eFilm and they use same dicom files on their database.)
Code: Select all
C:\dcmtk-3.5.4\bin\Release>findscu.exe -v -d -aec AK_CLIENT -P -k 0008,0052=PATIENT -k 0010,0020 192.168.67.155 104
Request 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:
Their Implementation Version Name:
Application Context Name: 1.2.840.10008.3.1.1.1
Calling Application Name: FINDSCU
Called Application Name: AK_CLIENT
Responding Application Name: resp AP Title
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 0
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
Requesting Association
Constructing Associate RQ PDU
PDU Type: Associate Accept, PDU Length: 186 + 6 bytes PDU header
02 00 00 00 00 ba 00 01 00 00 41 4b 5f 43 4c 49
45 4e 54 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 21 00 00 1b 01 00 00 00 40 00 00 13 31
2e 32 2e 38 34 30 2e 31 30 30 30 38 2e 31 2e 32
2e 31 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
Association Parameters Negotiated:
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: AK_CLIENT
Responding Application Name: AK_CLIENT
Our Max PDU Receive Size: 16384
Their Max PDU Receive Size: 16384
Presentation Contexts:
Context ID: 1 (Accepted)
Abstract Syntax: =FINDPatientRootQueryRetrieveInformationModel
Proposed SCP/SCU Role: Default
Accepted SCP/SCU Role: Default
Accepted Transfer Syntax: =LittleEndianExplicit
Requested Extended Negotiation: none
Accepted Extended Negotiation: none
Association Accepted (Max Send PDV: 16372)
Find SCU RQ: MsgID 1
REQUEST:
# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0008,0052) CS [PATIENT] # 8, 1 QueryRetrieveLevel
(0010,0020) LO (no value available) # 0, 0 PatientID
--------
DIMSE Command To Send:
# Dicom-Data-Set
# Used TransferSyntax: UnknownTransferSyntax
(0000,0000) UL 0 # 4, 1 CommandGroupLength
(0000,0002) UI =FINDPatientRootQueryRetrieveInformationModel # 28, 1 AffectedSOPClassUID
(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 sendDcmDataset: sending 88 bytes
DIMSE sendDcmDataset: sending 24 bytes
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 56 bytes read (last: YES)
RESPONSE: 1 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [88140@DICOMRM ] # 14, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 2 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [KUT04246] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 3 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [KUT04248] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 4 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [KUT04250] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 5 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0021590] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 6 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0044255] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 7 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0094768] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 8 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0131616] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 9 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0141249] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 10 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0218290] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 11 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0322563] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 12 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0388934] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 13 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0510547] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 14 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0523301] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 15 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [L0667093] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 1 # 2, 1 DataSetType
(0000,0900) US 65280 # 2, 1 Status
DIMSE receiveFileData: 50 bytes read (last: YES)
RESPONSE: 16 (Pending)
# Dicom-Data-Set
# Used TransferSyntax: LittleEndianExplicit
(0008,0052) CS [PATIENT ] # 8, 1 QueryRetrieveLevel
(0008,0054) AE [AK_CLIENT ] # 10, 1 RetrieveAETitle
(0010,0020) LO [7Thjq7g ] # 8, 1 PatientID
--------
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 AffectedSOPClassUID
(0000,0100) US 32800 # 2, 1 CommandField
(0000,0120) US 1 # 2, 1 MessageIDBeingRespondedTo
(0000,0800) US 257 # 2, 1 DataSetType
(0000,0900) US 0 # 2, 1 Status
C-Find RSP: MsgID: 1 [Status=Success]
AffectedSOPClassUID: =FINDPatientRootQueryRetrieveInformationModel
Data Set: Not Present
Releasing Association
I investigate findscu.exe code and write a small class to use on Qt platform but because of eFilm, I can not trust my Patient Root level code of my class ( it is optional in code.)
I try to debug findscu.exe and find what is difference at SCU side but I can not find any things. So, I start to think; e film does not support Patient Root Query Level. if I wrong, how can I run Patient Root level query with eFilm, what is wrong I made plaese help me.