changeset 5639:b6a6179a2a69

TimezoneOffsetFromUTC is now ignored for C-Find matching
author Alain Mazy <am@orthanc.team>
date Fri, 24 May 2024 15:11:28 +0200
parents 4535194cbb8a
children f7adfb22e20e
files NEWS OrthancFramework/Sources/DicomFormat/DicomTag.h OrthancServer/Sources/OrthancFindRequestHandler.cpp
diffstat 3 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Wed May 22 16:06:30 2024 +0200
+++ b/NEWS	Fri May 24 15:11:28 2024 +0200
@@ -34,12 +34,14 @@
 Maintenance
 -----------
 
-* In C-Find queries including GenericGroupLength tags, Orthanc was still
-  extracting these tags from the storage although they were already ignored
-  and not returned in the response.
-  They are now removed from the query earlier to avoid this disk access that
-  could slow down the response time.  Note that this seems to happen mainly
-  when the query originates from some GE devices (AWS).
+* C-Find queries:
+  - In C-Find queries including GenericGroupLength tags, Orthanc was still
+    extracting these tags from the storage although they were already ignored
+    and not returned in the response.
+    They are now removed from the query earlier to avoid this disk access that
+    could slow down the response time.  Note that this seems to happen mainly
+    when the query originates from some GE devices (AWS).
+  - TimezoneOffsetFromUTC is now ignored for matching.
 * The 0x0111 DIMSE Status is now considered as a warning instead of an error
   when received as a response to a C-Store.
   See https://discourse.orthanc-server.org/t/ignore-dimse-status-0x0111-when-sending-partial-duplicate-studies/4555/3
--- a/OrthancFramework/Sources/DicomFormat/DicomTag.h	Wed May 22 16:06:30 2024 +0200
+++ b/OrthancFramework/Sources/DicomFormat/DicomTag.h	Fri May 24 15:11:28 2024 +0200
@@ -147,6 +147,7 @@
   static const DicomTag DICOM_TAG_SERIES_TIME(0x0008, 0x0031);
   static const DicomTag DICOM_TAG_STUDY_DATE(0x0008, 0x0020);
   static const DicomTag DICOM_TAG_STUDY_TIME(0x0008, 0x0030);
+  static const DicomTag DICOM_TAG_TIMEZONE_OFFSET_FROM_UTC(0x0008, 0x0201);
 
   // Various tags
   static const DicomTag DICOM_TAG_SERIES_TYPE(0x0054, 0x1000);
--- a/OrthancServer/Sources/OrthancFindRequestHandler.cpp	Wed May 22 16:06:30 2024 +0200
+++ b/OrthancServer/Sources/OrthancFindRequestHandler.cpp	Fri May 24 15:11:28 2024 +0200
@@ -439,9 +439,11 @@
       const DicomElement& element = query.GetElement(i);
       const DicomTag tag = element.GetTag();
 
+      // remove tags that are not used for matching
       if (element.GetValue().IsNull() ||
           tag == DICOM_TAG_QUERY_RETRIEVE_LEVEL ||
-          tag == DICOM_TAG_SPECIFIC_CHARACTER_SET)
+          tag == DICOM_TAG_SPECIFIC_CHARACTER_SET ||
+          tag == DICOM_TAG_TIMEZONE_OFFSET_FROM_UTC)  // time zone is not directly used for matching.  Once we support "Timezone query adjustment", we may use it to adjust date-time filters but for now, just ignore it 
       {
         continue;
       }