diff OrthancFramework/Sources/DicomFormat/DicomMap.cpp @ 4935:acd3f72e2a21 more-tags

split ExpandResource in 2: read from DB and serialize to json. This will allow us to merge requested tags from both the DB and the file system
author Alain Mazy <am@osimis.io>
date Thu, 10 Mar 2022 19:00:43 +0100
parents 312c6f4da888
children 8422e4f99a18
line wrap: on
line diff
--- a/OrthancFramework/Sources/DicomFormat/DicomMap.cpp	Thu Mar 10 09:03:24 2022 +0100
+++ b/OrthancFramework/Sources/DicomFormat/DicomMap.cpp	Thu Mar 10 19:00:43 2022 +0100
@@ -209,11 +209,9 @@
         tagsIds.insert(it->Format());
       }
 
-      std::string signatureText = boost::algorithm::join(tagsIds, "|");
-      std::string signatureMD5;
-      Toolbox::ComputeMD5(signatureMD5, signatureText);
+      std::string signatureText = boost::algorithm::join(tagsIds, ";");
 
-      return signatureMD5;
+      return signatureText;
     }
 
     void LoadDefaultMainDicomTags(ResourceType level)
@@ -422,29 +420,30 @@
     }
   }
 
+  void DicomMap::ExtractResourceInformation(DicomMap& result, ResourceType level) const
+  {
+    const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(level);
+    ExtractTags(result, content_, mainDicomTags);
+  }
 
   void DicomMap::ExtractPatientInformation(DicomMap& result) const
   {
-    const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Patient);
-    ExtractTags(result, content_, mainDicomTags);
+    ExtractResourceInformation(result, ResourceType_Patient);
   }
 
   void DicomMap::ExtractStudyInformation(DicomMap& result) const
   {
-    const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Study);
-    ExtractTags(result, content_, mainDicomTags);
+    ExtractResourceInformation(result, ResourceType_Study);
   }
 
   void DicomMap::ExtractSeriesInformation(DicomMap& result) const
   {
-    const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Series);
-    ExtractTags(result, content_, mainDicomTags);
+    ExtractResourceInformation(result, ResourceType_Series);
   }
 
   void DicomMap::ExtractInstanceInformation(DicomMap& result) const
   {
-    const std::map<DicomTag, std::string>& mainDicomTags = DicomMap::MainDicomTagsConfiguration::GetInstance().GetMainDicomTags(ResourceType_Instance);
-    ExtractTags(result, content_, mainDicomTags);
+    ExtractResourceInformation(result, ResourceType_Instance);
   }