anonym.legal

By · Last updated 2026-06-05

Terug naar BlogGDPR & Naleving

Denemarken CPR: modulus-11-validatie voor AVG-naleving

67% van de NLP-tools mist de Deense CPR-nummer modulus-11-validatie. Datatilsynet nam in 2024 14 handhavingsmaatregelen in de gezondheidszorg. Secundair gebruik van gezondheidsdata.

June 5, 20267 min lezen
Denmark DatatilsynetCPR modulus-11Danish healthcare GDPRhealth data anonymizationNordic compliance

Deense CPR-nummers: AVG-nalevingsgids

Bijgewerkt voor 2026

De Deense gegevensbeschermingstoezichthouder, Datatilsynet, heeft in 2024 31 AVG-beslissingen genomen. Veertien hadden betrekking op gezondheidsdata. Dat hoge aandeel weerspiegelt twee feiten: Denemarken exploiteert een groot nationaal gezondheidssysteem, en technische tekortkomingen in dat systeem blijven patiëntgegevens blootstellen.

De controlecijferregel voor CPR-nummers

Een CPR-nummer is het persoonlijke ID van Denemarken. Het bestaat uit 10 cijfers in het formaat DDMMJJ-XXXX. De eerste zes cijfers zijn de geboortedatum. De laatste vier zijn een code plus een controlecijfer.

Het controlecijfer maakt gebruik van een modulus-11-regel:

  1. Neem cijfers 1 tot 9.
  2. Ken elk een gewicht toe: 4, 3, 2, 7, 6, 5, 4, 3, 2.
  3. Vermenigvuldig elk cijfer met zijn gewicht. Tel alle uitkomsten op.
  4. Deel door 11. Noteer de rest.
  5. Rest 0 → controlecijfer is 0.
  6. Rest 1 → het nummer is niet geldig.
  7. Rest 2–10 → controlecijfer is 11 min de rest.

Deze regel is van belang voor elke tool die CPR-nummers scant. Sommige DDMMJJ-XXXX-reeksen kunnen nooit geldig zijn. Tools die deze stap overslaan, markeren data, factuurcodes en referentienummers als echte ID's.

De beoordeling van de autoriteit uit 2024 toonde aan dat 67% van de generieke NLP-tools deze controle overslaat. Dat hiaat is de belangrijkste technische tekortkoming in haar gezondheidszorgzaken.

De vijf gezondheidsregisters van Denemarken

Denemarken koppelt gezondheidsdata via vijf nationale registers. Het persoonlijke ID verbindt alle vijf.

  • Ziekenhuisontlagregistraties (vanaf 1977)
  • Receptgegevens (vanaf 1995)
  • Kankerregister (vanaf 1943)
  • Register oorzaak van overlijden (vanaf 1970)
  • Huisartsdiagnoses (vanaf 1990)

Dit maakt Deens gezondheidsonderzoek zeer waardevol. Het creëert ook risico's. Verwijdering van het onbewerkte ID is niet voldoende. Een dataset die nog steeds leeftijd, geslacht, diagnose en jaar bevat, kan mensen opnieuw blootstellen — met name degenen met zeldzame aandoeningen.

De richtsnoeren van Datatilsynet uit 2024 over secundair gebruik van gezondheidsdata stellen drie vereisten.

Leg vast wat u met de data heeft gedaan: Vermeld welke velden u heeft verwijderd, welke u heeft afgerond of gegroepeerd, en welke groepsgrootte de uitvoer bereikt. Een beleidsnotitie voldoet niet aan deze standaard.

Laat grote datasets extern controleren: Voor datasets met meer dan 5.000 personen beveelt de autoriteit een onafhankelijke technische beoordeling van de de-identificatiestappen aan.

Stem de data af op de vraag: De dataset moet passen bij het aangegeven onderzoeksdoel. De autoriteit heeft gevallen aangetroffen waarbij teams volledige nationale registers gebruikten terwijl een kleinere steekproef had volstaan.

Zie onze EU nationale ID-detectiegids voor hoe controlecijferregels van toepassing zijn op andere Europese ID-formaten.

Wat de 2024-zaken hebben uitgewezen

De 14 gezondheidszorgzaken delen drie gemeenschappelijke tekortkomingstypen.

Delen van onderzoeksdata: Een ziekenhuis stuurt een gede-identificeerde patiëntdataset naar een academische partner voor AI-training. De set bevat geboortedatumonderdelen, diagnosecodes en behandeldatums. De autoriteit oordeelt dat deze combinatie patiënten met zeldzame ziekten opnieuw blootstelt. Ongewone diagnoses versmallen de groep snel.

AI-diensten van derden: Een gezondheidstechbedrijf stuurt patiëntnota's naar een Amerikaanse AI-dienst voor klinische dossierverwerking. Persoonlijke ID's in die nota's worden niet eerst verwijderd. Er is geen geldig transfermechanisme.

Hiaten in OCR-pijplijnen: Een verzekeraar verwerkt gescande PDF-formulieren voor arbeidsongeschiktheidsclaims. De OCR-tool zet afbeeldingen om naar tekst. Maar er worden geen controlecijfercontroles uitgevoerd op de uitvoer. Veel ID's worden gemist.

OCR voegt vaak spaties in midden in een nummer of verschuift het koppelteken. Eenvoudige patroonherkenning werkt niet op die uitvoer. Detectie moet werken op OCR-tekst, niet alleen op nette invoer. Zie onze OCR-gezondheidszorgdetectiegids voor stappen om gescande documenten te verwerken.

Drie technische vereisten

Deze drie elementen vormen de basis voor Deense zorgvuldigheids-AVG-naleving in de gezondheidszorg.

Controlecijfercontroles op alle tekst: Voer de volledige modulus-11-controle uit op elke kandidaatreeks. Pas dit toe op zowel nette tekst als OCR-uitvoer.

Deenstalige naamdetectie: Gebruik een model dat getraind is op Deense tekst. Het spaCy da_core_news-model is één optie. Een generiek Engelstalig model mist Deense persoonsnames en organisatienamen.

De-identificatieregisters: Leg vast wat er is verwijderd, wat er is gegroepeerd en welke groepsgrootte de uitvoer bereikt. De autoriteit vraagt dit in technische vorm, niet als beleidsnotitie.

Voor gegevens over de kosten van incidenten met gezondheidsdata, zie onze analyse van inbreukkosten in de gezondheidszorg.

Bronnen

Klaar om uw gegevens te beschermen?

Begin met het anonimiseren van PII met 285+ entiteitstypen in 48 talen.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.