changeset 657:ac8541d5ffd2

QIDO-RS: now returning sequences that are listed in includefield
author Alain Mazy <am@orthanc.team>
date Wed, 05 Jun 2024 10:59:20 +0200
parents c59955903971
children c42b1c7eed9e
files NEWS Plugin/QidoRs.cpp
diffstat 2 files changed, 7 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu May 30 21:42:05 2024 +0200
+++ b/NEWS	Wed Jun 05 10:59:20 2024 +0200
@@ -6,6 +6,8 @@
 
 * WADO-RS retrieve frame: fix issue 219 (https://orthanc.uclouvain.be/bugs/show_bug.cgi?id=219)
   by converting BigEndianExplicitVR to LittleEndianExplicitVR.
+* QIDO-RS: now returning sequences that are listed in includefield
+  https://discourse.orthanc-server.org/t/qido-includefield-with-sequences/4746
 * The plugin now uses the new logging primitives from Orthanc 1.12.4
 
 
--- a/Plugin/QidoRs.cpp	Thu May 30 21:42:05 2024 +0200
+++ b/Plugin/QidoRs.cpp	Wed Jun 05 10:59:20 2024 +0200
@@ -356,11 +356,11 @@
       for (std::set<Orthanc::DicomTag>::const_iterator
              it = fields.begin(); it != fields.end(); ++it)
       {
-        std::string value;
-        if (source.LookupStringValue(value, *it, false /* no binary */))
+        if (source.HasTag(*it))
         {
-          result.SetValue(*it, value, false);
-        }
+          const Orthanc::DicomValue& val = source.GetValue(*it);
+          result.SetValue(*it, val);
+        } 
       }
 
       // Set the retrieve URL for WADO-RS
@@ -418,7 +418,7 @@
     Orthanc::DicomMap source;
     if (resource["RequestedTags"].isObject())
     {
-      source.FromDicomAsJson(resource["RequestedTags"]);
+      source.FromDicomAsJson(resource["RequestedTags"], false, true);
     }
 
     Orthanc::DicomMap target;