changeset 5670:56859a7ffa99 find-refactoring

integration mainline->find-refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Sat, 06 Jul 2024 01:04:25 +0200
parents bd1352bd9d82 (current diff) f690568f0325 (diff)
children b4c97c51f9db
files NEWS OrthancServer/Sources/ServerContext.cpp
diffstat 2 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Jul 04 21:57:39 2024 +0200
+++ b/NEWS	Sat Jul 06 01:04:25 2024 +0200
@@ -19,6 +19,9 @@
   DB plugins that are implementing the UpdateAndGetStatistics function (currently only
   PostgreSQL).  This avoids very long update times in case you don't call /statistics
   for a long period.
+* Fix C-Find queries not returning computed tags like ModalitiesInStudy, NumberOfStudyRelatedSeries, ...
+  in very specific use-cases.
+
 
 
 Version 1.12.4 (2024-06-05)
--- a/OrthancServer/Sources/ServerContext.cpp	Thu Jul 04 21:57:39 2024 +0200
+++ b/OrthancServer/Sources/ServerContext.cpp	Sat Jul 06 01:04:25 2024 +0200
@@ -2608,7 +2608,13 @@
       Toolbox::GetMissingsFromSet(missingTags, requestedTags, retrievedTags);
 
       // if all possible tags have been read, no need to get them from DB anymore
-      if (missingTags.size() == 0 || DicomMap::HasOnlyComputedTags(missingTags))
+      if (missingTags.size() > 0 && DicomMap::HasOnlyComputedTags(missingTags))
+      {
+        resource.missingRequestedTags_ = missingTags;
+        ComputeTags(resource, *this, publicId, level, requestedTags);
+        return true;
+      }
+      else if (missingTags.size() == 0)
       {
         expandFlags = static_cast<ExpandResourceFlags>(expandFlags & ~ExpandResourceFlags_IncludeMainDicomTags);
       }