Ga naar inhoud

Master Validatieprotocol

Versie 1.0.0 -- mei 2026

Dit document beschrijft het overkoepelende validatiekader voor de medicatiebeoordeling-module van Remedice.

1. Doel

Validatie van de klinische prestaties en technische correctheid van de analyse-modules en dataverwerking binnen de MDR-scope, ter onderbouwing van de klinische evaluatie en het technisch dossier.

2. Onderscheid: technische verificatie vs. klinische validatie

Type Vraag Methode Wanneer
Technische verificatie Doet de code wat het algoritme voorschrijft? Unit tests, referentiesets, encoding review Bij elke release, bij databron-update
Klinische validatie Zijn de klinische uitkomsten correct voor echte patienten? Vergelijking met gold standard (expert-oordeel) Bij eerste marktintroductie, bij wezenlijke wijzigingen

3. Waarom per databron afzonderlijk testen?

Elke databron heeft een andere oorsprong, updatefrequentie en foutmodus:

Databron Oorsprong Foutmodus
G-Standaard Z-Index (KNMP), autoritatief Lookup-fout (fuzzy matching)
stop-v2.json Handmatig geencodeerd uit publicatie Encodingfout, interpretatieverschil
acb.json Handmatig geencodeerd uit publicatie Ontbrekende mapping, verouderde bron
standaardvragen_base.json KNMP-richtlijnen + klinische ervaring Verouderde regel, onjuiste trigger
SideEffectFrequency Gescraped van Farmacotherapeutisch Kompas Scrape-fout, verouderde data
maagbescherming_nsaid.json, maagbescherming_salicylaat.json NHG/KNMP-richtlijnen Onjuiste risicofactor, missende regel
AIS-parsers (Medimo, Sanday, Pharmacom, CGM) AIS-specifieke exports Parser-fout, naamafwijking, PDF-extractie-artefact
Atlas (LLM-component) Generatieve modeluitvoer, RAG-grounding Hallucinatie, prompt-injectie, off-license advies, citatie-fout

Een gecombineerde test kan niet isoleren WAAR een fout optreedt. Door per bron te testen, is de oorzaak direct traceerbaar.

Uitzondering: De klinische validatie (STOPP-NL, maagbescherming) test het eindresultaat - daar maakt het niet uit welke bron een trigger veroorzaakt. Het gaat erom of het totaalbeeld klopt.

4. Overzicht validatiestudies

# Studie Type Steekproef Onderbouwingsmethode Acceptatiecriterium Protocol
V1a G-Standaard ATC lookup Technische verificatie 100 geneesmiddelnamen (gestratificeerd 50/25/25) Precisieberekening (Clopper-Pearson); overall 95% BI halve breedte < 5% >= 99% exact, >= 95% fuzzy protocol_gstandaard.md
V1b AIS-integratievalidatie Integratievalidatie >= 10 overzichten, >= 100 medicatieregels per AIS Precisieberekening per meetpunt; clustereffect-correctie (ICC) Parser >= 98%, auto-match >= 90%, totale dekking >= 98% protocol_ais_integratie.md
V2 STOPP-NL V2 Klinische validatie (pilot) 60 patienten 65+ (~120 criterium-patient triggers) Precisieberekening + powerberekening (power > 99% voor H0: sens <= 0.70 bij n_eff=120) Sensitiviteit >= 85% overall protocol_stopp.md
V3 ACB-score Encoding + algoritme 100% encoding + 20 testcases 100% encoding review + equivalentieklasse-partitionering (IEC 62304); 100% decision coverage 100% concordantie protocol_acb.md
V4 Dubbelmedicatie Technische verificatie 20 testcases (6 equivalentieklassen) Equivalentieklasse-partitionering (IEC 62304); 100% decision coverage 100% concordantie protocol_dubbelmedicatie.md
V5 Standaardvragen Encoding + logica 100% encoding + 40 testcases (5 regeltypes + negatief) 100% encoding review + logica-dekkingsanalyse (IEC 62304); ~8 cases per regeltype 100% logica, klinische goedkeuring protocol_standaardvragen.md
V6 Bijwerkingen-heatmap Technische verificatie 15 geneesmiddelen (~225 observaties) Precisieberekening op observatieniveau; 95% BI halve breedte < 4% >= 95% accuratesse protocol_bijwerkingen.md
V7 Maagbescherming Klinische validatie (pilot) 40 NSAID-patienten (~16 positieven) Precisieberekening + powerberekening (power 95% voor H0: sens <= 0.50 bij n_eff=16) Sensitiviteit >= 85%, specificiteit >= 75% protocol_maagbescherming.md
V8 Klinische meerwaarde Vergelijkende studie (beschrijvend) 30 patienten (subset V2, ~120-240 signalen) Precisieanalyse: gemiddelde additionele signalen met 95% BI halve breedte < 0.6 Beschrijvend -- geen drempel protocol_klinische_meerwaarde.md
V9 Atlas LLM-veiligheid Hybride (deterministische guardrails + hallucinatie-pilot + citation-check) 60 guardrail-cases + 50 hallucinatie-vragen (3x runs) + 20 citation-antwoorden Precisieberekening (Clopper-Pearson) per fase Refusal >= 95%, hallucinatie <= 10%, PII-leakage 0%, citation-precision >= 90% protocol_atlas.md

5. Steekproefonderbouwing -- methodologisch kader

5.1 Onderscheid in onderbouwingsmethode

De validatiestudies vallen in drie categorieen met elk een eigen onderbouwingsmethode:

Categorie Studies Methode Rationale
Proportie-schatting V1a, V1b, V6 Precisieberekening (Clopper-Pearson exact binomiaal) Doel is het schatten van een proportie (match rate, accuratesse) met voldoende precisie om de acceptatiedrempel te evalueren
Diagnostische accuratesse V2, V7 Precisieberekening + powerberekening (exact binomiaal) Doel is het schatten van sensitiviteit/specificiteit en het uitsluiten van klinisch onacceptabele prestaties
Deterministische verificatie V3, V4, V5 Equivalentieklasse-partitionering + decision coverage (IEC 62304) Doel is 100% coverage van alle beslissingspaden; statistische steekproeftrekking is niet van toepassing
Beschrijvende studie V8 Precisieanalyse rond gemiddelden en proporties Geen hypothesetoetsing; doel is het kwantificeren van meerwaarde met voldoende precisie voor klinische interpretatie
Hybride (LLM-component) V9 Deterministische guardrails + precisieberekening voor hallucinatie/citatie LLM-output is stochastisch; veiligheidseigenschappen worden deterministisch afgedwongen, kwaliteitseigenschappen probabilistisch geschat

5.2 Gekozen betrouwbaarheidsniveau

Alle precisieberekeningen gebruiken 95%-betrouwbaarheidsintervallen (Clopper-Pearson exact binomiaal voor proporties, t-verdeling voor gemiddelden). Dit is het standaardniveau in klinische validatiestudies en wordt verwacht door Notified Bodies bij MDR-conformiteitsbeoordeling.

5.3 Pilot-positionering

De klinische validatiestudies (V2, V7, V8) zijn gepositioneerd als pilot-validaties. Dit is verdedigbaar vanwege:

  1. Deterministisch karakter: De analyse-algoritmen zijn regelgebaseerd, niet probabilistisch. De kans op variabele prestaties tussen patienten is inherent lager dan bij machine learning-gebaseerde systemen.
  2. Gelaagde verificatie: De encoding is 100% geverifieerd (Fase 1 van V2, V3, V5, V7). De klinische pilot (Fase 2) test uitsluitend de end-to-end integratie, niet de onderliggende regels.
  3. Post-market uitbreiding: Het post-market surveillance plan beschrijft de systematische uitbreiding van de steekproef bij routinegebruik.
  4. Regulatory precedent: MDCG 2020-1 en MEDDEV 2.7/1 rev. 4 ondersteunen een gefaseerde aanpak voor Klasse IIa software als medisch hulpmiddel.

6. Beoordelaars

6.1 Beoordelaars

Encoding reviews en klinische beoordelingen worden uitgevoerd door twee onafhankelijke klinisch apothekers die niet betrokken zijn bij de ontwikkeling van Remedice.

  • Encoding verificatie: Beide apothekers reviewen alle criteria onafhankelijk. Discrepanties worden besproken tot consensus.
  • Klinische validatie (STOPP-NL, maagbescherming): Apotheker A beoordeelt alle patienten (gold standard). Apotheker B beoordeelt een subset van minimaal 20 patienten voor inter-rater reliability (Cohen's kappa).
  • Overige technische verificaties: Kunnen door 1 apotheker worden uitgevoerd (testcases op deterministisch algoritme).

6.2 Onderbouwing

Twee beoordelaars versterken de validatie:

  • Inter-rater reliability is meetbaar, wat de geloofwaardigheid richting een Notified Body verhoogt
  • De encoding review met 2 onafhankelijke reviewers minimaliseert de kans op gemiste fouten
  • De beoordelingscriteria zijn gestandaardiseerd (gepubliceerde richtlijnen), wat een hoge inter-rater agreement voorspelbaar maakt

7. Algemene eisen

7.1 Datakwaliteit

  • Patientdata is geanonimiseerd conform AVG
  • Retrospectieve data uit bestaande AIS-exports (geen prospectieve dataverzameling nodig)
  • Databronnen geversioneerd en vastgelegd

7.2 Documentatie

  • Elk protocol specificeert: design, populatie, steekproefonderbouwing, meetpunten, acceptatiecriteria
  • Resultaten worden gedocumenteerd in afzonderlijke resultatenrapporten
  • Afwijkingen van het protocol worden gedocumenteerd met onderbouwing

7.3 Hervalidatie

Hervalidatie is vereist bij:

  • Wezenlijke wijziging van analyse-logica
  • Update van klinische databron die de encodering wijzigt
  • Toevoeging van een nieuw AIS-systeem (V1b hervalidatie voor het nieuwe systeem)
  • Wezenlijke wijziging van een bestaande AIS-parser
  • Incidenten die twijfel doen rijzen over de klinische prestaties

7.4 Versioning van databronnen

Elke validatie-uitvoering legt vast welke versie van de onderliggende databron is gevalideerd. Dit waarborgt traceability tussen rapport en gevalideerde toestand. Per studie wordt in het resultatenrapport opgenomen:

Databron Versie-identificator
acb.json Git commit-hash op het moment van de run
stop-v2.json Git commit-hash op het moment van de run
standaardvragen_base.json Git commit-hash op het moment van de run
maagbescherming_nsaid.json, maagbescherming_salicylaat.json Git commit-hash op het moment van de run
lookup.db (G-Standaard) Z-Index publicatiemaand + bouwdatum van lookup.db
Atlas-systeemprompt SHA-256 van de prompt-tekst op het moment van de run
Atlas-model Modelnaam + tier (bv. claude-sonnet-4-6 voor Pro of claude-haiku-4-5 voor Fast)

De rapport-helper (backend/features/medicatiebeoordeling/tests/validation_report.py) verzamelt deze metadata automatisch bij elke run.

Wijziging van een databron triggert hervalidatie van de bijbehorende studies (zie 7.5).

7.5 Hervalidatie-triggers per studie

Trigger Welke studies
G-Standaard maandupdate (Z-Index) V1a, V1b (alle AIS), V6 (indien grouping-tabel raakt)
acb.json wijziging V3
stop-v2.json wijziging V2
standaardvragen_base.json wijziging V5
maagbescherming_*.json wijziging V7
AIS-parser wijziging V1b voor het betreffende AIS
Nieuwe AIS-parser V1b voor het nieuwe systeem
Bijwerkingen-scraper of -groupering wijziging V6
Atlas-systeemprompt wijziging V9
Atlas-modelwissel V9
Atlas-tooluitbreiding (nieuwe RAG-bron, nieuwe tool) V9
Wezenlijke wijziging analyse-logica Betreffende V-studie
Klinisch incident in post-market surveillance Betreffende V-studie + relevante encoding-review