- Adjusted date handling in the agenda API to ensure optional parameters for start, end, and label are correctly processed. - Enhanced chat input and action parser to support optional date labels for relative dates. - Updated agenda components to handle date ranges and loading states more effectively. - Improved error handling and loading indicators in the agenda block for better user experience. This commit ensures consistency in date handling across the application, aligning with the new requirements for relative date inputs.
22 KiB
📊 Analyse: Intents & Nudges — Cortex V2
Datum: 01-01-2026
Status: Analyse voor MVP uitbreiding
Auteur: Colin Lit (met AI-assistentie)
1. Samenvatting
Dit document bevat een uitgebreide analyse van:
- De huidige geïmplementeerde intents en nudges in Cortex V2
- De EPD-functionaliteit die beschikbaar is voor nudge triggers
- Aanbevelingen voor nieuwe nudges gebaseerd op zorgprotocollen
- Nieuw: Analyse van query/overzicht intents voor rapportages, behandelplannen en risico's
Conclusies:
- De huidige 7 intents dekken basis acties, maar missen query/overzicht functionaliteit
- Er worden 7 nieuwe nudges aanbevolen om de "proactieve AI collega" beter te demonstreren
- Er worden 4 nieuwe query intents aanbevolen voor overzichten (rapportages, behandelplan, risico's, dashboard)
2. Huidige Implementatie
2.1 Intents (7 + unknown)
| Intent | Nederlands Label | UI Block | Categorie | Status |
|---|---|---|---|---|
dagnotitie |
Notitie | ✅ dagnotitie-block.tsx |
Actie | Volledig |
zoeken |
Patiënt zoeken | ✅ zoeken-block.tsx |
Query | Volledig |
overdracht |
Overdracht | ✅ overdracht-block.tsx |
Query | Volledig |
agenda_query |
Agenda | ⚠️ Via artifact | Query | Basis |
create_appointment |
Nieuwe afspraak | ⚠️ Via artifact | Actie | Basis |
cancel_appointment |
Afspraak annuleren | ⚠️ Via artifact | Actie | Basis |
reschedule_appointment |
Afspraak verzetten | ⚠️ Via artifact | Actie | Basis |
unknown |
Fallback | — | — | N.v.t. |
Locatie: lib/cortex/types.ts
2.2 Overzicht Mogelijkheden (Query Intents)
✅ Wat WEL via spraak bereikbaar is
| Intent | Input Voorbeeld | Output |
|---|---|---|
agenda_query |
"Agenda vandaag", "Afspraken deze week" | AgendaListView - lijst van afspraken met periode filter |
overdracht |
"Overdracht", "Samenvatting" | OverdrachtBlock - AI-samenvatting per patiënt met aandachtspunten |
zoeken |
"Zoek Jan", "Wie is Marie" | ZoekenBlock - patiënt zoekresultaten |
De OverdrachtBlock is krachtig:
- Genereert AI-samenvatting per patiënt
- Toont aandachtspunten met bronverwijzingen
- Toont actiepunten
- Filterbaar per periode (1d, 3d, 7d, 14d)
- Filterbaar per rol (verpleegkundige/psychiater)
❌ Wat NIET via spraak bereikbaar is
| Gewenste Input | Huidige Status | Bestaande UI |
|---|---|---|
| "Toon rapportages van Jan" | ❌ Geen intent | app/epd/patients/[id]/rapportage/ bestaat |
| "Wat is het behandelplan van Jan?" | ❌ Geen intent | components/behandelplan/ bestaat |
| "Wat zijn de risico's van Jan?" | ❌ Geen intent | RisksBlock in verpleegrapportage bestaat |
| "Overzicht Jan" / "Dashboard Jan" | ❌ Geen intent | ✅ PatientDashboardBlock bestaat maar niet bereikbaar! |
2.3 Nudges (2 protocol rules)
| ID | Naam | Trigger | Suggestie | Priority |
|---|---|---|---|---|
wondzorg-controle |
Wondcontrole na verzorging | dagnotitie + content bevat "wond" |
"Wondcontrole inplannen over 3 dagen?" → create_appointment |
medium |
medicatie-controle |
Medicatie controle na wijziging | dagnotitie + content bevat "medicatie" EN "gewijzigd" |
"Medicatie evaluatie inplannen over 1 week?" → create_appointment |
medium |
Locatie: lib/cortex/nudge.ts
3. EPD Functionaliteit Analyse
3.1 Beschikbare Modules
| Module | Pad | Relevante Data voor Nudges |
|---|---|---|
| Rapportage | app/epd/patients/[id]/rapportage/ |
Report types, categories |
| Risico Taxatie | intakes/[intakeId]/risk/ |
Risk types, risk levels |
| Verpleegrapportage | app/epd/verpleegrapportage/ |
Vitals, AI samenvatting |
| Agenda | app/epd/agenda/ |
Appointment types |
| Intake | intakes/[intakeId]/ |
Anamnese, diagnose, kindcheck |
| Behandelplan | patients/[id]/behandelplan/ |
Leefgebieden, doelen |
| Screening | patients/[id]/screening/ |
Hulpvraag, besluit |
3.2 Report Types (voor nudge triggers)
// lib/types/report.ts
export const REPORT_TYPES = [
'voortgang',
'observatie',
'incident', // → Trigger voor MIC-melding
'medicatie', // → Trigger voor evaluatie
'contact',
'crisis', // → Trigger voor team informeren
'intake',
'behandeladvies',
'vrije_notitie',
'verpleegkundig',
] as const;
3.3 Verpleegkundige Categorieën
// lib/types/report.ts
export const VERPLEEGKUNDIG_CATEGORIES = [
'medicatie', // → Trigger voor medicatie nudges
'adl', // → Trigger voor zorgplan nudges
'gedrag', // → Trigger voor risico nudges
'incident', // → Trigger voor MIC nudges
'observatie',
] as const;
3.4 Risk Types (in EPD)
// app/epd/patients/[id]/intakes/[intakeId]/risk/components/risk-manager.tsx
const riskTypeOptions = [
{ value: 'suicidaliteit', label: 'Suïcidaliteit' },
{ value: 'agressie', label: 'Agressie' },
{ value: 'zelfverwaarlozing', label: 'Zelfverwaarlozing' },
{ value: 'middelenmisbruik', label: 'Middelenmisbruik' },
{ value: 'verward_gedrag', label: 'Verward gedrag' },
{ value: 'overig', label: 'Overig' },
];
// app/epd/verpleegrapportage/components/blocks/risks-block.tsx (verpleegkunde)
const riskTypes = {
valrisico: 'Valrisico',
decubitus: 'Decubitus',
ondervoeding: 'Ondervoeding',
delier: 'Delier',
infectie: 'Infectie',
suiciderisico: 'Suïciderisico',
agressie: 'Agressie',
weglopen: 'Weglopen',
};
3.5 Appointment Types
// lib/cortex/types.ts
appointmentType?: 'intake' | 'behandeling' | 'follow-up' | 'telefonisch' |
'huisbezoek' | 'online' | 'crisis' | 'overig';
4. Aanbevelingen: Nieuwe Nudges
4.1 Overzicht Aanbevolen Nudges
| # | ID | Trigger Intent | Conditions | Suggestie | Priority |
|---|---|---|---|---|---|
| 1 | suicidaliteit-veiligheidsplan |
dagnotitie | content matches suïcida|zelfmoord|zelfbeschadig |
Veiligheidsplan actualiseren | 🔴 high |
| 2 | crisis-team-informeren |
dagnotitie | content matches crisis|noodgeval|acuut |
Crisisteam informeren | 🔴 high |
| 3 | incident-mic-melding |
dagnotitie | category = incident |
MIC-melding invullen | 🔴 high |
| 4 | gedrag-risico-update |
dagnotitie | category = gedrag + content matches agressie|dreigend|verward |
Risicotaxatie bijwerken | 🟡 medium |
| 5 | adl-zorgplan-update |
dagnotitie | category = adl + content matches hulp nodig|verslechter |
Zorgplan bijwerken | 🟡 medium |
| 6 | intake-behandelplan |
create_appointment | appointmentType = intake |
Behandelplan opstellen | 🔵 low |
| 7 | handover-mark |
dagnotitie | content matches let op|belangrijk|doorgeven |
Opnemen in overdracht | 🔵 low |
4.2 Gedetailleerde Specificaties
🔴 HIGH Priority — Safety & Compliance
1. suicidaliteit-veiligheidsplan
{
id: 'suicidaliteit-veiligheidsplan',
name: 'Veiligheidsplan bij suïcidaliteit',
trigger: {
intent: 'dagnotitie',
conditions: [
{
field: 'content',
operator: 'matches',
value: 'suïcida|zelfmoord|zelfbeschadig|automutil'
},
],
},
suggestion: {
intent: 'dagnotitie',
message: '⚠️ Veiligheidsplan actualiseren en risicotaxatie bijwerken?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'observatie',
}),
},
priority: 'high',
enabled: true,
expiresAfterMs: 10 * 60 * 1000, // 10 minuten - urgent
}
Rationale: Vereist door GGZ-richtlijnen. Bij suïcidaliteit moet altijd het veiligheidsplan geëvalueerd worden.
2. crisis-team-informeren
{
id: 'crisis-team-informeren',
name: 'Team informeren bij crisis',
trigger: {
intent: 'dagnotitie',
conditions: [
{
field: 'content',
operator: 'matches',
value: 'crisis|noodgeval|acuut|spoed'
},
],
},
suggestion: {
intent: 'dagnotitie',
message: '🚨 Crisisteam en dienstdoende psychiater informeren?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'incident',
}),
},
priority: 'high',
enabled: true,
expiresAfterMs: 10 * 60 * 1000,
}
Rationale: Crisis situaties vereisen multidisciplinaire afstemming.
3. incident-mic-melding
{
id: 'incident-mic-melding',
name: 'MIC-melding na incident',
trigger: {
intent: 'dagnotitie',
conditions: [
{ field: 'category', operator: 'equals', value: 'incident' },
],
},
suggestion: {
intent: 'dagnotitie',
message: '⚠️ MIC-melding invullen voor dit incident?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'incident',
}),
},
priority: 'high',
enabled: true,
expiresAfterMs: 15 * 60 * 1000,
}
Rationale: MIC (Melding Incidenten Cliënten) is wettelijk verplicht bij incidenten in de zorg.
🟡 MEDIUM Priority — Protocol & Follow-up
4. gedrag-risico-update
{
id: 'gedrag-risico-update',
name: 'Risicotaxatie bij gedragsverandering',
trigger: {
intent: 'dagnotitie',
conditions: [
{ field: 'category', operator: 'equals', value: 'gedrag' },
{
field: 'content',
operator: 'matches',
value: 'agressie|agressief|dreigend|onrustig|agitatie|verward'
},
],
},
suggestion: {
intent: 'dagnotitie',
message: '📋 Risicotaxatie bijwerken voor dit gedrag?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'observatie',
}),
},
priority: 'medium',
enabled: true,
expiresAfterMs: 5 * 60 * 1000,
}
Rationale: Gedragsverandering kan indicatie zijn voor veranderd risicoprofiel.
5. adl-zorgplan-update
{
id: 'adl-zorgplan-update',
name: 'Zorgplan update bij ADL wijziging',
trigger: {
intent: 'dagnotitie',
conditions: [
{ field: 'category', operator: 'equals', value: 'adl' },
{
field: 'content',
operator: 'matches',
value: 'hulp nodig|niet meer zelfstandig|verslechter|achteruit'
},
],
},
suggestion: {
intent: 'dagnotitie',
message: '🏠 Zorgplan/behandelplan bijwerken voor gewijzigde ADL?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'observatie',
}),
},
priority: 'medium',
enabled: true,
expiresAfterMs: 5 * 60 * 1000,
}
Rationale: ADL-veranderingen moeten leiden tot zorgplan-aanpassingen.
🔵 LOW Priority — Administratief & Workflow
6. intake-behandelplan
{
id: 'intake-behandelplan',
name: 'Behandelplan na intake',
trigger: {
intent: 'create_appointment',
conditions: [
{ field: 'appointmentType', operator: 'equals', value: 'intake' },
],
},
suggestion: {
intent: 'dagnotitie',
message: '📝 Behandelplan opstellen na de intake?',
prefillEntities: (source) => ({
patientName: source.patientName,
category: 'observatie',
}),
},
priority: 'low',
enabled: true,
expiresAfterMs: 30 * 60 * 1000, // 30 minuten
}
Rationale: Na een intake hoort een behandelplan opgesteld te worden.
7. handover-mark
{
id: 'handover-mark',
name: 'Opnemen in overdracht',
trigger: {
intent: 'dagnotitie',
conditions: [
{
field: 'content',
operator: 'matches',
value: 'let op|belangrijk|doorgeven|overdracht|collega|volgende dienst'
},
],
},
suggestion: {
intent: 'dagnotitie',
message: '📋 Deze notitie opnemen in de dienst-overdracht?',
prefillEntities: (source) => ({
patientName: source.patientName,
}),
},
priority: 'low',
enabled: true,
expiresAfterMs: 5 * 60 * 1000,
}
Rationale: Belangrijke informatie moet in de overdracht terechtkomen.
5. Totaaloverzicht na Implementatie
5.1 Alle Nudges (9 totaal)
| # | ID | Trigger | Priority | Expiry | Status |
|---|---|---|---|---|---|
| 1 | wondzorg-controle |
dagnotitie + "wond" | 🟡 medium | 5 min | ✅ Bestaand |
| 2 | medicatie-controle |
dagnotitie + "medicatie" + "gewijzigd" | 🟡 medium | 5 min | ✅ Bestaand |
| 3 | suicidaliteit-veiligheidsplan |
dagnotitie + suïcide keywords | 🔴 high | 10 min | 🆕 Nieuw |
| 4 | crisis-team-informeren |
dagnotitie + crisis keywords | 🔴 high | 10 min | 🆕 Nieuw |
| 5 | incident-mic-melding |
dagnotitie + category=incident | 🔴 high | 15 min | 🆕 Nieuw |
| 6 | gedrag-risico-update |
dagnotitie + category=gedrag + agressie | 🟡 medium | 5 min | 🆕 Nieuw |
| 7 | adl-zorgplan-update |
dagnotitie + category=adl + verslechtering | 🟡 medium | 5 min | 🆕 Nieuw |
| 8 | intake-behandelplan |
create_appointment + type=intake | 🔵 low | 30 min | 🆕 Nieuw |
| 9 | handover-mark |
dagnotitie + "belangrijk" keywords | 🔵 low | 5 min | 🆕 Nieuw |
5.2 Verdeling per Priority
- 🔴 HIGH (3): Safety-gerelateerd, vereisen directe actie
- 🟡 MEDIUM (4): Protocol-gerelateerd, binnen dienst afhandelen
- 🔵 LOW (2): Administratief, handig maar niet urgent
5.3 Verdeling per Trigger Intent
- dagnotitie (8): Meeste nudges triggeren op notities
- create_appointment (1): Na intake afspraak
6. Demo Impact
6.1 Uitgebreide Demo Scene 4
Met de nieuwe nudges kan de demo uitgebreid worden:
| Stap | Input | Verwachte Nudge | Priority |
|---|---|---|---|
| 4a | "Wond verzorgd, ziet er goed uit" | Wondcontrole inplannen | 🟡 medium |
| 4b | "Patient was vandaag erg agressief" | Risicotaxatie bijwerken | 🟡 medium |
| 4c | "Incident: patient gevallen in gang" | MIC-melding invullen | 🔴 high |
| 4d | "Crisis: acute suïcidaliteit gemeld" | Veiligheidsplan + team | 🔴 high |
6.2 Demo Script Aanpassing
### Scene 4: Proactiviteit (uitgebreid - 2.5 min)
**Stap 1:** "Wond verzorgd, ziet er goed uit"
→ NudgeToast (medium/oranje): "Wondcontrole inplannen over 3 dagen?"
**Highlight:** "Systeem kent zorgprotocollen"
**Stap 2:** "Patient was vandaag agressief naar medepatiënt"
→ NudgeToast (medium/oranje): "Risicotaxatie bijwerken?"
**Highlight:** "Gedrag wordt gekoppeld aan risico-assessment"
**Stap 3:** "Crisis: patient spreekt over suïcide"
→ NudgeToast (high/rood): "⚠️ Veiligheidsplan actualiseren?"
**Highlight:** "Hoge prioriteit suggesties vallen direct op"
6.3 Potentiële Demo met Query Intents
Als de query intents geïmplementeerd worden:
### Scene 5: Informatie Ophalen (1.5 min)
**Stap 1:** "Overzicht Jan"
→ PatientDashboardBlock met basisgegevens, intakes, afspraken
**Highlight:** "Direct patiëntinformatie zonder klikken"
**Stap 2:** "Wat zijn de risico's?"
→ Risico overzicht met levels en maatregelen
**Highlight:** "Contextueel - weet dat we over Jan praten"
**Stap 3:** "Toon rapportages van deze week"
→ Gefilterde rapportage lijst
**Highlight:** "Natuurlijke tijdsaanduiding werkt"
7. Technische Implementatie
7.1 Benodigde Wijzigingen
| Bestand | Actie |
|---|---|
lib/cortex/nudge.ts |
7 nieuwe ProtocolRule entries toevoegen |
components/cortex/command-center/nudge-toast.tsx |
Styling voor high priority (rood) verifiëren |
docs/intent/demo-script-cortex-v2.md |
Demo script uitbreiden met nieuwe scenes |
7.2 Backward Compatibility
Alle nieuwe nudges zijn additief - bestaande functionaliteit blijft werken. De feature flag CORTEX_NUDGE moet true zijn om nudges te tonen.
8. Aanbevelingen: Nieuwe Query Intents
8.1 Overzicht Aanbevolen Query Intents
| # | Intent | Input Voorbeelden | Output | Prioriteit |
|---|---|---|---|---|
| 1 | patient_overview |
"Overzicht Jan", "Dashboard Marie" | PatientDashboardBlock (bestaat al!) |
🔴 Hoog |
| 2 | rapportage_query |
"Toon rapportages van Jan", "Notities deze week" | Rapportage lijst met filters | 🟡 Middel |
| 3 | behandelplan_query |
"Wat is het behandelplan?", "Toon doelen" | Behandelplan overzicht | 🟡 Middel |
| 4 | risico_query |
"Wat zijn de risico's?", "Risicotaxatie" | Risico overzicht | 🟡 Middel |
8.2 Gedetailleerde Specificaties Query Intents
🔴 HIGH Priority — patient_overview
Waarom hoog? De UI (PatientDashboardBlock) bestaat al, alleen de intent routing ontbreekt.
Input voorbeelden:
- "Overzicht Jan"
- "Dashboard Marie"
- "Patiëntoverzicht"
Pattern matching (Reflex):
patient_overview: [
{ pattern: /^overzicht\s+\w+/i, weight: 1.0 },
{ pattern: /^dashboard\s+\w+/i, weight: 1.0 },
{ pattern: /^pati[eë]nt(en)?overzicht\b/i, weight: 0.9 },
{ pattern: /^toon\s+(alles|info)\s+(van\s+)?\w+/i, weight: 0.85 },
]
Entities:
{
patientName: string;
}
Output: PatientDashboardBlock - toont:
- Basisgegevens (naam, geboortedatum, BSN)
- Recente intakes
- Agenda afspraken
- Actief behandelplan (doelen/interventies count)
🟡 MEDIUM Priority — rapportage_query
Input voorbeelden:
- "Toon rapportages van Jan"
- "Wat is er gerapporteerd deze week?"
- "Rapportages vandaag"
- "Notities van Marie"
Pattern matching (Reflex):
rapportage_query: [
{ pattern: /^(toon\s+)?rapportages?\b/i, weight: 1.0 },
{ pattern: /^wat\s+is\s+er\s+gerapporteerd\b/i, weight: 0.95 },
{ pattern: /^overzicht\s+notities\b/i, weight: 0.9 },
{ pattern: /^rapportages?\s+(van\s+)?\w+/i, weight: 0.9 },
{ pattern: /^notities\s+(van\s+)?\w+/i, weight: 0.85 },
]
Entities:
{
patientName?: string;
dateRange?: { start: Date; end: Date; label: string };
category?: VerpleegkundigCategory; // optioneel filter
}
Benodigde UI: RapportageQueryBlock (nieuw) - lijst van rapportages met:
- Periode filter (vandaag, week, maand)
- Categorie filter (medicatie, adl, gedrag, etc.)
- Sorteer opties (datum, categorie)
🟡 MEDIUM Priority — behandelplan_query
Input voorbeelden:
- "Wat is het behandelplan van Jan?"
- "Toon doelen van Marie"
- "Behandelplan"
- "Welke interventies heeft Jan?"
Pattern matching (Reflex):
behandelplan_query: [
{ pattern: /^(toon\s+)?behandelplan\b/i, weight: 1.0 },
{ pattern: /^wat\s+(zijn|is)\s+(het\s+)?behandelplan\b/i, weight: 0.95 },
{ pattern: /^(toon\s+)?doelen\b/i, weight: 0.9 },
{ pattern: /^(toon\s+)?interventies\b/i, weight: 0.9 },
{ pattern: /^behandelplan\s+(van\s+)?\w+/i, weight: 0.9 },
]
Entities:
{
patientName?: string;
queryFocus?: 'doelen' | 'interventies' | 'leefgebieden' | 'alles';
}
Benodigde UI: BehandelplanQueryBlock (nieuw) of hergebruik BehandelplanView:
- Hulpvraag weergave
- Leefgebieden scores
- Doelen lijst
- Interventies lijst
🟡 MEDIUM Priority — risico_query
Input voorbeelden:
- "Wat zijn de risico's van Jan?"
- "Toon risicotaxatie"
- "Risico's"
- "Veiligheidsplan"
Pattern matching (Reflex):
risico_query: [
{ pattern: /^(toon\s+)?risico['']?s?\b/i, weight: 1.0 },
{ pattern: /^wat\s+zijn\s+(de\s+)?risico['']?s?\b/i, weight: 0.95 },
{ pattern: /^risicotaxatie\b/i, weight: 0.95 },
{ pattern: /^veiligheidsplan\b/i, weight: 0.8 },
{ pattern: /^risico['']?s?\s+(van\s+)?\w+/i, weight: 0.9 },
]
Entities:
{
patientName?: string;
riskType?: 'suicidaliteit' | 'agressie' | 'valrisico' | 'all';
}
Benodigde UI: Hergebruik RisksBlock uit verpleegrapportage:
- Risico's gesorteerd op niveau (zeer_hoog → laag)
- Met rationale en maatregelen
- High risk count badge
8.3 Implementatie Impact Query Intents
| Intent | Types Wijziging | Patterns Wijziging | UI Wijziging | Complexiteit |
|---|---|---|---|---|
patient_overview |
✅ Toevoegen | ✅ Toevoegen | ❌ Bestaat al | Laag |
rapportage_query |
✅ Toevoegen | ✅ Toevoegen | 🆕 Nieuw block | Middel |
behandelplan_query |
✅ Toevoegen | ✅ Toevoegen | ⚠️ Wrap bestaand | Middel |
risico_query |
✅ Toevoegen | ✅ Toevoegen | ⚠️ Wrap bestaand | Middel |
9. Toekomstige Uitbreidingen (Post-MVP)
9.1 Potentiële Nieuwe Actie Intents
| Intent | Use Case | Prioriteit |
|---|---|---|
medicatie_toediening |
"Geef Jan zijn medicatie" | Medium |
vitals_registratie |
"Bloeddruk Jan 120/80" | Medium |
taak_aanmaken |
"Herinnering morgen 10:00" | Low |
bericht_sturen |
"Mail naar huisarts" | Low |
9.2 Potentiële Nieuwe Nudges
| ID | Trigger | Suggestie |
|---|---|---|
vitals-afwijkend |
Vitals met H/L interpretatie | Arts informeren |
lithium-lab |
Medicatie notitie + "lithium" | Lab aanvragen |
overdracht-einde-dienst |
Einde dienst nadert | Overdracht schrijven |
kindcheck-reminder |
Na intake met kinderen | Kindcheck uitvoeren |
10. Referenties
- Bouwplan:
docs/intent/bouwplan-cortex-v2.md - Architecture:
docs/intent/architecture-cortex-v2.md - MVP User Stories:
docs/intent/mvp-userstories-intent-system.md - Huidige nudge implementatie:
lib/cortex/nudge.ts - Intent types:
lib/cortex/types.ts - Reflex classifier:
lib/cortex/reflex-classifier.ts - Report types:
lib/types/report.ts - Risk types:
app/epd/patients/[id]/intakes/[intakeId]/risk/components/risk-manager.tsx - PatientDashboardBlock:
components/cortex/blocks/patient-dashboard-block.tsx - OverdrachtBlock:
components/cortex/blocks/overdracht-block.tsx - BehandelplanView:
components/behandelplan/behandelplan-view.tsx - RisksBlock:
app/epd/verpleegrapportage/components/blocks/risks-block.tsx
Versiehistorie
| Versie | Datum | Auteur | Wijziging |
|---|---|---|---|
| v1.0 | 01-01-2026 | Colin Lit | Initiële analyse document |
| v1.1 | 01-01-2026 | Colin Lit | Query intents analyse toegevoegd (rapportage, behandelplan, risico, dashboard) |