Files
triqura-ecd/docs/specs/overdracht/fo-overdracht-dashboard-v1.1.md
colinislit 08cffd0245 feat(overdracht): E0 + E1 - Database setup en API nursing logs
Epic 0 - Database Setup:
- nursing_logs tabel met indexes en constraints
- RLS policies (SELECT/INSERT/UPDATE/DELETE)
- TypeScript types gegenereerd

Epic 1 - API Nursing Logs:
- GET/POST /api/nursing-logs (lijst + aanmaken)
- PATCH/DELETE /api/nursing-logs/[id] (bewerken + verwijderen)
- Zod validatie schemas
- Automatische shift_date berekening

Documentatie:
- PRD, FO, TO en Bouwplan voor Overdracht Dashboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-06 00:03:18 +01:00

643 lines
28 KiB
Markdown

# 🧩 Functioneel Ontwerp (FO) — Verpleegkundige Overdracht Dashboard
**Projectnaam:** Verpleegkundige Overdracht Dashboard
**Versie:** v1.1 (met Dagregistratie Module)
**Datum:** 05-12-2024
**Auteur:** Colin Lit
---
## 1. Doel en relatie met het PRD
🎯 **Doel van dit document:**
Dit Functioneel Ontwerp beschrijft **hoe** het Overdracht Dashboard uit het PRD functioneel zal werken — wat de verpleegkundige ziet, doet en ervaart. Waar het PRD uitlegt *wat en waarom*, laat dit FO zien *hoe dit in de praktijk werkt*.
📘 **Relatie met PRD:**
- PRD-referentie: `prd-overdracht-dashboard-v1.md`
- Dit FO is de functionele uitwerking van PRD secties 3 (Kernfunctionaliteiten) en 4 (Gebruikersflows)
**Kernprincipe:**
> Elke getoonde informatie moet **traceerbaar** zijn naar de bron. De gebruiker moet kunnen zien waar data vandaan komt en kunnen doorklikken naar het originele record.
**Nieuw in v1.1:**
> **Dagregistratie Module** - Verpleegkundigen kunnen tijdens hun dienst snelle notities maken (medicatie, ADL, gedrag, incidenten) en markeren welke relevant zijn voor overdracht. Dit scheidt operationele dagregistratie van behandelrapportages die in het decursus komen.
---
## 2. Overzicht van de belangrijkste onderdelen
🎯 **Doel:** Kort overzicht van schermen en componenten binnen het Overdracht Dashboard.
| # | Onderdeel | Beschrijving | Route |
|---|-----------|--------------|-------|
| 1 | **Overdracht Overzicht** | Grid van alle patiënten voor vandaag | `/epd/overdracht/` |
| 2 | **Patiënt Detail** | Informatieblokken + AI samenvatting | `/epd/overdracht/[patientId]` |
| 3 | **Dagregistratie Module** | Snelle verpleegkundige notities met overdracht-markering | `/epd/dagregistratie/[patientId]` |
| 4 | **Vitale Functies Blok** | Metingen vandaag met trend indicators | Detail pagina |
| 5 | **Rapportages Blok** | Behandelrapportages (24u) met bronlinks | Detail pagina |
| 6 | **Dagnotities Blok** | Verpleegkundige registraties vandaag | Detail pagina |
| 7 | **Medicatie Blok** | Huidige medicatie *(placeholder)* | Detail pagina |
| 8 | **Risico's Blok** | Actieve risicotaxaties | Detail pagina |
| 9 | **AI Samenvatting Blok** | Gegenereerde overdracht met bronverwijzingen | Detail pagina |
---
## 3. User Stories
🎯 **Doel:** Beschrijven wat gebruikers moeten kunnen doen, vanuit hun perspectief.
### MVP User Stories (origineel)
| ID | Rol | Doel / Actie | Verwachte waarde | Prio |
|----|-----|--------------|------------------|------|
| **OD-US01** | Verpleegkundige | Overzicht zien van alle patiënten voor vandaag | Weet wie ik moet overdragen | 🔴 Hoog |
| **OD-US02** | Verpleegkundige | Filteren op patiënten met alerts | Focus op urgente cases | 🔴 Hoog |
| **OD-US03** | Verpleegkundige | Doorklikken naar patiënt detail | Zie alle relevante info | 🔴 Hoog |
| **OD-US04** | Verpleegkundige | Vitale functies zien met afwijkingen gemarkeerd | Direct zien wat er aan de hand is | 🔴 Hoog |
| **OD-US05** | Verpleegkundige | Recente rapportages lezen | Context voor overdracht | 🔴 Hoog |
| **OD-US06** | Verpleegkundige | Doorklikken naar originele rapportage | Bronverificatie | 🔴 Hoog |
| **OD-US07** | Verpleegkundige | Risico's zien met ernst-niveau | Weet wat aandacht nodig heeft | 🟡 Middel |
| **OD-US08** | Verpleegkundige | AI-samenvatting genereren | Snelle overdracht in 30 sec | 🔴 Hoog |
| **OD-US09** | Verpleegkundige | In AI-samenvatting bronnen zien | Weet waar info vandaan komt | 🔴 Hoog |
| **OD-US10** | Verpleegkundige | Vanuit AI-samenvatting doorklikken naar bron | Kan details checken | 🟡 Middel |
### Nieuwe User Stories (Dagregistratie)
| ID | Rol | Doel / Actie | Verwachte waarde | Prio |
|----|-----|--------------|------------------|------|
| **OD-US11** | Verpleegkundige | Tijdens dienst snelle notitie toevoegen | Registreer gebeurtenis direct | 🔴 Hoog |
| **OD-US12** | Verpleegkundige | Notitie categoriseren (medicatie/ADL/gedrag/incident) | Heldere structuur | 🔴 Hoog |
| **OD-US13** | Verpleegkundige | Markeren welke notities relevant zijn voor overdracht | Controle over wat gedeeld wordt | 🔴 Hoog |
| **OD-US14** | Verpleegkundige | Overzicht van dagnotities zien | Snel terugkijken wat er gebeurd is | 🔴 Hoog |
| **OD-US15** | Verpleegkundige | Dagnotitie bewerken/verwijderen | Correctie mogelijk | 🟡 Middel |
| **OD-US16** | Psychiater | Alleen relevante notities in overdracht zien | Geen informatie-overload | 🔴 Hoog |
| **OD-US17** | Psychiater | AI-samenvatting inclusief dagnotities | Compleet beeld van dienst | 🔴 Hoog |
---
## 4. Functionele werking per onderdeel
🎯 **Doel:** Per hoofdonderdeel beschrijven wat de gebruiker kan doen en wat het systeem doet.
### 4.1 Dagregistratie Module (NIEUW)
**Route:** `/epd/dagregistratie/[patientId]`
**Doel:** Snelle registratie tijdens dienst van operationele gebeurtenissen die relevant kunnen zijn voor overdracht, maar niet in het behandelverloop (decursus) horen.
**Functionaliteit:**
| Actie | Beschrijving | Systeem reactie |
|-------|--------------|-----------------|
| **Nieuwe notitie** | Klik "+ Registratie" | Toon quick-entry form |
| **Categorie selecteren** | Dropdown: Medicatie, ADL, Gedrag, Incident, Observatie | Icoon + kleurcodering |
| **Tijd instellen** | Standaard: nu, Aanpasbaar | Timestamp registratie |
| **Tekst invoeren** | Kort tekstveld (max 500 chars) | Autosave draft |
| **Overdracht markeren** | Checkbox "Opnemen in overdracht" | Badge in lijst |
| **Opslaan** | Submit form | Insert nursing_log, refresh lijst |
| **Bewerken** | Klik op notitie | Inline edit mode |
| **Verwijderen** | Trash icon | Confirm dialog → delete |
**UI Componenten:**
```
┌─────────────────────────────────────────┐
│ Dagregistratie - Jan de Vries │
│ Donderdag 5 december 2024 │
├─────────────────────────────────────────┤
│ [+ Nieuwe registratie] Filter: [Alle]│
├─────────────────────────────────────────┤
│ │
│ 14:30 🔴 Incident [Overdracht] │
│ Verbale escalatie bij groepsactiviteit │
│ Collega heeft de-escalatie gedaan │
│ [Bewerken] [Verwijderen] │
│ │
│ 12:00 💊 Medicatie [Overdracht] │
│ Lithium geweigerd - "Voel me goed" │
│ [Bewerken] [Verwijderen] │
│ │
│ 08:00 💊 Medicatie │
│ Olanzapine 10mg toegediend conform │
│ [Bewerken] [Verwijderen] │
│ │
│ 07:30 🍽️ ADL │
│ Ontbijt volledig genuttigd │
│ [Bewerken] [Verwijderen] │
│ │
└─────────────────────────────────────────┘
```
**Quick Entry Form:**
```
┌─────────────────────────────────────┐
│ Nieuwe registratie │
├─────────────────────────────────────┤
│ Categorie: [Incident ▼] │
│ 💊 Medicatie │
│ 🍽️ ADL/verzorging │
│ 👤 Gedragsobservatie │
│ 🔴 Incident │
│ 📝 Algemene observatie │
│ │
│ Tijd: [14:30] [Nu] │
│ │
│ Omschrijving: │
│ ┌─────────────────────────────────┐ │
│ │ Patiënt werd geprikkeld tijdens │ │
│ │ groepsactiviteit, verbale │ │
│ │ escalatie. Collega heeft... │ │
│ └─────────────────────────────────┘ │
│ 234 / 500 karakters │
│ │
│ ☑️ Opnemen in overdracht │
│ │
│ [Annuleren] [Opslaan] │
└─────────────────────────────────────┘
```
**Data Flow:**
```
User input
nursing_logs table
Overdracht Detail (indien marked)
AI Samenvatting (contextueel)
```
---
### 4.2 Overdracht Overzicht (`/epd/overdracht/`)
**Context:** Level 1 - Alle patiënten voor vandaag
[Rest blijft hetzelfde als origineel FO]
**Layout:**
```
┌─────────────────────────────────────────────────────────────────┐
│ EPD Sidebar │ Overdracht │
│ │ │
│ ┌─────────┐ │ ┌──────────────────────────────────────────────┐ │
│ │Dashboard│ │ │ Overdracht 🔴 3 alerts │ │
│ │─────────│ │ │ Donderdag 5 december 2024 · 8 patiënten │ │
│ │Cliënten │ │ ├──────────────────────────────────────────────┤ │
│ │─────────│ │ │ [Alle patiënten (8)] [Met alerts (3)] │ │
│ │Agenda │ │ ├──────────────────────────────────────────────┤ │
│ │─────────│ │ │ │ │
│ │►Overdracht│ │ ┌───────── ┌───────── ┌───────── │ │
│ │─────────│ │ │ │ Jan V. │ │ Marie K.│ │ Piet B. │ │ │
│ │Rapportage│ │ │ │ 🔴 2 │ │ OK │ │ 🟡 1 │ │ │
│ └─────────┘ │ │ │ 67 jaar │ │ 45 jaar │ │ 52 jaar │ │ │
│ │ │ │ [→] │ │ [→] │ │ [→] │ │ │
│ │ │ └───────── └───────── └───────── │ │
└─────────────────────────────────────────────────────────────────┘
```
**Patiënt Card Inhoud:**
| Element | Toelichting |
|---------|-------------|
| Naam | Voornaam + initiaal achternaam |
| Alert badge | 🔴 Aantal hoog-risico items |
| Leeftijd | Berekend uit geboortedatum |
| Klik | → Navigeer naar detail pagina |
**Filter Functionaliteit:**
```typescript
// Pseudo-code
if (filter === 'met-alerts') {
patients = patients.filter(p =>
p.high_risk_count > 0 ||
p.abnormal_vitals_count > 0 ||
p.marked_nursing_logs > 0 // NIEUW
)
}
```
---
### 4.3 Patiënt Detail (`/epd/overdracht/[patientId]`)
**Context:** Level 2 - specifieke patiënt overdracht informatie
**Layout (uitgebreid met Dagnotities blok):**
```
┌─────────────────────────────────────────────────────────────────┐
│ ← Terug naar overzicht │
├─────────────────────────────────────────────────────────────────┤
│ Jan de Vries │
│ ♂ 67 jaar · Depressieve stoornis, recidiverend │
├────────────────────────────────┬────────────────────────────────┤
│ │ │
│ ┌─ Vitale Functies ────────┐ │ ┌─ AI Samenvatting ────────┐ │
│ │ ... │ │ │ │ │
│ └───────────────────────────┘ │ │ [Genereer samenvatting] │ │
│ │ │ │ │
│ ┌─ Rapportages ─────────────┐ │ │ Samenvatting... │ │
│ │ Behandelverslagen (24u) │ │ │ │ │
│ │ [3 rapportages] │ │ │ Aandachtspunten: │ │
│ └───────────────────────────┘ │ │ • Medicatie geweigerd │ │
│ │ │ • Incident vanmiddag │ │
│ ┌─ Dagnotities ─────────────┐ │ │ │ │ ← NIEUW
│ │ VPK registraties vandaag │ │ │ Actiepunten: │ │
│ │ [5 notities, 2 relevant] │ │ │ • Bloeddruk checken │ │
│ │ → [Dagregistratie] │ │ │ │ │
│ └───────────────────────────┘ │ └───────────────────────────┘ │
│ │ │
│ ┌─ Medicatie ───────────────┐ │ │
│ │ [Placeholder] │ │ │
│ └───────────────────────────┘ │ │
│ │ │
│ ┌─ Risico's ────────────────┐ │ │
│ │ ... │ │ │
│ └───────────────────────────┘ │ │
│ │ │
└────────────────────────────────┴────────────────────────────────┘
```
---
### 4.4 Dagnotities Blok (NIEUW)
**Doel:** Toon relevante verpleegkundige registraties in overdracht context
**Inhoud:**
```
┌─ Dagnotities ─────────────────────────────────────┐
│ Verpleegkundige registraties vandaag │
│ │
│ 14:30 🔴 Incident [Overdracht] │
│ Verbale escalatie bij groepsactiviteit │
│ Collega heeft de-escalatie gedaan │
│ Bron: nursing_logs/789 │
│ │
│ 12:00 💊 Medicatie [Overdracht] │
│ Lithium geweigerd - "Voel me goed" │
│ Bron: nursing_logs/788 │
│ │
│ [Toon alle registraties (5)] → /dagregistratie/ │
└────────────────────────────────────────────────────┘
```
**Business Rules:**
| Regel | Implementatie |
|-------|---------------|
| Toon alleen gemarkeerde notities | `WHERE include_in_handover = true` |
| Sorteer chronologisch (nieuw → oud) | `ORDER BY timestamp DESC` |
| Max 5 items inline | Rest via link naar dagregistratie |
| Urgentie kleuren | 🔴 Incident > 💊 Medicatie > 👤 Gedrag > 🍽️ ADL |
---
## 5. Interacties met AI (functionele beschrijving)
🎯 **Doel:** Uitleggen waar AI in de flow voorkomt en wat de gebruiker ziet.
### 5.1 AI Overdracht Generator (uitgebreid)
| Aspect | Beschrijving |
|--------|--------------|
| **Locatie** | AI Samenvatting blok op patiënt detail pagina |
| **Trigger** | Klik op "Genereer samenvatting" button |
| **Input context** | Vitals (vandaag) + Reports (24u) + **Nursing Logs (marked)** + Risks (actief) + Conditions (actief) |
| **Processing** | ~3-5 seconden, progress indicator |
| **Output** | Samenvatting + aandachtspunten (met bronnen) + actiepunten |
### 5.2 AI Prompt Strategie (aangepast)
**System Prompt Kernpunten:**
- Rol: Ervaren verpleegkundige die overdrachten maakt
- Taal: Nederlands, zakelijk, beknopt
- Focus: Veranderingen, zorgen, actiepunten
- **Bronvermelding:** Bij elk aandachtspunt de databron vermelden
- **Nieuwe data:** Verwerk nursing_logs als operationele context
**Context Structuur voor AI (uitgebreid):**
```
PATIENT: [naam], [leeftijd] jaar
DIAGNOSES:
- [diagnose 1] (source: conditions/[id])
- [diagnose 2] (source: conditions/[id])
VITALE FUNCTIES (vandaag):
- Bloeddruk: 145/92 mmHg [VERHOOGD] (source: observations/[id], 14:30)
- Hartslag: 78 bpm [NORMAAL] (source: observations/[id], 14:30)
RAPPORTAGES (laatste 24u):
- [14:15] Voortgangsnotitie: "..." (source: reports/[id])
- [09:30] Contactmoment: "..." (source: reports/[id])
DAGREGISTRATIES (dienst vandaag, relevant voor overdracht): ← NIEUW
- [14:30] [INCIDENT] Verbale escalatie bij groepsactiviteit... (source: nursing_logs/789)
- [12:00] [MEDICATIE] Lithium geweigerd - "Voel me goed" (source: nursing_logs/788)
RISICO'S:
- [HOOG] Suïcidaliteit: "..." (source: risk_assessments/[id])
- [MIDDEL] Zelfverwaarlozing: "..." (source: risk_assessments/[id])
```
**Expected Output (voorbeeld):**
```json
{
"samenvatting": "67-jarige man met recidiverende depressie. Medicatie-therapietrouw problematisch vandaag (Lithium geweigerd), incident vanmiddag met verbale escalatie.",
"aandachtspunten": [
{
"tekst": "Lithium medicatie geweigerd om 12:00 - patiënt geeft aan zich goed te voelen",
"urgent": false,
"bron": {
"type": "dagnotitie",
"id": "nursing-788",
"datum": "05-12-2024 12:00",
"label": "Medicatie registratie"
}
},
{
"tekst": "Incident 14:30 - verbale escalatie tijdens groepsactiviteit, de-escalatie door collega",
"urgent": true,
"bron": {
"type": "dagnotitie",
"id": "nursing-789",
"datum": "05-12-2024 14:30",
"label": "Incident registratie"
}
},
{
"tekst": "Bloeddruk verhoogd (145/92) - monitoring nodig",
"urgent": false,
"bron": {
"type": "observatie",
"id": "obs-456",
"datum": "05-12-2024 14:30",
"label": "Vitale functies"
}
}
],
"actiepunten": [
"Overleg arts over medicatie-weigering en compliance",
"Bloeddruk controleren over 2 uur",
"Evalueer triggers voor incident in behandelplan"
]
}
```
---
## 6. Database Schema (NIEUW)
🎯 **Doel:** Duidelijk maken welke nieuwe data-structuren nodig zijn.
### 6.1 Nieuwe Tabel: nursing_logs
```sql
CREATE TABLE nursing_logs (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
patient_id UUID NOT NULL REFERENCES patients(id) ON DELETE CASCADE,
-- Timing
shift_date DATE NOT NULL, -- Voor filtering per dienst
timestamp TIMESTAMPTZ NOT NULL DEFAULT NOW(),
-- Content
category TEXT NOT NULL CHECK (category IN ('medicatie', 'adl', 'gedrag', 'incident', 'observatie')),
content TEXT NOT NULL, -- Max 500 chars in UI
-- Overdracht
include_in_handover BOOLEAN NOT NULL DEFAULT false,
-- Metadata
created_by UUID NOT NULL REFERENCES auth.users(id),
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
-- Indexes
CREATE INDEX idx_nursing_logs_patient ON nursing_logs(patient_id);
CREATE INDEX idx_nursing_logs_shift ON nursing_logs(shift_date);
CREATE INDEX idx_nursing_logs_handover ON nursing_logs(patient_id, include_in_handover);
```
**Verschil met reports tabel:**
| Aspect | reports | nursing_logs |
|--------|---------|--------------|
| **Doel** | Behandelverloof (decursus) | Operationele dagregistratie |
| **Lengte** | Lang (rich text) | Kort (max 500 chars) |
| **Levensduur** | Jaren | Dagen/weken |
| **In overdracht** | Soms | Frequent |
| **Gebruiker** | Behandelaar + VPK | Voornamelijk VPK |
---
## 7. Gebruikersflows (uitgebreid)
🎯 **Doel:** Laten zien hoe de gebruiker stap-voor-stap door het systeem gaat.
### Flow 1: Dagelijkse Overdracht (aangepast)
```
1. Verpleegkundige opent Overdracht pagina
2. Ziet grid van alle patiënten voor vandaag
3. Filtert eventueel op "Met alerts"
4. Klikt op patiënt voor detail view
5. Bekijkt informatieblokken:
- Vitals
- Behandelrapportages
- Dagnotities (NIEUW)
- Risico's
6. Klikt "Genereer samenvatting"
7. AI maakt beknopte overdracht (incl. dagnotities)
8. Verpleegkundige gebruikt samenvatting voor overdracht aan psychiater
```
### Flow 2: Registratie Tijdens Dienst (NIEUW)
```
1. Verpleegkundige tijdens dienst: gebeurtenis met patiënt
2. Opent Dagregistratie module voor die patiënt
3. Klikt "+ Nieuwe registratie"
4. Vult in:
- Categorie (bijv. Incident)
- Tijd (standaard: nu)
- Omschrijving (kort, 2-3 zinnen)
- ☑️ "Opnemen in overdracht"
5. Slaat op
6. Notitie verschijnt in lijst met [Overdracht] badge
7. Aan eind dienst: notitie automatisch in overdracht-view
```
### Flow 3: Psychiater Bekijkt Overdracht (NIEUW)
```
1. Psychiater opent Overdracht dashboard
2. Ziet lijst met patiënten waarvan VPK dienst had
3. Opent patiënt detail
4. Bekijkt Dagnotities blok:
- Ziet alleen gemarkeerde items
- Leest 2 incidenten + 1 medicatie-weigering
5. Klikt "Genereer samenvatting"
6. AI vat samen: "Vandaag 2 incidenten, medicatie geweigerd, verhoogde bloeddruk"
7. Psychiater bespreekt met VPK of patiënt
```
---
## 8. Gebruikersrollen en rechten
🎯 **Doel:** Beschrijven welke rollen toegang hebben.
### MVP: Uniform toegangsmodel
| Rol | Dagregistratie | Overdracht Dashboard | Beperkingen |
|-----|----------------|---------------------|-------------|
| Verpleegkundige | Volledige CRUD | Volledige functionaliteit | Alleen eigen patiënten |
| Psychiater | Read-only | Volledige functionaliteit | Alleen eigen patiënten |
### Data Scoping (uitgebreid)
- **Patiënten:** Gefilterd op actieve encounters vandaag
- **Reports:** Gefilterd op `created_by` of team-toegang
- **Nursing Logs:** Gefilterd op shift_date (vandaag) en `created_by`
- **Risico's:** Via intake → patient relatie
---
## 9. Niet in Scope (aangepast)
🎯 **Doel:** Duidelijk maken wat (nog) niet wordt gebouwd.
| Feature | Reden exclusie |
|---------|----------------|
| Medicatie-invoer | Alleen weergave, CRUD is aparte module |
| Templating dagnotities | Vrije tekst is sneller voor MVP |
| Historische dagnotities | Alleen vandaag, archivering later |
| Multi-afdeling view | Te complex voor MVP, alleen eigen patiënten |
| Historische trends | Geen grafieken of lange termijn overzichten |
| Notificaties/push | Geen realtime alerts |
| Print/export | Geen PDF of print functionaliteit |
| Rechten per rol | Beperkt onderscheid VPK/arts (komt later) |
| Metingen invoer | Aparte functionaliteit, hier alleen weergave |
| Dicteer-functie | Typen is snel genoeg voor korte notities |
---
## 10. Succescriteria (uitgebreid)
🎯 **Doel:** Objectieve meetlat voor een geslaagde oplevering.
- [ ] Overzicht laadt binnen 2 seconden
- [ ] Patiënt detail toont alle 6 informatieblokken correct (incl. dagnotities)
- [ ] Dagregistratie form submit < 1 seconde
- [ ] AI samenvatting genereert binnen 5 seconden
- [ ] AI output is begrijpelijk en medisch relevant
- [ ] AI integreert dagnotities correct in samenvatting
- [ ] Navigatie tussen overzicht, detail en dagregistratie werkt vlot
- [ ] Alerts (hoog risico, afwijkende vitals, markeerde notities) zijn direct zichtbaar
- [ ] Empty states bij ontbrekende data zijn informatief
- [ ] Dagnotities met [Overdracht] badge zijn duidelijk herkenbaar
---
## 11. Risico's & Mitigatie (uitgebreid)
🎯 **Doel:** Risico's vroeg signaleren en plannen hoe ermee om te gaan.
| Risico | Impact | Mitigatie |
|--------|--------|-----------|
| AI samenvatting te lang/vaag | Hoog | Strikte prompt met max lengte, testen met echte data |
| Geen vitale functies in systeem | Middel | Graceful empty state, instructie om metingen toe te voegen |
| Medicatie tabel bestaat niet | Middel | Placeholder blok met "Binnenkort beschikbaar" |
| Performance bij veel patiënten | Middel | Parallel queries, pagination indien nodig |
| Risico's gekoppeld aan intake ipv patient | Laag | Query via intake tabel |
| VPK vergeet notities markeren | Hoog | AI pre-selectie als backup |
| Dubbele registratie (reports + nursing_logs) | Middel | Duidelijke UI scheiding + training |
| Nursing_logs niet archiveren | Laag | Auto-delete na 30 dagen (fase 2) |
---
## 12. Roadmap / Vervolg (Post-MVP)
🎯 **Doel:** Richting geven aan toekomstige uitbreidingen.
| Fase | Feature | Beschrijving |
|------|---------|--------------|
| 2 | Medicatie module | Volledige CRUD voor medicatie, koppeling met nursing_logs |
| 3 | Templates dagnotities | Snelle keuzes: "Medicatie conform", "Eetpatroon normaal" |
| 4 | Archivering | Auto-delete nursing_logs > 30 dagen, export naar archief |
| 5 | Trend grafieken | Vitale functies over tijd |
| 6 | PDF export | Formele overdracht documenten |
| 7 | Agenda integratie | Koppeling met encounters/afspraken |
| 8 | Notificaties | Alerts bij kritieke waarden |
| 9 | Multi-afdeling | Overzicht meerdere afdelingen |
| 10 | Spraak-naar-tekst | Dicteer dagnotities (Deepgram integratie) |
---
## 13. Bijlagen & Referenties
🎯 **Doel:** Linken naar gerelateerde documenten.
### Interne Documenten
| Document | Status |
|----------|--------|
| PRD Overdracht Dashboard v1.0 | ✅ Gereed |
| FO Overdracht Dashboard v1.1 | ✅ Gereed (dit document) |
| TO Overdracht Dashboard | 📋 Nog te schrijven |
| UX Stylesheet | ✅ Beschikbaar |
### Database Tabellen (uitgebreid)
| Tabel | Velden gebruikt | Nieuw? |
|-------|-----------------|--------|
| `nursing_logs` | id, patient_id, shift_date, timestamp, category, content, include_in_handover, created_by | ✅ Ja |
| `observations` | id, patient_id, code_display, value_quantity_value, interpretation_code, effective_datetime | Bestaand |
| `reports` | id, patient_id, type, content, created_at, created_by | Bestaand |
| `risk_assessments` | id, intake_id, risk_type, risk_level, rationale, measures, assessment_date | Bestaand |
| `conditions` | id, patient_id, code_display, clinical_status | Bestaand |
| `patients` | id, name_given, name_family, birth_date, gender | Bestaand |
| `encounters` | id, patient_id, period_start, type_display | Bestaand |
### Externe Referenties
| Bron | Gebruik |
|------|---------|
| shadcn/ui | Card, Button, Badge, Form components |
| Lucide React | Icons (Pill, Utensils, User, AlertTriangle) |
| Anthropic Claude API | AI samenvatting generatie |
| Supabase RLS | Row-level security voor nursing_logs |
### UI Component Hergebruik
| Component | Locatie | Hergebruik voor |
|-----------|---------|-----------------|
| Quick Entry Form | Rapportage module | Nursing logs form |
| Badge component | Risico's | Overdracht marker |
| Card layout | Behandelplan | Informatie blokken |
| AI Button | Behandelplan | Genereer samenvatting |
---
## Changelog
| Versie | Datum | Auteur | Wijziging |
|--------|-------|--------|-----------|
| v1.1 | 05-12-2024 | Colin | Dagregistratie module toegevoegd, nursing_logs tabel, uitgebreide flows |
| v1.0 | 05-12-2024 | Colin | Initieel FO met focus op traceerbaarheid en bronvermelding |
---
**Einde Functioneel Ontwerp - Overdracht Dashboard v1.1**