Ga naar inhoud

Validatieprotocol: Dubbelmedicatie

Versie 1.0.0 - juni 2026

1. Doel

Verificatie van de correcte werking van de dubbelmedicatie-detectie. De detectie draait op twee signalen uit de G-Standaard:

  • BST671 (gecureerde dubbelmedicatie-paren op productniveau, PRK): vangt twee middelen die elkaar dubbel geven, ook over de ATC5-grens heen.
  • Stamnaam-backstop (BST715 / BST750, salt-collapsed): vangt dezelfde werkzame stof onder twee namen en de overlap van een combinatiepreparaat met een los component. De backstop telt alleen werkzame stoffen (G-Standaard werkzaam/hulpstof-indicator, BST715 GNMWHS), zodat een gedeelde hulpstof geen fout-positief geeft.

2. Type studie

Technische verificatie met testcases. Deterministisch algoritme op een vaste G-Standaard-uitgave, geen klinische validatie nodig.

3. Testontwerp

17 testcases verdeeld over de beslissingspaden van de detectie:

Categorie Aantal Verwacht resultaat
Cross-stof BST671-paren 5 Dubbeling gedetecteerd (type "groep")
Zelfde werkzame stof / combinatie 3 Dubbeling gedetecteerd (type "stof")
Geen dubbeling (andere klasse, bewuste combinatie, gedeelde hulpstof) 5 Geen dubbeling
Randgevallen en polyfarmacie 4 Correct gedrag (leeg, een middel, exacte duplicate, een dubbeling tussen meerdere)

4. Uitvoering

Per testcase wordt de medicatielijst door analyse_dubbelmedicatie gehaald tegen de echte lookup.db. De cluster-handtekening (type + betrokken middelen) wordt vergeleken met de gold-standard. Een exacte duplicate (zelfde naam en gebruik) is een data-artefact en wordt voor de detectie samengevouwen.

5. Acceptatiecriterium

100% concordantie met de gold-standard. Deterministisch algoritme.

6. Steekproefonderbouwing

6.1 Methode

Equivalentieklasse-partitionering conform IEC 62304:2006. Bij een deterministisch algoritme met binaire uitkomst (dubbeling ja/nee, plus het type) is het doel volledige beslissingspadcoverage, niet het schatten van een foutproportie.

6.2 Dekkingsanalyse

Beslissingspad Testcases Dekking
BST671-paar gevonden (cross-stof, "groep") 5 Basale detectie, inclusief de ATC5-grens (benzodiazepinen) en drie middelen als drie paarsgewijze relaties
Stamnaam-overlap (zelfde werkzame stof, "stof") 3 Zelfde stof onder twee namen, combinatie plus mono, zelfde naam met ander gebruik
Andere klasse / bewuste combinatie 3 Specificiteit: betablokker + NSAID, DAPT, twee verschillende vitamine-D-stoffen blijven ongeflagd
Werkzaam/hulpstof-filter 1 Een gedeelde hulpstof (macrogol in een creme) geeft geen dubbeling
Per-relatie clustering (zie 3 SSRI's) Geen transitieve samenvoeging tot een mega-cluster
Randgevallen (leeg, een middel, exacte duplicate, polyfarmacie) 4 Grenswaarden, dedup van data-artefacten, een dubbeling tussen meerdere middelen
Totaal 17 100% beslissingspaden

6.3 Onderbouwing van het aantal

  • Het algoritme is deterministisch op een vaste G-Standaard-uitgave; er zijn geen probabilistische componenten.
  • De equivalentieklassen dekken de scenario's die in de praktijk voorkomen. De cross-stof-klasse test de winst van BST671 boven een ATC5-heuristiek (benzodiazepinen over de ATC5-grens). De werkzaam/hulpstof-klasse test de belangrijkste fout-positief-bron (een gedeelde hulpstof).
  • De per-relatie clustering (drie SSRI's worden drie paren, geen samengevoegde groep) borgt dat een gedeeld bestanddeel nooit ongerelateerde middelen aan elkaar koppelt.
  • Conform IEC 62304 en IEEE 829 is bij deterministische software-verificatie 100% decision coverage de standaard, niet statistische steekproeftrekking.

7. Rapportage

Per testcase: invoer, verwachte output, werkelijke output, pass/fail. Het rapport wordt gegenereerd in tests/validation_reports/V4.md.