Terms of Use

General terms of use more
Copyleft License: GPLv3 more

System Requirements

Mac OS 10.9 or later.

Download Version 1.8.3

Updated 18 April 2021

First released August 2012
Regularly updated for years

Drag 'n Drop to Anonymize

Just Drag 'n Drop individual DICOM files, or drop one or more folders to recursively search for DICOM files to be anonymized.

Easy Configuration

An extensive default configuration file is provided that can be modified to determine which DICOM tags are anonymized. The default configuration file observes the tags in Annex E "ATTRIBUTE CONFIDENTIALITY PROFILES" of the DICOM standard.
The default configuration file includes an additional set of tags that may also contain PHI (Protected Health Information - HIPAA). Please review these tags and do not just blindly anonymize everything that is in there.
Instead of erasing a tag, the configuration file also allows per tag setting of an optional replacement value, such as for example a fixed date or default name.

DICOM Conformant tag handling

Descents into sequences (nested items) when finding tags to erase, and observes max lengths when writing replacement values.
When 'erasing' UID-containing tags allows the user to optionally provide a replacement value with their own legitimate authority-assigned root, or - when not available - calculates a statistically safe decimal representation of a random, but valid, replacement UID.

Optional deletion of files that may display PHI

DICOM studies may 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.

Automatic creation and propagation of Look-Up Tables for Trial Subject Codification or other research purposes

In addition to anonymizing DICOM data, Drag 'n Drop creation of single-tag Look-Up Tables (LUT) is supported by indicating a LUT tag in the configuration file. A subsequent Drag 'n Drop with the 'prepopulate LUT' option set, will create a table of unique individual values of that tag, 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.

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.

Versatile configuration vs fixed, preconfigured distribution

It is possible to derive multiple different configuration files from the supplied default configuration file. The derived configuration files should be stored either in ~/Library/Application Support/DICOManonymizer/  or, optionally - when the application is not stored in /Applications but for example along with the data - in the folder where the application itself resides. At each start the application will search both locations and present a list of all configuration files found to choose from.
It is also possible to place a file named AnonymizationConfiguration inside 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 - with a fixed, predefined anonymization configuration.
If you use vim to edit the configuration files, it may not like the Mac-style linebreaks, use :e ++ff=mac to fix.