# Datamodelvoorstel — Intake en behandeladvies **Status:** voorstel ter review — eerste entiteiten- en cardinaliteitenafleiding **Datum:** 19 juli 2026 **Scope:** Clinical Intake Assessment, Intake Contact, Child Safety Check, Treatment Advice, en een minimale hook voor MDT-bespreking bij het behandeladvies. Contactmoment-generalisatie naar een bredere consult-/afspraakstructuur blijft buiten scope (agenda-ronde). **Kader:** bouwt rechtstreeks op de bevestigde feitzinnen in `../feitenmodellen/feitenmodel-intake-behandeladvies.md`, inclusief het gerichte LKS 4.0-onderzoek naar behandeladvies-uitkomsten en bevoegdheid. Dit is de stap "afleiding van entiteiten en cardinaliteiten" uit diens §7. **Naamgeving:** entiteiten en attributen zijn Engelstalig, conform besluit B20 — vervangt het oudere, Nederlandstalige `model-intake.md`, dat als historisch werkdocument blijft staan met verwijzingen hierheen. **Autoriteit:** `../besluiten/besluitenlog-datamodel-2026-07-18.md` blijft leidend. --- ## 1. Entiteiten ### 1.1 clinical_intake_assessment **Doel:** het onderzoekstraject voor één samenhangende zorgvraag binnen een zorgepisode, van gepland eerste contact tot behandeladvies (feitenmodel §2). | Attribuut | Type | Verplicht | |---|---|---| | clinical_care_episode_id | ref clinical_care_episode | ja | | initiation_reason | waardelijst `intake_initiation_reason` (regulier/intern/crisis) | ja | | department | waardelijst `department` (afdeling) | ja | | status | waardelijst `intake_status` (gepland/bezig/afgerond/afgebroken) | ja (default `gepland`) | | planned_at | tijdstip | ja | | started_at | tijdstip | verplicht zodra status `bezig` of later | | ended_at | tijdstip | verplicht zodra status `afgerond` of `afgebroken` | | abort_reason | waardelijst `intake_abort_reason` | verplicht bij status `afgebroken` | **Uniciteit:** één stabiele identiteit; hangt aan precies één `clinical_care_episode`. Een episode kan nul, één of meerdere intakes hebben. "Maximaal één lopende intake per episode" is een aan/uit-zetbare bedrijfsregel, geen schemabeperking (een crisisintake kan naast een lopende reguliere intake nodig zijn). Statusovergangen: zie §4. **Relatie met instroom:** `clinical_care_episode_id` vervangt de oudere, inmiddels onjuiste relatie met AANMELDING. De intake start op enig moment ná het acceptatiebesluit dat de episode liet ontstaan — mogelijk na een periode op de intakewachtlijst (`referral_case.follow_up_route = intakewachtlijst`, `model-instroom.md` §2.12). `planned_at` dekt precies dat interval. ### 1.2 intake_contact **Doel:** een feitelijk contact binnen een `clinical_intake_assessment` (feitenmodel §3.2). | Attribuut | Type | Verplicht | |---|---|---| | clinical_intake_assessment_id | ref clinical_intake_assessment | ja | | occurred_at | tijdstip | ja | | contact_type | waardelijst `intake_contact_type` (intakegesprek/aanvullend_onderzoek/telefonisch_contact/huisbezoek/beeldcontact/overig) | ja | | performed_by | ref medewerker | ja | | notes | tekst | nee | | planned_duration_minutes | geheel getal | nee | **Uniciteit:** geen — meerdere contacten van hetzelfde type op dezelfde dag zijn legitiem. ### 1.3 child_safety_check **Doel:** de wettelijk verankerde kindcheck bij de intake (feitenmodel §3.3). | Attribuut | Type | Verplicht | |---|---|---| | clinical_intake_assessment_id | ref clinical_intake_assessment | ja | | performed_at | tijdstip | ja | | performed_by | ref medewerker | ja | | responsible_for_minors | ja/nee | ja | | minor_count | geheel getal | nee *(alleen zinvol bij responsible_for_minors = ja)* | | minor_ages | tekst | nee *(vrije tekst, bewust geen kindrecords — dataminimalisatie)* | | safety_concern | ja/nee | ja | | safety_concern_notes | tekst | verplicht bij safety_concern = ja | | action_taken | ja/nee | ja | | action_taken_notes | tekst | verplicht bij action_taken = ja | | pregnancy | ja/nee | ja *(vierde vlag, KNMG-kindcheck — feitenmodel §3.3, te verifiëren tegen de meldcode-tekst)* | | notes | tekst | nee | **Uniciteit:** maximaal één `child_safety_check` per `clinical_intake_assessment` (uniek op `clinical_intake_assessment_id`). Een nieuwe intake binnen dezelfde episode krijgt een eigen, nieuwe kindcheck. ### 1.4 intake_mdt_review *(minimale, voorlopige hook — zie §6)* **Doel:** vastleggen dát een behandeladvies in een multidisciplinair team is besproken, zonder de volledige MDO-workflow (B14-B15, nog een aparte ronde) hier te herhalen. Voor settings 3–8 is dit volgens LKS 4.0 een dwingende norm, voor setting 2 optioneel, voor vrijgevestigden niet van toepassing (feitenmodel §3.4). | Attribuut | Type | Verplicht | |---|---|---| | occurred_at | tijdstip | ja | | participants | tekst | ja *(vrije tekst voorlopig; structurering wacht op de MDO-ronde)* | | notes | tekst | nee | **Uniciteit:** geen eigen FK naar `clinical_intake_assessment` — wordt gekoppeld via `treatment_advice.mdt_review_id` (zie 1.5), zodat een MDT-bespreking pas telt zodra zij daadwerkelijk aan een vastgesteld advies hangt. ### 1.5 treatment_advice **Doel:** het object dat een `clinical_intake_assessment` afrondt: draagt de uitkomst, het geadviseerde zorgprogramma en de toelichting (feitenmodel §2, §3.4). | Attribuut | Type | Verplicht | |---|---|---| | clinical_intake_assessment_id | ref clinical_intake_assessment | ja | | decided_at | tijdstip | ja | | decided_by | ref medewerker (indicerende regiebehandelaar) | ja | | outcome | waardelijst `treatment_advice_outcome` (in_zorg/terugverwijzing/doorverwijzing/extra_diagnostiek) | ja | | recommended_care_program | ref care_program | verplicht bij outcome `in_zorg`, anders optioneel | | rationale | tekst | verplicht bij `terugverwijzing`/`doorverwijzing`/`extra_diagnostiek`, optioneel bij `in_zorg` | | mdt_review_id | ref intake_mdt_review | nee *(settingafhankelijk — zie §6, punt 1)* | | replaces_advice_id | ref treatment_advice (zelfreferentie) | nee | | replacement_reason | tekst | verplicht als `replaces_advice_id` gevuld is | **Uniciteit:** precies één intake, beslisser, besluitdatum en uitkomst per advies. `replaces_advice_id` is uniek indien gevuld (voorkomt vertakking), onbeperkte kettingdiepte — zelfde constructie als `care_acceptance_decision`/`professional_referral` in `model-instroom.md`. Het geldige advies van een intake is het laatste, niet-vervangen advies in de keten. **`doorverwijzing`/`terugverwijzing` als volgtijdelijk paar:** LKS 4.0 normeert eerst een inspanningsverplichting tot doorverwijzing, pas daarna terugverwijzing als dat niets oplevert. Dit wordt niet als aparte sequentie-constraint gemodelleerd, maar volgt vanzelf uit het vervangt-mechanisme: een `terugverwijzing`-advies dat een eerder `doorverwijzing`-advies vervangt, met de mislukte doorverwijzing als `replacement_reason` (feitenmodel §3.4, Route 2). ## 2. Relaties met cardinaliteit | Van | Naar | Cardinaliteit | Toelichting | |---|---|---|---| | clinical_care_episode | clinical_intake_assessment | 1..0..n | een episode kan nog geen intake hebben (net ontstaan, wacht op intakewachtlijst) | | clinical_intake_assessment | intake_contact | 1..0..n | een geplande intake heeft nog geen contacten | | clinical_intake_assessment | child_safety_check | 1..0..1 | "verplicht vóór afronden" is een nudge, geen schema-eis | | clinical_intake_assessment | treatment_advice | 1..0..n | 0 zolang nog niet afgerond; n bij heroverweging (Route 4) | | treatment_advice | treatment_advice | 0..1 (self) | `replaces_advice_id`, optioneel en uniek indien gevuld — voorkomt vertakking | | treatment_advice | intake_mdt_review | 0..1..1 | een MDT-bespreking hoort bij precies één advies zodra gekoppeld | | treatment_advice | care_program | 0..1 | verplicht bij outcome `in_zorg` | ## 3. Waardelijsten (startlijsten, te bevestigen) | Waardelijst | Voorlopige waarden | |---|---| | `intake_initiation_reason` | regulier, intern, crisis | | `intake_status` | gepland, bezig, afgerond, afgebroken | | `intake_abort_reason` | client_trekt_terug, geen_contact_meer, overleden, overig | | `intake_contact_type` | intakegesprek, aanvullend_onderzoek, telefonisch_contact, huisbezoek, beeldcontact, overig | | `treatment_advice_outcome` | in_zorg, terugverwijzing, doorverwijzing, extra_diagnostiek | | `department` | over te nemen uit `model-aanmelding.md`/instellingsconfiguratie (afdeling, instellingsconfigureerbaar) | | `care_program` | over te nemen uit bestaande zorgprogramma-waardelijst (`model-instroom.md` `program_context`) | Alle waardelijsten volgen het bestaande patroon (referentietabel met `code`, `omschrijving`, `geldig_van`/`geldig_tot`, `actief` — spelregel 3.1 #1) en zijn hier nog geen definitieve besluiten. ## 4. Statusmachine clinical_intake_assessment Statussen: `gepland` → `bezig` → `afgerond`/`afgebroken`, met heropening. | Van | Naar | Voorwaarde | |---|---|---| | — | gepland | intake aangemaakt | | gepland | bezig | eerste `intake_contact` geregistreerd | | gepland | afgebroken | `abort_reason` verplicht | | bezig | afgerond | een niet-vervangen `treatment_advice` verplicht | | bezig | afgebroken | `abort_reason` verplicht | | afgerond | bezig | heropening, audit-event verplicht | | afgebroken | bezig | heropening (cliënt meldt zich alsnog), audit-event verplicht | Niet toegestaan: `gepland` → `afgerond` rechtstreeks (afronden zonder geregistreerd contact); `afgerond` ↔ `afgebroken` rechtstreeks. Regels in het model als check-constraints en een referentietabel voor overgangen, consistent met spelregel 3.1 #7/#9. ## 5. Buiten scope van dit document - Het volledige MDO-workflowmodel (casusinbreng, triage, agendering, formele uitkomsttypen) — `intake_mdt_review` is een minimale hook, geen vervanging van B14-B15. - Contactmoment-generalisatie naar een bredere consult-/afspraakstructuur — agenda-ronde. - De volledige bevoegdheidsmatrix per setting (welke settings exact MDT-bespreking vereisen, en de rolinvulling) — bevoegdheidsronde (B16). - ZPM-consultregistratie (planning versus geleverde prestatie) — hangt aan `intake_contact` maar wordt in de declaratie-ronde uitgewerkt. ## 6. Open punten voor Colin 1. **`intake_mdt_review` als verplicht of optioneel veld op `treatment_advice`?** Voorstel hierboven: optioneel op schemaniveau (`mdt_review_id` nee), met een nudge/constraint die per setting bepaalt of afronden zonder MDT-koppeling is toegestaan — settings 3–8 volgens LKS 4.0 in principe niet. Dit vereist een settingregistratie die nu nog niet bestaat in het model (welke setting geldt voor deze episode/case); zonder die registratie kan de regel niet worden afgedwongen, alleen als nudge worden voorgesteld. 2. **Is `extra_diagnostiek` altijd een nieuw, vervangend `treatment_advice` zodra het vervolgonderzoek is afgerond, of kan de intake ook gewoon "bezig" blijven zonder tussentijdse afronding?** Beide zijn nu schema-technisch mogelijk (heropening bestaat); welke de praktijk prefereert is niet getoetst. 3. **`pregnancy`-vlag op `child_safety_check`** is toegevoegd op basis van algemene domeinkennis (KNMG-meldcode), niet uit de eerder verzamelde onderzoeksrapporten — te verifiëren. 4. **Startwaarden van de waardelijsten** — met name `intake_contact_type` en `intake_abort_reason` zijn overgenomen uit het oudere `model-intake.md` zonder nieuwe validatie. ## 7. Bronverwijzingen | Onderdeel | Bron | |---|---| | Alle feitzinnen, besloten regels, scenario's | `../feitenmodellen/feitenmodel-intake-behandeladvies.md` | | LKS 4.0-onderzoek behandeladvies-uitkomsten en bevoegdheid | zie onderzoeksresultaat verwerkt in feitenmodel §3.4 | | Intake aan zorgepisode, meerdere intakes, aanleiding-waardelijst (basis) | `model-intake.md` §1/§2 (ouder, Nederlandstalig, episode-timing gecorrigeerd) | | Instroom-precedenten (vervangt-mechanisme, tijdlijn-principe) | `model-instroom.md` | | Engelstalig technisch model | besluit B20, `../besluiten/besluitenlog-datamodel-2026-07-18.md` §9 |