Hi,
I am preparing for migration some studies between DICOM servers (Conquest to Orthanc in this example). In my case the problem will be resolved if I could use movescu command with filtering by manufacturer. E.g:
I receive errors. Filtering by PatientID or PatientName works ok.
Is it something I do wrong or is it limitation of this query model? Is there any other way to achieve the same results?
You cannot filter by Manufacturer using C-MOVE (by the way, also PatientName should not work). Only the Unique Keys of the respective levels (PATIENT, STUDY, SERIES, IMAGE) are allowed, i.e. PatientID, StudyInstanceUID, SeriesInstanceUID and SOPInstanceUID.
If you want to filter by Manufacturer, you should first query using C-FIND and then use the corresponding Unique Keys for the retrieve (i.e. MOVE). Your calls of movescu are also missing the QueryRetrieveLevel and the Unique Keys down to the level you are interested in.
J. Riesmeier wrote: ↑Mon, 2021-03-15, 19:54
If you want to filter by Manufacturer, you should first query using C-FIND and then use the corresponding Unique Keys for the retrieve (i.e. MOVE).
I am considering the elegant way to pipeline the output from C-FIND to C-MOVE. I am talking about thousands of studies. Is there a way to dump the output of findscu to file which can be passed to movescu as a [dcmfile-in...] parameter?
I am talking about thousands of studies. Is there a way to dump the output of findscu to file which can be passed to movescu as a [dcmfile-in...] parameter?
findscu's --extract option should do what you want. However, you have to remove all non-Unique Keys from the C-FIND Response datasets before feeding them into movescu, e.g. Manufacturer.