Hi Simon,
Thanks for bringing up this topic. You are right, I think it has been briefly touched on before. I had almost forgot about it though.
Indeed as of today, you can't do a sequence query with ruby-dicom. It only supports querying for top level tags.
My idea for fixing this is to change the argument of the DClient#find_xxx methods from a hash with tag string arguments, to a DICOM object (holding the tags/sequences you wish to query for).
Advantage:
-It allows the query of sequences.
-It's easy to encode the network package from the argument (just like encoding a DICOM file basically).
Disadvantage:
-More cumbersome to create the query argument.
With this suggestion, a query from the ruby-dicom documentation (link below) would undergo the following change:
Old version:
node.find_studies('0008,0020' => '20090604-', '0010,0020' => '123456789')
New version:
node.find_studies('0008,0020' => '20090604-', '0010,0020' => '123456789')
What do you think? Suggestions and comments are most welcome!
Best regards,
Chris