I got the patient Id, now I need to download dicom files from the PACS system.
How to download all associated DICOM files pertaining to that Patient ID?
I have been trying to make the example to work, unfortunately, I am missing something.
-My configuration looks like this
private const string _storagePath = @"c:\DicomStorage";
// values of the Query Retrieve Server to test with.
private const string _qrServerHost = "172.16.12.32"; // "www.dicomserver.co.uk";
private const int _qrServerPort = 57347; // 104;
private const string _qrServerAET = "MyDaemon"; // "STORESCP";
private const string _aet = "localAE";
-The createCMoveByStudyUID looks like this
var cMoveRequest = CreateCMoveByStudyUID("MyDaemon", studyUID);
-Server daemon is running (MyDamone @ 57347) –tested with diff apps
-The LocalAE is trusted application
-Error I am getting
Patient SJH^SJH, -Study from 1/10/2011 12:00:00 AM with UID 1.2.840.113704.1.111.7872.1294685097.1
Success
Success
Error sending datasets: Move Destination unknown
Failure [a801: Move Destination unknown] -> Move destination Application Entity is not configured
-tried to change
var cMoveRequest = CreateCMoveByStudyUID(_storagePath, studyUID);
then I get
Patient SJH^SJH, -Study from 1/10/2011 12:00:00 AM with UID 1.2.840.113704.1.111.7872.1294685097.1
Success
Success
FellowOakDicom.Network.Client.DicomClient
Unhandled Exception: FellowOakDicom.DicomValidationException: Content "(0000,0600) AE Move Destination" does not validate VR AE: Number of items 2 does not match ValueMultiplicity 1
at FellowOakDicom.DicomElement.ValidateVM()
at FellowOakDicom.DicomElement.Validate()
Thank you, both Alexandr and Stacy, for providing awesome references. Both ways seemed to have potential and may be applicable for different scenarios.
I do wasn’t to get C-Move work (as you stated, it is more representative).
Just to recap:
1. I do have two local daemons running (for images: AE=DBDaemon /port=57347 for file storage: AE=FD /port 104
private const string _storagePath = @"c:\DicomStorage";
private const string _qrServerHost = "172.16.12.32"; // not using "www.dicomserver.co.uk, using a local daemon server";
private const int _qrServerPort = 57347; //
private const string _qrServerAET = "DBDaemon";
private const string _aet = "FD"; // this is the second daemon listening to receive and store files";
private const int _qrSerFilPort = 104;
This is the bit I am not too sure about.
var cMoveRequest = CreateCMoveByStudyUID("FD", studyUID);
My guess is that it needs the port number (104) for the destination but not sure where to add it. I don't think there is anything else I need to change in the code
Many thanks bot of you.