# HG changeset patch # User Sebastien Jodogne # Date 1357568502 -3600 # Node ID 47a709e22d1fc6c93ea2089e15435258aa0caa77 # Parent 1b0ffed55ab07a7b794de9a921972635245f6e48 fix diff -r 1b0ffed55ab0 -r 47a709e22d1f OrthancServer/OrthancRestApi.cpp --- a/OrthancServer/OrthancRestApi.cpp Thu Jan 03 14:41:12 2013 +0100 +++ b/OrthancServer/OrthancRestApi.cpp Mon Jan 07 15:21:42 2013 +0100 @@ -989,10 +989,19 @@ // Set the PatientIdentityRemoved replacements.insert(std::make_pair(DicomTag(0x0012, 0x0062), "YES")); - replacements.insert(std::make_pair(DICOM_TAG_STUDY_INSTANCE_UID, - FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Study))); - replacements.insert(std::make_pair(DICOM_TAG_SERIES_INSTANCE_UID, - FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Series))); + // Generate random study UID if not specified + if (replacements.find(DICOM_TAG_STUDY_INSTANCE_UID) == replacements.end()) + { + replacements.insert(std::make_pair(DICOM_TAG_STUDY_INSTANCE_UID, + FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Study))); + } + + // Generate random series UID if not specified + if (replacements.find(DICOM_TAG_SERIES_INSTANCE_UID) == replacements.end()) + { + replacements.insert(std::make_pair(DICOM_TAG_SERIES_INSTANCE_UID, + FromDcmtkBridge::GenerateUniqueIdentifier(DicomRootLevel_Series))); + } } @@ -1084,7 +1093,7 @@ for (Removals::iterator it = additionalRemovals.begin(); it != additionalRemovals.end(); it++) { - removals.erase(*it); + removals.insert(*it); } ParseReplacements(replacements, replacementsPart);