Hi,
I am in the middle of process migrating large DICOM database (mostly MRI) from one server to Orthanc and sometimes I encounter on the problem with some of the studies.
To migrate I use combination of findscu and movescu migrating quarter by quarter with these command:
findscu -v -S -aet ORTHANC_AET -aec OLD_PACS <<OLD_PACS_IP>> <<OLD_PACS_PORT>> -k QueryRetrieveLevel=STUDY -k StudyDate=“20220101-20220331” -k StudyDescription -k StudyInstanceUID -od /tmp/dcm -X
movescu -v -S -aet ORTHANC_AET -aec OLD_PACS -aem ORTHANC_AET <<OLD_PACS_IP>> <<OLD_PACS_PORT>> -k QueryRetrieveLevel=STUDY /tmp/dcm/rsp*
Mostly it works very smoothly but during comparing the same study from old server and from Orthanc in DICOV Viewer (Horos) I see that the same study from different server is not equal
I’ve enablem “–verbose --trace-dicom” logs in Orthanc and during copying study from old server to Orthanc I receive these messages:
===================== INCOMING DIMSE MESSAGE ====================
Message Type : C-STORE RQ
Presentation Context ID : 199
Message ID : 48925
Affected SOP Class UID : MRImageStorage
Affected SOP Instance UID : 1.3.12.2.1107.5.2.20.72018.2022051813540031664826204
Data Set : present
Priority : medium
Move Originator AE Title : ORTHANC-MRI
Move Originator ID : 1
======================= END DIMSE MESSAGE =======================
I0802 16:02:19.485896 main.cpp:352] Incoming Store request from AET MRI-OLD on IP 10.13.3.198, calling AET ORTHANC-MRI
I0802 16:02:19.543540 FilesystemStorage.cpp:125] Creating attachment “abc9287f-f251-4c65-b80f-67335f6026b3” of “DICOM” type (size: 1MB)
I0802 16:02:19.551971 StatelessDatabaseOperations.cpp:3013] Overwriting instance: 1ac34d8f-d30ba9c2-50b33dcf-e8243d9e-5077c187
I0802 16:02:19.561873 FilesystemStorage.cpp:259] Deleting attachment “573850ab-93ad-4bd9-a232-24c9de8c6fcd” of type 1
I0802 16:02:19.562099 ServerContext.cpp:636] New instance stored
I0802 16:02:19.562176 OrthancPlugins.cpp:3123] (plugins) Plugin making REST GET call on URI /instances/1ac34d8f-d30ba9c2-50b33dcf-e8243d9e-5077c187 (built-in API)
I0802 16:02:19.564326 CommandDispatcher.cpp:929] (dicom) Finishing association with AET MRI-OLD on IP 10.13.3.198: DIMSE: Command Parse Failed: Element: (0000,1000) AffectedSOPInstanceUID
I0802 16:02:19.564361 CommandDispatcher.cpp:947] (dicom) DIMSE failure (aborting association with AET MRI-OLD on IP 10.13.3.198): DIMSE: Command Parse Failed: Element: (0000,1000) AffectedSOPInstanceUID
From the movescu (dcmtk v3.6.4) side with debug log I see similar message:
D: ===================== INCOMING DIMSE MESSAGE ====================
D: Message Type : C-MOVE RSP
D: Message ID Being Responded To : 1
D: Affected SOP Class UID : MOVEStudyRootQueryRetrieveInformationModel
D: Remaining Suboperations : 0
D: Completed Suboperations : 210
D: Failed Suboperations : 60
D: Warning Suboperations : 0
D: Data Set : none
D: DIMSE Status : 0xfe00: Cancel: Suboperations terminated due to Cancel Indication
D: ======================= END DIMSE MESSAGE =======================
I am not sure what causes problem or with which module is related. I am gonna post similar this issue also on DCMTK forum.
Orthanc is running mostly on default configuration with enablem “UnknownSopClassAccepted” set to true