Zpět na blogZdravotnictví

De-identifikace HIPAA bez PhD z regulárních výrazů...

MRN formát každé nemocnice je jiný. Memorial používá MRN:XXXXXXX, St. Mary's používá PT-YYYYY, University Hospital používá UHXXXX.

April 20, 20266 min čtení
HIPAA de-identificationMRN patternhealthcare ITAI pattern generationPHI detection

Každá americká nemocnice nebo zdravotnické zařízení přiřazuje pacientům Medical Record Numbers (MRN). Tyto identifikátory jsou HIPAA PHI kategorie — musí být redigovány v de-identifikaci Bezpečného přístavu. Ale každé zařízení si vybírá svůj vlastní MRN formát, a tato diverzita je noční můrou při konfiguraci.

Problém diverzity MRN formátu

Běžné MRN formáty v amerických zařízeních:

  • MRN: 1234567 (čistě numerický, 7 číslic)
  • PT-447291 (prefix PT-, číslice)
  • UH-2024-44291 (University Hospital format, rok-číslo)
  • MH447291 (Memorial Hospital, MA prefix)
  • M-447291 (M prefix s pomlčkou)
  • P447291 (P prefix bez pomlčky)
  • #447291 (znak hash jako prefix)

Výzkumný projekt spojující záznamy z pěti nemocničních systémů bude mít pět odlišných MRN formátů v jednom datasetu — každý vyžadující vlastní regulární výraz pro správnou detekci.

Tradici přístup: Psaní regulárních výrazů ručně

Tradiční přístup vyžaduje technický personál schopný psát a testovat regulární výrazy:

# Memorial Hospital MRN
pattern_memorial = r"MRN:\s*[0-9]{7}"

# University Hospital MRN  
pattern_uh = r"UH-[0-9]{4}-[0-9]{5}"

# St. Mary's MRN
pattern_stmarys = r"PT-[0-9]{5,6}"

Pro ne-technický compliance personál — klinické výzkumníky, IRB personál, nemocniční privacy úředníky — psaní regex vzorů je mimo jejich schopnosti.

AI-asistované generování vzorů

Moderní AI nástroje mohou generovat regex vzory z příkladů v přirozeném jazyce. Místo psaní regex, compliance personál poskytuje příklady:

Prompt pro AI: „Potřebuji regulární výraz pro detekci Medical Record Numbers v tomto formátu: MRN: 1234567 nebo MRN:7654321 nebo MRN: 0001234. Číslo je vždy 7 číslic, je vždy předcházeno 'MRN:' s volitelnou mezerou."

AI generovaný výstup:

Vzor: MRN:\s*[0-9]{7}
Popis: Shody MRN: prefix, volitelná mezera, pak přesně 7 číslic
Testovací případy: MRN:1234567 ✓, MRN: 7654321 ✓, MRN:0001234 ✓

Konfigurace v nástrojích PII: Jakmile máte regex, konfigurujte vlastní rekognizér v Presidiu nebo ekvivalentním nástroji:

from presidio_analyzer import Pattern, PatternRecognizer

mrn_pattern = Pattern(
    name="memorial_hospital_mrn",
    regex=r"MRN:\s*[0-9]{7}",
    score=0.95
)

mrn_recognizer = PatternRecognizer(
    supported_entity="US_MEDICAL_RECORD_NUMBER",
    patterns=[mrn_pattern],
    context=["patient", "record", "medical", "záznam", "pacient"]
)

Testování a validace

Po konfiguraci vlastního vzoru MRN je testování kritické před produkčním nasazením:

Test sada: Vytvořte testovací dokumenty se:

  • Platnými MRN v každém formátu (pozitivní případy)
  • Podobně vypadajícími čísly, která NEJSOU MRN (záporné případy): čísla telefonů, datumy, kódy objednávek
  • MRN v různých kontextech: v tabulkách, v větách, v záhlavích

Metriky přesnosti:

  • Sensitivity (recall): jaké procento skutečných MRN je detekováno?
  • Specificity: jaké procento non-MRN čísel je správně přeskočeno?
  • HIPAA de-identifikace vyžaduje vysokou sensitivity — přehlédnutý MRN je selhání de-identifikace

Zdroje:

Připraveni chránit svá data?

Začněte anonymizovat PII s více než 285 typy entit ve 48 jazycích.