docs: discussiestuk samenspel TIP-ECD, sessielog 14 juli en releasenote-screenshots

- docs/intent/samenspel-tip-ecd.html: laag-of-platform discussiestuk voor
  de werksessie over de TIP-koppeling (twee modellen, drie routes,
  API-mapping, beslisvragen)
- docs/sessions/2026-07-14-sessielog.md: besluiten, reviewbevindingen en
  uitgevoerde opschoning van vandaag

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
colinislit
2026-07-16 15:32:15 +02:00
parent b00bfa5032
commit 6419398060
7 changed files with 726 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
# Sessielog — 14 juli 2026
**Deelnemers:** Colin (PO) + Claude Code
**Onderwerp:** TIP↔ECD-samenspel, module-reviews, opschoning codebase (fase 0 + 0b)
**Branch:** `swift-cortex`
---
## 1. Besluiten
| # | Besluit | Toelichting |
|---|---|---|
| 1 | **ECD wordt opnieuw opgebouwd op een eigen datamodel** | Prototype leunt op Supabase + FHIR-conventies met structurele gebreken. Geen quick fixes; eerst strippen, dan van scratch opbouwen met goede logica en module-interacties. |
| 2 | **Geen quick fixes op de gevonden bugs** | De reviewbevindingen (zie §3) zijn symptomen van het ontbrekende datamodel; structureel oplossen in de rebuild. |
| 3 | **Kapotte intake-tabs en behandelplan-module verwijderd** | Anamnese/Onderzoeken/ROM konden nooit opslaan; behandelplan-AI negeerde diagnose en ernst. Beide komen terug bij de rebuild. |
| 4 | **FHIR en Cortex blijven voorlopig staan** | `/api/fhir/Patient` is de facto de patiënten-API (dossier, agenda, Cortex). Vervangen is fase 3. Cortex-flows raken de TIP-koppeling — niet twee keer bouwen. |
| 5 | **Instroom als eerste rebuild-module (voorstel, nog te bevestigen)** | Verwijzing → screening → intake is ook de TIP-proefflow; bewijst datamodel én TIP-samenspel in één beweging. |
## 2. TIP↔ECD-verkenning
- TIP-repo (`../intent-platform/tip`) verkend: Dossier → Workspace → Artifact → Information Elements → Intentregels → Intent → Scenario. Twee paden naar een intent: gestructureerd (regels over IE's) en ongestructureerd (`POST /detect`).
- **Kerninzicht:** TIP is een platform waar je een systeem *op aansluit* (datafeed vereist), geen laag die je *op een systeem legt*. Dat wijkt af van het beeld waarmee het ECD is ontworpen — en van het Cortex-architectuurdocument v0.1, dat de intent-motor als in-app bibliotheek (`lib/cortex/`) beschrijft en TIP nog niet kent.
- Drie routes uitgewerkt: (1) alleen `/detect`, (2) TIP als volledig procesbrein, (3) **groeipad**`/detect` + één gestructureerde flow (verwijsbrief → intake) als proef. Aanbeveling: route 3.
- Open behoeftes die TIP nu niet dekt: streaming chat, entity resolution (hoort ECD-kant: vereist patiëntendata), RAG/kennisbank.
- **Discussiestuk voor de werksessie Colin & Joshua:** `docs/intent/samenspel-tip-ecd.html` (ook als artifact gepubliceerd). Bevat de twee modellen, verwijsbrief-flow, drie routes, API-mapping en vijf beslisvragen.
## 3. Module-reviews (drie parallelle agents)
**Intake** — Anamnese, Onderzoeken en ROM functioneel volledig kapot: UI stuurt weergave-labels ("Psychiatrische anamnese") waar de database systeemcodes eist (`psychiatrisch`). Alle verwijderknoppen doen stil niets (DELETE RLS-policies ontbreken op alle intake-tabellen). Intake-header "Bewerken" is een lege placeholder. Kindcheck met default-antwoorden slaat leeg object op → voortgangsring blijft op "ontbreekt".
**Diagnoses** — Verwijderen is een no-op (zelfde RLS-oorzaak, live geverifieerd). Behandelplan-AI kreeg "DSM-categorie: primary-diagnosis" in de prompt i.p.v. de diagnose; ernst viel altijd terug op "middel". DSM-5-veld werd verzameld maar nooit opgeslagen. UI kent 4 van de 6 statussen. ICD-10 hardcoded (55 F-codes). Twee parallelle diagnosemodules op dezelfde tabel. `conditions`-tabel staat in geen enkele migration (schema niet reproduceerbaar).
**Agenda** — Drie schrijfpaden (EPD-modal, Cortex server actions, Cortex API-routes) met elk eigen conventies. Modal-afspraken verschuiven +2 uur per opslag (naïeve tijdstring → timestamptz). `practitioner_id` leeg → Cortex cancel/reschedule altijd 403. Cortex annuleer/verzet-flow doodlopend (parser levert string, UI verwacht object). Dagweergave filtert vanaf kloktijd i.p.v. middernacht. Patiëntzoeker case-sensitive op voornaam.
## 4. Uitgevoerd: opschoning (7 commits, 24.097 regels)
Van 394 naar 298 ts/tsx-bestanden. Build en lint groen na elke stap.
| Commit | Inhoud |
|---|---|
| `10c994b` | Fase 0: marketing-site, blog, leads-API, `_archive`, sitemap; root → `/login`; robots op disallow-all |
| `5e910c3` | Dubbele diagnosemodule (patiëntniveau) weg |
| `a8b02c1` | Kapotte intake-tabs weg, incl. server actions, voortgangsring en Cortex-navigatiedoelen |
| `96848ec` | Behandelplan-module weg (ook uit patiëntdashboard, dashboard-API, Cortex-dashboardblock) |
| `38dd7c1` | Placeholder-pagina's dashboard/reports weg; login-tests → `/epd/agenda` |
| `caeba77` | `/epd/clients` redirect-laag weg; alles landt op `/epd/patients` |
| `b00bfa5` | `next-mdx-remote`, `gray-matter`, laatste marketing-restanten weg |
Sidebar toont nu alleen werkende modules: Cortex, Cliënten, Verpleegrapportage, Agenda.
**Nog open uit de verificatie:** e2e-suites en browser-smoke-check (vereisen draaiende dev-server). Commits zijn lokaal — nog niet gepusht.
## 5. Vervolgstappen
1. **Werksessie Colin & Joshua** over het TIP↔ECD-samenspel — discussiestuk als agenda (vijf beslisvragen, o.a. platform-of-laag en eigenaarschap per gegeven).
2. **Ontwerpdocument rebuild:** moduleset + flows + datamodel-voorstel (centrale waardelijsten, herkomst-velden mens/AI, stabiele ID's, pgvector-klaar, Neo4j ontworpen-niet-aangezet). Review met Colin vóór er een migration wordt geschreven.
3. Daarna: verse schema-baseline, `lib/dat/`, modules één voor één terugbouwen — **instroom eerst**.
## Referenties
- Discussiestuk: `docs/intent/samenspel-tip-ecd.html`
- Platform-architectuur: `../../docs/knowledge/technische-architectuur.md` (v0.1 — behoeft v0.2 met TIP-ADR)
- Opruimplan (goedgekeurd): zes stappen fase 0b, uitgevoerd zoals hierboven