From f8904db3e9ea2f1516885f475e6b025a6a8b928a Mon Sep 17 00:00:00 2001 From: colinislit Date: Wed, 19 Nov 2025 21:16:45 +0100 Subject: [PATCH] fix: resolve MDX type imports for release notes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed runtime error in release notes pages: - Removed unused MDXRemote import from lib/mdx/releases.ts - Fixed MDXComponents type import in mdx-components.tsx - Added @types/mdx as dev dependency Pages now load correctly: - /releases (overview) - /releases/authentication - /releases/release-notes-system πŸ€– Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../releases/components/mdx-components.tsx | 5 +- docs/specs/UI/inteface-design-plan.md | 557 ++++++++++++-- docs/specs/UI/mocks-ui-flow.md | 707 +++++++++++++++--- .../specs/{ => archive}/api-acces-mini-ecd.md | 0 ...uwplan-ai-speedrun-marketing-first-v2.1.md | 0 ...bouwplan-auth-hook-duplicate-email-v1.0.md | 0 .../bouwplan-login-refactor-v1.0.md | 0 .../design-specs-manifesto-website.md | 0 .../{ => archive}/fo-live-transcriptie-v1.md | 0 .../{ => archive}/fo-marketing-app-flow-v2.md | 0 docs/specs/{ => archive}/fo-mini-ecd-v2.md | 0 docs/specs/{ => archive}/prd-mini-ecd-v1.2.md | 0 lib/mdx/releases.ts | 1 - package.json | 1 + pnpm-lock.yaml | 3 + 15 files changed, 1072 insertions(+), 202 deletions(-) rename docs/specs/{ => archive}/api-acces-mini-ecd.md (100%) rename docs/specs/{ => archive}/bouwplan-ai-speedrun-marketing-first-v2.1.md (100%) rename docs/specs/{ => archive}/bouwplan-auth-hook-duplicate-email-v1.0.md (100%) rename docs/specs/{ => archive}/bouwplan-login-refactor-v1.0.md (100%) rename docs/specs/{ => archive}/design-specs-manifesto-website.md (100%) rename docs/specs/{ => archive}/fo-live-transcriptie-v1.md (100%) rename docs/specs/{ => archive}/fo-marketing-app-flow-v2.md (100%) rename docs/specs/{ => archive}/fo-mini-ecd-v2.md (100%) rename docs/specs/{ => archive}/prd-mini-ecd-v1.2.md (100%) diff --git a/app/(marketing)/releases/components/mdx-components.tsx b/app/(marketing)/releases/components/mdx-components.tsx index a8ea07e..ef6e02b 100644 --- a/app/(marketing)/releases/components/mdx-components.tsx +++ b/app/(marketing)/releases/components/mdx-components.tsx @@ -6,10 +6,7 @@ import Image from 'next/image' import Link from 'next/link' - -type MDXComponents = { - [key: string]: React.ComponentType -} +import type { MDXComponents } from 'mdx/types' export const mdxComponents: MDXComponents = { // Headings with anchor links diff --git a/docs/specs/UI/inteface-design-plan.md b/docs/specs/UI/inteface-design-plan.md index f92c5da..47ce782 100644 --- a/docs/specs/UI/inteface-design-plan.md +++ b/docs/specs/UI/inteface-design-plan.md @@ -8,31 +8,61 @@ --- -## Layout Components (Consistent across all views) +## Navigation Architecture + +### Two-Level Context System + +**LEVEL 1: Behandelaar Context** (No client selected) +- Sidebar shows: Dashboard | CliΓ«nten | Agenda | Rapportage +- Header: No client dropdown (or disabled/empty) +- Focus: Behandelaar's caseload, tasks, and global views + +**LEVEL 2: Client Dossier Context** (Client selected) +- Sidebar shows: ← CliΓ«nten | Dashboard | Intake | Diagnose | Behandelplan | Rapportage +- Header: Shows selected client with dropdown "Bas Jansen β–Ό" +- Focus: Individual client data and treatment information + +**Context Switch Trigger:** +- Clicking a client row in the cliΓ«nten lijst switches from Level 1 β†’ Level 2 +- Clicking "← CliΓ«nten" in sidebar switches from Level 2 β†’ Level 1 + +--- + +## Layout Components ### Header Bar (Fixed, 60px height) - Background: White with subtle bottom border - Padding: 16px vertical, 24px horizontal - Layout (flex, space-between): - **Left**: "Mini-ECD" text/logo (medium weight) - - **Center**: Client dropdown "Bas Jansen β–Ό" (clickable) - - Sub-text below: "ID: CL0002 | Geb: 20-11-1992" (small, muted) + - **Center**: Context-aware client selector + - **In Behandelaar Context**: Empty or behandelaar name (optional) + - **In Client Dossier Context**: Client dropdown "Bas Jansen β–Ό" (clickable) + - Sub-text below: "ID: CL0002 | Geb: 20-11-1992" (small, muted) + - Dropdown shows recent clients for quick switching - **Right**: Search input "Zoek cliΓ«nt..." with icon (rounded, light border) + - Always available for quick client lookup ### Sidebar (Fixed left, 240px width) - Background: Very light gray - Padding: 16px -**Top section (when in client dossier):** -- "← CliΓ«nten" button (full width, left-aligned, subtle hover) -- Subtle horizontal divider (8px margin bottom) +**Context-Aware Navigation:** -**Menu items:** -- Dashboard (icon + text) -- Intakes (icon + text) -- Probleemprofiel (icon + text) -- Behandelplan (icon + text) -- Agenda (icon + text) +**BEHANDELAAR CONTEXT (Level 1) - No client selected:** +- Dashboard (icon + text) β†’ Behandelaar dashboard (caseload, taken, aandachtspunten) +- CliΓ«nten (icon + text) β†’ Caseload overzicht met zoek/filter +- Agenda (icon + text) β†’ Behandelaar agenda (alle afspraken) +- Rapportage (icon + text) β†’ BI dashboards en statistieken + +**CLIENT DOSSIER CONTEXT (Level 2) - Client selected:** +- "← CliΓ«nten" button (full width, left-aligned, subtle hover) β†’ Terug naar behandelaar context +- Subtle horizontal divider (8px margin bottom) +- Dashboard (icon + text) β†’ Client dossier overzicht (afgelopen/komende afspraken) +- Intake (icon + text) β†’ Intake gesprekken en notities +- Diagnose (icon + text) β†’ DSM-classificatie, probleemprofiel +- Behandelplan (icon + text) β†’ Doelen, interventies, planning +- Rapportage (icon + text) β†’ Client-specifieke voortgang en metrics **Styling:** - Each item: 12px padding vertical, 12px padding horizontal @@ -49,15 +79,45 @@ --- -## Screen 1: CliΓ«nten (Search/List View) +## LEVEL 1 SCREENS: Behandelaar Context -### Sidebar (different in this view) -- No "← CliΓ«nten" button (we're already here) -- Menu items: - - Dashboard (global, for practitioner) - - **CliΓ«nten** ← ACTIVE - - Agenda (global, all appointments) - - Rapportage (global, statistics) +--- + +## Screen 1A: Behandelaar Dashboard + +### Sidebar +- **Dashboard** ← ACTIVE +- CliΓ«nten +- Agenda +- Rapportage + +### Main Content +**Page title:** "Dashboard" (large, semi-bold) +**Subtitle:** "Welkom terug, [Behandelaar naam]" (optional) + +**Content (to be further defined):** +- Caseload overzicht (aantal actieve cliΓ«nten, wachtlijst, etc.) +- Aandachtspunten (urgente taken, follow-ups) +- Behandelplannen die nog niet definitief zijn +- Berichten en notificaties +- Recente activiteit +- Aankomende afspraken (vandaag/deze week) + +**Note:** Detailed content and layout to be specified in later iteration. + +--- + +## Screen 1B: CliΓ«nten (Search/List View) + +### Sidebar +- Dashboard +- **CliΓ«nten** ← ACTIVE +- Agenda +- Rapportage + +### Header +- No client dropdown in center (behandelaar context) +- Search bar available in top right ### Main Content **Top bar:** @@ -65,12 +125,21 @@ - Button: "+ Nieuwe CliΓ«nt" (primary style, right) - Space-between layout -**Search bar (below title):** +**Search & Filter bar (below title):** - Full-width input field - Placeholder: "Zoek op naam, BSN, of cliΓ«nt ID..." - Icon: magnifying glass left side +- Filter options (to be specified): + - Afdeling filter + - Team filter + - Status filter (Actief, Wachtlijst, Afgesloten) - 16px margin bottom +**Recent clients section (optional):** +- "Recent bekeken" subtitle (small, muted) +- 3-5 most recent client cards (compact) +- Horizontal scroll or grid + **Client list (table/card hybrid):** Header row: @@ -116,7 +185,8 @@ Row 3: β”‚Dashboard β”‚ CliΓ«nten [+ Nieuwe CliΓ«nt] β”‚ β”‚CliΓ«nten ← β”‚ β”‚ β”‚Agenda β”‚ [Zoek op naam, BSN, of cliΓ«nt ID] β”‚ -β”‚Rapportage β”‚ β”‚ +β”‚Rapportage β”‚ [Filters: Afdeling, Team, Status] β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ Naam ID Geb Status β”‚ β”‚ β”‚ ────────────────────────────────── β”‚ β”‚ β”‚ Bas J. CL0002 20-11 Actief β”‚ @@ -125,26 +195,78 @@ Row 3: β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` +**User action to switch context:** +- Click on a client row (e.g., "Bas Jansen") β†’ Switches to Level 2 (Client Dossier Context) + --- -## Screen 2: Dashboard (Client Dossier) - -### Header -- Same as default, but with "Bas Jansen β–Ό" visible in center +## Screen 1C: Behandelaar Agenda ### Sidebar -- "← CliΓ«nten" button at top -- Horizontal divider -- **Dashboard** ← ACTIVE -- Intakes -- Probleemprofiel -- Behandelplan -- Agenda +- Dashboard +- CliΓ«nten +- **Agenda** ← ACTIVE +- Rapportage ### Main Content -**Breadcrumb:** "Dashboard > Overzicht" (small, muted) +**Page title:** "Agenda" (large, semi-bold) -**Page title:** "Dashboard Overzicht" (large, semi-bold, 16px margin bottom) +**Content (to be further defined):** +- Calendar view (week/month) +- Behandelaar's appointments (all clients) +- Appointment details: time, client, type +- Create new appointment button + +**Note:** Detailed content and layout to be specified in later iteration. + +--- + +## Screen 1D: Behandelaar Rapportage + +### Sidebar +- Dashboard +- CliΓ«nten +- Agenda +- **Rapportage** ← ACTIVE + +### Main Content +**Page title:** "Rapportage" (large, semi-bold) + +**Content (to be further defined):** +- BI-style dashboards +- KPI's (aantal cliΓ«nten, gemiddelde behandelduur, etc.) +- Trends en statistieken +- Export functionaliteit + +**Note:** Detailed content and layout to be specified in later iteration. + +--- + +## LEVEL 2 SCREENS: Client Dossier Context + +**Context Switch:** User clicked on a client in the cliΓ«nten lijst + +--- + +## Screen 2A: Client Dashboard (Dossier Overzicht) + +### Header +- **Center**: "Bas Jansen β–Ό" dropdown visible + - Sub-text: "ID: CL0002 | Geb: 20-11-1992" + - Dropdown shows recent clients for quick switching +- **Right**: Search bar still available + +### Sidebar +- "← CliΓ«nten" button at top (returns to behandelaar context) +- Horizontal divider +- **Dashboard** ← ACTIVE +- Intake +- Diagnose +- Behandelplan +- Rapportage + +### Main Content +**Page title:** "Dossier Overzicht" (large, semi-bold, 16px margin bottom) **Grid layout:** @@ -158,37 +280,41 @@ Column 1 - CliΓ«ntinformatie card: - CliΓ«nt ID: CL0002 - Naam: Bas Jansen - Geboortedatum: 20-11-1992 + - Leeftijd: 31 jaar (computed) - Verzekering: [naam verzekeraar] - BSN: [nummer] - Labels: muted, small - Values: normal weight, darker +- Action: "Bewerken β†’" link (small, at bottom) Column 2 - Laatste Intake card: - Card style: same as column 1 -- Title: "Laatste Intake Notitie" -- Date/time: "Intake - 12-10-2023" (small, muted) +- Title: "Laatste Intake" +- Date/time: "12-10-2023, 14:30" (small, muted) - Preview text (3 lines max): - "Bas komt op gesprek vanwege spanningsklachten en paniekeaanvallen. Hij beschrijft situaties in het openbaar vervoer en drukke winkels als triggerend. De aanvallen kenmerken zich door..." -- "Lees meer β†’" link (small, at bottom) + "Bas komt op gesprek vanwege spanningsklachten en paniekeaanvallen. Hij beschrijft situaties in het openbaar vervoer en drukke winkels als triggerend..." +- "Bekijk intake β†’" link (small, at bottom) β†’ navigates to Intake section -Column 3 - Probleemprofiel card: +Column 3 - Diagnose card: - Card style: same as above -- Title: "Probleemprofiel" +- Title: "Diagnose" - Status badge: "Hoog" (red/warning bg, red text, rounded pill, inline with title) - Subtitle: "Angststoornissen" (medium weight) - Description text: - "Opmerkingen: Panietstoornis met agorafobie. De frequentie van paniekeaanvallen en het vermijdingsgedrag zijn..." -- "Bekijk profiel β†’" link (small, at bottom) + "Panietstoornis met agorafobie. De frequentie van paniekeaanvallen en het vermijdingsgedrag zijn..." +- "Bekijk diagnose β†’" link (small, at bottom) β†’ navigates to Diagnose section **Row 2: Full width (margin top: 24px)** Behandelplan card: - Card style: same - Title: "Behandelplan" -- Empty state: +- If exists: Show summary with status badge (Concept, Actief, Afgerond) +- If not exists (empty state): - Light gray background section inside card - Centered text: "Geen behandelplan gevonden." - "+ Maak behandelplan" button (secondary style, centered below) +- "Bekijk behandelplan β†’" link β†’ navigates to Behandelplan section **Row 3: Full width (margin top: 24px)** @@ -197,30 +323,34 @@ Afspraken card: - Title: "Afspraken" Section 1: -- Subtitle: "Laatste Afspraak" (small, muted, 8px margin bottom) -- Item: "14-11-2025, 16:26 - Intake" (with subtle icon left) +- Subtitle: "Afgelopen Afspraak" (small, muted, 8px margin bottom) +- Item: "14-11-2025, 16:26 - Intake gesprek" (with subtle icon left) +- Shows: type, duration, practitioner (if available) Divider line (subtle, 16px margin vertical) Section 2: -- Subtitle: "Eerstvolgende 3 Afspraken" (small, muted) +- Subtitle: "Komende Afspraken" (small, muted) - Item 1: "22-11-2025, 16:26 - Psycho-educatie" - Item 2: "29-11-2025, 16:26 - Exposure therapie sessie" - Item 3: "06-12-2025, 16:26 - Evaluatie gesprek" - Each with subtle left border accent (blue) +- Shows: date, time, type +- If no appointments: "Geen geplande afspraken" (muted text) **Layout structure:** ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Header: Logo | Bas Jansen β–Ό | Search β”‚ +β”‚ | ID: CL0002 | Geb: 20-11-1992 β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ -│← CliΓ«ntenβ”‚ Dashboard Overzicht β”‚ +│← CliΓ«ntenβ”‚ Dossier Overzicht β”‚ │────── β”‚ β”‚ β”‚Dashboard β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚Intakes β”‚ β”‚ Info β”‚ Intake β”‚ Problem β”‚ β”‚ -β”‚Probleem β”‚ β”‚ Card β”‚ Card β”‚ Card β”‚ β”‚ +β”‚Intake β”‚ β”‚ Info β”‚ Intake β”‚ Diagnose β”‚ β”‚ +β”‚Diagnose β”‚ β”‚ Card β”‚ Card β”‚ Card β”‚ β”‚ β”‚Behandel β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚Agenda β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚Rapport β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ Behandelplan Card β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ @@ -231,19 +361,20 @@ Section 2: --- -## Screen 3: Intakes (Client Dossier) +## Screen 2B: Intake (Client Dossier) ### Header -- Same, "Bas Jansen β–Ό" in center +- **Center**: "Bas Jansen β–Ό" with ID and birthdate +- **Right**: Search bar available ### Sidebar -- "← CliΓ«nten" button +- "← CliΓ«nten" button (returns to behandelaar context) - Divider - Dashboard -- **Intakes** ← ACTIVE -- Probleemprofiel +- **Intake** ← ACTIVE +- Diagnose - Behandelplan -- Agenda +- Rapportage ### Main Content **Breadcrumb:** "Intakes > Overzicht" @@ -296,20 +427,206 @@ Intake item 3: ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Header: Logo | Bas Jansen β–Ό | Search β”‚ +β”‚ | ID: CL0002 | Geb: 20-11-1992 β”‚ β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ -│← CliΓ«ntenβ”‚ Intakes [+ Nieuwe Intake] β”‚ +│← CliΓ«ntenβ”‚ Intake [+ Nieuwe Intake] β”‚ │────── β”‚ β”‚ β”‚Dashboard β”‚ Datum Type Status Samenvat.. β”‚ -β”‚Intakes ← β”‚ ───────────────────────────────── β”‚ -β”‚Probleem β”‚ 12-10 Intake Afgr. Eerste... β”‚ +β”‚Intake ← β”‚ ───────────────────────────────── β”‚ +β”‚Diagnose β”‚ 12-10 Intake Afgr. Eerste... β”‚ β”‚Behandel β”‚ 05-10 Telef. Afgr. Korte... β”‚ -β”‚Agenda β”‚ 28-09 Intake Afgr. Geen sh... β”‚ +β”‚Rapport β”‚ 28-09 Intake Afgr. Geen sh... β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- +## Screen 2C: Diagnose (Client Dossier) + +### Header +- **Center**: "Bas Jansen β–Ό" with ID and birthdate +- **Right**: Search bar available + +### Sidebar +- "← CliΓ«nten" button (returns to behandelaar context) +- Divider +- Dashboard +- Intake +- **Diagnose** ← ACTIVE +- Behandelplan +- Rapportage + +### Main Content +**Top bar:** +- Title: "Diagnose & Probleemprofiel" (large, semi-bold, left) +- Button: "AI Analyse" (primary style with sparkles icon, right) + +**DSM-light CategorieΓ«n:** +- Visual grid/dashboard showing classified problem areas +- Categories: + - Stemming & Depressie (blauw) + - Angst (paars) + - Gedrag & Impuls (rood) + - Middelengebruik (oranje) + - Cognitief (groen) + - Context & Psychosociaal (teal) + +**Ernst Indicatie:** +- Visual indicator: Laag (green) | Middel (yellow) | Hoog (red) +- Linked to intake sources (bronverwijzing) + +**Content (to be further defined in Week 3):** +- AI-generated classification based on intake notes +- Manual override/editing capability +- Timeline/history of diagnoses +- Notes and observations section + +**Layout structure:** +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Header: Logo | Bas Jansen β–Ό | Search β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +│← CliΓ«ntenβ”‚ Diagnose & Probleemprofiel [AI Analyse]β”‚ +│────── β”‚ β”‚ +β”‚Dashboard β”‚ DSM-light CategorieΓ«n: β”‚ +β”‚Intake β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚Diagnose← β”‚ β”‚Stemmingβ”‚ Angst β”‚ Gedrag β”‚ β”‚ +β”‚Behandel β”‚ β”‚ Hoog β”‚Middel β”‚ Laag β”‚ β”‚ +β”‚Rapport β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ Ernst: ●●●○○ (Hoog) β”‚ β”‚ +β”‚ β”‚ β”‚ Bronnen: Intake 12-10 β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## Screen 2D: Behandelplan (Client Dossier) + +### Header +- **Center**: "Bas Jansen β–Ό" with ID and birthdate +- **Right**: Search bar available + +### Sidebar +- "← CliΓ«nten" button (returns to behandelaar context) +- Divider +- Dashboard +- Intake +- Diagnose +- **Behandelplan** ← ACTIVE +- Rapportage + +### Main Content +**Top bar:** +- Title: "Behandelplan" (large, semi-bold, left) +- Buttons: + - "Genereer Plan" (primary style with AI icon, right) + - "Nieuwe Versie" (secondary style, if plan exists) + +**Plan Structuur:** +1. **SMART Doelen** section + - Specifieke, Meetbare, Acceptabele, Realistische, Tijdgebonden doelen + - Multiple goals per plan + - Status tracking per goal + +2. **Interventies** section + - Evidence-based behandelmethoden (CGT, ACT, EMDR, etc.) + - Linked to specific goals + - Description and rationale + +3. **Frequentie & Planning** section + - Sessie planning + - Behandelintensiteit + - Duration estimate + +4. **Meetmomenten** section + - Evaluation schedule + - Progress measurements + - Review dates + +**Versioning:** +- Multiple versions per client (v1, v2, etc.) +- Status: Concept | Actief | Afgerond +- Timestamp and practitioner info + +**Content (to be further defined in Week 3):** +- AI plan generator based on intake + diagnose +- JSONB data structure for flexibility +- PDF export functionality + +**Layout structure:** +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Header: Logo | Bas Jansen β–Ό | Search β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +│← CliΓ«ntenβ”‚ Behandelplan [Genereer Plan] β”‚ +│────── β”‚ β”‚ +β”‚Dashboard β”‚ Versie 1 - Actief | 12-10-2023 β”‚ +β”‚Intake β”‚ β”‚ +β”‚Diagnose β”‚ 1. SMART Doelen β”‚ +β”‚Behandel← β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚Rapport β”‚ β”‚ β€’ Verminderen paniekeaanv.. β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Uitbreiden sociale activ.. β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ 2. Interventies β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ β€’ CGT - Cognitieve herstr... β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Exposure therapie β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + +## Screen 2E: Rapportage (Client Dossier) + +### Header +- **Center**: "Bas Jansen β–Ό" with ID and birthdate +- **Right**: Search bar available + +### Sidebar +- "← CliΓ«nten" button (returns to behandelaar context) +- Divider +- Dashboard +- Intake +- Diagnose +- Behandelplan +- **Rapportage** ← ACTIVE + +### Main Content +**Page title:** "Rapportage & Voortgang" (large, semi-bold) + +**Content (to be further defined):** +- Client-specific progress metrics +- Treatment timeline +- Session attendance +- Goal achievement tracking +- Measurement instruments (ROM, questionnaires) +- Graphs and visualizations +- Export functionality (PDF, CSV) + +**Layout structure:** +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Header: Logo | Bas Jansen β–Ό | Search β”‚ +β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ +│← CliΓ«ntenβ”‚ Rapportage & Voortgang β”‚ +│────── β”‚ β”‚ +β”‚Dashboard β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚Intake β”‚ β”‚ Behandelduur: 8 weken β”‚ β”‚ +β”‚Diagnose β”‚ β”‚ Sessies: 6 van 12 β”‚ β”‚ +β”‚Behandel β”‚ β”‚ Voortgang: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 67% β”‚ β”‚ +β”‚Rapport ← β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Doelvoortgang: β”‚ +β”‚ β”‚ [Graph/Chart placeholder] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +``` + +--- + ## Intake Detail View (Modal/Slide-in) **Trigger:** Click "Bekijk" button on any intake item @@ -433,11 +750,16 @@ Divider ## Interaction Notes ### Navigation flow: -1. Start: CliΓ«nten list view -2. Click client row β†’ Navigate to Dashboard (with client in header + sidebar) -3. Sidebar shows "← CliΓ«nten" to go back -4. Header search always available for quick switch -5. Header client dropdown shows recent/favorite clients +1. Start: Behandelaar Dashboard (Level 1) +2. Sidebar navigation: Dashboard | CliΓ«nten | Agenda | Rapportage +3. Click "CliΓ«nten" β†’ CliΓ«nten list view +4. Click client row β†’ Context switch to Level 2 (Client Dossier) +5. Sidebar changes to: ← CliΓ«nten | Dashboard | Intake | Diagnose | Behandelplan | Rapportage +6. Header shows selected client: "Bas Jansen β–Ό" with dropdown +7. Navigate within client dossier using sidebar menu +8. Click "← CliΓ«nten" β†’ Context switch back to Level 1 +9. Header client dropdown always available (in Level 2) for quick client switching +10. Header search always available for quick client lookup ### State management: - Active menu item: always visible (highlighted) @@ -457,28 +779,99 @@ Divider ### Routing structure (Next.js): ``` -/clients β†’ CliΓ«nten list -/clients/[id]/dashboard β†’ Dashboard view -/clients/[id]/intakes β†’ Intakes view -/clients/[id]/intakes/[intakeId] β†’ Intake detail (modal) -/clients/[id]/probleemprofiel -/clients/[id]/behandelplan -/clients/[id]/agenda +LEVEL 1: Behandelaar Context +/epd/dashboard β†’ Behandelaar dashboard (caseload, taken, aandachtspunten) +/epd/clients β†’ CliΓ«nten list (zoek, filter, recent) +/epd/agenda β†’ Behandelaar agenda (alle afspraken) +/epd/reports β†’ BI rapportage (statistieken, KPI's) + +LEVEL 2: Client Dossier Context +/epd/clients/[id] β†’ Client dashboard (dossier overzicht) +/epd/clients/[id]/intake β†’ Intake lijst en notities +/epd/clients/[id]/intake/[intakeId] β†’ Intake detail (modal/slide-in) +/epd/clients/[id]/diagnose β†’ Diagnose en probleemprofiel +/epd/clients/[id]/plan β†’ Behandelplan (SMART doelen, interventies) +/epd/clients/[id]/reports β†’ Client rapportage (voortgang, metrics) + +Utility routes: +/epd/clients/new β†’ Nieuwe cliΓ«nt formulier +/epd/clients/[id]/edit β†’ CliΓ«nt gegevens bewerken ``` ### Component structure: ``` -app/ -β”œβ”€β”€ layout.tsx (header + sidebar logic) +app/epd/ +β”œβ”€β”€ layout.tsx // Root EPD layout (detects context) +β”œβ”€β”€ components/ +β”‚ β”œβ”€β”€ epd-header.tsx // Context-aware header +β”‚ └── epd-sidebar.tsx // Context-aware sidebar +β”‚ +β”œβ”€β”€ dashboard/ +β”‚ └── page.tsx // Behandelaar dashboard +β”‚ β”œβ”€β”€ clients/ -β”‚ β”œβ”€β”€ page.tsx (list view) +β”‚ β”œβ”€β”€ page.tsx // CliΓ«nten lijst (Level 1) +β”‚ β”œβ”€β”€ components/ +β”‚ β”‚ β”œβ”€β”€ client-list.tsx +β”‚ β”‚ β”œβ”€β”€ client-search.tsx +β”‚ β”‚ └── client-filters.tsx +β”‚ β”œβ”€β”€ new/ +β”‚ β”‚ └── page.tsx // Nieuwe cliΓ«nt form β”‚ └── [id]/ -β”‚ β”œβ”€β”€ layout.tsx (client-specific sidebar) -β”‚ β”œβ”€β”€ dashboard/page.tsx -β”‚ β”œβ”€β”€ intakes/ -β”‚ β”‚ β”œβ”€β”€ page.tsx (list) -β”‚ β”‚ └── [intakeId]/page.tsx (detail modal) -β”‚ └── ... +β”‚ β”œβ”€β”€ layout.tsx // Client dossier layout (Level 2 context) +β”‚ β”œβ”€β”€ page.tsx // Client dashboard (dossier overzicht) +β”‚ β”œβ”€β”€ edit/ +β”‚ β”‚ └── page.tsx // Edit client +β”‚ β”œβ”€β”€ intake/ +β”‚ β”‚ β”œβ”€β”€ page.tsx // Intake lijst +β”‚ β”‚ β”œβ”€β”€ components/ +β”‚ β”‚ β”‚ β”œβ”€β”€ intake-list.tsx +β”‚ β”‚ β”‚ └── intake-editor.tsx +β”‚ β”‚ └── [intakeId]/ +β”‚ β”‚ └── page.tsx // Intake detail (modal/slide-in) +β”‚ β”œβ”€β”€ diagnose/ +β”‚ β”‚ β”œβ”€β”€ page.tsx // Diagnose & probleemprofiel +β”‚ β”‚ └── components/ +β”‚ β”‚ β”œβ”€β”€ dsm-categories.tsx +β”‚ β”‚ └── severity-indicator.tsx +β”‚ β”œβ”€β”€ plan/ +β”‚ β”‚ β”œβ”€β”€ page.tsx // Behandelplan +β”‚ β”‚ └── components/ +β”‚ β”‚ β”œβ”€β”€ smart-goals.tsx +β”‚ β”‚ β”œβ”€β”€ interventions.tsx +β”‚ β”‚ └── plan-generator.tsx +β”‚ └── reports/ +β”‚ β”œβ”€β”€ page.tsx // Client rapportage +β”‚ └── components/ +β”‚ β”œβ”€β”€ progress-chart.tsx +β”‚ └── metrics-dashboard.tsx +β”‚ +β”œβ”€β”€ agenda/ +β”‚ └── page.tsx // Behandelaar agenda +β”‚ +└── reports/ + └── page.tsx // BI rapportage (behandelaar) +``` + +### Key Implementation Details: + +**app/epd/layout.tsx:** +- Detects current context (Level 1 vs Level 2) based on URL +- Passes context to EPDSidebar and EPDHeader +- Manages global state for selected client + +**app/epd/clients/[id]/layout.tsx:** +- Wraps all client dossier pages +- Fetches client data and provides to children +- Ensures sidebar shows Level 2 navigation +- Ensures header shows client dropdown + +**Context Detection Logic:** +```typescript +// In app/epd/layout.tsx +const isClientDossier = pathname.includes('/clients/') && + pathname.match(/\/clients\/[^\/]+\/?[^\/]*$/); +const clientId = isClientDossier ? pathname.split('/')[3] : null; ``` ### Data requirements: diff --git a/docs/specs/UI/mocks-ui-flow.md b/docs/specs/UI/mocks-ui-flow.md index ea2d114..d7ddfac 100644 --- a/docs/specs/UI/mocks-ui-flow.md +++ b/docs/specs/UI/mocks-ui-flow.md @@ -1,31 +1,102 @@ # Mini-ECD Interface Mocks & User Flow +## Navigation Architecture: Two-Level System + +**LEVEL 1: Behandelaar Context** - Praktijkbeheerder overstijgend +- Dashboard β†’ Behandelaar overzicht (caseload, taken, berichten) +- CliΓ«nten β†’ Zoeken, filteren, recent bekeken +- Agenda β†’ Behandelaar agenda (alle afspraken) +- Rapportage β†’ BI dashboards (KPI's, statistieken) + +**LEVEL 2: Client Dossier Context** - Individuele cliΓ«nt focus +- Dashboard β†’ Dossier overzicht (laatste info, afspraken) +- Intake β†’ Gesprekken en notities +- Diagnose β†’ DSM-classificatie, probleemprofiel +- Behandelplan β†’ SMART doelen, interventies +- Rapportage β†’ Client voortgang en metrics + ## User Flow Overview ``` -START +START: Behandelaar Dashboard (Level 1) ↓ -[CliΓ«nten Lijst] ←──────────────────┐ - ↓ (klik op cliΓ«nt) β”‚ - ↓ β”‚ -[Dashboard - Bas Jansen] ←─────┐ β”‚ - ↓ β”‚ β”‚ - β”œβ”€β†’ [Intakes] β”‚ β”‚ - β”œβ”€β†’ [Probleemprofiel] β”‚ β”‚ - β”œβ”€β†’ [Behandelplan] β”‚ β”‚ - └─→ [Agenda] β”‚ β”‚ - ↓ β”‚ β”‚ - (sidebar menu switch)β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ - ↓ β”‚ - (← CliΓ«nten button)β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +[Sidebar: Dashboard | CliΓ«nten | Agenda | Rapportage] + ↓ +Klik "CliΓ«nten" + ↓ +[CliΓ«nten Lijst met zoek/filter] ←────────────────┐ + ↓ (klik op cliΓ«nt rij) β”‚ + ↓ β”‚ +⚑ CONTEXT SWITCH naar Level 2 ⚑ β”‚ + ↓ β”‚ +[Sidebar verandert] β”‚ +[Header toont: "Bas Jansen β–Ό"] β”‚ + ↓ β”‚ +[Client Dashboard - Bas Jansen] ←──────┐ β”‚ + ↓ β”‚ β”‚ +[Sidebar: ← CliΓ«nten | Dashboard | Intake | ... ]β”‚ + ↓ β”‚ β”‚ + β”œβ”€β†’ [Intake] β”‚ β”‚ + β”œβ”€β†’ [Diagnose] β”‚ β”‚ + β”œβ”€β†’ [Behandelplan] β”‚ β”‚ + └─→ [Rapportage] β”‚ β”‚ + ↓ β”‚ β”‚ + (sidebar menu switch binnen dossier)β”€β”˜ β”‚ + ↓ β”‚ + (klik "← CliΓ«nten" in sidebar)β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ↓ - (header search) β†’ Quick switch to other client +⚑ CONTEXT SWITCH terug naar Level 1 ⚑ ↓ - [Dashboard - Anna de Vries] + [Terug naar CliΓ«nten Lijst] + ↓ + (header dropdown "Bas Jansen β–Ό") β†’ Quick switch naar andere client + ↓ + [Client Dashboard - Anna de Vries] ``` --- -## Mock 1: CliΓ«nten Lijst (Entry Point) +## LEVEL 1 MOCKS: Behandelaar Context + +--- + +## Mock 1A: Behandelaar Dashboard (Entry Point) +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD [Zoek cliΓ«nt...] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ Dashboard β—„ β”‚ Dashboard β”‚ +β”‚ CliΓ«nten β”‚ Welkom terug, Dr. van den Berg β”‚ +β”‚ Agenda β”‚ β”‚ +β”‚ Rapportage β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ Caseload β”‚ Aandachts- β”‚ Berichten β”‚ β”‚ +β”‚ β”‚ β”‚ 24 actief β”‚ punten: 3 β”‚ 2 nieuw β”‚ β”‚ +β”‚ β”‚ β”‚ 2 wachtlijst β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Behandelplannen concept: β”‚ +β”‚ β”‚ β€’ Bas Jansen - Review nodig β”‚ +β”‚ β”‚ β€’ Anna de Vries - Nog opstellen β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Aankomende afspraken (vandaag): β”‚ +β”‚ β”‚ β€’ 14:00 - Peter Smit (Intake) β”‚ +β”‚ β”‚ β€’ 16:30 - Bas Jansen (Sessie 3) β”‚ +β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Bekijk caseload overzicht en statistieken +β†’ Klik op aandachtspunt: navigeer naar relevante pagina +β†’ Klik op client naam: navigeer naar client dossier (Level 2 switch) +β†’ Sidebar navigatie naar andere Level 1 schermen + +Note: Detailed content to be further defined. +``` + +--- + +## Mock 1B: CliΓ«nten Lijst ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Mini-ECD [Zoek cliΓ«nt...] β”‚ @@ -35,7 +106,11 @@ START β”‚ Dashboard β”‚ CliΓ«nten [+ Nieuwe CliΓ«nt] β”‚ β”‚ CliΓ«nten β—„ β”‚ β”‚ β”‚ Agenda β”‚ [Zoek op naam, BSN, of cliΓ«nt ID...........] β”‚ -β”‚ Rapportage β”‚ β”‚ +β”‚ Rapportage β”‚ [Filters: Afdeling β–Ό | Team β–Ό | Status β–Ό] β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Recent bekeken: β”‚ +β”‚ β”‚ [Bas J.] [Anna dV.] [Peter S.] β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ Naam ID Geb Status β”‚ β”‚ β”‚ ──────────────────────────────────────── β”‚ β”‚ β”‚ Bas Jansen CL0002 20-11-1992 ● Actief β”‚ @@ -47,14 +122,91 @@ START β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ User actions: -β†’ Type in zoekbalk: filters lijst real-time -β†’ Klik op rij (bijv. Bas Jansen): navigeer naar zijn Dashboard +β†’ Type in zoekbalk: filters lijst real-time (naam, BSN, ID, geboortedatum) +β†’ Selecteer filters: Afdeling, Team, Status +β†’ Klik recent bekeken: snel naar die client +β†’ Klik op rij (bijv. Bas Jansen): ⚑ CONTEXT SWITCH β†’ Client Dossier (Level 2) β†’ Klik [+ Nieuwe CliΓ«nt]: open modal/form om nieuwe cliΓ«nt toe te voegen ``` --- -## Mock 2: Dashboard (Client Dossier - Bas Jansen) +## Mock 1C: Behandelaar Agenda +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD [Zoek cliΓ«nt...] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ Dashboard β”‚ Agenda [+ Nieuwe Afspraak] β”‚ +β”‚ CliΓ«nten β”‚ Week 46 | 13-19 Nov 2025 [< Vorige >]β”‚ +β”‚ Agenda β—„ β”‚ β”‚ +β”‚ Rapportage β”‚ [Kalender weergave placeholder] β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Vandaag - 19 november 2025: β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ 14:00-15:00 Peter Smit - Intake β”‚ β”‚ +β”‚ β”‚ β”‚ 16:30-17:30 Bas Jansen - Sessie 3 β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Morgen - 20 november: β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ 10:00-11:00 Anna de Vries - Evaluatie β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Bekijk agenda (week/maand weergave) +β†’ Klik op afspraak: bekijk details of navigeer naar client dossier +β†’ Klik [+ Nieuwe Afspraak]: open afspraak formulier +β†’ Navigeer tussen weken met [< >] knoppen + +Note: Detailed calendar component to be specified. +``` + +--- + +## Mock 1D: Behandelaar Rapportage +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD [Zoek cliΓ«nt...] β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ Dashboard β”‚ Rapportage [Exporteer PDF] β”‚ +β”‚ CliΓ«nten β”‚ Overzicht praktijk statistieken β”‚ +β”‚ Agenda β”‚ β”‚ +β”‚ Rapportageβ—„ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ Totaal β”‚ Gemiddelde β”‚ Wachtlijst β”‚ β”‚ +β”‚ β”‚ β”‚ CliΓ«nten β”‚ Behandel- β”‚ Wachttijd β”‚ β”‚ +β”‚ β”‚ β”‚ 26 β”‚ duur: 12 wk β”‚ 2 weken β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ [Graph: CliΓ«nten over tijd] β”‚ +β”‚ β”‚ [Graph: Behandelduur distributie] β”‚ +β”‚ β”‚ [Graph: Diagnose categorieΓ«n] β”‚ +β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Bekijk BI dashboards en KPI's +β†’ Interactie met grafieken (zoom, filter) +β†’ Klik [Exporteer PDF]: download rapport +β†’ Filter op periode, afdeling, team + +Note: Detailed BI components and metrics to be defined. +``` + +--- + +## LEVEL 2 MOCKS: Client Dossier Context + +**Context:** User heeft op een cliΓ«nt geklikt in de cliΓ«ntenlijst +**State:** Sidebar en Header zijn veranderd naar client-specifieke weergave + +--- + +## Mock 2A: Client Dashboard (Dossier Overzicht - Bas Jansen) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ @@ -62,53 +214,58 @@ User actions: β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ -β”‚ ← CliΓ«nten β”‚ Dashboard Overzicht β”‚ +β”‚ ← CliΓ«nten β”‚ Dossier Overzicht β”‚ β”‚ ───────── β”‚ β”‚ β”‚ Dashboard β—„ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ Intakes β”‚ β”‚CliΓ«ntinfo β”‚Laatste Intakeβ”‚Probleemprofielβ”‚ β”‚ -β”‚ Probleem β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ Behandel β”‚ β”‚ID: CL0002 β”‚12-10-2023 β”‚Hoog ● β”‚ β”‚ -β”‚ Agenda β”‚ β”‚Naam: Bas J. β”‚ β”‚Angststoornis β”‚ β”‚ -β”‚ β”‚ β”‚Geb: 20-11-92 β”‚"Bas komt op β”‚Panietstoornisβ”‚ β”‚ -β”‚ β”‚ β”‚Verz: [naam] β”‚gesprek..." β”‚met agorafobieβ”‚ β”‚ -β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ β”‚Lees meer β†’ β”‚Bekijk β†’ β”‚ β”‚ +β”‚ Intake β”‚ β”‚CliΓ«ntinfo β”‚Laatste Intakeβ”‚Diagnose β”‚ β”‚ +β”‚ Diagnose β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ Behandel β”‚ β”‚ID: CL0002 β”‚12-10-2023 β”‚Ernst: Hoog ● β”‚ β”‚ +β”‚ Rapportage β”‚ β”‚Naam: Bas J. β”‚14:30 β”‚Angststoornis β”‚ β”‚ +β”‚ β”‚ β”‚Geb: 20-11-92 β”‚ β”‚Panietstoornisβ”‚ β”‚ +β”‚ β”‚ β”‚Leeftijd: 31 β”‚"Bas komt op β”‚met agorafobieβ”‚ β”‚ +β”‚ β”‚ β”‚Verz: [naam] β”‚gesprek..." β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚BSN: [nummer] β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚Bekijk β†’ β”‚Bekijk β†’ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ β”‚ Behandelplan β”‚ β”‚ +β”‚ β”‚ β”‚ Behandelplan Status: Concept β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ Geen behandelplan gevonden. β”‚ β”‚ +β”‚ β”‚ β”‚ SMART Doelen (3): β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Verminderen paniekeaanvallen β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Uitbreiden sociale activiteiten β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Verbeteren coping strategieΓ«n β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ [+ Maak behandelplan] β”‚ β”‚ +β”‚ β”‚ β”‚ Interventies: CGT, Exposure therapie β”‚ β”‚ +β”‚ β”‚ β”‚ Bekijk plan β†’ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ Afspraken β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ Laatste Afspraak β”‚ β”‚ -β”‚ β”‚ β”‚ β”‚ 14-11-2025, 16:26 - Intake β”‚ β”‚ +β”‚ β”‚ β”‚ Afgelopen Afspraak β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ 14-11-2025, 16:26 - Intake (60 min) β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”‚ β”‚ Eerstvolgende 3 Afspraken β”‚ β”‚ +β”‚ β”‚ β”‚ Komende Afspraken β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ 22-11-2025, 16:26 - Psycho-educatie β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ 29-11-2025, 16:26 - Exposure therapie β”‚ β”‚ -β”‚ β”‚ β”‚ β”‚ 06-12-2025, 16:26 - Evaluatie β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ 06-12-2025, 16:26 - Evaluatie gesprek β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ User actions: -β†’ Klik "← CliΓ«nten": terug naar cliΓ«ntenlijst -β†’ Klik "Bas Jansen β–Ό": dropdown met recente/favoriete cliΓ«nten -β†’ Type in [Zoek cliΓ«nt]: autocomplete zoeken, direct switchen -β†’ Klik sidebar item (bijv. Intakes): navigeer naar dat scherm -β†’ Klik "Lees meer" of "Bekijk": navigeer naar detail scherm -β†’ Klik [+ Maak behandelplan]: open behandelplan wizard +β†’ Klik "← CliΓ«nten": ⚑ CONTEXT SWITCH terug naar Level 1 (cliΓ«ntenlijst) +β†’ Klik "Bas Jansen β–Ό": dropdown met recente cliΓ«nten voor quick switch +β†’ Type in [Zoek cliΓ«nt]: autocomplete zoeken, direct switchen naar andere client +β†’ Klik sidebar item (bijv. Intake): navigeer binnen client dossier +β†’ Klik "Bekijk β†’" links: navigeer naar detail sectie +β†’ Klik [+ Maak behandelplan]: open behandelplan wizard (als leeg) ``` --- -## Mock 3: Intakes (Client Dossier - Bas Jansen) +## Mock 2B: Intake (Client Dossier - Bas Jansen) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ @@ -116,13 +273,13 @@ User actions: β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ -β”‚ ← CliΓ«nten β”‚ Intakes [+ Nieuwe Intake] β”‚ +β”‚ ← CliΓ«nten β”‚ Intake [+ Nieuwe Intake] β”‚ β”‚ ───────── β”‚ β”‚ β”‚ Dashboard β”‚ Datum Type Status Samenvatting β”‚ -β”‚ Intakes β—„ β”‚ ───────────────────────────────────────────── β”‚ -β”‚ Probleem β”‚ β”‚ +β”‚ Intake β—„ β”‚ ───────────────────────────────────────────── β”‚ +β”‚ Diagnose β”‚ β”‚ β”‚ Behandel β”‚ 12-10-2023 Intake ●Afgerond β”‚ -β”‚ Agenda β”‚ 14:30 gesprek β”‚ +β”‚ Rapportage β”‚ 14:30 gesprek β”‚ β”‚ β”‚ Eerste intake. CliΓ«nt presenteert β”‚ β”‚ β”‚ zich met angst- en paniekkl... β”‚ β”‚ β”‚ [Bekijk] β”‚ @@ -144,15 +301,150 @@ User actions: β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ User actions: -β†’ Klik [+ Nieuwe Intake]: open intake form/wizard -β†’ Klik [Bekijk]: open intake detail (zie Mock 4) +β†’ Klik [+ Nieuwe Intake]: open TipTap editor voor nieuwe intake notitie +β†’ Klik [Bekijk]: open intake detail slide-in panel (zie Mock 2F) β†’ Hover over rij: highlight, [Bekijk] button wordt prominent -β†’ Sidebar/header navigation: zelfde als Dashboard +β†’ Sidebar navigatie: blijf binnen client dossier context +β†’ Klik "← CliΓ«nten": terug naar Level 1 ``` --- -## Mock 4: Intake Detail (Slide-in Panel) +## Mock 2C: Diagnose (Client Dossier - Bas Jansen) +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ +β”‚ ID: CL0002 | Geb: 20-11-1992 β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ ← CliΓ«nten β”‚ Diagnose & Probleemprofiel [AI Analyse] β”‚ +β”‚ ───────── β”‚ β”‚ +β”‚ Dashboard β”‚ DSM-light CategorieΓ«n: β”‚ +β”‚ Intake β”‚ β”‚ +β”‚ Diagnose β—„ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ Behandel β”‚ β”‚ Stemming β”‚ Angst β”‚ Gedrag β”‚ β”‚ +β”‚ Rapportage β”‚ β”‚ β—‹β—‹β—‹β—‹β—‹ β”‚ ●●●●○ β”‚ β—‹β—‹β—‹β—‹β—‹ β”‚ β”‚ +β”‚ β”‚ β”‚ Geen β”‚ Hoog β”‚ Geen β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ Middelen β”‚ Cognitiefβ”‚ Context β”‚ β”‚ +β”‚ β”‚ β”‚ β—‹β—‹β—‹β—‹β—‹ β”‚ β—‹β—‹β—‹β—‹β—‹ β”‚ ●●○○○ β”‚ β”‚ +β”‚ β”‚ β”‚ Geen β”‚ Geen β”‚ Middel β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Hoofddiagnose: β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ Panietstoornis met agorafobie β”‚ β”‚ +β”‚ β”‚ β”‚ Ernst: Hoog ●●●●○ β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ Bron: Intake 12-10-2023 β”‚ β”‚ +β”‚ β”‚ β”‚ Observaties: Frequente aanvallen, sterke β”‚ β”‚ +β”‚ β”‚ β”‚ vermijding openbare ruimtes β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Klik [AI Analyse]: genereer/update diagnose classificatie +β†’ Bekijk DSM-categorieΓ«n met ernst indicatie +β†’ Klik op categorie: bekijk details en bronnen +β†’ Bewerk diagnose handmatig indien nodig + +Note: Week 3 feature - AI-powered classification +``` + +--- + +## Mock 2D: Behandelplan (Client Dossier - Bas Jansen) +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ +β”‚ ID: CL0002 | Geb: 20-11-1992 β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ ← CliΓ«nten β”‚ Behandelplan [Genereer Plan] [v1β–Ό] β”‚ +β”‚ ───────── β”‚ Status: Actief | Laatste update: 15-10-2023 β”‚ +β”‚ Dashboard β”‚ β”‚ +β”‚ Intake β”‚ 1. SMART Doelen β”‚ +β”‚ Diagnose β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ Behandel β—„ β”‚ β”‚ Doel 1: Verminderen paniekeaanvallen β”‚ β”‚ +β”‚ Rapportage β”‚ β”‚ Van 3x/week naar max 1x/week binnen 8 wk β”‚ β”‚ +β”‚ β”‚ β”‚ Voortgang: β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘ 67% β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ β”‚ Doel 2: Uitbreiden sociale activiteiten β”‚ β”‚ +β”‚ β”‚ β”‚ Zelfstandig boodschappen binnen 6 weken β”‚ β”‚ +β”‚ β”‚ β”‚ Voortgang: β–ˆβ–ˆβ–ˆβ–ˆβ–‘β–‘β–‘β–‘β–‘β–‘β–‘β–‘ 33% β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ 2. Interventies β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ β€’ CGT - Cognitieve herstructurering β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Exposure therapie (gradueel) β”‚ β”‚ +β”‚ β”‚ β”‚ β€’ Ontspanningstechnieken β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ 3. Frequentie: Wekelijks, 12 sessies β”‚ +β”‚ β”‚ 4. Meetmomenten: Week 4, 8, 12 β”‚ +β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Klik [Genereer Plan]: AI genereert behandelplan op basis van intake+diagnose +β†’ Klik [v1β–Ό]: bekijk of wissel tussen plan versies +β†’ Bewerk doelen, interventies, frequentie +β†’ Track voortgang per doel +β†’ Exporteer plan naar PDF + +Note: Week 3 feature - AI plan generator +``` + +--- + +## Mock 2E: Rapportage (Client Dossier - Bas Jansen) +``` +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ +β”‚ ID: CL0002 | Geb: 20-11-1992 β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ β”‚ β”‚ +β”‚ ← CliΓ«nten β”‚ Rapportage & Voortgang [Exporteer PDF] β”‚ +β”‚ ───────── β”‚ β”‚ +β”‚ Dashboard β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ Intake β”‚ β”‚ Behandel- β”‚ Sessies β”‚ Algehele β”‚ β”‚ +β”‚ Diagnose β”‚ β”‚ duur β”‚ Voltooid β”‚ Voortgang β”‚ β”‚ +β”‚ Behandel β”‚ β”‚ 8 weken β”‚ 6 van 12 β”‚ 67% β”‚ β”‚ +β”‚ Rapportageβ—„ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Doelvoortgang over tijd: β”‚ +β”‚ β”‚ [Line graph showing progress on goals] β”‚ +β”‚ β”‚ β”‚ +β”‚ β”‚ Sessie overzicht: β”‚ +β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ β”‚ 12-10 Intake βœ“ Aanwezig β”‚ β”‚ +β”‚ β”‚ β”‚ 19-10 Sessie 1 βœ“ Aanwezig β”‚ β”‚ +β”‚ β”‚ β”‚ 26-10 Sessie 2 βœ“ Aanwezig β”‚ β”‚ +β”‚ β”‚ β”‚ 02-11 Sessie 3 βœ“ Aanwezig β”‚ β”‚ +β”‚ β”‚ β”‚ 09-11 Sessie 4 βœ— No-show β”‚ β”‚ +β”‚ β”‚ β”‚ 16-11 Sessie 5 βœ“ Aanwezig β”‚ β”‚ +β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + +User actions: +β†’ Bekijk voortgang visualisaties +β†’ Filter op periode, doel, interventie +β†’ Klik [Exporteer PDF]: download rapport voor dossier +β†’ Bekijk attendance en sessie details + +Note: Content and metrics to be further defined. +``` + +--- + +## Mock 2F: Intake Detail (Slide-in Panel) ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Mini-ECD Bas Jansen β–Ό [Zoek cliΓ«nt...] β”‚ @@ -160,13 +452,13 @@ User actions: β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ β”‚ -β”‚ ← CliΓ«nten β”‚ Intakes [+ Nieuwe] β”‚ Intake - 12-10-2023 βœ• β”‚ +β”‚ ← CliΓ«nten β”‚ Intake [+ Nieuwe] β”‚ Intake - 12-10-2023 βœ• β”‚ β”‚ ───────── β”‚ β”‚ ─────────────────────│ β”‚ Dashboard β”‚ Datum Type Status β”‚ Algemene informatie β”‚ -β”‚ Intakes β—„ β”‚ ─────────────────── β”‚ β”‚ -β”‚ Probleem β”‚ β”‚ Datum & tijd: β”‚ +β”‚ Intake β—„ β”‚ ─────────────────── β”‚ β”‚ +β”‚ Diagnose β”‚ β”‚ Datum & tijd: β”‚ β”‚ Behandel β”‚ 12-10 Intake ●Afgr. β”‚ 12-10-2023, 14:30 β”‚ -β”‚ Agenda β”‚ [row highlighted] β”‚ β”‚ +β”‚ Rapportage β”‚ [row highlighted] β”‚ β”‚ β”‚ β”‚ [Bekijk] β”‚ Type: Intake gesprek β”‚ β”‚ β”‚ ───────────────── β”‚ Behandelaar: [naam] β”‚ β”‚ β”‚ β”‚ Duur: 60 minuten β”‚ @@ -205,7 +497,10 @@ User actions: --- -## Mock 5: Client Switcher (Dropdown from Header) +## Mock 2G: Client Switcher (Dropdown from Header) + +**Context:** Alleen beschikbaar in Level 2 (Client Dossier Context) + ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Mini-ECD β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” [Zoek cliΓ«nt...] β”‚ @@ -220,106 +515,288 @@ User actions: β”‚ β”‚ ● Peter Smit β”‚ β”‚ β”‚ β”‚ CL0003 | 22-07-1995 β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ β”‚ ● Maria Jansen β”‚ β”‚ +β”‚ β”‚ CL0004 | 11-09-1990 β”‚ β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ β”‚ ───────────────────── β”‚ β”‚ β”‚ β”‚ [Alle cliΓ«nten β†’] β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ User actions: -β†’ Klik op naam in dropdown: switch naar die cliΓ«nt (blijf op zelfde scherm type) -β†’ Klik [Alle cliΓ«nten β†’]: ga naar cliΓ«ntenlijst +β†’ Klik op naam in dropdown: switch naar die cliΓ«nt (blijf op zelfde sectie) + Bijv: Op Intake pagina van Bas β†’ klik Anna β†’ ga naar Intake pagina van Anna +β†’ Klik [Alle cliΓ«nten β†’]: ⚑ CONTEXT SWITCH naar Level 1 (cliΓ«ntenlijst) β†’ Klik buiten dropdown: sluit dropdown +β†’ Type in zoekbalk: autocomplete met alle cliΓ«nten + +Note: Recent cliΓ«nten worden automatisch bijgewerkt bij navigatie ``` --- ## Complete User Flow Scenarios -### Scenario 1: Nieuwe intake toevoegen +### Scenario 1: Start applicatie β†’ Client dossier bekijken ``` -1. User zit in [CliΓ«nten Lijst] -2. Klik op "Bas Jansen" rij -3. Navigeer naar [Dashboard - Bas Jansen] -4. Klik sidebar "Intakes" -5. Navigeer naar [Intakes - Bas Jansen] -6. Klik [+ Nieuwe Intake] -7. Open intake form modal -8. Vul gegevens in, klik [Opslaan] -9. Modal sluit, nieuwe intake verschijnt bovenaan lijst +1. User logt in en start op [Behandelaar Dashboard] (Level 1) +2. Bekijk caseload overzicht en aandachtspunten +3. Klik sidebar "CliΓ«nten" +4. Navigeer naar [CliΓ«nten Lijst] +5. Type "Bas" in zoekbalk, zie gefilterde resultaten +6. Klik op "Bas Jansen" rij +7. ⚑ CONTEXT SWITCH naar Level 2 +8. Sidebar verandert: "← CliΓ«nten | Dashboard | Intake | ..." +9. Header toont: "Bas Jansen β–Ό | ID: CL0002 | Geb: 20-11-1992" +10. Bekijk [Client Dashboard - Bas Jansen] met overzicht ``` -### Scenario 2: Tussen cliΓ«nten switchen tijdens werk +### Scenario 2: Nieuwe intake toevoegen ``` -1. User zit in [Intakes - Bas Jansen] -2. Type "Anna" in header zoekbalk -3. Zie autocomplete resultaat "Anna de Vries" -4. Klik op resultaat -5. Navigeer naar [Intakes - Anna de Vries] (zelfde scherm type) +1. User zit in [Client Dashboard - Bas Jansen] (Level 2) +2. Klik sidebar "Intake" +3. Navigeer naar [Intake - Bas Jansen] +4. Klik [+ Nieuwe Intake] +5. TipTap editor opent voor nieuwe notitie +6. Type gespreknotities met rich text formatting +7. Klik [AI Samenvatting] (optioneel, Week 3 feature) +8. AI genereert samenvatting in 5 seconden +9. Klik [Opslaan] +10. Nieuwe intake verschijnt bovenaan lijst met status badge ``` -### Scenario 3: Van detail terug naar overzicht +### Scenario 3: Tussen cliΓ«nten switchen tijdens werk ``` -1. User zit in [Dashboard - Bas Jansen] -2. Klik "Lees meer" op Intake card -3. Navigeer naar [Intakes - Bas Jansen] -4. Klik [Bekijk] op specifieke intake -5. Intake detail panel opent -6. Lees notities, klik βœ• -7. Panel sluit, terug op [Intakes - Bas Jansen] -8. Klik "← CliΓ«nten" in sidebar -9. Navigeer naar [CliΓ«nten Lijst] -``` - -### Scenario 4: Quick client switch via dropdown -``` -1. User zit in [Behandelplan - Bas Jansen] -2. Klik "Bas Jansen β–Ό" in header +1. User zit in [Intake - Bas Jansen] (Level 2) +2. Klik "Bas Jansen β–Ό" in header center 3. Dropdown opent met recente cliΓ«nten 4. Klik "Anna de Vries" -5. Navigeer naar [Behandelplan - Anna de Vries] +5. Blijf in Level 2, navigeer naar [Intake - Anna de Vries] +6. Sidebar blijft client-specifiek, header update naar Anna's gegevens +``` + +### Scenario 4: Van client dossier terug naar behandelaar overzicht +``` +1. User zit in [Behandelplan - Bas Jansen] (Level 2) +2. Klaar met werk aan behandelplan +3. Klik "← CliΓ«nten" in sidebar +4. ⚑ CONTEXT SWITCH terug naar Level 1 +5. Sidebar verandert: "Dashboard | CliΓ«nten | Agenda | Rapportage" +6. Header center wordt leeg (geen client dropdown) +7. Navigeer naar [CliΓ«nten Lijst] +8. User kan nieuwe client selecteren of naar ander Level 1 scherm +``` + +### Scenario 5: Behandelplan genereren met AI +``` +1. User zit in [Client Dashboard - Bas Jansen] (Level 2) +2. Bekijk diagnose card: "Ernst: Hoog - Panietstoornis" +3. Bekijk behandelplan card: "Geen behandelplan gevonden" +4. Klik [+ Maak behandelplan] +5. Navigeer naar [Behandelplan - Bas Jansen] +6. Klik [Genereer Plan] button +7. AI analyseert intake notities + diagnose +8. Plan wordt gegenereerd met SMART doelen en interventies +9. User beoordeelt en past aan indien nodig +10. Klik [Opslaan als Concept] of [Publiceren] +11. Plan verschijnt op Client Dashboard met status badge +``` + +### Scenario 6: Intake detail bekijken en bewerken +``` +1. User zit in [Intake - Bas Jansen] (Level 2) +2. Klik [Bekijk] bij intake van 12-10-2023 +3. Slide-in panel opent aan rechterkant (400px breed) +4. Bekijk algemene informatie en volledige gespreksnotities +5. Scroll door notities, lees AI samenvatting (indien aanwezig) +6. Klik [Bewerken] in panel footer +7. TipTap editor opent in bewerkmodus +8. Wijzig notities, voeg toe, pas formatting aan +9. Klik [Opslaan] +10. Panel sluit, terug naar [Intake - Bas Jansen] lijst +11. Gewijzigde intake toont "Bewerkt" timestamp +``` + +### Scenario 7: Quick search tussen contexten +``` +1. User zit in [Behandelaar Dashboard] (Level 1) +2. Type "CL0002" in header zoekbalk +3. Autocomplete toont "Bas Jansen - CL0002 | 20-11-1992" +4. Klik op resultaat +5. ⚑ CONTEXT SWITCH naar Level 2 +6. Navigeer direct naar [Client Dashboard - Bas Jansen] +7. Header en sidebar passen zich aan + +Alternative vanaf Level 2: +1. User zit in [Diagnose - Anna de Vries] (Level 2) +2. Type "Peter" in header zoekbalk +3. Autocomplete toont "Peter Smit - CL0003" +4. Klik op resultaat +5. Blijf in Level 2, navigeer naar [Diagnose - Peter Smit] ``` --- ## Navigation Rules -### Sidebar "← CliΓ«nten" button: -- Altijd zichtbaar in client dossier views -- Navigeert naar [CliΓ«nten Lijst] +### Context Switching (Level 1 ↔ Level 2): + +**Van Level 1 naar Level 2:** +- Trigger: Klik op een client rij in cliΓ«ntenlijst +- Effect: Sidebar verandert naar client-specifiek menu +- Effect: Header center toont client dropdown "Bas Jansen β–Ό" +- Navigeert naar: Client Dashboard (dossier overzicht) + +**Van Level 2 naar Level 1:** +- Trigger: Klik "← CliΓ«nten" button in sidebar +- Effect: Sidebar verandert terug naar behandelaar menu +- Effect: Header center wordt leeg/disabled +- Navigeert naar: CliΓ«nten Lijst - Keyboard shortcut: Esc (of Alt+C) -### Header client dropdown: -- Toont laatste 3-5 bezochte cliΓ«nten -- Link naar volledige cliΓ«ntenlijst onderaan -- Switchen behoudt huidige scherm type (Dashboardβ†’Dashboard, Intakesβ†’Intakes) +### Sidebar Behavior: -### Header zoekbalk: +**In Level 1 (Behandelaar Context):** +- Menu items: Dashboard | CliΓ«nten | Agenda | Rapportage +- Geen "← CliΓ«nten" button +- Active state op huidige pagina +- Navigatie blijft binnen Level 1 + +**In Level 2 (Client Dossier Context):** +- "← CliΓ«nten" button bovenaan (back to Level 1) +- Divider +- Menu items: Dashboard | Intake | Diagnose | Behandelplan | Rapportage +- Active state op huidige sectie +- Navigatie blijft binnen hetzelfde client dossier +- Switchen tussen clients via header dropdown blijft in Level 2 + +### Header Client Dropdown: + +**Alleen beschikbaar in Level 2:** +- Toont geselecteerde client: "Bas Jansen β–Ό" +- Sub-text: "ID: CL0002 | Geb: 20-11-1992" +- Dropdown inhoud: + - Recente cliΓ«nten (laatste 3-5 bezocht) + - Divider + - "Alle cliΓ«nten β†’" link (navigeert naar Level 1) +- Switchen behoudt huidige sectie type + - Bijv: Intake van Bas β†’ klik Anna β†’ Intake van Anna +- Keyboard shortcut: Alt+K + +**In Level 1:** +- Geen client dropdown (of disabled/grayed out) +- Optioneel: Behandelaar naam/info + +### Header Zoekbalk: + +**Beschikbaar in beide levels:** - Live autocomplete tijdens typen -- Zoekt op: naam, BSN, cliΓ«nt ID -- Enter of klik op resultaat: switch naar Dashboard van die cliΓ«nt +- Zoekt op: naam, BSN, cliΓ«nt ID, geboortedatum +- Toont: Naam - ID | Geboortedatum in resultaten - Keyboard shortcut: Cmd/Ctrl+K -### Sidebar menu items: -- Tonen alleen client-specifieke items als client geselecteerd -- Active state altijd duidelijk gemarkeerd -- Klikken navigeert binnen hetzelfde client dossier +**Gedrag in Level 1:** +- Enter of klik op resultaat: Switch naar Level 2, navigeer naar Client Dashboard + +**Gedrag in Level 2:** +- Enter of klik op resultaat: Blijf in Level 2, switch naar gekozen client +- Behoudt huidige sectie (blijf op Intake als je op Intake zat) + +### Active State Indicators: + +**Sidebar:** +- Highlighted background (licht blauw/grijs) +- Bold text +- Left border accent (3px teal/blauw) +- Icon kleurt mee + +**Tab/Section:** +- Visual feedback dat huidige sectie actief is +- Breadcrumb (optioneel) toont pad + +### URL Structure & Browser Back: + +**URL patterns:** +``` +Level 1: +/epd/dashboard β†’ Behandelaar dashboard +/epd/clients β†’ CliΓ«nten lijst +/epd/agenda β†’ Behandelaar agenda +/epd/reports β†’ Rapportage/BI + +Level 2: +/epd/clients/CL0002 β†’ Client dashboard +/epd/clients/CL0002/intake β†’ Intake sectie +/epd/clients/CL0002/diagnose β†’ Diagnose sectie +/epd/clients/CL0002/plan β†’ Behandelplan +/epd/clients/CL0002/reports β†’ Client rapportage +``` + +**Browser back button:** +- Werkt zoals verwacht door URL geschiedenis +- Van Level 2 terug naar vorige Level 2 pagina +- Van Client Dashboard terug naar CliΓ«nten Lijst (Level 1) +- Sidebar en header passen zich automatisch aan op basis van URL --- ## State Persistence ### User komt terug in app: -- Heropent laatste bezochte scherm -- Als dat een client dossier was: toon die client -- Als sessie verlopen: start bij [CliΓ«nten Lijst] +- Heropent laatste bezochte scherm (via localStorage of session) +- Als dat Level 2 was: herstel client context (sidebar + header) +- Als dat Level 1 was: toon behandelaar context +- Als sessie verlopen: start bij [Behandelaar Dashboard] (Level 1) ### Browser refresh: -- URL bepaalt welk scherm getoond wordt -- `/clients` β†’ CliΓ«nten lijst -- `/clients/CL0002/dashboard` β†’ Dashboard van Bas -- `/clients/CL0002/intakes` β†’ Intakes van Bas +- URL bepaalt welk scherm en context +- URL parsing detecteert automatisch Level 1 vs Level 2 +- Sidebar en header worden automatisch geconfigureerd + +**Level 1 URL's:** +``` +/epd/dashboard β†’ Behandelaar dashboard +/epd/clients β†’ CliΓ«nten lijst +/epd/agenda β†’ Behandelaar agenda +/epd/reports β†’ BI rapportage +``` + +**Level 2 URL's:** +``` +/epd/clients/CL0002 β†’ Client dashboard (Bas) +/epd/clients/CL0002/intake β†’ Intake van Bas +/epd/clients/CL0002/diagnose β†’ Diagnose van Bas +/epd/clients/CL0002/plan β†’ Behandelplan van Bas +``` ### Recent clients lijst: -- Wordt bijgewerkt bij elke client switch +- Opgeslagen in localStorage: `recent_clients: string[]` +- Wordt bijgewerkt bij elke client view (Level 2 entry) - Max 5 items -- Gesorteerd op laatst bezocht (nieuwste bovenaan) \ No newline at end of file +- Gesorteerd op laatst bezocht (nieuwste bovenaan) +- Format per item: +```typescript +{ + id: string; // "CL0002" + name: string; // "Bas Jansen" + birthDate: string; // "20-11-1992" + lastVisited: Date; // timestamp +} +``` + +### Context State Management: +- Global state tracks: `currentContext: 'behandelaar' | 'client'` +- If context === 'client', also track: `selectedClientId: string` +- Sidebar component subscribes to context changes +- Header component subscribes to context + selectedClient changes +- Context changes trigger sidebar/header re-render + +### Scroll Position & Form State: +- Scroll position bewaard per pagina (Level 1 en Level 2 apart) +- Formulieren met unsaved changes: waarschuwing bij navigatie +- TipTap editor: auto-save draft elke 30 seconden (localStorage) + +### URL Query Parameters (optioneel): +- Tab states: `/epd/clients/CL0002?tab=intake` +- Filter states: `/epd/clients?status=actief&team=team-a` +- Sorting: `/epd/clients?sortBy=name&order=asc` \ No newline at end of file diff --git a/docs/specs/api-acces-mini-ecd.md b/docs/specs/archive/api-acces-mini-ecd.md similarity index 100% rename from docs/specs/api-acces-mini-ecd.md rename to docs/specs/archive/api-acces-mini-ecd.md diff --git a/docs/specs/bouwplan-ai-speedrun-marketing-first-v2.1.md b/docs/specs/archive/bouwplan-ai-speedrun-marketing-first-v2.1.md similarity index 100% rename from docs/specs/bouwplan-ai-speedrun-marketing-first-v2.1.md rename to docs/specs/archive/bouwplan-ai-speedrun-marketing-first-v2.1.md diff --git a/docs/specs/bouwplan-auth-hook-duplicate-email-v1.0.md b/docs/specs/archive/bouwplan-auth-hook-duplicate-email-v1.0.md similarity index 100% rename from docs/specs/bouwplan-auth-hook-duplicate-email-v1.0.md rename to docs/specs/archive/bouwplan-auth-hook-duplicate-email-v1.0.md diff --git a/docs/specs/bouwplan-login-refactor-v1.0.md b/docs/specs/archive/bouwplan-login-refactor-v1.0.md similarity index 100% rename from docs/specs/bouwplan-login-refactor-v1.0.md rename to docs/specs/archive/bouwplan-login-refactor-v1.0.md diff --git a/docs/specs/design-specs-manifesto-website.md b/docs/specs/archive/design-specs-manifesto-website.md similarity index 100% rename from docs/specs/design-specs-manifesto-website.md rename to docs/specs/archive/design-specs-manifesto-website.md diff --git a/docs/specs/fo-live-transcriptie-v1.md b/docs/specs/archive/fo-live-transcriptie-v1.md similarity index 100% rename from docs/specs/fo-live-transcriptie-v1.md rename to docs/specs/archive/fo-live-transcriptie-v1.md diff --git a/docs/specs/fo-marketing-app-flow-v2.md b/docs/specs/archive/fo-marketing-app-flow-v2.md similarity index 100% rename from docs/specs/fo-marketing-app-flow-v2.md rename to docs/specs/archive/fo-marketing-app-flow-v2.md diff --git a/docs/specs/fo-mini-ecd-v2.md b/docs/specs/archive/fo-mini-ecd-v2.md similarity index 100% rename from docs/specs/fo-mini-ecd-v2.md rename to docs/specs/archive/fo-mini-ecd-v2.md diff --git a/docs/specs/prd-mini-ecd-v1.2.md b/docs/specs/archive/prd-mini-ecd-v1.2.md similarity index 100% rename from docs/specs/prd-mini-ecd-v1.2.md rename to docs/specs/archive/prd-mini-ecd-v1.2.md diff --git a/lib/mdx/releases.ts b/lib/mdx/releases.ts index 6a03ff5..26fe422 100644 --- a/lib/mdx/releases.ts +++ b/lib/mdx/releases.ts @@ -7,7 +7,6 @@ import fs from 'fs' import path from 'path' import matter from 'gray-matter' -import { MDXRemote } from 'next-mdx-remote/rsc' const RELEASES_DIR = path.join(process.cwd(), 'content/nl/releases') diff --git a/package.json b/package.json index 52b499d..5caa450 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,7 @@ }, "devDependencies": { "@tailwindcss/postcss": "^4", + "@types/mdx": "^2.0.13", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 6968d4d..fd61507 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,6 +75,9 @@ importers: '@tailwindcss/postcss': specifier: ^4 version: 4.1.17 + '@types/mdx': + specifier: ^2.0.13 + version: 2.0.13 '@types/node': specifier: ^20 version: 20.19.24