diff OrthancServer/Sources/ResourceFinder.cpp @ 5752:717acb0ea546 find-refactoring

fix DICOMWeb integration tests
author Alain Mazy <am@orthanc.team>
date Tue, 03 Sep 2024 16:37:31 +0200
parents 2b05428843d2
children db4bd2f9e8d2
line wrap: on
line diff
--- a/OrthancServer/Sources/ResourceFinder.cpp	Tue Sep 03 11:09:49 2024 +0200
+++ b/OrthancServer/Sources/ResourceFinder.cpp	Tue Sep 03 16:37:31 2024 +0200
@@ -758,7 +758,14 @@
     {
       requestedComputedTags_.insert(tag);
       hasRequestedTags_ = true;
-      request_.GetChildrenSpecification(ResourceType_Series).AddMainDicomTag(DICOM_TAG_MODALITY);
+      if (request_.GetLevel() < ResourceType_Series)
+      {
+        request_.GetChildrenSpecification(ResourceType_Series).AddMainDicomTag(DICOM_TAG_MODALITY);
+      }
+      else if (request_.GetLevel() == ResourceType_Instance)  // this happens in QIDO-RS when searching for instances without specifying a StudyInstanceUID -> all Study level tags must be included in the response
+      {
+        request_.GetParentSpecification(ResourceType_Series).SetRetrieveMainDicomTags(true);
+      }
     }
     else if (tag == DICOM_TAG_INSTANCE_AVAILABILITY)
     {