The CTP DICOM Anonymizer Configurator
CTP includes a DICOM anonymizer which can be configured to modify DICOM objects according to a set of scripts defined by the system administrator. This article describes how to use the configuration servlet. It is intended for administrators.
A CTP pipeline may contain anonymizer stages for any of the object types that CTP recognizes (DICOM, XML, and Zip). In some situations, there may even be multiple anonymizers for objects of the same type. Each anonymizer stage is controlled by its own script file, making it possible to modify objects in different ways as they proceed down the pipeline.
The CTP DICOM anonymizer script file is an XML file containing elements of four types:
- Parameters provide global text values that may be referenced by name in scripts for DICOM elements.
- Elements contain script commands for individual DICOM elements.
- Keep commands indicate whether all elements in a DICOM group are to be globally kept in the anonymized object.
- Remove commands identify certain element or group types which are to be globally removed while producing the anonymized object.
The CTP DICOM Anonymizer provides detailed instructions on how to write scripts for individual elements.
The DICOM Committee has published Supplement 142, Clinical Trial De-identification Profiles, which defines several collections of rules for anonymization. These collections, called "profiles", specify what must be done to achieve specific objectives. The most aggressive anonymization is provided by the "Baseline Profile".
The CTP DICOM Anonymizer Configurator implements the concept of a profile as a script file containing only those parameters, elements, keep commands, and remove commands which are relevant to the objective of the profile. A profile is said to be "applied" to a script:
- All items in the profile are added to the script file.
- If an item in the profile is also in the script file, the script item is replaced by the profile item, except for parameters, which retain their original values.
- Any item in the script which is not in the profile remains unmodified in the script.
The NCI is developing CTP profiles to implement several of the Supplement 142 profiles. The Baseline Profile has been released and is included in the most recent CTP version. This profile is intended to meet HIPAA privacy regulations. Other profiles will be added to the CTP release as they are developed.
In the latest release, the default DICOM anonymizer script has had the baseline profile applied. Therefore, when initially configuring a CTP system, any DICOM anonymizers will automatically meet the requirements of the baseline profile without further configuration.
2 The Configurator Window
To enter the DICOM Anonymizer Configurator, log on to a CTP administrator account and click the DICOM Anonymizer Configurator button on the main CTP page. On the resulting page, script files are organized by pipeline and pipeline stage. Select the desired script file. The configurator page will display as shown below.
Items may be enabled by checking the box in the Select column. Items may be modified by changing the text in the Script column.
2.1 File Menu
The File menu provides items for saving the current values as either a script file or a profile, and for returning to the main page without saving.
The Save item saves all the items as the script file which was originally selected. No provision is offered for creating a new script file.
2.1.2 Save as profile
The Save as profile item saves the current state of the parameters and all the selected items as a profile. A submenu provides the option to create a new profile or to update an existing one. User-saved profiles are stored in a separate directory from the DICOM Supplement 142 profiles, and the DICOM profiles cannot be modified.
The Close item returns to the main page without saving the script. If the script has been modified since it was last saved, a warning is displayed providing the option to continue without saving or to cancel and remain in the configurator.
2.2 Profiles Menu
The Profiles menu provides submenus for selection of a profile from either the standard DICOM Supplement 142 library or the local store of saved profiles. The selected profile is applied to the script file that is currently open, but the result is not saved until the Save item is selected from the File menu.
2.3 View Menu
The View menu provides options for controlling which items are displayed in the table of items.
2.3.1 Selected elements
The Selected elements item hides all elements whose checkboxes have not been checked in the Select column. This does not remove the elements from the script; it only changes which items are displayed. It has no effect on the saving of the script. This feature can be useful in navigating a script file.
2.3.2 All elements
The All elements item shows all elements in the script file. It effectively undoes what the Selected elements item did.
2.3.3 Scroll to group
The Scroll to group item provides a submenu which navigates the table to the start of specific groups of elements. The behavior of the function depends on the browser. In Internet Explorer 7 and later, the table scrolls to the selected group. In other browsers, all items except the selected group are hidden. The effect of this function can be undone by the All elements item.
2.4 Edit Menu
The Edit menu provides options for creating and removing items from the script.
2.4.1 New Parameter...
The New Parameter... item displays a dialog allowing the user to create a new parameter.
2.4.2 Remove Parameter...
The Remove Parameter... item displays a dialog allowing the user to remove a new parameter.
2.4.3 Remove All Parameters
The Remove All Parameters item removes all the parameters in the script. This function can be useful while creating new profiles.
2.4.4 New Element...
The New Element... item displays a dialog allowing the user to create a new element. This function is typically used to create new elements in private groups, but it can be used to create elements for DICOM elements which are not available in the script.
- When creating a new element in a private group, care should be taken to ensure that the group meets the DICOM requirement that it have a block owner element in the first 100(hex) elements in the group and that the created elements fall in the block claimed by the block owner element.
- When adding a DICOM standard element to a script, care should be taken to assign a name to the element which matches the DCM4CHE library name. Assigning another name will not cause the anonymizer to fail, but the assigned name will not work as a reference in scripts, since only the DCM4CHE names are used in evaluating scripts.
2.4.5 Remove Element...
The Remove Element... item displays a dialog allowing the user to remove an element. This function can be useful in removing unwanted private elements, but there is generally no need to remove DICOM standard elements.
2.4.6 New Keep Group...
The New Keep Group... item displays a dialog allowing the user to create a new global keep command. Keep commands can be created for any group number (a four-hexadecimal digit number). The default script includes keep commands for the normally kept groups, but it may be convenient in certain situations to create keep commands for private groups.
2.4.7 Remove Keep Group...
The Remove Keep Group... item displays a dialog allowing the user to remove a global keep command.
2.4.8 Deselect all
The Deselect all item removes the checks from all checkboxes. This function can be useful in creating or editing profiles.
2.5 Help Menu
The Help menu provides options for loading wiki pages into separate windows for reference while editing a script.
3 Advanced Topics
3.1 Creating a New Profile
These are the steps for creating a new profile:
- Open any script file.
- Select Edit > Remove Parameter... to remove any undesired parameters.
- Select Edit > New Parameter... to create any required parameters.
- Select Edit > New Keep Group... to create any required global keep commands.
- Configure the Select checkboxes as desired.
- Configure the Script text fields as desired.
- Select File > Save as profile... > New profile... and enter the desired name of the profile in the dialog box as shown below. For compatibility with Unix-based systems, it is best to make the profile name a single word without embedded whitespace, separating individual words, if so desired, by hyphens or underscores (or representing the words in camel case).
Note that unless you want to overwrite the original script file with the changes, you should not select File > Save.
3.2 Editing an Existing Profile
These are the steps for editing an existing profile. (Note that you cannot edit a DICOM Supplement 142 profile and save it in the DICOM profiles library. When you save the profile, it will appear in the Saved profiles library.)
- Open any script file.
- Select Edit > Remove All Parameters to remove all parameters in the script.
- Select Edit > Deselect all to remove the checks in all Select checkboxes.
- Select Profiles and apply the profile that you wish to edit.
- Make any changes you want.
- Select File > Save as profile... and select the profile name that you wish to update.
Note that it is possible to use this technique for creating a new profile from another profile simply by choosing File > Save as profile... > New profile... when you save it.