- Add architecture overview, implementation plan, and intent overview - Add intake intent process specs (gap analyse, bouwplan, testplan) - Add swift architecture specs and visualization prompts - Remove obsolete aispeedrun-manifesto template Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
16 KiB
16 KiB
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" "Wat is de hulpvraag?" |
ScreeningBlock - overzicht hulpvraag, besluit, status |
hulpvraag_invoer |
Actie | "Hulpvraag: angstklachten en slaapproblemen" "Noteer hulpvraag: depressieve klachten" |
Vult HelpRequestCard in |
screening_besluit |
Actie | "Jan is geschikt voor behandeling" "Niet geschikt, doorverwijzen" |
Vult DecisionCard in |
screening_activiteit |
Actie | "Gebeld met huisarts over verwijzing" "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" "Nieuwe intake afdeling Volwassenen" |
Opent NewIntakeForm met prefill |
intake_lijst |
Query | "Toon intakes van Jan" "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" "Wanneer is de intake gestart?" |
Toont algemene info |
intake_status |
Query | "Wat is de status van de intake?" "Is de intake compleet?" |
Status + checklist onvolledige secties |
4.2.2 Contactmomenten
| Intent | Type | Input | Output |
|---|---|---|---|
contact_toevoegen |
Actie | "Intakegesprek gehad met Jan" "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" "Geen kinderen in beeld" |
Vult kindcheck formulier |
kindcheck_query |
Query | "Is de kindcheck gedaan?" "Hoeveel kinderen heeft Jan?" |
Status + samenvatting |
4.2.4 Risicotaxatie
| Intent | Type | Input | Output |
|---|---|---|---|
risico_toevoegen |
Actie | "Risico suïcidaliteit: matig" "Agressierisico laag" |
Voegt risico toe aan RiskManager |
risico_query |
Query | "Wat zijn de risico's van Jan?" "Toon risicotaxatie" |
Risico overzicht met levels |
4.2.5 Anamnese
| Intent | Type | Input | Output |
|---|---|---|---|
anamnese_toevoegen |
Actie | "Psychiatrische anamnese: eerste depressie 2019" "Sociale anamnese: woont alleen" |
Voegt anamnese sectie toe |
anamnese_query |
Query | "Wat is de voorgeschiedenis?" "Toon anamnese" |
Anamnese overzicht |
4.2.6 Onderzoeken
| Intent | Type | Input | Output |
|---|---|---|---|
onderzoek_toevoegen |
Actie | "Psychologisch onderzoek aangevraagd" "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" "PHQ-9 afgenomen, score 14" |
Voegt ROM-meting toe |
rom_query |
Query | "Wat zijn de ROM scores?" "Toon vragenlijsten" |
ROM overzicht met scores |
4.2.8 Diagnose
| Intent | Type | Input | Output |
|---|---|---|---|
diagnose_toevoegen |
Actie | "Diagnose: depressieve stoornis" "Hoofddiagnose F32.1" |
Opent ICD-10 zoeken + voegt toe |
diagnose_query |
Query | "Wat zijn de diagnoses?" "Welke diagnose heeft Jan?" |
Diagnose overzicht |
4.2.9 Behandeladvies
| Intent | Type | Input | Output |
|---|---|---|---|
behandeladvies_invoer |
Actie | "Behandeladvies: CGT bij angst" "Advies: EMDR voor trauma" |
Vult behandeladvies formulier |
behandeladvies_query |
Query | "Wat is het behandeladvies?" "Toon advies" |
Behandeladvies overzicht |
4.3 Navigatie Intents
| Intent | Type | Input | Output |
|---|---|---|---|
intake_navigeer |
Navigatie | "Ga naar risicotaxatie" "Open kindcheck" "Naar diagnose" |
Navigeert naar specifieke tab |
intake_volgende |
Navigatie | "Volgende stap" "Ga verder" |
Navigeert naar volgende tab |
intake_vorige |
Navigatie | "Vorige" "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" "Intake afronden" |
Zet status op 'afgerond' + einddatum |
intake_samenvatting |
Query | "Samenvatting intake" "Geef overzicht van de intake" |
AI-gegenereerde samenvatting |
intake_checklist |
Query | "Wat moet ik nog doen?" "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:
intake_status- "Wat moet ik nog doen?" → Checklistintake_navigeer- "Ga naar risicotaxatie" → Direct navigerenrisico_query- "Wat zijn de risico's?" → Risico overzichtdiagnose_query- "Welke diagnoses?" → Diagnose overzichtintake_samenvatting- "Samenvatting intake" → AI samenvatting
8.2 Fase 2
screening_query- Screening overzichtkindcheck_query- Kindcheck statusbehandeladvies_query- Behandeladvies tonenintake_starten- Nieuwe intake via spraak
8.3 Fase 3 (Actie intents)
risico_toevoegen- Risico toevoegen via spraakdiagnose_toevoegen- Diagnose toevoegenkindcheck_invullen- Kindcheck invullen- Overige actie intents...
9. Open Vragen
- Contextbeheer: Hoe weet Cortex welke intake actief is als een patiënt meerdere intakes heeft?
- Navigatie vs Blocks: Navigeren we naar bestaande pagina's of tonen we data in Cortex blocks?
- Actie confirmatie: Welke acties vereisen bevestiging voordat ze uitgevoerd worden?
- Integratie behandelplan: Hoe koppelen we intake-afsluiting aan behandelplan-start?
Versiehistorie
| Versie | Datum | Auteur | Wijziging |
|---|---|---|---|
| v0.1 | 03-02-2026 | Colin Lit | Initieel ontwerp |