diff --git a/docs/datamodel/datamodel-discovery.md b/docs/datamodel/datamodel-discovery.md index 0009113..6420ddc 100644 --- a/docs/datamodel/datamodel-discovery.md +++ b/docs/datamodel/datamodel-discovery.md @@ -60,7 +60,9 @@ Het datamodel ontwerpen we volledig op eigen termen, vanuit de feitzinnen. FHIR, - **openEHR**: nemen we niet over; alleen de ontwerples "stabiele kern als schema, veranderlijke inhoud als data" — die al in het Triqura-architectuurdocument stond (ADR-03). - **Aandachtspunt** (geen regel): drijf semantisch niet nodeloos af van wat de Nederlandse zorg onder een begrip verstaat — dat houdt een eventuele adapter later goedkoop. -## 5. Scope ronde 1: instroomflow +## 5. Scope ronde 1: instroom t/m behandelplan + +**Scopeverbreding (sessie 17 juli 2026):** ronde 1 loopt van aanmelding t/m het opstellen van het behandelplan — dus inclusief wachtlijstbeheer (§5.3), diagnose stellen (§5.4) en behandelplan opstellen (§5.5). Agenda en rapportage & overdracht blijven latere rondes. ### 5.0 Besluiten basis (sessie 16 juli, Colin) @@ -96,26 +98,101 @@ Het datamodel ontwerpen we volledig op eigen termen, vanuit de feitzinnen. FHIR, 6. **Wie de status mag zetten blijft open** — rollen/disciplines zijn nog niet gemodelleerd; komt terug in die ronde. 7. **Verwijsbrief blijft een nudge, geen harde schema-eis.** Ontbrekende verwijzing wordt een protocolregel (Nudge Engine), met severity die kan verschillen per financieringtype/regelgeving (bijv. `blokkade` bij Zvw-huisartsroute, `signaal` bij Wmo/Jeugdwet). Een beschikking telt ook als verwijzing: waardelijst `verwijsdocument_type` (verwijsbrief, beschikking, ...) i.p.v. één vast veld. 8. **Cliëntportaaltoegang als losse entiteit `CLIENTPORTAAL_ACCOUNT`**, 1-op-0..1 op CLIENT (niet elke cliënt heeft portaaltoegang; een persoon zonder cliëntrol kan sowieso geen portaalaccount hebben). Authenticatiedetails (e-mail, provider-koppeling, status uitgenodigd/actief/geblokkeerd) werken we pas uit in de auth/ADM-ronde — hier alleen de relatie vastgelegd zodat de entiteitenkaart klopt. +9. **ZORGEPISODE is een eigen entiteit** tussen aanmelding en de klinische records. De AANMELDING is de binnenkomst-*gebeurtenis* (verwijzer, hulpvraag, besluit); de ZORGEPISODE is de *periode van zorg* die bij uitkomst "intake" start. Aan de episode hangen: intakes (regulier én intern), diagnoses, behandelplannen en de behandelwachttijd. Bij de aanmelding blijven: screening en aanmeldwachttijd. Een afgewezen aanmelding heeft nooit een episode. Sluit straks aan op het ZPM-zorgtraject (declaratie-ronde). Open detail: ontstaat de episode al bij uitkomst "wachtlijst", of pas bij "intake"? **Open idee, nog geen besluit:** mogelijk krijgt ook een verwijzer toegang tot de status van zijn verwijzingen (verwijzersportaal, analoog aan `CLIENTPORTAAL_ACCOUNT` maar dan op VERWIJZER). Nog niet uitgewerkt en niet in de entiteitenkaart opgenomen — apart onderwerp voor een volgende ronde als dit een echte behoefte blijkt. Aanmelding → screening → intake. Dit is de eerste rebuild-module én de TIP-proefflow. Latere rondes: diagnose & behandeltraject, agenda, rapportage & overdracht. -### 5.2 Feitzinnen screening & intake (volgende ronde — nog te bespreken) +### 5.2 Feitzinnen screening & intake (herzien na sessie 17 juli) 1. *Voor de aanmelding van Jan de Vries is op 15 juli 2026 een screening gestart.* -2. *Screeningsactiviteit "telefonisch contact" is op 16 juli 2026 uitgevoerd door verpleegkundige K. Jansen.* -3. *Het screeningsbesluit voor de aanmelding van Jan de Vries luidt "geschikt voor afdeling Volwassenen".* -4. *Voor cliënt Jan de Vries is op 20 juli 2026 een intake gestart op afdeling Volwassenen.* -5. *De intake van Jan de Vries heeft status "bezig".* -6. *Het intakegesprek van 22 juli 2026 is gevoerd door psycholoog M. de Boer.* -7. *De kindcheck voor de intake van Jan de Vries is uitgevoerd met uitkomst "geen minderjarige kinderen".* -8. *Verslag X is op 22 juli 2026 geschreven door M. de Boer.* / *Verslag Y is gegenereerd door AI-model Z op basis van bronnen A en B, en bevestigd door M. de Boer.* +2. *Bij de screening is op 16 juli 2026 een activiteit van type "telefonisch contact" geregistreerd door verpleegkundige K. Jansen, met toelichting "huisarts gesproken over medicatiehistorie".* +3. *Het screeningsbesluit voor de aanmelding luidt "geschikt", met geadviseerde afdeling Volwassenen, genomen op 17 juli 2026.* +4. *Op basis van de aanmelding van Jan de Vries is op 20 juli 2026 een intake gestart op afdeling Volwassenen, met aanleiding "regulier".* +5. *De intake heeft status "bezig".* +6. *Contactmoment van type "intakegesprek" op 22 juli 2026 is gevoerd door psycholoog M. de Boer.* +7. *De kindcheck voor de intake is op 22 juli 2026 uitgevoerd: thuiswonende kinderen: nee.* +8. *De intake is op 30 juli 2026 afgerond met uitkomst "in zorg".* +9. *Verslag X is op 22 juli 2026 geschreven door M. de Boer.* / *Verslag Y is gegenereerd door AI-model Z op basis van bronnen A en B, en bevestigd door M. de Boer.* -Vragen voor die ronde: -- Is een screening verplicht vóór elke intake, of kan die worden overgeslagen (bijv. bij crisis)? -- Wat maakt een intake "afgerond" — en wie mag dat besluiten? -- Welke afdelingen bestaan er echt (screening bood er 5, intake accepteerde er 3)? +**Bevindingen prototype (verkenning 17 juli 2026):** +- Afdelingen: drie onderling inconsistente hardcoded lijsten — screening biedt er 6 (incl. FACT, Verslaving), intake accepteert er 3 (andere labels: "Jeugd" vs "Jeugd (< 18 jaar)"), behandeladvies heeft een vierde lijst plus 4 "zorgprogramma's" (Algemeen GGZ, FACT, Verslaving, Trauma). FACT is op de ene plek afdeling, op de andere zorgprogramma. +- Screeningsactiviteiten zijn nu vrije tekst zonder typering; contactmomenten in de intake hebben wél een typed lijst (Intakegesprek, Aanvullend onderzoek, Telefonisch contact, Huisbezoek, Overig). +- Screeningsbesluit: `geschikt`/`niet_geschikt` + afdeling als vrije string. +- Kindcheck is geen enkele uitkomstwaarde maar drie ja/nee-vlaggen + tekst (thuiswonende kinderen?, zorgen over veiligheid?, actie ondernomen?). +- Intake afronden loopt via de behandeladvies-tab: checkbox + verplichte vervolgkeuze `in_zorg`/`doorverwijzing`/`extra_diagnostiek`, zet status `afgerond` + einddatum. Statussen: alleen `bezig`/`afgerond`. + +**Besluiten (sessie 17 juli 2026, Colin):** +1. **Intake hangt aan de ZORGEPISODE** (aanvankelijk aan de aanmelding gemodelleerd; herzien met besluit §5.1 #9), niet direct aan de cliënt. Eén episode kan **meerdere intakes** hebben: naast de reguliere intake bestaan er interne intakes binnen een lopende episode (bijv. overgang naar een andere afdeling). De intake krijgt een **aanleiding** uit een waardelijst (regulier / intern / crisis — lijst te bevestigen). +2. **AFDELING en ZORGPROGRAMMA zijn twee aparte waardelijsten.** Afdeling = organisatorische eenheid (Volwassenen, Jeugd, Ouderen, Forensisch, ...), zorgprogramma = inhoudelijk aanbod (FACT, Verslaving, Trauma, ...). FACT is een programma, geen afdeling. Welke afdelingen echt bestaan is per instelling configureerbaar — waardelijst, geen hardcoded lijst. +3. **Screeningsactiviteiten krijgen een type uit een waardelijst + vrije toelichting** (telefonisch contact, dossieronderzoek, vragenlijst, overig — startlijst te bevestigen). Maakt nudges mogelijk ("nog geen contact geweest bij deze screening"). +4. **Screening vóór intake is een nudge, geen harde eis** — zelfde patroon als de verwijsbrief. Interne intakes en crisis maken een harde volgorde-eis onhoudbaar; hooguit een protocolregel bij de eerste intake van een episode. + +**Open vragen voor een volgende ronde:** +- Verhouding screeningsbesluit ↔ aanmelding-uitkomst: "geschikt" (screening) en uitkomst "intake" (aanmelding) overlappen — is het besluit hetzelfde feit als de uitkomst, of twee aparte feiten? +- Intake-uitkomstwaarden bevestigen: `in_zorg` / `doorverwijzing` / `extra_diagnostiek` (nu uit het prototype overgenomen). +- Kindcheck: gestructureerde velden zoals het prototype (drie ja/nee-vlaggen + tekst) aanhouden, of anders? +- Wie mag een intake afronden → rollenronde. +- Verslagen (feitzin 9, provenance) → rapportage-ronde; de provenance-spelregel (3.1 #2) ligt al vast. + +### 5.3 Feitzinnen wachtlijstbeheer (startlijst — te corrigeren) + +Wachtlijst bestaat niet in het prototype (geen tabel, geen scherm) — alleen als roadmap-idee (prioriteit `spoed`/`normaal`/`laag`, wachtdagen, Treeknorm-nudges). We ontwerpen dit vanaf nul. Aanmelding-uitkomst `wachtlijst` bestaat al (§5.1 besluit 5); de vraag is wat daarachter zit. + +1. *De aanmelding van Jan de Vries is op 18 juli 2026 op de wachtlijst geplaatst voor afdeling Volwassenen.* +2. *De wachtlijstplaatsing heeft prioriteit "normaal".* +3. *De wachttijd van de plaatsing telt vanaf de aanmelddatum 14 juli 2026.* +4. *De wachtlijstplaatsing is op 20 augustus 2026 beëindigd met reden "intake gestart".* +5. *(nudge) Bij overschrijding van de Treeknorm voor aanmeldwachttijd volgt een signaal.* + +**Besluit (sessie 17 juli 2026, Colin):** WACHTLIJSTPLAATSING wordt een **eigen entiteit** (afdeling, prioriteit, begin/eind, beëindigingsreden), inzetbaar op **twee momenten**: vóór de intake (aanmeldwachttijd) én na de intake wachtend op behandeling (behandelwachttijd) — sluit aan op de Treeknormen die beide kennen. Soort plaatsing als waardelijst (`aanmeld`/`behandel`). Met besluit §5.1 #9: de aanmeldwachttijd hangt aan de AANMELDING, de behandelwachttijd aan de ZORGEPISODE. + +**Nog open:** +- Wachtlijst per afdeling, per zorgprogramma, of beide? +- Welke beëindigingsredenen: intake gestart / behandeling gestart / doorverwezen / cliënt trekt zich terug / ...? + +### 5.4 Feitzinnen diagnose stellen (startlijst — te corrigeren) + +Bevinding prototype: de module heet DSM-5 maar registreert feitelijk **ICD-10 F-codes** (`code_system: 'ICD-10'`, regex `F##.#`); "DSM-5" is een optioneel vrijetekstveld. Werkdiagnose-vs-definitief (FHIR `verification_status`) zit in de tabel maar de UI gebruikt het niet. Velden nu: ernst `licht`/`matig`/`ernstig`, type hoofd-/nevendiagnose, status `active`/`remission`/`resolved`/`inactive`. Diagnose hangt in het prototype aan de intake. + +1. *Voor de zorgepisode van Jan de Vries is op 24 juli 2026 diagnose F32.1 "matige depressieve episode" geregistreerd door psycholoog M. de Boer, gesteld tijdens de intake van 22 juli.* +2. *Diagnose F32.1 is de hoofddiagnose.* +3. *Diagnose F32.1 heeft ernst "matig".* +4. *Diagnose F32.1 is een werkdiagnose.* / *Diagnose F32.1 is op 30 juli 2026 definitief vastgesteld.* +5. *Diagnose F32.1 heeft status "actief".* +6. *Diagnose F32.1 is op 1 december 2026 in remissie verklaard.* + +**Besluiten (sessie 17 juli 2026, Colin):** +1. **DSM-5-TR is de primaire classificatie, met ICD-10-mapping** voor declaratie/uitwisseling. Behandelaren registreren in DSM-termen (bronregistratie), de ICD-10-code wordt afgeleid via een mappingtabel — geen dubbele handmatige invoer. (Het prototype deed het omgekeerd: ICD-10 als registratie, DSM als vrije tekst.) +2. **De diagnose hangt aan de ZORGEPISODE** (besluit §5.1 #9), niet aan de intake. De diagnose overleeft de intake en wordt tijdens de behandeling bijgesteld; de intake waarin hij gesteld is wordt als herkomst vastgelegd (optionele verwijzing), niet als eigenaar. + +**Nog open:** +- Werkdiagnose vs. definitief: aparte status-as naast klinische status (actief/remissie/opgelost) — voorlopig zo gemodelleerd (verificatiestatus + klinische status), bevestigen. +- "Max één hoofddiagnose" (spelregel §3.1 #7): per wat — per episode, per moment in de tijd? +- Wie mag een diagnose (definitief) stellen → rollenronde (regiebehandelaar). + +### 5.5 Feitzinnen behandelplan opstellen (startlijst — te corrigeren) + +Bevinding prototype: module gestript (AI-generatie negeerde diagnose/ernst), maar het typemodel is bekend: behandelstructuur (duur, frequentie, vorm), SMART-doelen (1-6, met cliëntversie in B1-taal, leefgebied, prioriteit), interventies (1-5, gekoppeld aan doelen), sessieplanning, evaluatiemomenten, veiligheidsplan (bij ernstige diagnose), leefgebieden-scores (7 domeinen, 0-10). Statussen waren inconsistent per laag (TS: `concept/actief/in_evaluatie/afgerond/gearchiveerd`; DB: `draft/active/on-hold/revoked/completed`). + +1. *Voor de zorgepisode van Jan de Vries is op 1 augustus 2026 een behandelplan opgesteld door M. de Boer.* +2. *Het behandelplan heeft status "concept".* +3. *Het behandelplan is gebaseerd op de intake van 20 juli 2026 en adresseert diagnose F32.1.* +4. *Het behandelplan bevat behandeldoel "weer drie nachten per week doorslapen" met prioriteit hoog en beoogde termijn 12 weken.* +5. *Behandeldoel X heeft een cliëntversie in B1-taal.* +6. *Aan behandeldoel X is interventie "CGT" gekoppeld.* +7. *Het behandelplan kent een evaluatiemoment in week 6.* +8. *Cliënt Jan de Vries heeft op 5 augustus 2026 ingestemd met het behandelplan.* +9. *Behandelplanversie 2 vervangt versie 1 per 15 september 2026.* + +**Besluit (sessie 17 juli 2026, Colin):** deze ronde modelleert de **plan-kern**: doelen, interventies, evaluatiemomenten, status, versiebeheer en cliëntakkoord. Sessieplanning → agenda-ronde; leefgebieden en veiligheidsplan → aparte beslissing later. + +**Nog open:** +- Statusmachine: welke statussen echt (prototype-lagen waren inconsistent), en is cliëntakkoord een status of een los feit (WGBO)? +- Versiebeheer: nieuw record per versie (zoals `care_plans.version` deed) of muteren met audit? +- ~~Waar hangt het plan aan~~ — besloten: aan de ZORGEPISODE (besluit §5.1 #9), consistent met de diagnose. +- Is een behandelplan verplicht vóór start behandeling — harde eis of nudge (ZPM kent `behandelplan_check` als regeltrigger)? ## 6. Vervolg diff --git a/docs/datamodel/entiteitenkaart-instroom.html b/docs/datamodel/entiteitenkaart-instroom.html index 0a4ed41..2618c69 100644 --- a/docs/datamodel/entiteitenkaart-instroom.html +++ b/docs/datamodel/entiteitenkaart-instroom.html @@ -263,13 +263,58 @@ ECD · datamodel discovery
- Afgeleid uit de feitzinnen in datamodel-discovery.md §5.1. Persoon, cliëntrol, aanmelding,
- verwijzer en de bijbehorende waardelijsten. Status: concept, ter review — vóór dit naar SQL gaat, checkt
- Colin de entiteiten, kardinaliteiten en waardelijst-waarden.
+ Afgeleid uit de feitzinnen in datamodel-discovery.md §5.1–5.5: van persoon en aanmelding
+ via screening, intake en wachtlijst tot diagnose en behandelplan, met de bijbehorende waardelijsten.
+ Status: concept, ter review — vóór dit naar SQL gaat, checkt Colin de entiteiten, kardinaliteiten en
+ waardelijst-waarden.
+ Aanmelding en zorgepisode zijn géén gelijke niveaus: de aanmelding is de binnenkomst en het + besluitproces (daar horen screening en aanmeldwachttijd bij), de zorgepisode is de periode van zorg + die pas ontstaat als het besluit "intake" is. Alles in de onderste doos hangt aan de episode. + De pijlen binnen de episode tonen de chronologie (intake → diagnose → behandelplan); in het + datamodel hangen alle drie rechtstreeks aan de episode, met de intake als optionele herkomst + van de diagnose. +
+
+flowchart TB
+ CL["CLIËNT (rol op PERSOON)"] -->|"meldt zich aan — 1 op veel"| AANM
+ subgraph AANMBOX["AANMELDING — binnenkomst en besluitproces"]
+ direction TB
+ AANM["Aanmelding
+verwijzer · wettelijk kader · hulpvraag"]
+ AANM --> SCR["Screening
+activiteiten + besluit"]
+ AANM -.-> WLA["Wachtlijstplaatsing
+soort: aanmeld"]
+ SCR --> UIT{"Uitkomst
+bij status besloten"}
+ end
+ UIT -->|"afgewezen · doorverwezen"| EINDE["geen episode"]
+ UIT -->|"wachtlijst"| WLA
+ UIT ==>|"intake"| EPI
+ subgraph EPIBOX["ZORGEPISODE — periode van zorg, 0..1 per aanmelding"]
+ direction TB
+ EPI["Zorgepisode"]
+ EPI --> INT["Intake(s)
+aanleiding: regulier · intern · crisis"]
+ EPI -.-> WLB["Wachtlijstplaatsing
+soort: behandel"]
+ INT --> DIA["Diagnose(s)
+DSM-5-TR · gesteld tijdens intake"]
+ DIA --> PLAN["Behandelplan
+doelen · interventies · evaluaties"]
+ end
+
+ Rechthoeken met een sleutel (PK) zijn entiteiten met een eigen identiteit; entiteiten met alleen een code-sleutel zijn waardelijsten (referentiedata, geen eigen levenscyclus).
@@ -277,6 +322,7 @@ erDiagram
PERSOON ||--o| CLIENT : "is cliënt sinds"
CLIENT ||--o{ AANMELDING : "meldt zich aan"
CLIENT ||--o| CLIENTPORTAAL_ACCOUNT : "heeft toegang via"
+ AANMELDING ||--o| ZORGEPISODE : "start bij uitkomst intake"
AANMELDING }o--|| WETTELIJK_KADER : "valt onder"
AANMELDING }o--|| AANMELDING_STATUS : "heeft"
AANMELDING }o--o| AANMELDING_UITKOMST : "heeft, bij besloten"
@@ -309,6 +355,12 @@ erDiagram
date datum
string hulpvraag
}
+ ZORGEPISODE {
+ uuid id PK
+ uuid aanmelding_id FK
+ date gestart_op
+ date beeindigd_op "optioneel"
+ }
VERWIJZER {
uuid id PK
string naam
@@ -348,12 +400,240 @@ erDiagram
- Niet in het diagram, maar op elke entiteit hierboven van toepassing (spelregels §3.1): id (uuid),
+ Niet in het diagram, maar op elke entiteit van toepassing (spelregels §3.1): id (uuid),
created_at/updated_at, deleted_at (soft delete), en een append-only
audit-event per mutatie. Weggelaten voor leesbaarheid, niet omdat ze niet gelden.
+ De screening hoort bij de aanmelding (besluitproces); intakes horen bij de zorgepisode. Eén episode
+ kan meerdere intakes hebben — naast de reguliere intake bestaan interne intakes binnen een lopende
+ episode; de aanleiding legt het verschil vast. Screening vóór intake is een nudge,
+ geen harde volgorde-eis in het schema.
+
+erDiagram
+ AANMELDING ||--o| SCREENING : "wordt gescreend in"
+ SCREENING ||--o{ SCREENING_ACTIVITEIT : "omvat"
+ SCREENING_ACTIVITEIT }o--|| SCREENING_ACTIVITEIT_TYPE : "is van type"
+ SCREENING }o--o| SCREENING_BESLUIT : "besluit, bij afronding"
+ SCREENING }o--o| AFDELING : "adviseert"
+ ZORGEPISODE ||--o{ INTAKE : "omvat"
+ INTAKE }o--|| INTAKE_AANLEIDING : "gestart vanwege"
+ INTAKE }o--|| INTAKE_STATUS : "heeft"
+ INTAKE }o--o| INTAKE_UITKOMST : "heeft, bij afgerond"
+ INTAKE }o--|| AFDELING : "op afdeling"
+ INTAKE ||--o{ CONTACTMOMENT : "omvat"
+ CONTACTMOMENT }o--|| CONTACTMOMENT_TYPE : "is van type"
+ INTAKE ||--o| KINDCHECK : "heeft"
+
+ SCREENING {
+ uuid id PK
+ uuid aanmelding_id FK
+ date gestart_op
+ date besluit_datum "optioneel"
+ }
+ SCREENING_ACTIVITEIT {
+ uuid id PK
+ uuid screening_id FK
+ date datum
+ string toelichting
+ uuid uitgevoerd_door "rollenronde"
+ }
+ INTAKE {
+ uuid id PK
+ uuid zorgepisode_id FK
+ date gestart_op
+ date afgerond_op "optioneel"
+ }
+ CONTACTMOMENT {
+ uuid id PK
+ uuid intake_id FK
+ date datum
+ uuid gevoerd_door "rollenronde"
+ }
+ KINDCHECK {
+ uuid id PK
+ uuid intake_id FK
+ date uitgevoerd_op
+ boolean thuiswonende_kinderen
+ boolean zorgen_veiligheid
+ boolean actie_ondernomen
+ string toelichting
+ }
+ SCREENING_ACTIVITEIT_TYPE {
+ string code PK
+ string label
+ }
+ SCREENING_BESLUIT {
+ string code PK
+ string label
+ }
+ AFDELING {
+ string code PK
+ string label
+ }
+ INTAKE_AANLEIDING {
+ string code PK
+ string label
+ }
+ INTAKE_STATUS {
+ string code PK
+ string label
+ }
+ INTAKE_UITKOMST {
+ string code PK
+ string label
+ }
+ CONTACTMOMENT_TYPE {
+ string code PK
+ string label
+ }
+
+ + ZORGPROGRAMMA (FACT, Verslaving, Trauma, ...) is als waardelijst besloten maar heeft nog geen + relatie in dit diagram — de koppeling (aan behandeladvies of traject) volgt in de ronde + diagnose & behandeltraject. Verslagen (feitzin 9, provenance) volgen in de rapportage-ronde. +
++ De aanmeldwachttijd hangt aan de AANMELDING (besluitproces); diagnoses, behandelplannen en de + behandelwachttijd hangen aan de ZORGEPISODE. De diagnose wordt in DSM-5-TR geregistreerd; de + ICD-10-code wordt via een mappingtabel afgeleid. Het behandelplan is hier de kern — sessieplanning, + leefgebieden en veiligheidsplan volgen in latere rondes. +
+
+erDiagram
+ AANMELDING ||--o{ WACHTLIJSTPLAATSING : "aanmeldwachttijd"
+ ZORGEPISODE ||--o{ WACHTLIJSTPLAATSING : "behandelwachttijd"
+ WACHTLIJSTPLAATSING }o--|| WACHTLIJST_SOORT : "is van soort"
+ WACHTLIJSTPLAATSING }o--|| PRIORITEIT : "heeft"
+ WACHTLIJSTPLAATSING }o--|| AFDELING : "voor afdeling"
+ WACHTLIJSTPLAATSING }o--o| WACHTLIJST_EINDREDEN : "beëindigd met"
+
+ ZORGEPISODE ||--o{ DIAGNOSE : "heeft"
+ DIAGNOSE }o--|| ERNST : "heeft"
+ DIAGNOSE }o--|| DIAGNOSE_STATUS : "klinische status"
+ DIAGNOSE }o--|| VERIFICATIESTATUS : "werkdiagnose of definitief"
+ DIAGNOSE }o--o| INTAKE : "gesteld tijdens"
+ DIAGNOSE }o--|| DSM_ICD_MAPPING : "geclassificeerd als"
+
+ ZORGEPISODE ||--o{ BEHANDELPLAN : "heeft"
+ BEHANDELPLAN }o--|| PLAN_STATUS : "heeft"
+ BEHANDELPLAN }o--o{ DIAGNOSE : "adresseert"
+ BEHANDELPLAN }o--o| INTAKE : "gebaseerd op"
+ BEHANDELPLAN ||--o{ BEHANDELDOEL : "bevat"
+ BEHANDELDOEL }o--|| DOEL_STATUS : "heeft"
+ BEHANDELPLAN ||--o{ INTERVENTIE : "bevat"
+ INTERVENTIE }o--o{ BEHANDELDOEL : "werkt aan"
+ BEHANDELPLAN ||--o{ EVALUATIEMOMENT : "kent"
+ EVALUATIEMOMENT }o--|| EVALUATIE_TYPE : "is van type"
+
+ WACHTLIJSTPLAATSING {
+ uuid id PK
+ uuid aanmelding_id FK "bij soort aanmeld"
+ uuid zorgepisode_id FK "bij soort behandel"
+ date geplaatst_op
+ date telt_vanaf
+ date beeindigd_op "optioneel"
+ }
+ DIAGNOSE {
+ uuid id PK
+ uuid zorgepisode_id FK
+ string dsm_code
+ string omschrijving
+ boolean hoofddiagnose
+ date gesteld_op
+ uuid gesteld_door "rollenronde"
+ }
+ DSM_ICD_MAPPING {
+ string dsm_code PK
+ string icd10_code
+ string dsm_omschrijving
+ }
+ BEHANDELPLAN {
+ uuid id PK
+ uuid zorgepisode_id FK
+ int versie
+ date opgesteld_op
+ date client_akkoord_op "optioneel"
+ }
+ BEHANDELDOEL {
+ uuid id PK
+ uuid behandelplan_id FK
+ string titel
+ string clientversie_b1
+ string prioriteit
+ int termijn_weken
+ }
+ INTERVENTIE {
+ uuid id PK
+ uuid behandelplan_id FK
+ string naam
+ string rationale
+ }
+ EVALUATIEMOMENT {
+ uuid id PK
+ uuid behandelplan_id FK
+ int week
+ date gepland_op
+ date uitgevoerd_op "optioneel"
+ }
+ WACHTLIJST_SOORT {
+ string code PK
+ string label
+ }
+ PRIORITEIT {
+ string code PK
+ string label
+ }
+ WACHTLIJST_EINDREDEN {
+ string code PK
+ string label
+ }
+ ERNST {
+ string code PK
+ string label
+ }
+ DIAGNOSE_STATUS {
+ string code PK
+ string label
+ }
+ VERIFICATIESTATUS {
+ string code PK
+ string label
+ }
+ PLAN_STATUS {
+ string code PK
+ string label
+ }
+ DOEL_STATUS {
+ string code PK
+ string label
+ }
+ EVALUATIE_TYPE {
+ string code PK
+ string label
+ }
+
+
+ Aannames ter bevestiging: versiebeheer als nieuw record per versie (versie-veld) ·
+ cliëntakkoord als datum-feit, niet als status · "max één hoofddiagnose" als constraint — maar per wat
+ (episode / moment) is nog open. WACHTLIJSTPLAATSING heeft twee optionele FK's; welke gevuld is volgt
+ uit de soort (aanmeld → aanmelding, behandel → episode).
+
De daadwerkelijke waarden per referentietabel, zodat je kunt controleren of de lijst klopt en compleet is.
@@ -434,6 +714,253 @@ erDiagram +| Code |
|---|
| volwassenen |
| jeugd |
| ouderen |
| forensisch |
+ Organisatorische eenheid; per instelling configureerbaar. Startlijst te bevestigen — + FACT en Verslaving zijn bewust géén afdeling (zie ZORGPROGRAMMA). +
+| Code |
|---|
| algemeen_ggz |
| fact |
| verslaving |
| trauma |
+ Inhoudelijk aanbod, los van afdeling. Koppeling volgt in de ronde diagnose & behandeltraject. +
+| Code |
|---|
| telefonisch_contact |
| dossieronderzoek |
| vragenlijst |
| overig |
+ Type + vrije toelichting per activiteit. Startlijst te bevestigen. +
+| Code |
|---|
| geschikt |
| niet_geschikt |
+ Verhouding tot AANMELDING_UITKOMST is een open vraag (overlap "geschikt" ↔ "intake"). +
+| Code |
|---|
| regulier |
| intern |
| crisis |
+ Regulier = vanuit aanmelding/screening; intern = tweede intake binnen lopende episode + (bijv. afdelingsovergang). Lijst te bevestigen. +
+| Code |
|---|
| bezig |
| afgerond |
+ Uit het prototype overgenomen; mogelijk komt er nog een status bij (bijv. gepland). +
+| Code |
|---|
| in_zorg |
| doorverwijzing |
| extra_diagnostiek |
+ Alleen gezet bij status = afgerond. Waarden uit het prototype — te bevestigen.
+
| Code |
|---|
| intakegesprek |
| aanvullend_onderzoek |
| telefonisch_contact |
| huisbezoek |
| overig |
| Code |
|---|
| aanmeld |
| behandel |
+ Volgt de Treeknormen: aanmeldwachttijd (vóór intake) en behandelwachttijd (na intake). +
+| Code |
|---|
| spoed |
| normaal |
| laag |
| Code |
|---|
| intake_gestart |
| behandeling_gestart |
| doorverwezen |
| teruggetrokken |
+ Startlijst te bevestigen. +
+| Code |
|---|
| licht |
| matig |
| ernstig |
| Code |
|---|
| actief |
| in_remissie |
| opgelost |
| inactief |
+ Klinische status — losse as naast VERIFICATIESTATUS. +
+| Code |
|---|
| werkdiagnose |
| definitief |
+ Aparte status-as — te bevestigen (zat in het prototype-model maar werd niet gebruikt). +
+| Code |
|---|
| concept |
| actief |
| afgerond |
| vervallen |
+ Voorstel — de statusmachine (incl. plaats van cliëntakkoord) is nog een open vraag. +
+| Code |
|---|
| niet_gestart |
| bezig |
| gehaald |
| bijgesteld |
| Code |
|---|
| tussentijds |
| eind |
| crisis |