meddeid-dutch-synth

meddeid-dutch-synth is a Dutch clinical-text de-identification model trained exclusively on synthetic notes. It predicts character-offset personally identifiable information spans and is packaged with the tokenizer, configuration and MedDeID bundle contract required for local and offline use.

No real patient notes were used to train this model.

Intended use

The model is a reproducible starting point for detecting identifiers in Dutch clinical text. It is designed for local deployment inside the user's own governance boundary. It does not make text anonymous by itself, does not guarantee removal of every identifier and requires validation for the target institution and use case.

Do not send clinical text to the public demonstration Space. Download the model and process sensitive text locally.

Out-of-scope uses include claiming that output is anonymous without a separate risk assessment, using the model as a clinical decision system, and applying it to unsupported languages without dedicated validation.

Limitations

  • Training data is synthetic and does not represent every clinical specialty, institution, writing style, identifier format, or documentation error.
  • The model can miss identifiers and can remove clinically meaningful text.
  • Reported results are point estimates for specific datasets and do not establish performance at another institution.
  • Metadata-assisted recovery depends on the accuracy and completeness of the caller-provided metadata.

Use with MedDeID

pip install meddeid
from meddeid import Deidentifier

engine = Deidentifier.from_pretrained(
    "stighellemans/meddeid-dutch-synth",
    device="cpu",
)
result = engine("Patiënt Jan Voorbeeld kwam op controle.")
print(result.spans)
print(result.deid_text)

The first normal MedDeID call downloads and caches this self-contained bundle automatically. For an air-gapped installation or TensorRT export, pre-stage the complete repository once:

hf download stighellemans/meddeid-dutch-synth \
  --local-dir ./meddeid-dutch-synth
meddeid deidentify note.txt \
  --model ./meddeid-dutch-synth --device cpu

The normal Hugging Face cache is reused automatically. --offline is optional and only enforces that no network check may occur; it is unnecessary for an existing local model directory.

The canonical prediction container is always spans.

Architecture and training

The model uses the RobBERT-2023 Dutch encoder with two classification heads: three-way BIO span detection and 14-way entity classification. It processes overlapping 512-token windows with a 64-token overlap. Epoch selection used a user-created development partition; the final model was reinitialised and fit for 17 epochs on all 6,493 published corpus documents. The self-contained export pins RobBERT revision 1164b2df6d3ceb1735900c839da8de9bad1a99f9.

Evaluation

The accompanying manuscript reports the following metadata-enabled results:

Evaluation set Core PII recall Non-PII redaction rate
Hospital benchmark, 300 real notes (not public) 96.7% 0.85%
Public synthetic benchmark, 300 notes 99.8% 0.28%
External primary-care set, 100 real notes (not public) 90.3% 1.37%

These point estimates are specific to the study datasets and evaluation pipeline. Synthetic-benchmark performance must not be interpreted as an estimate of performance on real clinical text.

Metadata-assisted recovery

The versioned Dutch post-processing profile can use trusted patient_name, caregiver_names, and caller-asserted known_values metadata. Metadata is not fed to the transformer; it deterministically recovers matching names or values after neural decoding. On the hospital benchmark, core-PII recall was 95.2% without metadata and 96.7% with metadata, while non-PII redaction rose from 0.780% to 0.846%. On the synthetic benchmark the result was unchanged; on the primary-care benchmark recall rose from 89.9% to 90.3%. Sites should therefore validate both recall and specificity with their own metadata quality.

result = engine(
    "Patiënt Jan Peeters belde 0470 12 34 56.",
    metadata={
        "lang": "nl-BE",
        "patient_name": {"given_name": "Jan", "family_name": "Peeters"},
        "known_values": [
            {"value": "0470 12 34 56", "label": "Contactdetails"}
        ],
    },
)

Files and reproducibility

  • model.safetensors: model weights;
  • bundle.json: labels, windowing, language-profile and post-processing contract;
  • config.json and tokenizer files: self-contained RobBERT configuration;
  • CHECKSUMS.sha256: file integrity;
  • LICENSE: MedDeID software licence.

The repository exposes only the current default model. Reproducible deployments should pin the immutable Hub commit SHA rather than relying on mutable tags.

Project and institutional context

Developed by Stig Hellemans, Tom Stroobants, Elyne Scheurwegs, Pieter Meysman, Philippe Jorens and Kris Laukens at the University of Antwerp and Antwerp University Hospital (UZA). This work is supported by a Research Foundation Flanders (FWO) SB Fellowship, grant 1SA3226N.

Author ORCIDs: Stig Hellemans, Tom Stroobants, Elyne Scheurwegs, Pieter Meysman, Philippe Jorens, and Kris Laukens.

Citation

@software{hellemans_2026_meddeid_dutch_synth,
  author    = {Hellemans, Stig and Stroobants, Tom and Scheurwegs, Elyne and Meysman, Pieter and Jorens, Philippe and Laukens, Kris},
  title     = {meddeid-dutch-synth},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/stighellemans/meddeid-dutch-synth}
}

For reproducible reporting, include the immutable model revision, MedDeID package version, language-profile version, and evaluation configuration.

Licence

The model weights and bundled MedDeID software are licensed under AGPL-3.0-only. The RobBERT base model remains subject to its own licence and attribution terms.

Downloads last month
35
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Datasets used to train stighellemans/meddeid-dutch-synth

Space using stighellemans/meddeid-dutch-synth 1

Collection including stighellemans/meddeid-dutch-synth