From 6c46e7a9f76b9a9a1187b679d5367a8d64c53954 Mon Sep 17 00:00:00 2001 From: howff Date: Thu, 25 May 2023 13:37:31 +0100 Subject: [PATCH 1/2] DicomText - treat DT (DateTime) types similarly to DA (Date) types --- src/common/Smi_Common_Python/SmiServices/DicomText.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/common/Smi_Common_Python/SmiServices/DicomText.py b/src/common/Smi_Common_Python/SmiServices/DicomText.py index cc6dc93bd..6dafbc030 100644 --- a/src/common/Smi_Common_Python/SmiServices/DicomText.py +++ b/src/common/Smi_Common_Python/SmiServices/DicomText.py @@ -257,7 +257,7 @@ def _dataset_redact_callback(self, dataset, data_element): #if not replaced: # print('WARNING: offsets slipped:') # print(' expected to find %s but found %s' % (repr(annot['text']), repr(rc[annot_at:annot_end]))) - if data_element.VR == 'PN' or data_element.VR == 'DA': + if data_element.VR == 'PN' or data_element.VR == 'DA' or data_element.VR == 'DT': # Always fully redact the content of PersonName and Date tags replacement = self.redact_string(rc, 0, len(rc), data_element.VR) replacedAny = True @@ -300,6 +300,8 @@ def redact_PN_DA_callback(self, dataset, data_element): data_element.value = DicomText._redact_char.rjust(len(data_element.value), DicomText._redact_char) if data_element.VR == "DA": data_element.value = "19000101" + if data_element.VR == "DT": + data_element.value = "19000101000000" def text(self): """ Returns the text after parse() has been called. From 0e21d63b303d07279e760ef5a89caca3fede3454 Mon Sep 17 00:00:00 2001 From: howff Date: Thu, 25 May 2023 14:08:25 +0100 Subject: [PATCH 2/2] Added news --- news/1562-bugfix.md | 1 + 1 file changed, 1 insertion(+) create mode 100644 news/1562-bugfix.md diff --git a/news/1562-bugfix.md b/news/1562-bugfix.md new file mode 100644 index 000000000..aa43fb1ba --- /dev/null +++ b/news/1562-bugfix.md @@ -0,0 +1 @@ +DicomText - Redact all tags which have a data type (VR) of 'DT' (DateTime). It was already doing dates and names.