Drag ' n Drop to Anonymize....., Pseudonymize, Preview or Inspect
Simply Drag 'n Drop individual DICOM files, or any number of nested folders to recursively search for DICOM files to be anonymized.
Need to be able to re-identify subjects? Check 'Auto-pseudonymize using PID' and the application will automatically create a Look-Up-Table from all unique PatientIDs found in the dropped DICOM files together with a unique, anonymous
replacement value; and will write those replacement values back to the correct DICOM files!
Easy configuration
An extensive default Anonymization Configuration File is provided that can be modified to determine which DICOM attributes are anonymized and how. The default Configuration File observes the attributes in Annex E " ATTRIBUTE CONFIDENTIALITY PROFILES " of the DICOM standard.
The default Configuration File includes an additional set of attributes that may also contain PHI (Protected Health Information - HIPAA). Please
review these attributes and do not just anonymize everything that is in there.
Instead of removing an attribute, the configuration file also allows per attribute setting of an optional replacement value, such as for example a fixed
date or default name.
Inspect DICOM headers and visually edit Config Files
Hold the ALT/Option key while dropping files to inspect the DICOM headers of the dropped files instead of starting anonymization. You can search for DICOM attributes by name, tag, VR or value. The Preview window makes it easy to see which attributes are scheduled for anonymization and what other PHI is present that may require anonymization as well. The Preview Window allows direct editing of the active Config File: add or remove attributes to anonymize and optionally edit their replacement values.
You can now even visually edit Config Files without having to drop any DICOM files by simply selecting a Config and clicking the Visual Edit button.
Preview DICOM images
The Preview window can also render the DICOM image itself to let you check for possible burned-in PHI in the pixel data. You can drop multiple files and even whole folder structures and use the CMD + right/left arrow keys to quickly preview
the next/previous image (or header).
DICOM-conformant attribute handling
The application descents into sequences (nested items) when finding attributes to anonymize, and indicates the correct value representation (data type) for each attribute.
When anonymizing SOP-, Study- or Series-InstanceUIDs the application
will insert correctly formatted replacement values, and will maintain correct series-correlation of all slices and correct study-correlation of all series. When anonymizing other UID-attributes, it will calculate a statistically safe decimal
representation of a random, but valid, replacement UID.
Optional deletion of files that may display PHI
DICOM studies may also contain additional files, holding not image data, but for example a CT Radiation Report, that when displayed often show a patient's name, medical record number and date of birth. Other files may encapsulate the radiology
report, as plain text or in PDF form, that too may reveal PHI when displayed.
An optional filter is provided to recognize and remove (delete or move) these files.
When this filter is active, the application can - optionally - also delete files for which the DICOM header self-identifies that the pixel data contains BurnedInAnnotations.
Automatic creation and propagation of (existing) Look-Up Tables for Trial Subject Codification or other research purposes
In addition to creating a pseudonymization Look-Up-Table (LUT) from the PatientID attribute, drag 'n drop creation of LUTs using other attributes is also supported. You can indicate the desired LUT tag in the Anonymization Configuration File or simply set the desired tag in the interactive DICOM header preview window. A subsequent drag 'n drop with the 'prepopulate LUT' option set, will create a table of unique individual values of that attribute, with suggested unique re-identifiable replacement values. After optional editing of the replacement values, drag 'n dropping the DICOM data again, will automatically propagate the table's contents to the correct DICOM files.
This latter option also support propagation of a LUT with existing pseudonymization values from an external source: use the example, empty LUT file provided with the application (a simple tab-separated file) and add the existing LUT values
to that file. If only part of the patients in the data-set is known, the application can continue creating new pseudonymization values and supplement the existing, partial LUT table.
See the header of the Anonymization Configuration
files for additional explanation and examples.
Sort data into a new folder structure based on header attributes
After anonymizing a DICOM data set, preparing the set for further use often requires it to be sorted (re-organize its folder structure, and consistently rename files).
In addition, sorting a data set beforehand, may significantly speed-up
subsequent anonymization and pseudonymization: especially for highly non-organized data (such as for example data organized similar to Horos/Osirix databases, with series distributed over multiple different folders).
The Sort Configuration panel allows the quick construction of multiple different sorting configurations: use the panel to select which DICOM header attributes to use for sorting dropped DICOM files into a new folder structurel, and save that
configuration for later use.
When changing settings the panel directly visualizes the effect on the final folder structure to make it easy to understand and get to a desired result.
Sorting takes place after anonymization or pseudonymization and will thus use the new values of any attributes modified by the preceding anonymization/pseudonymization step.
You can also select to Sort files only, without modifying the
file contents of your source data.
Clean non-DICOM files, hidden files, and folder structure
In addition to anonymizing the DICOM content of a data set, preparing the set for sharing often requires additional cleaning of the surrounding file and folder structure. File- and folder-names, as well as non-DICOM files may contain PHI, or may otherwise not be eligble for inclusion in the final data set. Sharing empty folders may be suboptimal, hidden files and folders may unexpectedly be present and contain PHI, etc.
The Cleanup Configuration panel allows the quick construction of multiple different cleanup configurations that can be saved for later re-use. Cleanup supports removal of non-DICOM files, validation of DICOM files with removal of invalid files, or removal of valid DICOM files without pixeldata. In addition file- and folder-names can be cleaned using Regular Expressions, or completely replaced by unique random names guaranteed to be free of PHI. Folder structures can be further cleaned by purging empty folders, or folders with file counts below a certain threshold (for example, keeping only multi-slice series).
Instead of deleting unwanted files and folders, you can also have the application move all unwanted content to a separate folder so you can review what files and folders were removed.
You can also select to Clean a data set only, without
otherwise modifying the file contents of your DICOM source data.
Clean DICOM files by filtering by Modality or PatientID
Further cleaning options consists of the ability to filter the DICOM content by PatientID or modality. For example, specifically include only exams from patients included in a trial, or specifically exclude exams from a list of patients who have
objected to the use of their data, etc. Likewise the DICOM content can be cleaned by specifically including or specifically deleting exams based on acquisition Modality. For example, keep only CT data, or keep everything except x-ray plain films.
Anonymize to JPEG, TIFF or PNG
If retaining DICOM header data is not required, you can also 'anonymize' the data to three common bitmap-image formats.
If converting DICOM data to standard JPEG/TIFF/PNG images is your primary goal, or if you wish to convert image-stacks
to movies, see: DICOM-Converter.com
Batch generation of new SOP Instance UIDs
SOP Instance UIDs are random, do not contain PHI, and can in principle not readily be used to relate a file to other data from the same patient. It is therefore suggested to leave those tags alone (unanonymized). There are circumstances however
that justify the forcible updating of this UID, for example when pushing modified data back to a DICOM store (eg: a PACS) that still contains the original data.
For these circumstances the application supports Drag 'n Drop batch generation
of new SOP Instance UIDs, either with or without further anonymization.
Managing Anonymization Configurations
You can add as many Anonymization Configuration files as you want. In fact it is recommended to store a copy of the Anonymization Configuration file used for each significant project. For example, when anonymizing data for your 'GREAT' Trial,
click 'New' to derive a new Anonymization Config from one of the supplied templates or existing files and name it appropriately, e.g. 'GREAT_12JAN2022'. Then after anonymization/pseudonymization, click 'Show Configs' and copy the Config
File to your trial documentation for later reference. The application will use this information to identify itself and the extent of de-identification performed by referencing the active Anonymization Config name in (0012,0063) DICOM DeidentificationMethod
attribute.
Versatile configuration vs fixed, preconfigured distribution
By default, all configuration files are stored in the '~/Library/Application Support/DICOManonymizer' folder. It is also possible to place a file named 'FixedAnonymizationConfiguration.txt' in the Config subfolder in the Application Bundle itself. If this file is found, no other configuration will be accepted. This allows for that particular instance of the application to be distributed - to students, coworkers... or to yourself - as a standalone application with a fixed, predefined anonymization configuration.
If Visual Studio Code is installed, clicking 'Edit' will open the active Anonymization Configuration file in VSCode; otherwise the file will be opened in the TextEdit app.
If you use vim to edit the configuration files, it may not like
the Mac-style linebreaks, use :e ++ff=mac to fix.