Files
triqura-ecd/docs/roadmap/roadmap-intent-driven-epd-screening-intake.md
colinislit 6c6dae5eb7 feat(cortex): enhance intake workflow with new navigation and status features
- Introduced new navigation handler for intake_navigeer intent, allowing users to navigate to specific patient intake pages.
- Added intake status display to show completion percentage and section checklist.
- Updated action-parser schema to include new intake intents and improved routing for better user experience.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-10 12:26:33 +01:00

1090 lines
69 KiB
Markdown

# Roadmap: Intent-Driven EPD voor Screening & Intake
**Document:** Strategische Roadmap
**Versie:** 1.0
**Datum:** 2026-02-04
**Auteurs:** Business Development, Product Management, Consultancy
**Bron:** Stakeholder Sessie (11 rollen, zie `stakeholder-sessie-intake-intents.md`)
**Technische basis:** Cortex V2 PRD (zie `docs/intent/prd-cortex-v2.md`)
---
## Executive Summary
Dit document beschrijft de roadmap voor de ontwikkeling van een intent-driven EPD-module voor screening en intake in de GGZ. De kern: **spraak- en tekstgestuurde interactie** die clinici in staat stelt om informatie op te vragen en vast te leggen zonder door menu's te navigeren.
### Kernboodschap
> **"De cliënt vertelt zijn verhaal één keer. De keten onthoudt het."**
De huidige situatie: een cliënt vertelt zijn verhaal gemiddeld 4-5 keer (huisarts, screener, intaker, psychiater, behandelaar). De ambitie: maximaal 1-2 keer.
### Business Case Samenvatting
| Metric | Huidige situatie | Doelstelling | Impact |
|--------|------------------|--------------|--------|
| Voorbereidingstijd behandelaar | 30+ min/cliënt | <15 min | **50% reductie** |
| Verslaglegging na intake | 45 min/intake | 15 min | **67% reductie** |
| Doorlooptijd intake-afsluiting | 5-7 dagen | 1-2 dagen | **70% sneller** |
| Keren dat cliënt verhaal vertelt | 4-5x | 1-2x | **Betere cliëntervaring** |
---
## Strategische Context
### Waarom nu?
1. **Technologie is rijp** - LLM's kunnen betrouwbaar intent-classificatie en samenvatting doen
2. **Arbeidsmarkt is krap** - Efficiëntie nodig om met minder mensen meer te doen
3. **Cliëntverwachtingen stijgen** - "Waarom moet ik alles opnieuw vertellen?"
4. **Wachtlijsten drukken** - Elke minuut die vrij komt kan naar zorg
### Positionering
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ MARKTPOSITIONERING │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Traditioneel EPD Intent-Driven EPD Volledig AI-EPD │
│ ────────────────── ───────────────── ────────────── │
│ • Menu-gedreven • Spraak/tekst-gestuurd • AI schrijft zelf │
│ • Formulier-based • Intent-based • Autonome beslissing │
│ • Click-intensief • Conversationeel • Minimale input │
│ │
│ ◄─────────────────── WIJ ───────────────────► │
│ │
│ Veilig, gevalideerd, Efficiënt én menselijk Te vroeg, te risicovol│
│ maar inefficiënt Clinicus blijft in control Privacy-zorgen │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## De Keten: Van Verwijzing tot Behandeling
### Procesoverzicht
```
FASE 1 FASE 2 FASE 3 FASE 4 FASE 5 FASE 6
Verwijzing Aanmelding Screening Intake Afsluiting Behandeling
───────────────────────────────────────────────────────────────────────────────
Huisarts → Admin → Screener → Intaker → MDO → Behandelaar
Psychiater
───────────────────────────────────────────────────────────────────────────────
INTENT-DRIVEN EPD SCOPE │
════════════════════════ │
Fase 2 t/m Fase 5 + overdracht ───────────────┘
```
### Kritieke Overdrachtsmomenten
| Van → Naar | Pijnpunt | Oplossing |
|------------|----------|-----------|
| Huisarts → Admin | Incomplete verwijzing | Gestructureerde verwijzing (buiten scope) |
| Admin → Screener | Onduidelijke werklijst | `intake_lijst`, `werklijst_screening` |
| Screener → Intaker | Hulpvraag niet doorstroomt | `hulpvraag_query`, betere documentatie |
| Intaker → Psychiater | Risico's verspreid, medicatie-info mist | `risico_query`, `medicatie_historie` |
| Intaker → Behandelaar | Geen executive summary, doelen vaag | `overdracht_samenvatting`, `behandeldoelen_query` |
| Intaker → Huisarts | Late/geen terugkoppeling | `brief_huisarts` |
---
## Productvisie
### North Star Metric
> **"Percentage cliënten dat in de eerste behandelsessie zegt: 'Fijn dat u al weet wat er speelt.'"**
Dit meet de volledige keten: van intake-kwaliteit tot overdracht tot behandelaarvoorbereiding.
### Productprincipes
1. **Clinicus blijft in control** - AI suggereert, mens accordeert
2. **Multimodaal** - Spraak óf typen, nooit afdwingen
3. **Query eerst, actie later** - Eerst bewijzen dat informatie ophalen werkt
4. **Human-in-the-loop** - Geen autonome AI-beslissingen over patiëntdata
5. **Fallback altijd beschikbaar** - Klassieke interface blijft werken
### Feature Categorieën
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ FEATURE MATRIX │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ QUERY (lezen) ACTIE (schrijven) │
│ ───────────── ──────────────── │
│ │
│ LAAG RISICO intake_status contact_loggen │
│ (Fase 1) risico_query screening_besluit │
│ diagnose_query │
│ intake_lijst │
│ │
│ MIDDEL RISICO medicatie_historie anamnese_toevoegen │
│ (Fase 2) onderzoeken_query risico_toevoegen │
│ overdracht_samenvatting │
│ │
│ HOOG RISICO - diagnose_toevoegen │
│ (Fase 3) behandeladvies_invoer │
│ medicatie_voorschrijven* │
│ │
│ * Buiten huidige scope │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Het Cortex Intent System
### Van Reactief naar Proactief
Het huidige EPD is **reactief**: de gebruiker klikt, het systeem reageert. Cortex transformeert het EPD van een "digitaal formulier" naar een **AI Collega** die:
1. **Begrijpt** wat je bedoelt (niet alleen wat je zegt)
2. **Onthoudt** de context (wie is "hij"? wat is "morgen"?)
3. **Suggereert** proactief wat je misschien vergeet
> **Kernprincipe:** "De clinicus spreekt zijn *intentie* uit, niet zijn *administratie*. Mijn intentie is 'Zorg voor Mohammed regelen'. De administratie (agenda, brief, notitie) is het systeem's probleem."
### The Three-Layer Architecture
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ CORTEX THREE-LAYER MODEL │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 1: REFLEX ARC │ │
│ │ ───────────────────── │ │
│ │ • Lokale pattern matching (regex) │ │
│ │ • Latency: <20ms │ │
│ │ • Confidence ≥ 0.7 → direct uitvoeren │ │
│ │ • Voorbeelden: "Agenda vandaag", "Zoek Jan", "Wat zijn de risico's"│ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ │ Escalatie bij: │
│ │ • Confidence < 0.7 │
│ │ • Multi-intent ("en", "daarna") │
│ │ • Ambiguïteit (top-2 delta < 0.1) │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 2: INTENT ORCHESTRATOR │ │
│ │ ──────────────────────────── │ │
│ │ • AI-powered classificatie (Claude) │ │
│ │ • Latency: ~400ms │ │
│ │ • Multi-intent parsing: "Zeg af en maak notitie" │ │
│ │ • Context resolution: "hij" → actieve patiënt │ │
│ │ • Relative time: "morgen" → concrete datum │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ │ Na succesvolle actie │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ LAYER 3: NUDGE ENGINE │ │
│ │ ───────────────────────── │ │
│ │ • Proactieve suggesties │ │
│ │ • Async (na actie-completion) │ │
│ │ • Protocol-gebaseerd: "Risico hoog → Veiligheidsplan bespreken?" │ │
│ │ • Accept/Dismiss met countdown │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
### Multi-Intent Support
Clinici denken niet in losse commando's, maar in **gecombineerde acties**:
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ MULTI-INTENT VOORBEELD │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Gebruiker: "Voeg risico toe: suïcidaliteit matig, en plan een │
│ veiligheidsbespreking in voor volgende week" │
│ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Layer 1 (Reflex): Detecteert "en" → ESCALEER │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Layer 2 (Orchestrator): Parse naar Action Chain │ │
│ │ │ │
│ │ Intent 1: risico_toevoegen │ │
│ │ • type: suïcidaliteit │ │
│ │ • severity: matig │ │
│ │ • patient: [actieve patiënt] │ │
│ │ │ │
│ │ Intent 2: create_appointment │ │
│ │ • type: veiligheidsbespreking │ │
│ │ • when: [volgende week → concrete datum] │ │
│ │ • patient: [actieve patiënt] │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ UI: ActionChainCard │ │
│ │ ┌───────────────────────────────────────────────────────────────┐ │ │
│ │ │ ✅ 1. Risico toegevoegd: suïcidaliteit matig │ │ │
│ │ ├───────────────────────────────────────────────────────────────┤ │ │
│ │ │ ⏳ 2. Afspraak plannen: veiligheidsbespreking (ma 10 feb) │ │ │
│ │ └───────────────────────────────────────────────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ │
│ Signaalwoorden: "en", "daarna", "ook", "eerst", "vervolgens" │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
### Context Awareness
Het systeem begrijpt **impliciete context** zonder dat de clinicus expliciet hoeft te zijn:
| Context Type | Voorbeeld Input | Resolutie |
|--------------|-----------------|-----------|
| **Pronoun** | "Wat zijn de risico's van hem?" | "hem" → Mohammed (actieve patiënt) |
| **Relatieve tijd** | "Plan controle over 3 dagen" | → concrete datum (7 februari) |
| **Impliciete patiënt** | "Voeg diagnose toe: depressie" | → voor actieve patiënt |
| **Verwijzing** | "Zoals besproken in de intake" | → link naar intake-verslag |
**Context Injection:**
```typescript
interface CortexContext {
activePatient: Patient | null; // Wie is er geopend?
currentView: 'intake' | 'agenda'; // Waar ben ik?
agendaToday: Appointment[]; // Wat staat er vandaag?
recentIntents: Intent[]; // Wat vroeg ik net?
intakeProgress: IntakeStatus; // Waar zijn we in de intake?
}
```
### Nudge Engine: Proactieve Intelligentie
De Nudge Engine is wat Cortex onderscheidt van een "slim zoeksysteem". Het systeem **denkt mee**:
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ NUDGE ENGINE - PROACTIEVE SUGGESTIES │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ TRIGGER NUDGE │
│ ──────────────────────────────────────────────────────────────────────── │
│ │
│ Risico toegevoegd: 💡 "Veiligheidsplan opstellen?" │
│ suïcidaliteit ≥ matig [Ja, nu] [Later] [Nee] │
│ │
│ Intake bijna compleet 💡 "Samenvatting genereren voor MDO?" │
│ (8/9 secties) [Genereer] [Nog niet] │
│ │
│ Diagnose toegevoegd: 💡 "Behandeladvies toevoegen?" │
│ depressie [Ja] [Overslaan] │
│ │
│ Kindcheck: kinderen in gezin 💡 "Kindcheck invullen niet vergeten" │
│ maar niet ingevuld [Open kindcheck] [Dismiss] │
│ │
│ Anamnese bevat "medicatie 💡 "Medicatiehistorie opvragen bij │
│ van huisarts geprobeerd" huisarts?" │
│ [Ja] [Staat al in dossier] │
│ │
│ Intake afgerond maar geen 💡 "Brief naar huisarts genereren?" │
│ terugkoppeling verstuurd [Genereer] [Later] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
**Nudge Principes:**
1. **Non-intrusief** - Toast, geen modal. Gebruiker kan negeren.
2. **Contextual** - Alleen suggesties die nu relevant zijn
3. **Actionable** - Één klik om uit te voeren
4. **Dismissable** - "Nee" is altijd een optie, geen schuldgevoel
5. **Learning** (toekomst) - Onthoud welke nudges deze gebruiker negeert
### Knowledge & Protocol Engine (Toekomst)
De Nudge Engine is de eerste stap naar een bredere **Knowledge Engine**:
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ KNOWLEDGE ENGINE EVOLUTIE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ FASE 1: Hardcoded Rules (MVP) │
│ ───────────────────────────── │
│ • Regex-based triggers │
│ • Vaste suggesties │
│ • Voorbeeld: "suïcidaliteit" → veiligheidsplan nudge │
│ │
│ FASE 2: Protocol Rules (Post-MVP) │
│ ───────────────────────────────── │
│ • Configureerbare if-then rules │
│ • Admin UI voor rule management │
│ • GGZ-standaarden als rules (Multidisciplinaire Richtlijnen) │
│ • Voorbeeld: MR Depressie → behandelstappen suggereren │
│ │
│ FASE 3: Intelligent Matching (Toekomst) │
│ ──────────────────────────────────────── │
│ • NLP voor complexere matching │
│ • Semantic similarity (niet alleen keywords) │
│ • Voorbeeld: "hopeloosheid" herkend als risico-signaal │
│ │
│ FASE 4: Predictive Intelligence (Visie) │
│ ──────────────────────────────────────── │
│ • Learning from patterns │
│ • Predictive suggestions ("Bij vergelijkbare cliënten...") │
│ • Adaptive confidence per gebruiker │
│ • Sentiment analysis in gespreksverslagen │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
### Intake-Specifieke Flows
**Flow: Intake met Nudges**
```
Intaker opent intake Mohammed
Cortex: Context geladen (patiënt, intake-status 4/9)
Intaker: "Wat moet ik nog doen?"
┌─────────────────────────────────────────┐
│ IntakeStatusBlock │
│ ✅ Algemeen ✅ Anamnese │
│ ✅ Risico ⬜ Kindcheck │
│ ⬜ Diagnose ⬜ Behandeladvies │
│ ... │
│ Voortgang: 44% ████░░░░░ │
└─────────────────────────────────────────┘
💡 Nudge: "Kindcheck nog niet ingevuld. Er zijn kinderen in het gezin."
[Open kindcheck] [Later]
Intaker: "Voeg diagnose toe: depressieve stoornis matig"
✅ Diagnose toegevoegd
💡 Nudge: "Behandeladvies toevoegen?"
[Ja, dicteren] [Later]
Intaker: "Ja, dicteren"
🎤 Dicteren gestart...
Intaker: "Behandeladvies: CGT individueel, 16 sessies,
wekelijks. Start medicatie sertraline 50mg in
overleg met psychiater. Doel: verminderen
depressieve klachten, verbeteren slaap,
hervatten werkactiviteiten."
┌─────────────────────────────────────────┐
│ Bevestig behandeladvies: │
│ │
│ Vorm: CGT individueel │
│ Sessies: 16 │
│ Frequentie: wekelijks │
│ Medicatie: sertraline 50mg (consult) │
│ Doelen: │
│ • Verminderen depressieve klachten │
│ • Verbeteren slaap │
│ • Hervatten werkactiviteiten │
│ │
│ [Opslaan] [Bewerken] [Annuleren] │
└─────────────────────────────────────────┘
✅ Behandeladvies opgeslagen
💡 Nudge: "Intake is nu 89% compleet. Samenvatting genereren?"
[Genereer voor MDO] [Nog niet klaar]
```
### Intent Catalogus voor Intake
| Intent | Layer | Type | Nudge Trigger? |
|--------|-------|------|----------------|
| `intake_status` | Reflex | Query | Nee |
| `intake_lijst` | Reflex | Query | Nee |
| `risico_query` | Reflex | Query | Nee |
| `risico_toevoegen` | Orchestrator | Actie | Ja → Veiligheidsplan bij ≥matig |
| `diagnose_query` | Reflex | Query | Nee |
| `diagnose_toevoegen` | Orchestrator | Actie | Ja → Behandeladvies |
| `anamnese_query` | Reflex | Query | Nee |
| `anamnese_toevoegen` | Orchestrator | Actie | Nee |
| `kindcheck_query` | Reflex | Query | Nee |
| `kindcheck_invullen` | Orchestrator | Actie | Nee |
| `intake_samenvatting` | Orchestrator | AI-Query | Nee |
| `overdracht_samenvatting` | Orchestrator | AI-Query | Nee |
| `brief_huisarts` | Orchestrator | AI-Actie | Nee |
| `intake_afsluiten` | Orchestrator | Actie | Ja → Brief huisarts |
| `intake_navigeer` | Reflex | Navigatie | Nee |
### UI Componenten voor Intent-Driven Interactie
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ UI COMPONENT LIBRARY │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ 1. COMMAND INPUT │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 🎤 "Voeg risico toe: suïcidaliteit matig" ⌘K │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Voice toggle │
│ • Keyboard shortcut (⌘K focus, ⌘Enter submit) │
│ • Autocomplete suggesties │
│ │
│ 2. PROCESSING INDICATOR │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ⏳ Begrijpen... (Layer 2 actief) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Alleen bij AI-acties (>100ms) │
│ • Niet bij Reflex │
│ │
│ 3. ACTION CHAIN CARD │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ✅ 1. Risico toegevoegd │ │
│ │ ⏳ 2. Afspraak plannen... │ │
│ │ ⬜ 3. Notitie maken │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Multi-intent visueel │
│ • Progressie per stap │
│ │
│ 4. CLARIFICATION CARD │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ ❓ Welke Mohammed bedoel je? │ │
│ │ ○ Mohammed A. (actieve intake) │ │
│ │ ○ Mohammed B. (afgeronde intake) │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Bij ambiguïteit │
│ • Geen "Ik begrijp het niet" │
│ │
│ 5. NUDGE TOAST │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ 💡 Veiligheidsplan opstellen? [Ja] [Nee] 15s │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Bottom-right │
│ • Auto-dismiss countdown │
│ • Non-blocking │
│ │
│ 6. CONFIRMATION DIALOG │
│ ┌─────────────────────────────────────────────────────────────────────┐ │
│ │ Ik ga toevoegen: │ │
│ │ │ │
│ │ Risico: Suïcidaliteit │ │
│ │ Ernst: Matig │ │
│ │ Toelichting: Passieve doodswens, geen concreet plan │ │
│ │ │ │
│ │ [Bevestigen] [Aanpassen] [Annuleren] │ │
│ └─────────────────────────────────────────────────────────────────────┘ │
│ • Bij write-acties │
│ • Human-in-the-loop │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Roadmap Fasen
### Overzicht
```
Q1 2026 Q2 2026 Q3 2026 Q4 2026 2027+
─────────────────────────────────────────────────────────────────────────────────────────
FASE 1 FASE 2 FASE 3 FASE 4 FASE 5
Foundation + Dicteren AI-Samenvatting Uitrol + Knowledge
Query Versterking Pilot & Overdracht Optimalisatie Engine
████████████ ████████████ ████████████ ████████████ ████████████
Three-Layer Voice input AI-gegenereerde Brede adoptie Protocol rules
Architecture Anamnese dicteren samenvattingen Training Predictive
Basic Nudges Risico dicteren Executive summary Basic Nudges live Learning
Reflex + Orchestrator Multi-intent Nudge triggers Iteratie Advanced Nudges
─────────────────────────────────────────────────────────────────────────────────────────
PILOT: 5 intakers PILOT: 5 intakers PILOT: 10 intakers UITROL: Alle INNOVATIE
Go/No-go ─────────► Go/No-go ─────────► Go/No-go ─────────► Evaluatie ──────────► Doorontwikkeling
```
### Cortex Lagen per Fase
| Fase | Layer 1 (Reflex) | Layer 2 (Orchestrator) | Layer 3 (Nudge) |
|------|------------------|------------------------|-----------------|
| **1** | ✅ Uitgebreid | ⚠️ Basis | ⚠️ Hardcoded PoC |
| **2** | ✅ Stabiel | ✅ Multi-intent | ⚠️ Basis triggers |
| **3** | ✅ Stabiel | ✅ AI-samenvatting | ✅ Intake-nudges |
| **4** | ✅ Geoptimaliseerd | ✅ Productie-ready | ✅ Live voor alle |
| **5** | ✅ Stabiel | ✅ Enhanced | 🚀 Knowledge Engine |
---
### Fase 1: Foundation + Query Versterking (Q1 2026)
**Doel:** Meer informatie snel toegankelijk via intent-queries
**Risico:** Laag
**Investering:** 2 sprints
#### Deliverables
| Item | Type | Beschrijving | Stakeholder-waarde |
|------|------|--------------|-------------------|
| **Three-Layer Architecture** | Architectuur | Reflex + Orchestrator + Nudge basis | Alle |
| Reflex Arc uitbreiding | Layer 1 | Nieuwe patterns voor intake-intents | Snelheid |
| Confidence thresholds | Layer 1 | Tuning escalatie naar Layer 2 | Accuraatheid |
| `intake_lijst` | Query + Block | Overzicht alle intakes met filters | Admin, Manager |
| `intake_status` (verbetering) | Query + Block | Completere status met voortgangspercentage | Alle clinici |
| `onderzoeken_query` | Query + Block | Welke onderzoeken zijn aangevraagd/afgerond | Psychiater, Intaker |
| `kindcheck_query` | Query + Block | Kindcheck status en resultaten | Intaker |
| `anamnese_query` | Query + Block | Anamnese samenvatting ophalen | Intaker, Behandelaar |
| **Basic Nudge (PoC)** | Layer 3 | Hardcoded nudge: "Kindcheck niet ingevuld" | Intaker |
| Dashboard basis | Feature | KPI-weergave voor management | Manager |
#### Success Metrics
| Metric | Target | Meetmethode |
|--------|--------|-------------|
| Adoptie query-intents | >50% van intakers gebruikt 1x/dag | Logging |
| Time-to-information | <10 sec voor status-query | Performance monitoring |
| Gebruikerstevredenheid | NPS >30 | Survey na 4 weken |
#### Go/No-go Criteria
- [ ] Minimaal 3 intakers gebruiken queries dagelijks
- [ ] Geen kritieke bugs in productie
- [ ] Gemiddelde query-tijd <10 seconden
- [ ] Positieve feedback uit gebruikersinterviews
---
### Fase 2: Dicteren Pilot (Q2 2026)
**Doel:** Valideren van voice-input voor verslaglegging
**Risico:** Middel
**Investering:** 2 sprints + pilot-begeleiding
#### Deliverables
| Item | Type | Beschrijving | Stakeholder-waarde |
|------|------|--------------|-------------------|
| **Multi-Intent Support** | Layer 2 | Parsing van "X en Y" zinnen | Efficiëntie |
| Context Awareness | Layer 2 | Pronoun resolution ("hij" → patiënt) | Natuurlijkheid |
| Relatieve tijd | Layer 2 | "morgen" → concrete datum | Gebruiksgemak |
| `anamnese_toevoegen` | Actie-intent | Dicteren van anamnese-fragmenten | Intaker |
| `risico_toevoegen` | Actie-intent | Dicteren van risico-inschatting | Intaker |
| ActionChainCard | UI Component | Multi-intent visuele feedback | UX |
| Confirmatie-dialoog | UX Pattern | "Ik ga toevoegen: X. Klopt dat?" | Alle |
| Pause/resume | Feature | Onderbreking-tolerante dictatie | Screener, Intaker |
| **Nudge: Risico → Veiligheidsplan** | Layer 3 | Bij suïcidaliteit ≥matig | Veiligheid |
| **Nudge: Diagnose → Behandeladvies** | Layer 3 | Na toevoegen diagnose | Workflow |
| Pilot-dashboard | Feature | Metrics voor pilot-evaluatie | Manager, PO |
#### Pilot Setup
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ PILOT CONFIGURATIE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Deelnemers: 5 intakers (mix ervaren/nieuw) │
│ Duur: 8 weken │
│ Begeleiding: Wekelijkse check-in, dedicated support │
│ Controlegroep: 5 intakers met klassieke werkwijze │
│ │
│ Metingen: │
│ • Tijd verslaglegging (voor/na) │
│ • Kwaliteit verslagen (steekproef review) │
│ • Gebruikerstevredenheid (wekelijkse pulse) │
│ • Cliëntervaring (interview sample) │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
#### Success Metrics
| Metric | Target | Meetmethode |
|--------|--------|-------------|
| Tijd verslaglegging | 30% reductie | Tijdregistratie |
| Dicteer-accuraatheid | >95% correct na confirmatie | Steekproef |
| Intaker-tevredenheid | >7/10 | Wekelijkse survey |
| Pilot-continuiteit | 4/5 intakers blijven gebruiken | Observatie |
#### Go/No-go Criteria
- [ ] Minimaal 30% tijdwinst op verslaglegging
- [ ] Geen toename in fouten/omissies in dossiers
- [ ] 4 van 5 pilotdeelnemers willen doorgaan
- [ ] Privacy/compliance goedgekeurd (DPIA indien nodig)
---
### Fase 3: AI-Samenvatting & Overdracht (Q3 2026)
**Doel:** AI-gegenereerde samenvattingen voor betere overdracht
**Risico:** Middel-Hoog
**Investering:** 2 sprints
#### Deliverables
| Item | Type | Beschrijving | Stakeholder-waarde |
|------|------|--------------|-------------------|
| `intake_samenvatting` | AI-intent | Samenvatting van volledige intake | Intaker, MDO |
| `overdracht_samenvatting` | AI-intent | Executive summary voor behandelaar | Behandelaar |
| `brief_huisarts` | AI-intent | Gestructureerde terugkoppeling | Huisarts |
| Review-flow | UX Flow | Accorderen/bewerken van AI-output | Intaker |
| Template-systeem | Feature | Standaard formats voor outputs | Alle |
| **Nudge: Intake compleet → Samenvatting** | Layer 3 | "Samenvatting genereren voor MDO?" | Workflow |
| **Nudge: Afsluiting → Brief huisarts** | Layer 3 | "Terugkoppeling naar verwijzer?" | Keten |
| **Nudge: Behandeldoelen vaag** | Layer 3 | "Doelen concretiseren?" | Kwaliteit |
#### AI-Output Kwaliteitseisen
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ KWALITEITSEISEN AI-SAMENVATTING │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ MUST HAVE: │
│ ✓ Kernvraag in 1-2 zinnen │
│ ✓ Diagnose(s) met code │
│ ✓ Risico's met severity (stoplicht) │
│ ✓ Behandeldoelen concreet │
│ ✓ Medicatie-status │
│ ✓ Aandachtspunten voor behandelaar │
│ │
│ MUST NOT: │
│ ✗ Hallucinaties (info die niet in dossier staat) │
│ ✗ Medische adviezen die niet in bron staan │
│ ✗ Diagnoses die niet gesteld zijn │
│ ✗ Weglaten van risico-informatie │
│ │
│ KWALITEITSCONTROLE: │
│ • 100% human review voor go-live │
│ • Steekproef review na go-live (10%) │
│ • Feedback-loop voor verbetering │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
#### Success Metrics
| Metric | Target | Meetmethode |
|--------|--------|-------------|
| Bruikbaarheid samenvatting | >80% direct bruikbaar | Review door behandelaar |
| Hallucinatie-rate | <1% | Steekproef tegen bron |
| Voorbereidingstijd behandelaar | <15 min | Tijdregistratie |
| Behandelaar-tevredenheid | >7/10 | Survey |
#### Go/No-go Criteria
- [ ] Hallucinatie-rate <1% in steekproef van 50 samenvattingen
- [ ] 80% van behandelaars vindt summary bruikbaar
- [ ] Geen kritieke informatie weggelaten in samenvattingen
- [ ] DPIA afgerond en goedgekeurd
---
### Fase 4: Uitrol & Optimalisatie (Q4 2026)
**Doel:** Brede adoptie en continue verbetering
**Risico:** Middel
**Investering:** 2+ sprints + change management
#### Deliverables
| Item | Type | Beschrijving | Stakeholder-waarde |
|------|------|--------------|-------------------|
| Uitrolplan | Organisatie | Gefaseerde uitrol naar alle intakers | Manager |
| Training materiaal | Documentatie | Video's, handleidingen, FAQ | Alle |
| Onboarding flow | UX | In-app begeleiding voor nieuwe gebruikers | Alle |
| Champions netwerk | Organisatie | Super-users voor peer support | Manager |
| Feedback-systeem | Feature | In-app feedback en suggesties | PO, Dev |
| A/B testing | Feature | Optimalisatie van prompts en flows | PO |
#### Uitrolstrategie
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ UITROLSTRATEGIE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Week 1-2: Champions training (5 super-users) │
│ Week 3-4: Team 1 (5 intakers) + champions support │
│ Week 5-6: Team 2 (5 intakers) + Team 1 als peer support │
│ Week 7-8: Alle intakers (2 resterende) │
│ Week 9+: Monitoring en optimalisatie │
│ │
│ SUPPORT MODEL: │
│ • Week 1-4: Dedicated support (2 uur/dag beschikbaar) │
│ • Week 5-8: Champions als eerste lijn │
│ • Week 9+: Standaard support + feedback-loop │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
#### Success Metrics
| Metric | Target | Meetmethode |
|--------|--------|-------------|
| Adoptie | >80% actief gebruik | Logging |
| Verslagleggingstijd | 50% reductie vs. baseline | Tijdregistratie |
| Cliënttevredenheid intake | >8/10 | CES survey |
| Behandelaar "kent cliënt" | >90% positief | Eerste-sessie survey |
---
### Fase 5: Knowledge & Intelligence Engine (2027+)
**Doel:** Van hardcoded nudges naar configureerbare protocol-engine
**Risico:** Hoog (innovatie)
**Investering:** Continu, meerdere sprints
#### Visie
Fase 5 transformeert Cortex van een "slim hulpmiddel" naar een **kennisgedreven assistent** die:
- GGZ-richtlijnen kent en toepast
- Leert van gebruikersgedrag
- Proactief risico's signaleert
- Predictieve suggesties doet
#### Deliverables
| Item | Type | Beschrijving | Stakeholder-waarde |
|------|------|--------------|-------------------|
| **Protocol Rules Engine** | Layer 3 | Configureerbare if-then rules | Flexibiliteit |
| Admin UI voor rules | Feature | Rules beheren zonder code | Beheerders |
| GGZ-richtlijnen als rules | Content | MR Depressie, Angst, etc. | Klinische kwaliteit |
| **NLP-based matching** | Layer 3 | Semantic similarity i.p.v. keywords | Accuraatheid |
| Sentiment detection | Layer 2 | "Hopeloos" herkennen als risico-signaal | Veiligheid |
| **Adaptive confidence** | Layer 1-2 | User-specific thresholds | Personalisatie |
| Learning from corrections | Feature | Systeem leert van feedback | Continue verbetering |
| **Predictive suggestions** | Layer 3 | "Bij vergelijkbare cliënten..." | Innovatie |
#### Protocol Rules Voorbeeld
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ PROTOCOL RULES ENGINE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ RULE: MR_DEPRESSIE_BEHANDELSTAP │
│ ───────────────────────────────── │
│ IF: │
│ diagnose CONTAINS "depressieve stoornis" │
│ AND severity IN ["matig", "ernstig"] │
│ AND behandeladvies NOT EXISTS │
│ THEN: │
│ NUDGE: "Volgens MR Depressie: CGT of IPT als eerste keus." │
│ ACTIONS: [toon_richtlijn, start_behandeladvies] │
│ │
│ RULE: RISICO_ESCALATIE │
│ ───────────────────────────────── │
│ IF: │
│ risico.suicidaliteit >= "matig" │
│ AND veiligheidsplan NOT EXISTS │
│ AND last_check > 7 days │
│ THEN: │
│ NUDGE: "Veiligheidsplan niet bijgewerkt. Bespreken met cliënt?" │
│ PRIORITY: HIGH │
│ ACTIONS: [open_veiligheidsplan, plan_afspraak] │
│ │
│ RULE: KINDCHECK_REMINDER │
│ ───────────────────────────────── │
│ IF: │
│ patient.has_children = true │
│ AND kindcheck.status = "niet_ingevuld" │
│ AND intake.fase >= "anamnese" │
│ THEN: │
│ NUDGE: "Er zijn minderjarige kinderen. Kindcheck invullen?" │
│ ACTIONS: [open_kindcheck] │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
#### Predictive Intelligence (Visie)
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ PREDICTIVE INTELLIGENCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ Op basis van 1000+ afgeronde intakes: │
│ │
│ "Bij cliënten met vergelijkbaar profiel (depressie, burn-out │
│ voorgeschiedenis, 35-45 jaar) was de gemiddelde behandelduur │
│ 18 sessies. 70% had baat bij medicatie-ondersteuning." │
│ │
│ 💡 Suggestie: "Overweeg combinatiebehandeling CGT + medicatie" │
│ │
│ [Toon onderliggende data] [Negeer] [Feedback: niet relevant] │
│ │
│ ⚠️ DISCLAIMER: Dit zijn statistische patronen, geen klinisch advies. │
│ De behandelaar blijft verantwoordelijk voor de klinische beslissing. │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
#### Success Metrics
| Metric | Target | Meetmethode |
|--------|--------|-------------|
| Nudge acceptance rate | >40% | Logging |
| Protocol compliance | >80% richtlijn-acties gevolgd | Audit |
| False positive rate | <10% irrelevante nudges | User feedback |
| Predictive accuracy | >70% voor behandelduur | Outcome tracking |
#### Ethische Overwegingen
| Aspect | Principe | Implementatie |
|--------|----------|---------------|
| Transparantie | Uitlegbaar waarom een nudge komt | "Gebaseerd op MR Depressie §4.2" |
| Autonomie | Clinicus beslist altijd | Nudge is suggestie, nooit verplichting |
| Privacy | Geen individuele data voor learning | Alleen geaggregeerde patronen |
| Bias | Monitoren op ongelijke behandeling | Fairness metrics per doelgroep |
---
## Risico's en Mitigatie
### Risicomatrix
| Risico | Impact | Kans | Mitigatie |
|--------|--------|------|-----------|
| **Lage adoptie** | Hoog | Middel | Champions, vroege gebruikersbetrokkenheid, multimodaal |
| **Privacy/AVG issues** | Hoog | Laag | DPIA vroeg uitvoeren, geen audio-opslag |
| **AI-hallucinaties** | Hoog | Middel | Human-in-the-loop, confidence scoring, review-flows |
| **Technische complexiteit** | Middel | Middel | Incrementeel bouwen, MVP-first |
| **Weerstand clinici** | Middel | Middel | Betrekken bij ontwerp, bewijs met pilot |
| **Vendor lock-in (LLM)** | Middel | Laag | Abstractielaag, multi-provider support |
| **Scope creep** | Middel | Hoog | Strikte prioritering, nee zeggen |
### Kritieke Afhankelijkheden
| Afhankelijkheid | Eigenaar | Status |
|-----------------|----------|--------|
| Deepgram API (spraak-naar-tekst) | Extern | ✅ Operationeel |
| Claude API (LLM) | Extern | ✅ Operationeel |
| DPIA goedkeuring | Directeur Zorg | ⏳ Nog uit te voeren |
| Pilot-deelnemers | Manager Intake | ⏳ Te selecteren |
| Training budget | Directeur Zorg | ⏳ Te accorderen |
---
## Budgetindicatie
### Ontwikkelkosten (indicatief)
| Fase | Sprints | Effort | Indicatie |
|------|---------|--------|-----------|
| Fase 1: Foundation | 2 | 4 weken | €€ |
| Fase 2: Dicteren | 2 | 4 weken + pilot | €€€ |
| Fase 3: AI-Samenvatting | 2 | 4 weken | €€€ |
| Fase 4: Uitrol | 2+ | 4+ weken + training | €€ |
| **Totaal** | **8+** | **16+ weken** | **€€€€€** |
### Operationele kosten (indicatief, per maand)
| Component | Kosten | Schaling |
|-----------|--------|----------|
| Deepgram (spraak) | € | Per minuut audio |
| Claude API (LLM) | €€ | Per token |
| Hosting/infra | € | Vast |
| **Totaal** | **€€€/maand** | Variabel met gebruik |
### Return on Investment
```
┌─────────────────────────────────────────────────────────────────────────────┐
│ ROI BEREKENING (INDICATIEF) │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ TIJDWINST PER INTAKE: │
│ • Verslaglegging: 30 min → 15 min = 15 min bespaard │
│ • Voorbereiding behandelaar: 30 min → 15 min = 15 min bespaard │
│ • Totaal per intake: 30 minuten │
│ │
│ VOLUME: │
│ • 12 intakers x 3 intakes/week = 36 intakes/week │
│ • 36 intakes x 30 min = 18 uur/week bespaard │
│ • 18 uur x 48 weken = 864 uur/jaar │
│ │
│ WAARDE: │
│ • 864 uur x €X/uur = significante besparing │
│ • OF: Capaciteit voor ~300 extra intakes/jaar │
│ │
│ KWALITATIEVE BATEN: │
│ • Betere cliëntervaring (minder herhaling) │
│ • Hogere kwaliteit overdrachten │
│ • Minder administratieve frustratie │
│ • Aantrekkelijker werkgeverschap │
│ │
└─────────────────────────────────────────────────────────────────────────────┘
```
---
## Governance
### Stuurgroep
| Rol | Verantwoordelijkheid | Frequentie |
|-----|---------------------|------------|
| Directeur Zorg | Go/no-go besluiten, budget | Per fase |
| Manager Intake | Operationele aansturing, pilot | Wekelijks |
| Product Owner | Backlog, prioritering, kwaliteit | Continu |
| Tech Lead | Architectuur, haalbaarheid | Sprint |
### Besluitvorming
```
FASE-OVERGANG BESLUIT
─────────────────────
Stuurgroep
┌───────────┼───────────┐
│ │ │
Business Klinisch Technisch
criteria criteria criteria
│ │ │
└───────────┼───────────┘
Go / No-go
```
### Rapportage
| Rapport | Frequentie | Audience |
|---------|------------|----------|
| Sprint review | 2-wekelijks | Team + PO |
| Pilot voortgang | Wekelijks | Manager + PO |
| Stuurgroep update | Per fase | Directie |
| Metrics dashboard | Continu | Alle stakeholders |
---
## Kwaliteitscriteria
### De Drie Tests
Elke feature wordt getoetst aan drie perspectieven:
**1. De Mohammed-test (Cliëntperspectief)**
> "Zorgt dit ervoor dat de cliënt zijn verhaal minder vaak hoeft te vertellen?"
**2. De Eerste-Sessie-test (Behandelaarperspectief)**
> "Kan de behandelaar in de eerste sessie zeggen: 'Ik weet wie u bent'?"
**3. De Huisarts-test (Ketenperspectief)**
> "Krijgt de huisarts tijdig en volledig terugkoppeling?"
### Definition of Done
Feature is pas "done" als:
- [ ] Functioneel getest en werkend
- [ ] Gebruikerstest uitgevoerd met minimaal 3 gebruikers
- [ ] Privacy-review uitgevoerd
- [ ] Documentatie bijgewerkt
- [ ] Logging/metrics geïmplementeerd
- [ ] Fallback naar klassieke route werkt
---
## Volgende Stappen
### Directe Acties (komende 2 weken)
| Actie | Eigenaar | Deadline |
|-------|----------|----------|
| Pilot-deelnemers selecteren | Manager Intake | Week 1 |
| DPIA-traject starten | Directeur Zorg | Week 1 |
| Sprint 1 stories uitwerken | Product Owner | Week 2 |
| UX research plannen (huisarts, behandelaar) | UX Designer | Week 2 |
| Technische spike: dicteren haalbaarheid | Dev Team | Week 2 |
### Besluitpunten voor Stuurgroep
| Besluit | Wanneer | Input nodig |
|---------|---------|-------------|
| Budget accordering Fase 1-2 | Week 2 | Kostenraming, business case |
| DPIA scope en aanpak | Week 3 | Privacy-analyse |
| Pilot go-ahead | Week 4 | Deelnemers, criteria |
---
## Appendix
### A. Gerelateerde Documenten
- `stakeholder-sessie-intake-intents.md` - Volledige stakeholder-analyse
- `docs/intent/intake-intent-proces/gap-analyse-intake-cortex.md` - Technische gap-analyse
- `docs/intent/intake-intent-proces/fo-to-bouwplan-intake-blocks-mvp.md` - MVP specificaties
### B. Intent Catalogus
| Intent | Type | Layer | Fase | Nudge Trigger | Status |
|--------|------|-------|------|---------------|--------|
| `intake_status` | Query | Reflex | 1 | - | ✅ Gebouwd |
| `risico_query` | Query | Reflex | 1 | - | ✅ Gebouwd |
| `diagnose_query` | Query | Reflex | 1 | - | ✅ Gebouwd |
| `intake_navigeer` | Nav | Reflex | 1 | - | ✅ Gebouwd |
| `intake_lijst` | Query | Reflex | 1 | - | ⏳ Gepland |
| `onderzoeken_query` | Query | Reflex | 1 | - | ⏳ Gepland |
| `anamnese_toevoegen` | Actie | Orchestrator | 2 | - | ⏳ Gepland |
| `risico_toevoegen` | Actie | Orchestrator | 2 | Veiligheidsplan (≥matig) | ⏳ Gepland |
| `diagnose_toevoegen` | Actie | Orchestrator | 2 | Behandeladvies | ⏳ Gepland |
| `intake_samenvatting` | AI | Orchestrator | 3 | - | ⏳ Gepland |
| `overdracht_samenvatting` | AI | Orchestrator | 3 | - | ⏳ Gepland |
| `brief_huisarts` | AI | Orchestrator | 3 | - | ⏳ Gepland |
| `intake_afsluiten` | Actie | Orchestrator | 3 | Brief huisarts | ⏳ Gepland |
### B2. Nudge Catalogus
| Nudge | Trigger | Fase | Prioriteit |
|-------|---------|------|------------|
| Kindcheck niet ingevuld | Kinderen in gezin, kindcheck leeg | 1 | Middel |
| Veiligheidsplan | Suïcidaliteit ≥ matig | 2 | Hoog |
| Behandeladvies | Diagnose toegevoegd | 2 | Middel |
| Samenvatting genereren | Intake ≥ 80% compleet | 3 | Middel |
| Brief huisarts | Intake afgesloten, geen terugkoppeling | 3 | Laag |
| Doelen concretiseren | Behandeldoelen vaag/generiek | 3 | Laag |
| MR Depressie stappen | Diagnose depressie, geen behandeladvies | 5 | Middel |
| Risico herbeoordeling | Risico ≥ matig, > 7 dagen geleden | 5 | Hoog |
### C. Stakeholder Overzicht
| Rol | Primaire behoefte | Key intent(s) |
|-----|------------------|---------------|
| Cliënt | Niet herhalen | - (indirect) |
| Huisarts | Terugkoppeling | `brief_huisarts` |
| Admin | Overzicht | `intake_lijst` |
| Screener | Snelheid | `screening_besluit` |
| Intaker | Dicteren | `anamnese_toevoegen` |
| Psychiater | Context | `medicatie_historie` |
| Behandelaar | Overdracht | `overdracht_samenvatting` |
| Manager | KPI's | `intake_lijst` + dashboard |
---
*Document eigenaar: Product Management*
*Review cyclus: Per fase-overgang*
*Laatste update: 2026-02-04*