changeset 2311:78dcb3ddea9f issue-46-anonymization

implementation of clearings
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 12 Jul 2017 15:11:36 +0200
parents b7fba68747f6
children 8700dcaa02e5
files OrthancServer/DicomModification.cpp OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp
diffstat 2 files changed, 14 insertions(+), 11 deletions(-) [+]
line wrap: on
line diff
--- a/OrthancServer/DicomModification.cpp	Wed Jul 12 14:00:00 2017 +0200
+++ b/OrthancServer/DicomModification.cpp	Wed Jul 12 15:11:36 2017 +0200
@@ -372,10 +372,10 @@
     removals_.insert(DicomTag(0x0008, 0x0010));  // Irradiation Event UID
     removals_.insert(DicomTag(0x0008, 0x0014));  // Instance Creator UID
     //removals_.insert(DicomTag(0x0008, 0x0018));  // SOP Instance UID => set in Apply()
-    //removals_.insert(DicomTag(0x0008, 0x0020));  // Study Date => TODO: shall be nulled
-    //removals_.insert(DicomTag(0x0008, 0x0021));  // Series Date => TODO: shall be nulled
-    //removals_.insert(DicomTag(0x0008, 0x0030));  // Study Time => TODO: shall be nulled
-    //removals_.insert(DicomTag(0x0008, 0x0031));  // Series Time => TODO: shall be nulled
+    clearings_.insert(DicomTag(0x0008, 0x0020)); // Study Date
+    clearings_.insert(DicomTag(0x0008, 0x0021)); // Series Date
+    clearings_.insert(DicomTag(0x0008, 0x0030)); // Study Time
+    clearings_.insert(DicomTag(0x0008, 0x0031)); // Series Time
     removals_.insert(DicomTag(0x0008, 0x0022));  // Acquisition Date
     removals_.insert(DicomTag(0x0008, 0x0023));  // Content Date
     removals_.insert(DicomTag(0x0008, 0x0024));  // Overlay Date
@@ -425,10 +425,10 @@
     //removals_.insert(DicomTag(0x0010, 0x0020));  // Patient ID => cf. below (*)
     removals_.insert(DicomTag(0x0010, 0x0030));  // Patient's Birth Date 
     removals_.insert(DicomTag(0x0010, 0x0032));  // Patient's Birth Time 
-    //removals_.insert(DicomTag(0x0010, 0x0040));  // Patient's Sex => TODO: shall be nulled
-    removals_.insert(DicomTag(0x0010, 0x0050));  // Patient’s Insurance Plan Code Sequence
-    removals_.insert(DicomTag(0x0010, 0x0101));  // Patient’s Primary Language Code Sequence
-    removals_.insert(DicomTag(0x0010, 0x0102));  // Patient’s Primary Language Modifier Code Sequence
+    clearings_.insert(DicomTag(0x0010, 0x0040)); // Patient's Sex
+    removals_.insert(DicomTag(0x0010, 0x0050));  // Patient's Insurance Plan Code Sequence
+    removals_.insert(DicomTag(0x0010, 0x0101));  // Patient's Primary Language Code Sequence
+    removals_.insert(DicomTag(0x0010, 0x0102));  // Patient's Primary Language Modifier Code Sequence
     removals_.insert(DicomTag(0x0010, 0x1000));  // Other Patient Ids
     removals_.insert(DicomTag(0x0010, 0x1001));  // Other Patient Names 
     removals_.insert(DicomTag(0x0010, 0x1002));  // Other Patient IDs Sequence
@@ -438,7 +438,7 @@
     removals_.insert(DicomTag(0x0010, 0x1030));  // Patient's Weight 
     removals_.insert(DicomTag(0x0010, 0x1040));  // Patient's Address
     removals_.insert(DicomTag(0x0010, 0x1050));  // Insurance Plan Identification
-    removals_.insert(DicomTag(0x0010, 0x1060));  // Patient’s Mother’s Birth Name
+    removals_.insert(DicomTag(0x0010, 0x1060));  // Patient's Mother's Birth Name
     removals_.insert(DicomTag(0x0010, 0x1080));  // Military Rank
     removals_.insert(DicomTag(0x0010, 0x1081));  // Branch of Service
     removals_.insert(DicomTag(0x0010, 0x1090));  // Medical Record Locator
@@ -505,7 +505,7 @@
     removals_.insert(DicomTag(0x0038, 0x0060));  // Service Episode ID
     removals_.insert(DicomTag(0x0038, 0x0061));  // Issuer of Service Episode ID
     removals_.insert(DicomTag(0x0038, 0x0062));  // Service Episode Description
-    removals_.insert(DicomTag(0x0038, 0x0400));  // Patient’s Institution Residence
+    removals_.insert(DicomTag(0x0038, 0x0400));  // Patient's Institution Residence
     removals_.insert(DicomTag(0x0038, 0x0500));  // Patient State
     removals_.insert(DicomTag(0x0038, 0x4000));  // Visit Comments
     removals_.insert(DicomTag(0x0038, 0x1234));  // Referenced Patient Alias Sequence
--- a/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp	Wed Jul 12 14:00:00 2017 +0200
+++ b/OrthancServer/OrthancRestApi/OrthancRestAnonymizeModify.cpp	Wed Jul 12 15:11:36 2017 +0200
@@ -185,7 +185,10 @@
       return false;
     }
 
-    DicomVersion version = DicomVersion_2008;  // TODO Switch to 2017c
+    // As of Orthanc 1.2.1, the default anonymization is done
+    // according to PS 3.15-2011 Table E.1-1
+    // TODO Switch to 2017c
+    DicomVersion version = DicomVersion_2011;
     if (request.isMember("DicomVersion"))
     {
       if (request["DicomVersion"].type() != Json::stringValue)