Validatieprotocol: Maagbescherming
Versie 1.0.0 -- mei 2026
1. Doel
Klinische validatie (pilot) van het maagbeschermings-risicoalgoritme: bevestigen dat de software de behoefte aan maagbescherming bij NSAID-gebruikers correct beoordeelt, vergeleken met het oordeel van een klinisch apotheker.
2. Type studie
Fase 1: Encoding verificatie (mapping naar bronrichtlijn) Fase 2: Klinische pilot-validatie
3. Fase 1 - Encoding verificatie
3.1 Methode
Het algoritme bestaat uit twee deelanalyses met elk een eigen databestand:
- ZP-1 (NSAID):
maagbescherming_nsaid.json- risico-inschatting bij NSAID-gebruik. - ZP-2 (salicylaat):
maagbescherming_salicylaat.json- risico-inschatting bij lage dosering acetylsalicylzuurderivaat.
Twee onafhankelijke klinisch apothekers mappen alle items in beide bestanden naar de corresponderende secties in de bron die in het version-veld van elk bestand is vastgelegd (de gepubliceerde maagbeschermings-templates), en toetsen deze aan de onderliggende richtlijnen:
- NHG-Standaard "NSAID-gebruik en preventie van maagschade" (M36)
- KNMP-richtlijn maagbescherming
Per deelanalyse worden de drempelwaarden gecontroleerd (overweeg_maagbescherming_vanaf >= 2.5, maagbescherming_gewenst_vanaf >= 3.0) en de PPI-detectie (ppi_atc_prefix = A02BC (protonpompremmers)).
3.2 Beoordelingscriteria
Per item:
- Is de risicofactor correct gecodeerd (ATC-prefix, ICPC-code, leeftijdsgrens)?
- Is het gewicht/risicoscore consistent met de richtlijn?
- Ontbreken er risicofactoren die in de richtlijn staan?
3.3 Acceptatiecriterium
100% concordantie met bronrichtlijn na correctie.
4. Fase 2 - Klinische pilot-validatie
4.1 Studiedesign
Retrospectief cohort (pilot). Vergelijking van Remedice maagbeschermings-output met handmatige beoordeling door een klinisch apotheker (gold standard).
4.2 Populatie
- Inclusiecriteria: Patienten die ten minste 1 NSAID gebruiken, beschikbaar medicatieprofiel met contra-indicaties. Het algoritme herkent NSAID's via de ATC-prefixen
M01AA,M01AB,M01AC,M01AE,M01AG,M01AXenM01AH(M01A, NSAIDs), aangevuld metM01BA(combinatiepreparaten) enN02BA(salicylaten als analgeticum). De salicylaat-deelanalyse (ZP-2) heeft een eigen scope (B01AC(trombocytenaggregatieremmers),C07FX/C10BX(combinatiepreparaten)) en valt buiten deze NSAID-pilot. - Exclusiecriteria: Onvolledige medicatieprofielen, patienten < 18 jaar
- Werving: Geanonimiseerde medicatieprofielen uit een deelnemende apotheek
4.3 Steekproefgrootte
n = 40 patienten
4.3.1 Primaire uitkomst en analyseniveau
De primaire uitkomst is een binaire classificatie per patient: maagbescherming geindiceerd (ja/nee). In tegenstelling tot de STOPP-validatie (V2, criterium-patient niveau) is hier per patient slechts een beslissing. De effectieve steekproef voor sensitiviteitsschatting is het aantal patienten met een indicatie (true positives in de gold standard).
4.3.2 Verwachte prevalentie (literatuuronderbouwing)
| Parameter | Schatting | Bron |
|---|---|---|
| Prevalentie maagbeschermingsindicatie bij NSAID-gebruikers | 35-50% | NHG-Standaard M36; Sturkenboom et al. (2003) |
| Verwacht aantal patienten met indicatie (n=40) | 14-20 | 40 * 0.40 = 16 (conservatief) |
4.3.3 Precisieberekening (primair)
Sensitiviteit (n_eff = ~16 patienten met indicatie):
| Waargenomen sensitiviteit | 95% BI (Clopper-Pearson) | Ondergrens |
|---|---|---|
| 15/16 (93.8%) | [69.8%, 99.8%] | 69.8% |
| 14/16 (87.5%) | [61.7%, 98.4%] | 61.7% |
| 16/16 (100%) | [79.4%, 100%] | 79.4% |
Het 95% BI is breed vanwege het beperkte aantal positieven. Dit is een inherente beperking van de pilot-omvang.
Specificiteit (n_eff = ~24 patienten zonder indicatie):
| Waargenomen specificiteit | 95% BI (Clopper-Pearson) | Ondergrens |
|---|---|---|
| 22/24 (91.7%) | [73.0%, 99.0%] | 73.0% |
| 21/24 (87.5%) | [67.6%, 97.3%] | 67.6% |
| 24/24 (100%) | [85.8%, 100%] | 85.8% |
De specificiteit heeft een iets smaller BI vanwege de grotere n_eff (meer negatieven dan positieven).
4.3.4 Powerberekening
Eenzijdige exacte binomiale toets op sensitiviteit:
- H0: sensitiviteit <= 0.50 (niet beter dan toeval)
- H1: sensitiviteit = 0.85 (verwacht)
- Alpha: 0.05 (eenzijdig)
- n_eff: 16
Bij n = 16 en alpha = 0.05 is het kritieke aantal k = 12 (P(X >= 12 | n=16, p=0.50) = 0.038). De power bij werkelijke sensitiviteit van 0.85 is P(X >= 12 | n=16, p=0.85) = 0.953.
Kanttekening bij strengere H0: Bij H0: sensitiviteit <= 0.70 (klinisch onacceptabel) is het kritieke aantal k = 15 en de power bij sensitiviteit 0.85 slechts P(X >= 15 | n=16, p=0.85) = 0.284. Dit betekent dat de pilot wel kan bevestigen dat het systeem ruim beter presteert dan toeval (H0: 0.50), maar onvoldoende power heeft om een sensitiviteit van 70% statistisch uit te sluiten. Dit is een bewuste beperking van de pilot-omvang. De encoding-verificatie (Fase 1, 100% review) en het deterministische karakter van het algoritme bieden aanvullende zekerheid die de beperkte statistische power compenseert. Uitbreiding naar een grotere steekproef in post-market surveillance is noodzakelijk om de sensitiviteit met voldoende precisie vast te stellen.
4.3.5 Onderbouwing als pilot
De steekproef van 40 patienten is bewust gekozen als pilot-omvang en niet als definitieve validatie. De onderbouwing:
-
Deterministisch algoritme: Het maagbeschermingsalgoritme is volledig regelgebaseerd (NHG/KNMP-richtlijnen). Er is geen machine learning of probabilistische component. Fouten ontstaan uitsluitend door encoding-fouten (afgedekt in Fase 1, 100% review) of parsing-fouten (afgedekt in V1b).
-
Beperkt aantal beslissingspaden: Het algoritme evalueert een beperkt aantal risicofactoren (leeftijd, comedicatie, ulcus-anamnese, corticosteroiden, anticoagulantia). De meeste foutmodi worden reeds gedekt door de encoding-verificatie.
-
Klinische context: Maagbescherming is een eenduidiger advies dan STOPP-criteria (binaire beslissing vs. multiple criteria). De kans op interpretatieverschillen tussen gold standard en algoritme is kleiner.
-
Post-market uitbreiding: Het post-market surveillance plan voorziet in uitbreiding van de steekproef bij routinegebruik, waarbij grotere aantallen patienten retrospectief geanalyseerd kunnen worden.
-
Regulatory context: Voor Klasse IIa onder MDR is een pilot-validatie met 100% encoding-verificatie + klinische end-to-end check een geaccepteerde route bij eerste marktintroductie (MDCG 2020-1).
4.4 Gold standard
- Apotheker A beoordeelt alle 40 profielen op maagbeschermingsbehoefte conform de NHG/KNMP-richtlijn, zonder kennis van de Remedice-output (geblindeerd). Dit is de primaire gold standard.
- Apotheker B beoordeelt een willekeurige subset van 15 profielen voor inter-rater reliability.
- Discrepanties op de subset worden besproken en gedocumenteerd.
4.5 Uitvoering
- Medicatieprofielen invoeren in Remedice
- Per patient registreren: Remedice-advies (geen actie / adviserend / gewenst), risicoscore, individuele risicofactoren
- Per patient registreren: gold standard beoordeling
- Vergelijking
4.6 Meetpunten
| Meetpunt | Definitie |
|---|---|
| Sensitiviteit | Percentage patienten met indicatie dat correct geidentificeerd wordt |
| Specificiteit | Percentage patienten zonder indicatie dat correct geclassificeerd wordt |
| PPV | Positief voorspellende waarde |
| NPV | Negatief voorspellende waarde |
| Inter-rater agreement | Cohen's kappa op de 15-subset (Apotheker A vs. B) |
4.7 Acceptatiecriteria
| Criterium | Drempel |
|---|---|
| Sensitiviteit | >= 85% |
| Specificiteit | >= 75% |
| Inter-rater agreement (kappa) | >= 0.70 |
Bij niet-halen: oorzaakanalyse, correctie, hertest.
4.8 Pre-gespecificeerde afwijkingscategorieen
Elke fout-positief en fout-negatief uit Fase 2 wordt verplicht aan een van de volgende categorieen toegewezen.
| Categorie | Definitie |
|---|---|
| Encoding-fout | Mapping in maagbescherming_*.json wijkt af van NHG/KNMP-richtlijn (ATC-prefix, ICPC-code, leeftijdsgrens of risicogewicht). |
| Parser-fout (V1b root cause) | NSAID-regel of contra-indicatie niet of incorrect geparseerd; probleem ligt in V1b. |
| Klinische context ontbreekt | Risicofactor (bijv. anamnestisch ulcus) niet in het medicatieprofiel beschikbaar. Structurele beperking. |
| Interpretatieverschil | Algoritme en apotheker classificeren risico verschillend in een grensgeval. |
| Software-bug | Logica in analyses/maagbescherming.py past regels niet correct toe ondanks correcte encoding. |
| Doseringsdata ontbreekt | Dosis niet uit medicatietekst afleidbaar; risicogewicht kan niet worden bepaald. |
4.9 Bekende beperkingen
- Risicofactoren die niet gecodeerd zijn in het medicatieprofiel (bijv. anamnestisch ulcus zonder ICPC-code) worden niet meegewogen door de software.
- NSAID-dosering wordt afgeleid uit de medicatietekst; bij ontbreken van doseringsinformatie kan de software de dosishoogte niet beoordelen.
- Inter-rater subset: Apotheker B beoordeelt slechts 15 van de 40 profielen. Uitbreiding van inter-rater data volgt in post-market surveillance.
- Pilot-omvang: breder betrouwbaarheidsinterval dan bij grotere steekproef. Uitbreiding volgt in post-market surveillance.
5. Rapportage
- Fase 1: mapping-tabel met concordantie per item
- Fase 2: 2x2 kruistabel, sensitiviteit, specificiteit, PPV, NPV met 95% BI
- Analyse van fout-negatieven en fout-positieven
- Structurele beperkingen
- Conclusie: voldoet/voldoet niet
- Aanbevelingen voor post-market surveillance