Reputation: 9
I'm trying to use the command:
movescu -b MOVESCU:11133 -c [email protected]:104 --dest MOVESCU -m AccessionNumber=ZH171217DR027
It doesn't find anything, I'm sure there's a result.
use "movescu -b MOVESCU:11133 -c [email protected]:104 --dest MOVESCU -m StudyInstanceUID=1.2.840.113619.186.1441772842175112.20180117144250009.393
" it
work well.
use "movescu -b MOVESCU:11133 -c [email protected]:104 --dest MOVESCU -m AccessionNumber=ZH171217DR027
" log:
E:\dcm4che-5.11.0\bin>movescu -b MOVESCU:11133 -c [email protected]:104 -
-dest MOVESCU -m AccessionNumber=ZH171217DR027
19:39:19,102 INFO - Initiate connection from 0.0.0.0/0.0.0.0:0 to 192.168.2.63:
104
19:39:19,117 INFO - Established connection Socket[addr=/192.168.2.63,port=104,l
ocalport=8028]
19:39:19,117 DEBUG - /172.16.23.232:8028->/192.168.2.63:104(1): enter state: Sta
4 - Awaiting transport connection opening to complete
19:39:19,133 INFO - MOVESCU->AE_ARCH1(1) << A-ASSOCIATE-RQ
19:39:19,148 DEBUG - A-ASSOCIATE-RQ[
calledAET: AE_ARCH1
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.11.0
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Mode
l - MOVE
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
ts: 1.2.840.10008.1.2.2 - Explicit VR Big Endian (Retired)
]
]
19:39:19,148 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta5 - Awaiting A-ASSOCI
ATE-AC or A-ASSOCIATE-RJ PDU
19:39:19,164 INFO - MOVESCU->AE_ARCH1(1) >> A-ASSOCIATE-AC
19:39:19,195 DEBUG - A-ASSOCIATE-AC[
calledAET: AE_ARCH1
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.528.1.1001.2.800.5.0.3020.0
implVersionName: EA 5.0.3020.0
maxPDULength: 16384
maxOpsInvoked/maxOpsPerformed: 0/1
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
19:39:19,195 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta6 - Association estab
lished and ready for data transfer
19:39:19,195 INFO - MOVESCU->AE_ARCH1(1) << 1:C-MOVE-RQ[pcid=1, prior=0
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:39:19,226 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [33] CommandField
(0000,0110) US [1] MessageID
(0000,0600) AE [MOVESCU] MoveDestination
(0000,0700) US [0] Priority
(0000,0800) US [0] CommandDataSetType
19:39:19,242 DEBUG - Dataset:
(0008,0050) SH [ZH171217DR027] AccessionNumber
(0008,0052) CS [STUDY] QueryRetrieveLevel
19:39:19,258 INFO - MOVESCU->AE_ARCH1(1) >> 1:C-MOVE-RSP[pcid=1, status=120H
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:39:19,258 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [32801] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [288] Status
19:39:19,258 INFO - MOVESCU->AE_ARCH1(1) << A-RELEASE-RQ
19:39:19,258 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta7 - Awaiting A-RELEAS
E-RP PDU
19:39:19,258 INFO - MOVESCU->AE_ARCH1(1) >> A-RELEASE-RP
19:39:19,258 INFO - MOVESCU->AE_ARCH1(1): close Socket[addr=/192.168.2.63,port=
104,localport=8028]
19:39:19,258 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta1 - Idle
use"movescu -b MOVESCU:11133 -c [email protected]:104 --dest MOVESCU -m StudyInstanceUID=1.2.840.113619.186.1441772842175112.20180117144250009.393" log :
19:46:31,536 INFO - Initiate connection from 0.0.0.0/0.0.0.0:0 to 192.168.2.63:
104
19:46:31,552 INFO - Established connection Socket[addr=/192.168.2.63,port=104,l
ocalport=8094]
19:46:31,552 DEBUG - /172.16.23.232:8094->/192.168.2.63:104(1): enter state: Sta
4 - Awaiting transport connection opening to complete
19:46:31,552 INFO - MOVESCU->AE_ARCH1(1) << A-ASSOCIATE-RQ
19:46:31,568 DEBUG - A-ASSOCIATE-RQ[
calledAET: AE_ARCH1
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.40.0.13.1.3
implVersionName: dcm4che-5.11.0
maxPDULength: 16378
maxOpsInvoked/maxOpsPerformed: 0/0
PresentationContext[id: 1
as: 1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Mode
l - MOVE
ts: 1.2.840.10008.1.2 - Implicit VR Little Endian
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
ts: 1.2.840.10008.1.2.2 - Explicit VR Big Endian (Retired)
]
]
19:46:31,568 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta5 - Awaiting A-ASSOCI
ATE-AC or A-ASSOCIATE-RJ PDU
19:46:31,583 INFO - MOVESCU->AE_ARCH1(1) >> A-ASSOCIATE-AC
19:46:31,646 DEBUG - A-ASSOCIATE-AC[
calledAET: AE_ARCH1
callingAET: MOVESCU
applicationContext: 1.2.840.10008.3.1.1.1 - DICOM Application Context Name
implClassUID: 1.2.528.1.1001.2.800.5.0.3020.0
implVersionName: EA 5.0.3020.0
maxPDULength: 16384
maxOpsInvoked/maxOpsPerformed: 0/1
PresentationContext[id: 1
result: 0 - acceptance
ts: 1.2.840.10008.1.2.1 - Explicit VR Little Endian
]
]
19:46:31,646 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta6 - Association estab
lished and ready for data transfer
19:46:31,646 INFO - MOVESCU->AE_ARCH1(1) << 1:C-MOVE-RQ[pcid=1, prior=0
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:46:31,677 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [33] CommandField
(0000,0110) US [1] MessageID
(0000,0600) AE [MOVESCU] MoveDestination
(0000,0700) US [0] Priority
(0000,0800) US [0] CommandDataSetType
19:46:31,692 DEBUG - Dataset:
(0008,0052) CS [STUDY] QueryRetrieveLevel
(0020,000D) UI [1.2.840.113619.186.1441772842175112.20180117144250009.393] Stu
19:46:36,762 INFO - MOVESCU->AE_ARCH1(1) >> 1:C-MOVE-RSP[pcid=1, status=0H
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:46:36,762 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [32801] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [0] Status
19:46:36,840 INFO - MOVESCU->AE_ARCH1(1) << A-RELEASE-RQ
19:46:36,840 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta7 - Awaiting A-RELEAS
E-RP PDU
19:46:36,840 INFO - MOVESCU->AE_ARCH1(1) >> A-RELEASE-RP
19:46:36,840 INFO - MOVESCU->AE_ARCH1(1): close Socket[addr=/192.168.2.63,port=
104,localport=8094]
19:46:36,840 DEBUG - MOVESCU->AE_ARCH1(1): enter state: Sta1 - Idle
The different places is :
19:39:19,258 INFO - MOVESCU->AE_ARCH1(1) >> 1:C-MOVE-RSP[pcid=1, status=120H
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:39:19,258 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [32801] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [288] Status
and
19:46:36,762 INFO - MOVESCU->AE_ARCH1(1) >> 1:C-MOVE-RSP[pcid=1, status=0H
cuid=1.2.840.10008.5.1.4.1.2.2.2 - Study Root Query/Retrieve Information Model
- MOVE
tsuid=1.2.840.10008.1.2.1 - Explicit VR Little Endian
19:46:36,762 DEBUG - Command:
(0000,0002) UI [1.2.840.10008.5.1.4.1.2.2.2] AffectedSOPClassUID
(0000,0100) US [32801] CommandField
(0000,0120) US [1] MessageIDBeingRespondedTo
(0000,0800) US [257] CommandDataSetType
(0000,0900) US [0] Status
C-MOVE-RSP return value status=0H or status=120H I can't find meaning ,and (0000,0900)[288] may be i lost a parameters
I use dcm4che2 "dcmqr -L MOVESCU [email protected]:104 -qAccessionNumber=ZH171231DR039 -cmove MOVESCU
" it work
How to use the dcm4che3 movescu to query the PACS server use the AccessionNumber?
Upvotes: 0
Views: 1463
Reputation: 1153
As @kritzel_sw pointed out, doing a C-MOVE on anything else but Instance UID values is not conformant to the standard.
I also found the status code 120H referenced in the dcm4che3 source code on Github.
/**
* Failure: missing Attribute (120H): a required Attribute was not
* supplied.
* Used in N-CREATE-RSP.
* May contain:
* Modification List/Attribute List (no tag)
*/
public static final int MissingAttribute = 0x0120;
It looks like it's not supposed to be used in C-MOVE-RSP, but it makes sense - the necessary UID attributes are missing in the request.
The reason it works with dcmqr is exactly that, it does first the C-FIND and then the C-MOVE based on C-FIND results. dcm4che3 utilities are strictly separated C-FIND and C-MOVE tools.
Upvotes: 0
Reputation: 4013
I do not know dcm4chee too well. But in DICOM, your request to move by Accession Number is not conformant, so I suspect that this would cause your issue. In DICOM, you would put a STUDY-Level C-FIND request to search for Study Instance UIDs matching the Accession Number and then perform a C-MOVE for each study matched subsequently.
Upvotes: 2