About dicom-metadata-extract
A skill that extracts selected metadata from one DICOM file and reports the presence of standard-tag PHI. It is a small Python-based example for metadata inspection, not a de-identification or clinical tool.
Key features
- 01Extracts selected DICOM metadata
- 02Reports standard-tag PHI presence
- 03Writes JSON output
- 04Uses a documented wrapper script
- 05Includes evidence review guidance
Use cases
- 01Inspect metadata from a DICOM file
- 02Produce JSON for a downstream workflow
- 03Review extracted metadata evidence
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ nvidia/ skills --skill dicom-metadata-extractAfter installing, type/dicom-metadata-extractin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
AGENTS.mdBENCHMARK.mdskill_manifest.yamlskill-card.mdskill.oms.sigevals/baseline.yamlevals.jsonfixtures/generate_sample.pyscripts/extract_metadata.pytests/test_basic.pyvalidators/output_schema.jsonDetails
From the project READMEDICOM Metadata Extract
Purpose
- Used for extracting selected metadata from one DICOM file and flagging standard-tag PHI presence. Not for anonymization or clinical use.
- Use the wrapper exactly as documented; do not replace the upstream entrypoint with a handwritten implementation.
- Manifest I/O: inputs are
dicom_path; outputs aremetadata_json.
Instructions
- Read
skill_manifest.yamlbefore changing arguments, side effects, or validation gates. - Run
scripts/extract_metadata.pythrough the documented command below; keep outputs under a caller-provided run directory. - If a host agent exposes
run_script, userun_script("scripts/extract_metadata.py", args=[...]); otherwise run the Bash/Python command shown below. - Check the emitted JSON and run
medagent.verifiers.dicom_metadata_quality_v1on evidence packs before treating the run as reviewed evidence.
Available Scripts
| Script | Purpose | Arguments |
|---|---|---|
scripts/extract_metadata.py | Primary entrypoint declared by skill_manifest.yaml. | PATH_TO_DICOM [--output OUT.json] |
Prerequisites
- Runtime requirements: Python packages listed in
runtime.side_effects.pip_packages. - Run commands from the repository root unless an existing section below says otherwise.
Limitations
- Small PS3.15-inspired standard-tag subset only; not a complete Basic Application Confidentiality Profile implementation.
- Private tags not checked
- Burnt-in pixel PHI not detected
- Multi-frame handling minimal
- Not for clinical deployment, regulatory de-identification, autonomous diagnosis, patient-facing use.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| Missing dependency or import error | Runtime package drift from skill_manifest.yaml. | Install the packages declared in the manifest or use the documented setup command. |
| Empty or schema-invalid output | Wrong input path, unsupported modality, or upstream failure. | Re-run with a known fixture and inspect the wrapper JSON plus stderr. |
| Validation gate failure | Output violated a declared engineering invariant. | Keep the failed evidence pack and use the gate message to repair inputs or wrapper code. |
Reads one DICOM file with pydicom and emits JSON on stdout.
python scripts/extract_metadata.py PATH_TO_DICOM
python scripts/extract_metadata.py PATH_TO_DICOM --output result.json
Output includes transfer_syntax, modality, grouped study/series/image
metadata, phi_present, and phi_tags_found.
Use this as the smallest end-to-end example of a Medical AI Skills skill. Do not use it for anonymization, private-tag review, pixel PHI detection, or clinical interpretation.
For second-pass evidence review, generate a trusted run:
python -m eval_engine.run_trusted skills/dicom-metadata-extract \
--fixture skills/dicom-metadata-extract/fixtures/sample_ct.dcm \
--out runs/dicom_metadata_trusted