# Intake Proces: Flow, Intents & UI

**Datum:** 03-02-2026
**Status:** Ontwerp
**Doel:** Documentatie van het intake proces met bijbehorende Cortex intents en UI componenten

---

## 1. Procesoverzicht

```
┌─────────────────────────────────────────────────────────────────────────────┐
│                           INTAKE PROCES                                      │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  ┌──────────────┐      ┌──────────────┐      ┌──────────────────────────┐  │
│  │  SCREENING   │ ──▶  │ INTAKE START │ ──▶  │     INTAKE UITVOERING    │  │
│  │              │      │              │      │                          │  │
│  │ • Hulpvraag  │      │ • Titel      │      │  ┌────────────────────┐  │  │
│  │ • Documenten │      │ • Afdeling   │      │  │ 1. Algemeen        │  │  │
│  │ • Activiteit │      │ • Startdatum │      │  │ 2. Contactmomenten │  │  │
│  │ • Besluit    │      │              │      │  │ 3. Kindcheck       │  │  │
│  └──────────────┘      └──────────────┘      │  │ 4. Risicotaxatie   │  │  │
│         │                     │              │  │ 5. Anamnese        │  │  │
│         ▼                     │              │  │ 6. Onderzoeken     │  │  │
│   geschikt? ───▶ NEE ───▶ STOP             │  │ 7. ROM             │  │  │
│         │                                    │  │ 8. Diagnose        │  │  │
│        JA                                    │  │ 9. Behandeladvies  │  │  │
│         └────────────────────┘              │  └────────────────────┘  │  │
│                                              │             │            │  │
│                                              └─────────────┼────────────┘  │
│                                                            ▼               │
│                                              ┌──────────────────────────┐  │
│                                              │    INTAKE AFSLUITEN      │  │
│                                              │                          │  │
│                                              │ • Status: afgerond       │  │
│                                              │ • Einddatum              │  │
│                                              │ → Start Behandelplan     │  │
│                                              └──────────────────────────┘  │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

---

## 2. Fase 1: Screening

### 2.1 Procesbeschrijving

De screening is de eerste beoordeling of een patiënt geschikt is voor behandeling. Hier wordt de hulpvraag vastgelegd, documenten verzameld (verwijsbrief), en een besluit genomen.

### 2.2 UI Componenten

| Component | Pad | Beschrijving |
|-----------|-----|--------------|
| `ScreeningPage` | `app/epd/patients/[id]/screening/page.tsx` | Container pagina |
| `HelpRequestCard` | `screening/components/help-request-card.tsx` | Hulpvraag invoer (textarea) |
| `DecisionCard` | `screening/components/decision-card.tsx` | Besluit: geschikt/niet_geschikt + afdeling |
| `DocumentCard` | `screening/components/document-card.tsx` | Upload verwijsbrief en documenten |
| `ActivityLog` | `screening/components/activity-log.tsx` | Chronologisch activiteitenlog |

### 2.3 Intents & Queries

| Intent | Type | Input Voorbeelden | Output/Actie |
|--------|------|-------------------|--------------|
| `screening_query` | Query | "Toon screening van Jan"<br>"Wat is de hulpvraag?" | `ScreeningBlock` - overzicht hulpvraag, besluit, status |
| `hulpvraag_invoer` | Actie | "Hulpvraag: angstklachten en slaapproblemen"<br>"Noteer hulpvraag: depressieve klachten" | Vult `HelpRequestCard` in |
| `screening_besluit` | Actie | "Jan is geschikt voor behandeling"<br>"Niet geschikt, doorverwijzen" | Vult `DecisionCard` in |
| `screening_activiteit` | Actie | "Gebeld met huisarts over verwijzing"<br>"Verwijsbrief ontvangen" | Voegt toe aan `ActivityLog` |

### 2.4 Nudges

| Trigger | Nudge | Priority |
|---------|-------|----------|
| Hulpvraag ingevuld, geen verwijsbrief | "Verwijsbrief uploaden?" | medium |
| Verwijsbrief + hulpvraag compleet | "Screeningsbesluit nemen?" | medium |
| Besluit = geschikt | "Intake starten voor deze patiënt?" | low |

---

## 3. Fase 2: Intake Starten

### 3.1 Procesbeschrijving

Na een positief screeningsbesluit wordt een nieuwe intake aangemaakt met basisgegevens.

### 3.2 UI Componenten

| Component | Pad | Beschrijving |
|-----------|-----|--------------|
| `NewIntakePage` | `intakes/new/page.tsx` | Formulier voor nieuwe intake |
| `NewIntakeForm` | `intakes/components/new-intake-form.tsx` | Titel, afdeling, startdatum |
| `IntakeList` | `intakes/components/intake-list.tsx` | Overzicht alle intakes van patiënt |

### 3.3 Intents & Queries

| Intent | Type | Input Voorbeelden | Output/Actie |
|--------|------|-------------------|--------------|
| `intake_starten` | Actie | "Start intake voor Jan"<br>"Nieuwe intake afdeling Volwassenen" | Opent `NewIntakeForm` met prefill |
| `intake_lijst` | Query | "Toon intakes van Jan"<br>"Welke intakes heeft Marie?" | `IntakeListBlock` - lijst met status |

---

## 4. Fase 3: Intake Uitvoering

### 4.1 Overzicht Tabs

| # | Tab | Verplicht | Component | Beschrijving |
|---|-----|-----------|-----------|--------------|
| 1 | Algemeen | ✅ | `IntakePage` | Basisgegevens intake |
| 2 | Contactmomenten | ❌ | `ContactManager` | Gesprekken, telefoontjes |
| 3 | Kindcheck | ⚠️* | `KindcheckForm` | Kinderen in beeld, zorgen, acties |
| 4 | Risicotaxatie | ✅ | `RiskManager` | Suïcidaliteit, agressie, etc. |
| 5 | Anamnese | ✅ | `AnamneseManager` | Psychiatrisch, sociaal, somatisch |
| 6 | Onderzoeken | ❌ | `ExaminationManager` | Lichamelijk, psychologisch onderzoek |
| 7 | ROM | ❌ | `ExaminationManager` (isRom) | Vragenlijsten (OQ-45, etc.) |
| 8 | Diagnose | ✅ | `DiagnosisManager` | ICD-10 classificaties |
| 9 | Behandeladvies | ✅ | `TreatmentAdviceForm` | Advies, programma, behandelaar |

*Kindcheck is wettelijk verplicht bij patiënten met kinderen

### 4.2 Tab-specifieke Intents

#### 4.2.1 Algemeen

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `intake_algemeen` | Query | "Toon intake gegevens"<br>"Wanneer is de intake gestart?" | Toont algemene info |
| `intake_status` | Query | "Wat is de status van de intake?"<br>"Is de intake compleet?" | Status + checklist onvolledige secties |

#### 4.2.2 Contactmomenten

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `contact_toevoegen` | Actie | "Intakegesprek gehad met Jan"<br>"Telefonisch contact: besproken wachttijd" | Voegt contactmoment toe |
| `contacten_query` | Query | "Welke contactmomenten zijn er geweest?" | Lijst contactmomenten |

#### 4.2.3 Kindcheck

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `kindcheck_invullen` | Actie | "Kindcheck: 2 kinderen, geen zorgen"<br>"Geen kinderen in beeld" | Vult kindcheck formulier |
| `kindcheck_query` | Query | "Is de kindcheck gedaan?"<br>"Hoeveel kinderen heeft Jan?" | Status + samenvatting |

#### 4.2.4 Risicotaxatie

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `risico_toevoegen` | Actie | "Risico suïcidaliteit: matig"<br>"Agressierisico laag" | Voegt risico toe aan `RiskManager` |
| `risico_query` | Query | "Wat zijn de risico's van Jan?"<br>"Toon risicotaxatie" | Risico overzicht met levels |

#### 4.2.5 Anamnese

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `anamnese_toevoegen` | Actie | "Psychiatrische anamnese: eerste depressie 2019"<br>"Sociale anamnese: woont alleen" | Voegt anamnese sectie toe |
| `anamnese_query` | Query | "Wat is de voorgeschiedenis?"<br>"Toon anamnese" | Anamnese overzicht |

#### 4.2.6 Onderzoeken

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `onderzoek_toevoegen` | Actie | "Psychologisch onderzoek aangevraagd"<br>"Lab: bloedonderzoek normaal" | Voegt onderzoek toe |
| `onderzoeken_query` | Query | "Welke onderzoeken zijn gedaan?" | Lijst onderzoeken + resultaten |

#### 4.2.7 ROM

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `rom_toevoegen` | Actie | "ROM: OQ-45 score 82"<br>"PHQ-9 afgenomen, score 14" | Voegt ROM-meting toe |
| `rom_query` | Query | "Wat zijn de ROM scores?"<br>"Toon vragenlijsten" | ROM overzicht met scores |

#### 4.2.8 Diagnose

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `diagnose_toevoegen` | Actie | "Diagnose: depressieve stoornis"<br>"Hoofddiagnose F32.1" | Opent ICD-10 zoeken + voegt toe |
| `diagnose_query` | Query | "Wat zijn de diagnoses?"<br>"Welke diagnose heeft Jan?" | Diagnose overzicht |

#### 4.2.9 Behandeladvies

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `behandeladvies_invoer` | Actie | "Behandeladvies: CGT bij angst"<br>"Advies: EMDR voor trauma" | Vult behandeladvies formulier |
| `behandeladvies_query` | Query | "Wat is het behandeladvies?"<br>"Toon advies" | Behandeladvies overzicht |

### 4.3 Navigatie Intents

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `intake_navigeer` | Navigatie | "Ga naar risicotaxatie"<br>"Open kindcheck"<br>"Naar diagnose" | Navigeert naar specifieke tab |
| `intake_volgende` | Navigatie | "Volgende stap"<br>"Ga verder" | Navigeert naar volgende tab |
| `intake_vorige` | Navigatie | "Vorige"<br>"Terug" | Navigeert naar vorige tab |

---

## 5. Fase 4: Intake Afsluiten

### 5.1 Procesbeschrijving

Wanneer alle verplichte secties zijn ingevuld, kan de intake worden afgesloten.

### 5.2 Intents

| Intent | Type | Input | Output |
|--------|------|-------|--------|
| `intake_afsluiten` | Actie | "Sluit intake af"<br>"Intake afronden" | Zet status op 'afgerond' + einddatum |
| `intake_samenvatting` | Query | "Samenvatting intake"<br>"Geef overzicht van de intake" | AI-gegenereerde samenvatting |
| `intake_checklist` | Query | "Wat moet ik nog doen?"<br>"Is de intake compleet?" | Checklist onvolledige secties |

### 5.3 Nudges

| Trigger | Nudge | Priority |
|---------|-------|----------|
| Alle verplichte secties ingevuld | "Intake afsluiten?" | medium |
| Intake afgesloten | "Behandelplan opstellen?" | low |
| Intake > 4 weken open | "Intake nog actueel? Afsluiten of voortzetten?" | low |

---

## 6. Intent Matrix (Totaaloverzicht)

### 6.1 Alle Intents

| # | Intent ID | Type | Fase | Priority |
|---|-----------|------|------|----------|
| 1 | `screening_query` | Query | Screening | 🔴 Hoog |
| 2 | `hulpvraag_invoer` | Actie | Screening | 🟡 Middel |
| 3 | `screening_besluit` | Actie | Screening | 🟡 Middel |
| 4 | `screening_activiteit` | Actie | Screening | 🔵 Laag |
| 5 | `intake_starten` | Actie | Start | 🔴 Hoog |
| 6 | `intake_lijst` | Query | Start | 🟡 Middel |
| 7 | `intake_navigeer` | Navigatie | Uitvoering | 🔴 Hoog |
| 8 | `intake_status` | Query | Uitvoering | 🔴 Hoog |
| 9 | `contact_toevoegen` | Actie | Uitvoering | 🟡 Middel |
| 10 | `kindcheck_invullen` | Actie | Uitvoering | 🟡 Middel |
| 11 | `kindcheck_query` | Query | Uitvoering | 🟡 Middel |
| 12 | `risico_toevoegen` | Actie | Uitvoering | 🔴 Hoog |
| 13 | `risico_query` | Query | Uitvoering | 🔴 Hoog |
| 14 | `anamnese_toevoegen` | Actie | Uitvoering | 🟡 Middel |
| 15 | `anamnese_query` | Query | Uitvoering | 🟡 Middel |
| 16 | `onderzoek_toevoegen` | Actie | Uitvoering | 🔵 Laag |
| 17 | `onderzoeken_query` | Query | Uitvoering | 🔵 Laag |
| 18 | `rom_toevoegen` | Actie | Uitvoering | 🟡 Middel |
| 19 | `rom_query` | Query | Uitvoering | 🟡 Middel |
| 20 | `diagnose_toevoegen` | Actie | Uitvoering | 🔴 Hoog |
| 21 | `diagnose_query` | Query | Uitvoering | 🔴 Hoog |
| 22 | `behandeladvies_invoer` | Actie | Uitvoering | 🔴 Hoog |
| 23 | `behandeladvies_query` | Query | Uitvoering | 🔴 Hoog |
| 24 | `intake_afsluiten` | Actie | Afsluiten | 🟡 Middel |
| 25 | `intake_samenvatting` | Query | Afsluiten | 🟡 Middel |
| 26 | `intake_checklist` | Query | Afsluiten | 🟡 Middel |

### 6.2 Verdeling

| Type | Aantal |
|------|--------|
| Query | 13 |
| Actie | 11 |
| Navigatie | 2 |
| **Totaal** | **26** |

| Priority | Aantal |
|----------|--------|
| 🔴 Hoog | 10 |
| 🟡 Middel | 13 |
| 🔵 Laag | 3 |

---

## 7. UI Blocks (Nieuw te bouwen)

Voor Cortex moeten we nieuwe blocks bouwen die de intent resultaten tonen:

| Block | Toont | Bron Data |
|-------|-------|-----------|
| `ScreeningBlock` | Hulpvraag, besluit, status | `getScreeningSummary()` |
| `IntakeStatusBlock` | Checklist tabs, voortgang | Nieuwe functie nodig |
| `IntakeListBlock` | Lijst intakes van patiënt | `getIntakesByPatient()` |
| `KindcheckBlock` | Samenvatting kindcheck | `getKindcheck()` |
| `RisicoBlock` | Risico's met levels | `getRiskAssessments()` |
| `AnamneseBlock` | Anamnese samenvatting | `getAnamneses()` |
| `DiagnoseBlock` | Diagnoses lijst | `getDiagnoses()` |
| `BehandeladviesBlock` | Behandeladvies | `getTreatmentAdvice()` |
| `IntakeSamenvattingBlock` | AI-samenvatting hele intake | Nieuwe AI functie nodig |

---

## 8. Implementatie Prioriteit

### 8.1 MVP (Fase 1)

Focus op de meest waardevolle intents:

1. **`intake_status`** - "Wat moet ik nog doen?" → Checklist
2. **`intake_navigeer`** - "Ga naar risicotaxatie" → Direct navigeren
3. **`risico_query`** - "Wat zijn de risico's?" → Risico overzicht
4. **`diagnose_query`** - "Welke diagnoses?" → Diagnose overzicht
5. **`intake_samenvatting`** - "Samenvatting intake" → AI samenvatting

### 8.2 Fase 2

6. **`screening_query`** - Screening overzicht
7. **`kindcheck_query`** - Kindcheck status
8. **`behandeladvies_query`** - Behandeladvies tonen
9. **`intake_starten`** - Nieuwe intake via spraak

### 8.3 Fase 3 (Actie intents)

10. **`risico_toevoegen`** - Risico toevoegen via spraak
11. **`diagnose_toevoegen`** - Diagnose toevoegen
12. **`kindcheck_invullen`** - Kindcheck invullen
13. Overige actie intents...

---

## 9. Open Vragen

1. **Contextbeheer**: Hoe weet Cortex welke intake actief is als een patiënt meerdere intakes heeft?
2. **Navigatie vs Blocks**: Navigeren we naar bestaande pagina's of tonen we data in Cortex blocks?
3. **Actie confirmatie**: Welke acties vereisen bevestiging voordat ze uitgevoerd worden?
4. **Integratie behandelplan**: Hoe koppelen we intake-afsluiting aan behandelplan-start?

---

## Versiehistorie

| Versie | Datum | Auteur | Wijziging |
|--------|-------|--------|-----------|
| v0.1 | 03-02-2026 | Colin Lit | Initieel ontwerp |
