Dicom Anonymization-snippet
From CISSTwiki
Keywords
DICOM, HIPAA, anonymous, anonymization
Description
To be HIPAA compliant, we need to remove most elements that can be used as identifiers from our data sets. This includes all our DICOM images. To that extent, as small utility has been developed at the ERC-CISST. It is composed of a small library with a DICOM parser, two dictionaries (known data fields and list of fields to remove/anonymize) and a few programs including "dcmanon". The code resides on our CVS server. To obtain the latest version of the code and the dictionaries, use CVS with the CVSROOT:
CVSROOT=:pserver:anonymous@spine.compsci.jhu.edu:/home/cvs/dcmanonroot
The password is "cisst" and the module to checkout is "dcmanon". On a unix shell, the commands to retrieve the code are:
export CVSROOT=:pserver:anonymous@spine.compsci.jhu.edu:/home/cvs/dcmanonroot cvs login cvs co dcmanon
Once you have retrieved the code, compile it with any standard C compiler. The directory "src" contains an older makefile as well as a configuration file for CMake (CMakeLists.txt). CMake can create a build environment for MacOS, Windows, Linux with the most common compilers. Once you have created the binary "dcmanon", use it as follows:
dcmanon dicom_file log.txt anondict.txt
The file "anondict.txt" comes from the cvs repository and should list most sensitive fields. "dcmanon" can also operate on all files of a given directory, just replace the file name by a directory name. As the log file "log.txt" will contain the original info, don't forget to delete it once you have checked your data. To verify the remaining fields, you can use "dcmanonlist" (distributed along with dcmanon). An alternative way it to use Matlab dicominfo.
IMPORTANT: If you find that some fields should have been anonymized and haven't been, please inform me (Anton Deguet).
Created by