anonym.legal

By · Last updated 2026-06-05

Назад до блогуGDPR та відповідність

Данія CPR: перевірка за модулем 11 для GDPR

67% NLP-інструментів пропускають данську перевірку CPR-номера за модулем 11. 14 виконавчих дій Datatilsynet у сфері охорони здоров'я у 2024 році. Вторинне використання медичних даних.

June 5, 20267 хв читання
Denmark DatatilsynetCPR modulus-11Danish healthcare GDPRhealth data anonymizationNordic compliance

Данія CPR-номери: посібник з відповідності GDPR

Оновлено для 2026 року

Данський регулятор захисту даних Datatilsynet виніс 31 рішення за GDPR у 2024 році. Чотирнадцять стосувалися медичних даних. Висока частка відображає два факти: Данія управляє великою національною системою охорони здоров'я, а технічні прогалини в цій системі продовжують розкривати записи пацієнтів.

Правило контрольної цифри для CPR-номерів

CPR-номер — це персональний ідентифікатор Данії. Він складається з 10 цифр у форматі ДДММРР-XXXX. Перші шість цифр — дата народження. Останні чотири — код плюс контрольна цифра.

Для контрольної цифри застосовується правило модуля 11:

  1. Беруть цифри з 1 по 9.
  2. Кожній присвоюють вагу: 4, 3, 2, 7, 6, 5, 4, 3, 2.
  3. Кожну цифру множать на її вагу. Додають усі результати.
  4. Ділять на 11. Записують остачу.
  5. Остача 0 → контрольна цифра дорівнює 0.
  6. Остача 1 → номер недійсний.
  7. Остача 2–10 → контрольна цифра = 11 мінус остача.

Це правило важливе для будь-якого інструменту, що сканує CPR-номери. Деякі рядки формату ДДММРР-XXXX ніколи не можуть бути дійсними. Інструменти, що пропускають цей крок, позначають дати, коди рахунків-фактур і довідкові номери як реальні ідентифікатори.

Огляд органу 2024 року показав, що 67% загальних NLP-інструментів пропускають цю перевірку. Ця прогалина є головним технічним порушенням у його медичних справах.

П'ять медичних реєстрів Данії

Данія поєднує медичні дані через п'ять національних реєстрів. Особистий ідентифікатор пов'язує всі п'ять між собою.

  • Записи про виписку з лікарні (з 1977 року)
  • Дані про рецепти (з 1995 року)
  • Реєстр онкологічних захворювань (з 1943 року)
  • Реєстр причин смерті (з 1970 року)
  • Первинні діагнози (з 1990 року)

Це робить данські медичні дослідження дуже потужними. Але й породжує ризик. Видалення необробленого ідентифікатора недостатньо. Набір даних, що все ще містить вік, стать, діагноз і рік, може повторно ідентифікувати людей — особливо тих, хто має рідкісні захворювання.

Керівництво Datatilsynet 2024 року щодо вторинного використання медичних даних встановлює три вимоги.

Задокументуйте, що ви зробили з даними: перерахуйте, які поля видалили, які округлили або згрупували, та якого розміру груп досягнув результат. Зауваження у вигляді задекларованої політики не відповідає цьому стандарту.

Проведіть незалежний огляд для великих наборів: для наборів даних понад 5 000 осіб орган рекомендує незалежну технічну перевірку кроків деідентифікації.

Відповідайте даними меті: набір даних має відповідати заявленій меті дослідження. Орган виявив випадки, коли команди використовували повні національні реєстри, тоді як підійшла б менша вибірка.

Дивіться наш посібник з виявлення EU national ID про те, як правила контрольних цифр застосовуються до інших европейських форматів ідентифікаторів.

Що виявили справи 2024 року

Серед 14 медичних справ виділяються три поширені типи порушень.

Обмін даними для досліджень: лікарня надсилає деідентифікований набір пацієнтських даних академічному партнеру для навчання ШІ. Набір містить частини дати народження, коди діагнозів і дати лікування. Орган встановлює, що ця комбінація повторно ідентифікує пацієнтів із рідкісними захворюваннями. Незвичні діагнози різко звужують пул.

Сторонні AI-сервіси: медтех-компанія надсилає нотатки про пацієнтів до американського AI-сервісу для роботи з клінічними записами. Особисті ідентифікатори в цих нотатках попередньо не видаляються. Відсутній дійсний механізм передачі.

Прогалини в OCR-конвеєрі: страховик обробляє відскановані PDF-форми для претензій з інвалідності. Його OCR-інструмент конвертує зображення в текст. Але він не виконує перевірку контрольної цифри для вихідних даних. Багато ідентифікаторів пропускається.

OCR часто вставляє пробіли всередині номера або зміщує дефіс. Просте зіставлення шаблону ламається на таких вихідних даних. Виявлення повинно працювати на OCR-тексті, а не лише на чистих вхідних даних. Дивіться наш посібник з виявлення PII при OCR для охорони здоров'я для кроків обробки відсканованих документів.

Три технічні обов'язкові вимоги

Ці три елементи складають основу для дотримання GDPR у датській охороні здоров'я.

Перевірка контрольної цифри для всього тексту: виконувати повну перевірку за модулем 11 для кожного рядку-кандидата. Застосовувати її як до чистого тексту, так і до OCR-вихідних даних.

Виявлення імен на датській мові: використовувати модель, навчену на датському тексті. Одним із варіантів є модель spaCy da_core_news. Загальна англійська модель пропускає данські імена та назви організацій.

Записи про деідентифікацію: задокументувати, що було видалено, що згруповано та якого розміру груп досягнув результат. Орган вимагає це в технічній формі, а не як нотатку щодо політики.

Дані про вартість інцидентів із медичними даними дивіться в нашому аналізі витрат на витоки в охороні здоров'я.

Джерела

Готові захистити свої дані?

Почніть анонімізувати PII з 285+ типами сутностей на 48 мовах.

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.