changeset 363:518485e4bfa4

QIDO-RS: Allow to query against a list of multiple values separated by commas
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 11 Sep 2019 18:03:18 +0200
parents 04a1e07a3085
children 6074e7e39b58
files NEWS Plugin/QidoRs.cpp
diffstat 2 files changed, 19 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Wed Sep 11 17:45:18 2019 +0200
+++ b/NEWS	Wed Sep 11 18:03:18 2019 +0200
@@ -1,12 +1,20 @@
 Pending changes in the mainline
 ===============================
 
+New features
+------------
+
 * Support of "window", "viewport" and "quality" parameters in "Retrieve Rendered Transaction"
+* QIDO-RS: Allow to query against a list of multiple values separated by commas
+
+Maintenance
+-----------
+
+* Optimization of QIDO-RS for large studies/series
 * Fix handling of the "Forwarded" HTTP header
 * Accept multiple MIME types in Accept header for WADO-RS "Retrieve Metadata"
 * Added explicit "Accept" header to avoid uncompressing DICOM files by Google cloud
   https://groups.google.com/d/msg/orthanc-users/w1Ekrsc6-U8/T2a_DoQ5CwAJ
-* Optimization of QIDO-RS for large studies/series
 
 
 Version 1.0 (2019-06-26)
--- a/Plugin/QidoRs.cpp	Wed Sep 11 17:45:18 2019 +0200
+++ b/Plugin/QidoRs.cpp	Wed Sep 11 18:03:18 2019 +0200
@@ -180,6 +180,16 @@
           Orthanc::DicomTag tag(0, 0);
           if (OrthancPlugins::ParseTag(tag, key))
           {
+            // The following lines are new in DICOMweb > 1.0, and
+            // allow to query against a list of multiple values
+            // http://dicom.nema.org/MEDICAL/dicom/2019a/output/chtml/part18/sect_6.7.html#sect_6.7.1.1.1
+            boost::replace_all(value, "\\", "");  // Remove backslashes from source request
+
+            // Replace commas by backslashes
+            boost::replace_all(value, ",", "\\");
+            boost::replace_all(value, "%2c", "\\");
+            boost::replace_all(value, "%2C", "\\");
+            
             filters_[tag] = value;
           }
         }