1

In DICOM, following are the classes defined for C-Find and C-Move at Study Root.

Study Root Query/Retrieve Information Model - FIND: 1.2.840.10008.5.1.4.1.2.2.1
Study Root Query/Retrieve Information Model - MOVE: 1.2.840.10008.5.1.4.1.2.2.2

I have implemented Query Retrieve SCP and SCU in multiple applications. In all those cases, I always implemented both the classes. I do C-Find first to get the list of matching data. Then based on result, I do (automatically or manually) C-Move to get the instances. All those implementations are working fine.

Recently, I am working on one application that combines DICOM with other private protocol to fulfill some specific requirements. It just stuck to my mind if it is possible to directly do C-Move without doing C-Find as SCU?

I already know the identifier (StudyInstanceUID) to retrieve and I also know that it does present on SCP.

I looked into specifications but could not found anything conclusive. I am aware that C-Find and C-Move could be issued by SCU to SCP on different connections/associations. So in first glance, what I am thinking looks possible and legal.

I worked with many third party DICOM applications; none of them implements SCU the way I am thinking. All SCUs implement C-Find AND C-Move both.

Question:

Is it DICOM legal and practical to implement Query Retrieve SCU C-Move command without C-Find command? Please point me to the reference in specifications if possible.

Community
  • 1
  • 1
Amit Joshi
  • 15,448
  • 21
  • 77
  • 141
  • You've answered the question yourself: you've retrieved the StudyInstanceUID using a private protocol instead of a DICOM C-FIND. Having C-MOVE without C-FIND is pretty much useless unless you want to backup the entire db (I guess). – malat Feb 07 '17 at 07:40
  • No; I do not want to backup entire DB. My application already receive list of available studies through private protocol. On demand, I want to fetch instances in my application. Purpose of Find is to check if the instances exists and get the identifier and issue Move accordingly. As I already know that the instances does exists on SCP and I also know identifier, why should I issue Find at all? My only concern is, whether this is DICOM legal or not. – Amit Joshi Feb 07 '17 at 09:18

1 Answers1

1

Short answer: Yes this is perfectly legal per DICOM specification.

Long answer: Let's consider the DCMTK reference DICOM Q/R implementation. It provides a set of basic SCU command line tools, namely findscu and movescu. The idea is to pipe the output of findscu to movescu to construct a valid C-MOVE (SCU) request.

In your requirement you are simply replacing the findscu step with a private implementation that does not rely on the publicly defined C-FIND (SCU) protocol but by another mechanism (extension to DICOM).

So yes your C-MOVE (SCU) implementation is perfectly valid, since there is no requirement to provide C-FIND (SCU) during this query.


I understand you are not trying to backup an entire database using C-MOVE (SCU), that was just a possible scenario where someone would be trying to use C-MOVE (SCU) without first querying with a valid C-FIND (SCU) result.

malat
  • 12,152
  • 13
  • 89
  • 158