Skip to main content

Grand-Challenge DICOM De-Identification Procedure

CI

This repository contains the code that generate the procedure for the Grand-Challenge.org de-identification methods. The procedure describes which action needs to be taken for a DICOM tag in order to be de-identified.

It is based on the DICOM Basic Profile of the Standard DICOM de-identification profile but customized for the use on the Grand-Challenge platform.

More information about de-identification choices can be found in the standard-operation procedure.

Procedure Usage

For JavaScript you can use the ESM + UDM bundles via the npmjs package:

The procedure.json has two lookups: firstly by SOPClassUID and secondly by the data element tag. This results in a "default" action that is to be executed for the data element in question. The action can be any of:

Code Action
"D" replace with a non-zero length value that may be a dummy value and consistent with the VR
"Z" replace with a zero length value, or a non-zero length value that may be a dummy value and consistent with the VR
"X" remove
"K" keep (unchanged for non-Sequence Attributes, cleaned for Sequences)
"C" clean, that is replace with values of similar meaning known not to contain identifying information and consistent with the VR
"U" replace with a non-zero length UID that is internally consistent within a set of Instances
"R" reject the entire DICOM file

For Python you can use the PyPi package: https://pypi.org/project/grand-challenge-dicom-de-id-procedure/

$ pip install grand-challenge-dicom-de-id-procedure

To load the procedure import it as follows:

from grand_challenge_dicom_de_id_procedure import procedure

# Check the version
print(procedure["version"])

# Get an action for tag (0008,0005) of SOPClassUID "1.2.840.10008.5.1.4.1.1.2" (CT image)
action = procedure["sopClass"]["1.2.840.10008.5.1.4.1.1.2"]["tag"]["(0008,0005)"]["default"]

print(action) # "K"

Procedure Building

First, install uv you should then be able to run the any of the following make commands:

$ make base

Which will create the base procedure, see Action logic below for details.

$ make candidate

Which will merge BASE + MANUAL procedures to generate a CANDIDATE procedure. The MANUAL procedure is a hand-crafted action list for each DICOM tag that is unset in the BASE procedure.

$ make worklist

Which will generate a reStructuredText that describes the tags for which no action has been set in the CANDIDATE procedure.

These will need to be addressed before we can generate the final procedure.

$ VERSION="2025.6.0" make final

Finally, above will run all the earlier make targets (i.e. base, candidate, worklist) and then use the CANDIDATE procedure to build the distributable FINAL procedure Including a VERSION, as specified.

Procedure Release

Calling make final with a VERSION also inserts the version in the relevant Python and NPM package configuration. The actual package(s) release is done via GitHub actions. The steps are:

  1. Ensure that main contains the latest version you would like to release
  2. Create and publish a release on GitHub, creating a new tag
    • Versioning dated-semver and follows format YYYY.MM.MINOR, where YYYY is the year MM is the month with no-zero padding and MINOR is the version bump within that month (starting at '0'). For instance 2025.2.0.
  3. GitHub actions to publish the new package(s) automatically starts when a release is published
  4. Once everything is published, the dependency needs to be updated downstream (e.g. in Grand-Challenge)

Metadata

Release files for grand-challenge-dicom-de-id-procedure 2025.10.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for grand-challenge-dicom-de-id-procedure 2025.10.1
File Size Uploaded
grand_challenge_dicom_de_id_procedure-2025.10.1.tar.gz 21.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for grand-challenge-dicom-de-id-procedure 2025.10.1
File Interpreter ABI Platform
grand_challenge_dicom_de_id_procedure-2025.10.1-py3-none-any.whl Python 3 none any Details

Total release size: 42.6 kB

Release files / grand_challenge_dicom_de_id_procedure-2025.10.1.tar.gz

Download URL grand_challenge_dicom_de_id_procedure-2025.10.1.tar.gz
Size 21.9 kB
Tags Source
SHA-256 checksum
How to use checksums
997dace6294f8ddfc06a82379987683abc46fc451f3faed5b83c5237c9ab411a
BLAKE2b-256 checksum
How to use checksums
2f702918de4592de1c8fab6b7498ee6aff33f781183aa6f5a497f7a593e80a84
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.

Transparency log

Release files / grand_challenge_dicom_de_id_procedure-2025.10.1-py3-none-any.whl

Download URL grand_challenge_dicom_de_id_procedure-2025.10.1-py3-none-any.whl
Size 20.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c61678a241fb094f9b4632715deef56b6f6f5d8deaa5905e338a0eb0d407080f
BLAKE2b-256 checksum
How to use checksums
2869ddaafbb6f0593dd1b074895b64e5b6bbe2daa76b511afe7a7025d978fdb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 6, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

2025.10.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page