De-idenfication Profiles¶
De-identification profiles define which fields mrscrub should modify and how. These profiles
should be written in YAML.
Overview¶
The general structure of a de-identification profile is
dicom:
fields:
- name: FieldName
tag:
- group code (hex)
- element code (hex)
action:
action-name: value
Here’s a quick overview of what we’re looking at
dicomfields: a list of fields to de-identifyname: a name for the field (you decide)tag: a DICOM tag (2 hex values)actionaction-name: the action you want to apply
Actions¶
There are several actions you can apply to a DICOM field. These are best explained with an example.
replace-with¶
If you want your de-identification policy to replace PatientName
(0010,0010) with an empty string, you would use the replace-with
action
dicom:
fields:
- name: PatientName
tag:
- 0x0010
- 0x0010
action:
replace-with: ''
new-uid¶
Removing dates is doable with replace-with for some DICOM fields, but UIDs
can also contain dates. To reassign SOPInstanceUID (0008,0018) for
example, you would use the new-uid action
dicom:
fields
- name: PatientName
tag:
- 0x0010
- 0x0010
action:
replace-with: ''
- name: SOPInstanceUID
tag:
- 0x0008
- 0x0018
action:
new-uid: true
Note
Note that replacing SOPInstanceUID will also trigger the replacement of
any ReferencedSOPInstanceUID instances within SourceImageSequence or
ReferencedImageSequence.
delete¶
Sometimes you may want to delete a field entirely. For example, if you wanted
to delete the Siemens CSA header (0029,1020) you would use the delete
action
dicom:
fields
- name: PatientName
tag:
- 0x0010
- 0x0010
action:
replace-with: ''
- name: SOPInstanceUID
tag:
- 0x0008
- 0x0018
action:
new-uid: true
- name: Unknown
tag:
- 0x0029
- 0x1020
action:
delete: true