docs(datamodel): instroom entiteiten/cardinaliteiten + vier reviewrondes
Voegt model-instroom.md toe: de eerste entiteiten-/cardinaliteitenafleiding uit feitenmodel-instroom.md (20 entiteiten, Engelstalig conform B20, vervangt-patroon voor herzieningen, tijdlijn i.p.v. statusmachine voor Referral Case). Vier reviewrondes verwerkt: - technische en GGZ-domeinreview (vertakkende vervangt-keten gefixed, timestamp-precisie, ontbrekende ZPM-velden hersteld); - tweede ronde met datamodel-, GGZ-domein- en UX-expert-agents (lege screening-entiteit vervallen, naamgeving, cardinaliteitsfout, read-model-eis); - GGZ-wetgeving-onderzoek (Wvggz, Wmo/Jeugdwet, 275-dagentoets, 365-dagenregel, crisisdocumentatie) vertaald naar nieuwe entiteiten (municipal_care_assignment, legal_mandate, crisis_encounter_note); - domeinreview eigenaarschap/urgentie met Colin: herhaalbare urgentiebeoordeling (case_urgency_assessment) en een bewust minimale hook voor teambetrokkenheid (episode_team_involvement) — het volledige zorgteam-model blijft een aparte, nog te plannen ronde. feitenmodel-instroom.md: "verzoek zonder bekende persoon" (crisisaanmelding) beantwoord — geen placeholder-persoon, koppeling als eigen gedateerd feit.
This commit is contained in:
849
docs/datamodel/deelmodellen/model-instroom.md
Normal file
849
docs/datamodel/deelmodellen/model-instroom.md
Normal file
@@ -0,0 +1,849 @@
|
|||||||
|
# Datamodelvoorstel — Instroom (Referral Request/Submission/Case, acceptatiebesluit)
|
||||||
|
|
||||||
|
**Status:** voorstel ter review — eerste entiteiten- en cardinaliteitenafleiding,
|
||||||
|
op 19 juli 2026 drie reviewrondes doorlopen (technisch, GGZ-domein, UX, en
|
||||||
|
GGZ-wetgeving — zie §9)
|
||||||
|
**Datum:** 19 juli 2026
|
||||||
|
**Scope:** Referral Request, Referral Submission, Referral Case, Professional
|
||||||
|
Referral, Care Acceptance Decision, de gebeurtenissen rond een case
|
||||||
|
(screening, informatieverzoek, intrekking, consolidatie), Wmo/Jeugdwet-
|
||||||
|
toewijzing en Wvggz-mandaat als alternatieve instroomroutes, crisis
|
||||||
|
documentatie vóór identificatie, en het ontstaan/einde van Clinical Care
|
||||||
|
Episode. Behandeladvies/intake-uitkomst blijft buiten scope (nog open
|
||||||
|
onderzoek, zie feitenmodel §7 vraag 2).
|
||||||
|
**Kader:** bouwt rechtstreeks op de bevestigde feitzinnen in
|
||||||
|
`../feitenmodellen/feitenmodel-instroom.md`. Alle vragen uit diens §7 zijn
|
||||||
|
beantwoord, behalve vraag 2. Dit is de stap "afleiding van entiteiten en
|
||||||
|
cardinaliteiten" uit die §7.
|
||||||
|
**Naamgeving:** entiteiten en attributen zijn Engelstalig, conform besluit
|
||||||
|
B20. Dit wijkt af van het oudere, Nederlandstalige `model-aanmelding.md` —
|
||||||
|
die synchronisatie (AANMELDING/VERWIJZING/ZORGEPISODE vervangen door dit
|
||||||
|
voorstel) is een aparte, latere stap, niet in dit document.
|
||||||
|
**Autoriteit:** `../besluiten/besluitenlog-datamodel-2026-07-18.md` blijft
|
||||||
|
leidend.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Ontwerpprincipe: tijdlijn in plaats van statusmachine
|
||||||
|
|
||||||
|
`Referral Case` heeft geen vaste, eenrichtings-statusmachine (feitenmodel §4,
|
||||||
|
domeinreview 19 juli 2026). In plaats daarvan zijn dit de gebeurtenis-
|
||||||
|
entiteiten die aan een case kunnen hangen, in willekeurige volgorde en
|
||||||
|
herhaalbaar:
|
||||||
|
|
||||||
|
- `submission_case_assignment` — een submission wordt aan de case toegewezen;
|
||||||
|
- `screening_activity` — een screeningscontact of -onderzoek;
|
||||||
|
- `case_information_request` — een informatieverzoek;
|
||||||
|
- `care_acceptance_decision` — een (vervangend) acceptatiebesluit;
|
||||||
|
- `case_withdrawal` — een cliënt-intrekking;
|
||||||
|
- `case_consolidation` — een leidend-aanwijzing tussen twee cases.
|
||||||
|
|
||||||
|
§7 werkt uit hoe de actuele stand van een case uit deze gebeurtenissen wordt
|
||||||
|
afgeleid.
|
||||||
|
|
||||||
|
## 2. Entiteiten
|
||||||
|
|
||||||
|
### 2.1 referral_request
|
||||||
|
|
||||||
|
**Doel:** het inhoudelijke verzoek om zorg of beoordeling. Eigen identiteit,
|
||||||
|
los van de submission die het aanleverde en los van een eventuele formele
|
||||||
|
verwijzing (feitenmodel §2, §6).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| person_id | ref PERSOON | nee *(zie hieronder — crisisaanmelding met onbekende identiteit)* |
|
||||||
|
| person_identified_at | tijdstip | verplicht zodra `person_id` gevuld is |
|
||||||
|
| person_identified_by | ref medewerker | verplicht zodra `person_id` gevuld is |
|
||||||
|
| initiated_at | tijdstip | ja |
|
||||||
|
| initiator_type | waardelijst `initiator_type` (professional/organisatie/cliënt/vertegenwoordiger) | ja |
|
||||||
|
| initiator_reference | tekst of ref VERWIJZER | nee |
|
||||||
|
| requested_scope | tekst (bv. “gespecialiseerde GGZ”) | ja |
|
||||||
|
| presenting_need_text | tekst (de geuite zorgvraag) | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** één stabiele identiteit; zodra bekend precies één
|
||||||
|
persoon/cliënt; minstens één initiator; bevat één of meer samenhangende
|
||||||
|
geuite zorgvragen (geen los attribuut — volgt uit de scope van het request
|
||||||
|
zelf, splitsing gebeurt door een nieuw request aan te maken).
|
||||||
|
|
||||||
|
**Waarom `person_id` optioneel is:** bij crisisaanmeldingen kan de
|
||||||
|
identiteit nog onbekend zijn op het moment dat het request al geregistreerd
|
||||||
|
moet worden. Een placeholder- of "John Doe"-persoon die later wordt
|
||||||
|
vervangen is bewust geen oplossing — dat vereist achteraf alle gekoppelde
|
||||||
|
feiten naar de echte persoon te verplaatsen, wat tegen append-only ingaat.
|
||||||
|
`person_identified_at`/`_by` maken de koppeling zelf een gedateerd,
|
||||||
|
toegeschreven feit in plaats van een stille invulling (domeinreview 19 juli
|
||||||
|
2026, was open punt 1).
|
||||||
|
|
||||||
|
### 2.2 referral_submission
|
||||||
|
|
||||||
|
**Doel:** één afzonderlijke binnenkomst, via één kanaal en op één
|
||||||
|
ontvangstmoment (feitenmodel §2).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| received_at | tijdstip | ja |
|
||||||
|
| channel | waardelijst `submission_channel` (ZorgDomein/e-mail/telefoon/portaal/…) | ja |
|
||||||
|
| source_reference | tekst of ref VERWIJZER | nee *(“onbekend” toegestaan)* |
|
||||||
|
| recorded_by | ref medewerker | nee *(verplicht bij telefonische/handmatige registratie)* |
|
||||||
|
| raw_note | tekst | nee |
|
||||||
|
|
||||||
|
**Uniciteit:** één ontvangstmoment en kanaal; minstens één bron (evt.
|
||||||
|
onbekend); nul of meer documenten; nooit overschreven door een latere
|
||||||
|
aanvulling — een aanvulling is een nieuwe submission.
|
||||||
|
|
||||||
|
### 2.3 submission_document
|
||||||
|
|
||||||
|
**Doel:** een document dat bij een submission is ontvangen (S4, S8).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| submission_id | ref referral_submission | ja |
|
||||||
|
| document_type | waardelijst `document_type` (verwijsbrief/diagnostische aanvulling/…) | ja |
|
||||||
|
| document_reference | ref documentopslag (UUID) | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — meerdere documenten per submission toegestaan.
|
||||||
|
|
||||||
|
### 2.4 submission_request_link
|
||||||
|
|
||||||
|
**Doel:** de expliciete koppeling van een submission aan één of meer
|
||||||
|
requests (S5, S9, S12) — de submission zelf wordt nooit gekopieerd of
|
||||||
|
gesplitst (feitenmodel §3.2).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| submission_id | ref referral_submission | ja |
|
||||||
|
| referral_request_id | ref referral_request | ja |
|
||||||
|
| established_at | tijdstip | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** een submission kan 0..n requests representeren of aanvullen;
|
||||||
|
elke bekende relatie is een eigen rij.
|
||||||
|
|
||||||
|
**`link_type` vervalt (voorstel, ter evaluatie):** “representeert” versus
|
||||||
|
“vult_aan” bleek bij toetsing geen zelfstandig feit met eigen gedrag of
|
||||||
|
regels — geen enkele uniciteits- of optionaliteitsregel behandelt ze
|
||||||
|
verschillend. Het onderscheid is puur chronologisch: de vroegste
|
||||||
|
`submission_request_link` voor een request is per definitie degene die het
|
||||||
|
representeerde, latere zijn per definitie aanvullingen. Dat volgt al uit
|
||||||
|
`established_at` in combinatie met de al bestaande volgorde van submissions;
|
||||||
|
een apart, door een mens te zetten waardelijst-veld zou dezelfde informatie
|
||||||
|
dubbel opslaan. `established_at` wordt daarom verplicht (was optioneel) om
|
||||||
|
deze afleiding altijd mogelijk te maken.
|
||||||
|
|
||||||
|
### 2.5 submission_duplicate_assessment
|
||||||
|
|
||||||
|
**Doel:** vastleggen dat een submission als duplicaat van een andere is
|
||||||
|
beoordeeld (S13, S14).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| submission_id | ref referral_submission (het duplicaat) | ja |
|
||||||
|
| duplicate_of_submission_id | ref referral_submission (het origineel) | ja |
|
||||||
|
| assessed_by | ref medewerker | ja |
|
||||||
|
| assessed_at | tijdstip | ja |
|
||||||
|
| reason | tekst | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** geen destructieve werking — beide submissions blijven bestaan.
|
||||||
|
|
||||||
|
### 2.6 referral_case
|
||||||
|
|
||||||
|
**Doel:** het institutionele aanmeldingstraject voor één samenhangend
|
||||||
|
beoordeelde zorgvraag (feitenmodel §2).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| person_id | ref PERSOON | nee *(zelfde reden als bij referral_request — crisisaanmelding)* |
|
||||||
|
| person_identified_at | tijdstip | verplicht zodra `person_id` gevuld is |
|
||||||
|
| person_identified_by | ref medewerker | verplicht zodra `person_id` gevuld is |
|
||||||
|
| opened_at | tijdstip | ja |
|
||||||
|
| presenting_need_summary | tekst | ja |
|
||||||
|
| wettelijk_kader | waardelijst `wettelijk_kader` (zvw/wmo/jeugdwet/wvggz) | ja *(overgenomen van AANMELDING in `model-aanmelding.md` §2.10 / discovery §5.0 besluit 4, was in dit voorstel per abuis niet meegenomen; bepaalt welke instroomroute — `professional_referral`, `municipal_care_assignment`, `legal_mandate` — van toepassing is, reviewronde 19 juli 2026)* |
|
||||||
|
| zpm_verwijstype | waardelijst `zpm_verwijstype` | nee *(afleidbaar uit professional_referral/initiator_type, overschrijfbaar; verplicht richting declaratie bij Zvw — overgenomen van AANMELDING in `model-aanmelding.md` §2.10, was in dit voorstel per abuis niet meegenomen)* |
|
||||||
|
| huisarts_geinformeerd_op | datum | nee *(instroom zonder verwijzing; nudge harde termijn 60 dagen — overgenomen van AANMELDING in `model-aanmelding.md` §2.10)* |
|
||||||
|
|
||||||
|
**Uniciteit:** één stabiele identiteit; één institutioneel als samenhangend
|
||||||
|
beoordeelde zorgvraag; gevoed door 1..n submissions (via
|
||||||
|
`submission_case_assignment`) en 1..n requests (via `request_case_link`); geen
|
||||||
|
vast statusveld (zie §1 en §7).
|
||||||
|
|
||||||
|
**AGB-code en correspondentietoestemming:** geen nieuwe velden nodig — AGB
|
||||||
|
van de verwijzer/praktijk loopt via `professional_referral.referrer_id` →
|
||||||
|
VERWIJZER/PRAKTIJK_INSTELLING (al aanwezig, `model-aanmelding.md` §2.6–§2.7);
|
||||||
|
correspondentietoestemming (verwijstype 04) valt onder de al bestaande
|
||||||
|
generieke TOESTEMMING-entiteit (`model-aanmelding.md` §2.14), met
|
||||||
|
`scope_aanmelding_id` wijzend naar deze case.
|
||||||
|
|
||||||
|
### 2.7 submission_case_assignment
|
||||||
|
|
||||||
|
**Doel:** de historiseerbare toewijzing van een submission aan een case
|
||||||
|
(C3–C7).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| submission_id | ref referral_submission | ja |
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| assigned_at | tijdstip | ja |
|
||||||
|
| assigned_by | ref medewerker | ja |
|
||||||
|
| reason | tekst | nee |
|
||||||
|
|
||||||
|
**Uniciteit:** een submission kan aan meerdere cases worden toegewezen
|
||||||
|
(uitzondering, feitenmodel §3.3); toewijzing is een gebeurtenis, geen
|
||||||
|
overschrijfbaar veld.
|
||||||
|
|
||||||
|
### 2.8 request_case_link
|
||||||
|
|
||||||
|
**Doel:** welke requests binnen een case worden behandeld, en sinds wanneer
|
||||||
|
(C8, C9).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_request_id | ref referral_request | ja |
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| since | datum | ja |
|
||||||
|
| reason | tekst | nee *(verplicht zodra een request aan meer dan één case gekoppeld is — uitzondering, feitenmodel §4)* |
|
||||||
|
|
||||||
|
**Uniciteit:** een request hoort normaliter bij precies één case; koppeling
|
||||||
|
aan meer dan één case is een expliciete uitzondering met reden en
|
||||||
|
tijdgebonden historie.
|
||||||
|
|
||||||
|
### 2.9 case_consolidation
|
||||||
|
|
||||||
|
**Doel:** niet-destructieve leidend-aanwijzing tussen twee overlappende cases
|
||||||
|
(C10–C13).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| primary_case_id | ref referral_case (leidend) | ja |
|
||||||
|
| related_case_id | ref referral_case (niet-leidend, blijft bestaan) | ja |
|
||||||
|
| overlap_assessed_at | tijdstip | nee |
|
||||||
|
| designated_at | tijdstip | ja |
|
||||||
|
| designated_by | ref medewerker | ja |
|
||||||
|
| reason | tekst | ja |
|
||||||
|
|
||||||
|
**Bevoegdheid (voorstel, ter evaluatie):** geen speciale `decision_authority`
|
||||||
|
vereist — elke medewerker die de case behandelt kan consolideren, net als bij
|
||||||
|
`submission_case_assignment` en `submission_duplicate_assessment`. Consolidatie
|
||||||
|
is een administratieve correctie (welke case leidend is voor rapportage),
|
||||||
|
geen inhoudelijk besluit over zorgtoegang; zij creëert of beëindigt geen
|
||||||
|
zorgconsequentie zoals `care_acceptance_decision` dat wel doet. Alleen een
|
||||||
|
mens mag dit vaststellen — AI mag hooguit een match voorstellen (B1) — maar
|
||||||
|
dat is een ander soort eis dan beslisbevoegdheid.
|
||||||
|
|
||||||
|
**Uniciteit:** beide cases behouden hun eigen identiteit en historie na
|
||||||
|
aanwijzing; geen merge, geen verwijdering. `related_case_id` is uniek: een
|
||||||
|
case kan in hoogstens één consolidatie de niet-leidende rol vervullen
|
||||||
|
(`UNIQUE(related_case_id)`); `primary_case_id` blijft vrij herhaalbaar. Een
|
||||||
|
case mag zichzelf niet consolideren (`CHECK(primary_case_id <>
|
||||||
|
related_case_id)`). Transitieve cykels (A leidend over B, B leidend over A)
|
||||||
|
worden hierdoor niet uitgesloten en blijven een proces-/applicatie
|
||||||
|
verantwoordelijkheid (reviewronde 19 juli 2026, zie §9).
|
||||||
|
|
||||||
|
### 2.10 screening_activity
|
||||||
|
|
||||||
|
**Doel:** een concrete screeningsactiviteit binnen een case (G1–G4). Levert
|
||||||
|
zelf geen apart advies op (feitenmodel §3.4). *(De aparte, lege
|
||||||
|
`screening`-groeperingsentiteit uit de eerste versie is vervallen — geen
|
||||||
|
enkel eigen attribuut, geen onderscheidend kenmerk tussen meerdere
|
||||||
|
groeperingen; als een echte, benoembare screeningsronde ooit nodig blijkt,
|
||||||
|
komt die terug als event-entiteit met eigen attributen. Reviewronde 19 juli
|
||||||
|
2026, zie §9.)*
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| performed_at | tijdstip | ja |
|
||||||
|
| activity_type | waardelijst `screening_activity_type` (telefonisch contact/dossieronderzoek/vragenlijst/…) | ja |
|
||||||
|
| performed_by | ref medewerker | ja |
|
||||||
|
| notes | tekst | nee |
|
||||||
|
| funded | ja/nee | nee *(default nee — screeningscontact is meestal niet gefinancierd, feitenmodel §3.4)* |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — 0..n activiteiten per screening.
|
||||||
|
|
||||||
|
### 2.11 case_information_request
|
||||||
|
|
||||||
|
**Doel:** een informatieverzoek als eigen gebeurtenisfeit, niet als
|
||||||
|
besluituitkomst of statusveld (feitenmodel §7 vraag 5, A28–A29).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| requested_at | tijdstip | ja |
|
||||||
|
| requested_by | ref medewerker | ja |
|
||||||
|
| requested_information | tekst | ja |
|
||||||
|
| resolved_by_submission_id | ref referral_submission | nee |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — een case kan meerdere informatieverzoeken hebben, ook
|
||||||
|
ná een eerder acceptatiebesluit tijdens een heroverweging.
|
||||||
|
|
||||||
|
### 2.12 care_acceptance_decision
|
||||||
|
|
||||||
|
**Doel:** het formele besluit dat de beoordeling van een case afrondt: draagt
|
||||||
|
zelf de onderliggende beoordelingen, de besluituitkomst, de vervolgroute en,
|
||||||
|
bij afwijzing, de onderbouwing (feitenmodel §2, §3.5, §4).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| decided_at | tijdstip | ja |
|
||||||
|
| decided_by | ref medewerker | ja |
|
||||||
|
| decision_authority_id | ref decision_authority | ja |
|
||||||
|
| content_match | ja/nee | ja |
|
||||||
|
| capacity_available | ja/nee | nee |
|
||||||
|
| program_context | ref care_program of tekst | nee |
|
||||||
|
| decision_outcome | waardelijst `decision_outcome` (`geaccepteerd`/`afgewezen`) | ja |
|
||||||
|
| follow_up_route | waardelijst `follow_up_route` (intake_direct/intakewachtlijst/spoedroute/doorverwijzen/case_afsluiten) | ja |
|
||||||
|
| rationale | tekst | verplicht bij `afgewezen`, anders optioneel |
|
||||||
|
| replaces_decision_id | ref care_acceptance_decision (zelfreferentie) | nee |
|
||||||
|
| replacement_reason | tekst | verplicht als `replaces_decision_id` gevuld is |
|
||||||
|
|
||||||
|
**Uniciteit:** precies één case, beslisser, besluitdatum, besluituitkomst en
|
||||||
|
vervolgroute per besluit. Optioneel precies één eerder besluit van dezelfde
|
||||||
|
case vervangen — het vervangen besluit blijft ongewijzigd bewaard (feitenmodel
|
||||||
|
§4, §7 vraag 3). Capaciteit bepaalt de uitkomst niet automatisch (Route 2A/2B).
|
||||||
|
`replaces_decision_id` is uniek indien gevuld (partial unique index): een
|
||||||
|
besluit kan door hoogstens één ander besluit worden vervangen, zodat de
|
||||||
|
vervangt-keten nooit vertakt. Zonder die garantie zouden twee besluiten
|
||||||
|
tegelijk "niet vervangen" kunnen zijn en zou de afleidingsregel in §5 geen
|
||||||
|
eenduidig geldig besluit meer opleveren. Het geldige besluit van een case is
|
||||||
|
het laatste, niet-vervangen besluit in de keten. *(Concurrency bij
|
||||||
|
gelijktijdige heroverwegingen — bijvoorbeeld via `SELECT ... FOR UPDATE` op
|
||||||
|
de keten-tail — is een implementatiedetail voor de migratie-/API-laag, niet
|
||||||
|
voor dit document.)*
|
||||||
|
|
||||||
|
**Kettingdiepte (voorstel, ter evaluatie):** onbeperkt toegestaan, geen aparte
|
||||||
|
constraint. De afleidingsregel in §5 ("volg de vervangt-keten naar het
|
||||||
|
laatste, niet-vervangen besluit") werkt voor elke kettinglengte zonder extra
|
||||||
|
modellering. Een harde grens van één niveau zou een legitieme
|
||||||
|
correctie-op-een-correctie blokkeren zonder dat daar een aantoonbare
|
||||||
|
praktijkreden voor is — de feitzinnen tonen alleen één niveau omdat dat het
|
||||||
|
scenario was, niet omdat een tweede niveau problematisch zou zijn.
|
||||||
|
|
||||||
|
### 2.13 case_withdrawal
|
||||||
|
|
||||||
|
**Doel:** cliënt-intrekking van een case, geen besluit en geen
|
||||||
|
bevoegdheidseis (feitenmodel §3.5 Route 4, §7 vraag 4).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| withdrawn_at | tijdstip | ja |
|
||||||
|
| recorded_by | ref medewerker | ja |
|
||||||
|
| note | tekst | nee |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — kan op elk moment plaatsvinden, ook ná een positief
|
||||||
|
besluit.
|
||||||
|
|
||||||
|
### 2.14 professional_referral
|
||||||
|
|
||||||
|
**Doel:** de formele Nederlandse VERWIJZING, zelfstandig object gekoppeld aan
|
||||||
|
een request (R6–R10, feitenmodel §2, §6).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_request_id | ref referral_request | ja |
|
||||||
|
| referrer_id | ref VERWIJZER | ja |
|
||||||
|
| referral_date | datum | ja |
|
||||||
|
| echelon | waardelijst `echelon` | nee |
|
||||||
|
| suspected_condition | tekst | nee |
|
||||||
|
| heraanmelding | ja/nee | ja (default nee) *(overgenomen van VERWIJZING in `model-aanmelding.md` §2.11, was in dit voorstel per abuis niet meegenomen)* |
|
||||||
|
| replaces_referral_id | ref professional_referral (zelfreferentie) | nee |
|
||||||
|
| replacement_reason | tekst | verplicht als `replaces_referral_id` gevuld is |
|
||||||
|
|
||||||
|
**Uniciteit:** eigen identiteit, gekoppeld aan precies één request. Een
|
||||||
|
request kan 0..n professional referrals hebben: een correctie of aanvulling
|
||||||
|
op een eerdere verwijzing is geen nieuw request maar een nieuwe
|
||||||
|
`professional_referral` die de vorige vervangt — dezelfde
|
||||||
|
vervangt-constructie als bij `care_acceptance_decision` (domeinreview 19 juli
|
||||||
|
2026, was open punt 1). De vervangen verwijzing blijft ongewijzigd bewaard;
|
||||||
|
het geldige exemplaar is het laatste, niet-vervangen record in de keten.
|
||||||
|
`replaces_referral_id` is, net als bij `care_acceptance_decision`, uniek
|
||||||
|
indien gevuld — zelfde reden: voorkomt vertakking van de keten.
|
||||||
|
|
||||||
|
**AGB-code:** geen apart veld — loopt via `referrer_id` → VERWIJZER, dat al
|
||||||
|
een `agb_code` draagt (`model-aanmelding.md` §2.6).
|
||||||
|
|
||||||
|
### 2.15 municipal_care_assignment *(voorstel, gebaseerd op juridisch onderzoek 19 juli 2026 — zie §9)*
|
||||||
|
|
||||||
|
**Doel:** de gemeentelijke beschikking/toewijzing (Wmo/Jeugdwet, iWmo/iJw
|
||||||
|
301-bericht) als toegangsticket naast — niet in plaats van — een eventuele
|
||||||
|
`professional_referral`. Bij Jeugdwet bestaat een zelfstandige professionele
|
||||||
|
verwijsroute náást de gemeentelijke toewijzing (een cliënt kan dus beide
|
||||||
|
hebben); bij Wmo bestaat geen professionele verwijsroute, alleen de
|
||||||
|
gemeentelijke toegang.
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_request_id | ref referral_request | ja |
|
||||||
|
| legal_framework | waardelijst `municipal_legal_framework` (wmo/jeugdwet) | ja |
|
||||||
|
| municipality_code | tekst (CBS-gemeentecode) | ja |
|
||||||
|
| assignment_number | tekst (toewijzings-/beschikkingsnummer) | ja |
|
||||||
|
| product_category | waardelijst `municipal_product_category` | ja |
|
||||||
|
| product_code | tekst | ja |
|
||||||
|
| volume | getal | ja |
|
||||||
|
| unit | waardelijst `municipal_product_unit` | ja |
|
||||||
|
| frequency | tekst | ja |
|
||||||
|
| start_date | datum | ja |
|
||||||
|
| end_date | datum | nee |
|
||||||
|
| issued_at | tijdstip | ja |
|
||||||
|
| replaces_assignment_id | ref municipal_care_assignment (zelfreferentie) | nee |
|
||||||
|
| replacement_reason | tekst | verplicht als `replaces_assignment_id` gevuld is |
|
||||||
|
|
||||||
|
BSN, geboortedatum, geslacht en adres van de cliënt komen niet terug als
|
||||||
|
eigen velden — die lopen via PERSOON (al bestaand, niet dubbel modelleren).
|
||||||
|
AGB-code van de aanbieder loopt via de bestaande PRAKTIJK_INSTELLING-entiteit.
|
||||||
|
|
||||||
|
**Uniciteit:** `assignment_number` uniek per `municipality_code`. Zelfde
|
||||||
|
vervangt-mechaniek als `professional_referral`/`care_acceptance_decision`
|
||||||
|
(gemeenten sturen herziene 301-berichten) — `replaces_assignment_id` uniek
|
||||||
|
indien gevuld, onbeperkte kettingdiepte.
|
||||||
|
|
||||||
|
### 2.16 legal_mandate *(voorstel, gebaseerd op juridisch onderzoek 19 juli 2026 — zie §9)*
|
||||||
|
|
||||||
|
**Doel:** het wettelijke mandaat bij gedwongen zorg (Wvggz): crisismaatregel
|
||||||
|
of zorgmachtiging. Bij een crisismaatregel heeft de instelling geen
|
||||||
|
discretionaire ruimte — het burgemeesterlijk besluit (op basis van een
|
||||||
|
medische verklaring) is zelf bindend; er bestaat geen apart institutioneel
|
||||||
|
acceptatiebesluit ernaast. Dit vervangt dus geen `care_acceptance_decision`,
|
||||||
|
het is een eigen soort feit met een andere aard (wettelijke plicht, geen
|
||||||
|
discretionaire beoordeling).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| mandate_type | waardelijst `mandate_type` (crisismaatregel/zorgmachtiging) | ja |
|
||||||
|
| decision_reference | tekst (besluit-/beschikkingsnummer) | ja |
|
||||||
|
| decided_by_role | waardelijst `mandate_decider_role` (burgemeester/rechter) | ja |
|
||||||
|
| decided_at | tijdstip | ja |
|
||||||
|
| medical_statement_reference | ref document (medische verklaring psychiater) | verplicht bij `crisismaatregel` |
|
||||||
|
| effectuated_at | tijdstip (tenuitvoerlegging) | ja |
|
||||||
|
| valid_from | tijdstip | ja |
|
||||||
|
| valid_until | tijdstip | nee |
|
||||||
|
|
||||||
|
*(Aanname, te bevestigen door een jurist: geen apart institutioneel
|
||||||
|
acceptatiebesluit náást een mandaat, ook niet bij zorgmachtiging — het
|
||||||
|
juridisch onderzoek noemt dit "aannemelijk", niet met een wetsartikel
|
||||||
|
bevestigd. De 24-uurstermijn voor tenuitvoerlegging bij een crisismaatregel
|
||||||
|
is een nudge-regel, geen opgeslagen constraint.)*
|
||||||
|
|
||||||
|
**Uniciteit:** geen vervangt-mechaniek voorgesteld — een crisismaatregel kan
|
||||||
|
overgaan in een machtiging tot voortzetting/zorgmachtiging, maar dat is een
|
||||||
|
nieuw mandaat met eigen `decision_reference`, geen correctie van het vorige.
|
||||||
|
|
||||||
|
### 2.17 crisis_encounter_note *(voorstel, gebaseerd op juridisch onderzoek 19 juli 2026 — zie §9)*
|
||||||
|
|
||||||
|
**Doel:** gestructureerde vastlegging van crisisgerelateerd handelen vóórdat
|
||||||
|
identificatie of volledige dossiervorming heeft plaatsgevonden (gesignaleerd
|
||||||
|
thema, zie §6-geschiedenis in §9). Losstaand van `screening_activity`, dat
|
||||||
|
over het beoordelingsproces gaat, niet over klinisch handelen.
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| occurred_at | tijdstip | ja |
|
||||||
|
| recorded_by | ref medewerker | ja |
|
||||||
|
| fact_type | waardelijst `crisis_fact_type` (medicatie_toegediend/risico_inschatting/vitale_functie/dwangmaatregel/overig) | ja |
|
||||||
|
| description | tekst | ja |
|
||||||
|
| structured_value | tekst/JSON | nee |
|
||||||
|
|
||||||
|
**Onderbouwing:** geen expliciet wetsartikel gevonden dat gestructureerde
|
||||||
|
vastlegging tíjdens de crisisinterventie zelf verplicht (juridisch onderzoek
|
||||||
|
19 juli 2026) — de algemene WGBO-dossierplicht ondersteunt dit wel in
|
||||||
|
algemene zin. Alle gestructureerde velden blijven daarom optioneel op
|
||||||
|
`description` na. `fact_type = dwangmaatregel` verwijst waar mogelijk naar de
|
||||||
|
formele Wvggz-dwangregistratie in plaats van die te dupliceren.
|
||||||
|
|
||||||
|
**Nudge, geen constraint:** een generieke termijn van 14 dagen na de
|
||||||
|
behandeling waarbinnen een cliënt zich alsnog moet identificeren is
|
||||||
|
gevonden (juridisch onderzoek 19 juli 2026, bron niet met artikelnummer
|
||||||
|
bevestigd). Dit wordt een signaal-nudge gekoppeld aan
|
||||||
|
`referral_request.person_identified_at IS NULL`, geen blokkerende regel en
|
||||||
|
geen attribuut op deze entiteit — de termijn hangt aan identificatie, niet
|
||||||
|
aan de crisisnotitie.
|
||||||
|
|
||||||
|
### 2.18 clinical_care_episode *(alleen ontstaan/einde — volledig episodemodel is een ander deelgebied)*
|
||||||
|
|
||||||
|
**Doel:** de geaccepteerde zorgperiode die ontstaat uit een positief
|
||||||
|
acceptatiebesluit óf een geldig wettelijk mandaat, ook vóór de feitelijke
|
||||||
|
start van de intake (feitenmodel §3.5, §4; mandaat-route: juridisch
|
||||||
|
onderzoek 19 juli 2026).
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| originating_decision_id | ref care_acceptance_decision | nee *(zie XOR-regel hieronder)* |
|
||||||
|
| originating_mandate_id | ref legal_mandate | nee *(zie XOR-regel hieronder)* |
|
||||||
|
| started_at | tijdstip | ja |
|
||||||
|
| ended_at | tijdstip | nee |
|
||||||
|
| end_reason | waardelijst `episode_end_reason` | verplicht zodra `ended_at` gevuld is |
|
||||||
|
| possible_continuation_of_episode_id | ref clinical_care_episode (zelfreferentie) | nee |
|
||||||
|
|
||||||
|
**Uniciteit:** `CHECK` dat precies één van `originating_decision_id` /
|
||||||
|
`originating_mandate_id` gevuld is — een episode ontstaat óf uit een
|
||||||
|
acceptatiebesluit óf uit een mandaat, nooit uit beide of geen van beide.
|
||||||
|
Maximaal één episode per geldig positief acceptatiebesluit of geldig
|
||||||
|
mandaat. Een episode wordt nooit verwijderd; intrekking of correctie sluit
|
||||||
|
haar af met een reden (`ingetrokken_door_client`, `acceptatiebesluit_herzien`,
|
||||||
|
…) in plaats van haar te laten vervallen. Overige einde-redenen (bijvoorbeeld
|
||||||
|
“behandeling afgerond”) horen bij een later deelgebied.
|
||||||
|
|
||||||
|
**`possible_continuation_of_episode_id` (voorstel, tussenoplossing — zie
|
||||||
|
§9):** systeem-gesuggereerd op basis van een gap ≤ 365 dagen tussen
|
||||||
|
`ended_at` van de vorige episode (zelfde `person_id`) en `started_at` van
|
||||||
|
deze episode; een mens bevestigt. **Expliciete disclaimer:** dit is een
|
||||||
|
zorginhoudelijke continuïteitsaanwijzing voor het behandelteam, **geen**
|
||||||
|
autoritatieve NZa-toets voor zorgtrajectnummer-hergebruik — die toets hangt
|
||||||
|
aan de datum van de laatst geleverde prestatie bij dezelfde zorgaanbieder
|
||||||
|
(niet aan de episode-einddatum) en hoort bij een nog niet bestaand
|
||||||
|
declaratie-/prestatieregistratie-deelgebied. Bewust niet "heraanmelding"
|
||||||
|
genoemd om verwarring met `professional_referral.heraanmelding` (een
|
||||||
|
ZPM-verwijstype-vlag, ander begrip) te voorkomen.
|
||||||
|
|
||||||
|
### 2.19 case_urgency_assessment *(voorstel, domeinreview 19 juli 2026 — zie §9)*
|
||||||
|
|
||||||
|
**Doel:** urgentie als herhaalbare beoordeling, geen vast veld. Vastgesteld
|
||||||
|
tijdens screening/triage door de rol screener of triagist, en kan later
|
||||||
|
worden aangepast door het intake-team of in een MDO. Consistent met het
|
||||||
|
tijdlijn-principe van dit document (§1): geen vervangt-relatie nodig zoals
|
||||||
|
bij `care_acceptance_decision` — de laatste beoordeling geldt, de inzet is
|
||||||
|
lager dan bij een acceptatiebesluit.
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| referral_case_id | ref referral_case | ja |
|
||||||
|
| assessed_at | tijdstip | ja |
|
||||||
|
| assessed_by | ref medewerker | ja |
|
||||||
|
| assessed_in_role | waardelijst `urgency_assessor_role` (screener/triagist/intake_team/mdo) | ja |
|
||||||
|
| urgency_level | waardelijst `urgency_level` | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — 0..n beoordelingen per case; de meest recente bepaalt
|
||||||
|
de actuele urgentie (zelfde afleidingspatroon als §5). Geen verplichte
|
||||||
|
onderbouwing bij de urgentiewaarde zelf (bevestigd door Colin — eenvoudige
|
||||||
|
waardelijst volstaat).
|
||||||
|
|
||||||
|
### 2.20 episode_team_involvement *(minimale, voorlopige hook — zie §9)*
|
||||||
|
|
||||||
|
**Doel:** vastleggen dat een team bij een episode betrokken is, ook wanneer
|
||||||
|
er nog geen individuele behandelaar is toegewezen (bijvoorbeeld: geaccepteerd
|
||||||
|
met vervolgroute intakewachtlijst, Route 2A). Dit is **niet** het volledige
|
||||||
|
zorgteam-concept — zorgteam (het team van betrokken behandelaren, met
|
||||||
|
regie-/hoofdbehandelaarschap en rollen, en later mogelijk cliëntautorisatie)
|
||||||
|
is een zelfstandig begrip, los van zorgprogramma en organisatorische eenheid,
|
||||||
|
en krijgt een eigen feitenronde (besluitenlog §10 punt 3; begrippenlijst
|
||||||
|
`Episode Clinical Team`). Deze entiteit is een minimale, voorlopige hook die
|
||||||
|
door die toekomstige ronde wordt vervangen of geabsorbeerd — geen rollen,
|
||||||
|
geen bevoegdheid, geen individueel lidmaatschap.
|
||||||
|
|
||||||
|
| Attribuut | Type | Verplicht |
|
||||||
|
|---|---|---|
|
||||||
|
| clinical_care_episode_id | ref clinical_care_episode | ja |
|
||||||
|
| team_reference | tekst *(voorlopig vrije tekst — geen Team-entiteit vóór de zorgteam-ronde)* | ja |
|
||||||
|
| involved_since | tijdstip | ja |
|
||||||
|
| recorded_by | ref medewerker | ja |
|
||||||
|
|
||||||
|
**Uniciteit:** geen — een episode kan door de tijd heen bij meerdere teams
|
||||||
|
betrokken zijn (bijvoorbeeld bij op-/afschalen); geen statusveld, zelfde
|
||||||
|
tijdlijn-principe.
|
||||||
|
|
||||||
|
## 3. Relaties met cardinaliteit
|
||||||
|
|
||||||
|
**Legenda:** `Van | Naar | A..B..C` — A is de multipliciteit van *Van* per
|
||||||
|
één rij *Naar* (meestal `1` bij een verplichte FK op *Naar*; is die FK
|
||||||
|
optioneel, dan wordt A zelf `0..1` en vervalt het derde token, dus `A..B`).
|
||||||
|
`B..C` is de multipliciteit van *Naar* per één rij *Van*, als min..max
|
||||||
|
(`n` = onbegrensd). Rijen met `(self)` beschrijven alleen het
|
||||||
|
zelfreferentie-FK-veld, geen relatie tussen twee tabellen (reviewronde 19
|
||||||
|
juli 2026, zie §9).
|
||||||
|
|
||||||
|
| Van | Naar | Cardinaliteit | Toelichting |
|
||||||
|
|---|---|---|---|
|
||||||
|
| referral_request | PERSOON | n..0..1 | optioneel — zie person_identified_at |
|
||||||
|
| referral_case | PERSOON | n..0..1 | optioneel — zie person_identified_at |
|
||||||
|
| referral_request | professional_referral | 1..0..n | correctie/aanvulling is een vervangend record, geen nieuw request |
|
||||||
|
| referral_submission | submission_document | 1..0..n | een submission kan zonder documenten bestaan |
|
||||||
|
| referral_submission | submission_request_link | 1..0..n | een submission kan nul, één of meerdere requests representeren/aanvullen |
|
||||||
|
| referral_request | submission_request_link | 1..1..n | elk request is via minstens één submission binnengekomen |
|
||||||
|
| referral_submission | submission_duplicate_assessment | 1..0..n | een submission kan als duplicaat van meerdere andere zijn beoordeeld (zeldzaam, toegestaan) |
|
||||||
|
| referral_case | submission_case_assignment | 1..1..n | een case wordt door minstens één submission gevoed |
|
||||||
|
| referral_submission | submission_case_assignment | 1..0..n | een submission kan (uitzonderlijk) aan meerdere cases zijn toegewezen |
|
||||||
|
| referral_case | request_case_link | 1..1..n | een case behandelt minstens één request |
|
||||||
|
| referral_request | request_case_link | 1..1..n(uitzondering) | normaliter 1 case, bij uitzondering meer (feitenmodel §4) |
|
||||||
|
| referral_case | case_consolidation | 1..0..n | een case kan leidend zijn over meerdere andere, of zelf niet-leidend zijn in precies één consolidatie (UNIQUE(related_case_id)) |
|
||||||
|
| referral_case | screening_activity | 1..0..n | direct aan de case, geen aparte groeperingsentiteit meer |
|
||||||
|
| referral_case | case_information_request | 1..0..n | |
|
||||||
|
| referral_submission | case_information_request | 0..1 | een submission kan een reactie zijn op hoogstens één informatieverzoek (beide kanten optioneel-enkelvoudig, vandaar geen derde token) |
|
||||||
|
| referral_case | care_acceptance_decision | 1..0..n | 0 zolang nog geen besluit; n bij heroverweging/correctie |
|
||||||
|
| care_acceptance_decision | care_acceptance_decision | 0..1 (self) | `replaces_decision_id`, optioneel en uniek indien gevuld — voorkomt vertakking; onbeperkte kettingdiepte (voorstel) |
|
||||||
|
| professional_referral | professional_referral | 0..1 (self) | `replaces_referral_id`, optioneel en uniek indien gevuld — voorkomt vertakking; onbeperkte kettingdiepte (voorstel) |
|
||||||
|
| referral_case | case_withdrawal | 1..0..n | doorgaans 0 of 1, technisch meerdere niet uitgesloten |
|
||||||
|
| referral_request | municipal_care_assignment | 1..0..n | naast, niet in plaats van `professional_referral` (voorstel) |
|
||||||
|
| municipal_care_assignment | municipal_care_assignment | 0..1 (self) | `replaces_assignment_id`, optioneel en uniek indien gevuld (voorstel) |
|
||||||
|
| referral_case | legal_mandate | 1..0..n | crisismaatregel kan overgaan in zorgmachtiging: nieuw mandaat, geen vervangt-relatie (voorstel) |
|
||||||
|
| referral_case | crisis_encounter_note | 1..0..n | werkt al zonder `person_id` (voorstel) |
|
||||||
|
| care_acceptance_decision | clinical_care_episode | 1..0..1 | XOR met `legal_mandate`; alleen bij uitkomst `geaccepteerd` |
|
||||||
|
| legal_mandate | clinical_care_episode | 1..0..1 | XOR met `care_acceptance_decision` (voorstel) |
|
||||||
|
| clinical_care_episode | clinical_care_episode | 0..1 (self) | `possible_continuation_of_episode_id`, optioneel, tussenoplossing (voorstel) |
|
||||||
|
| referral_case | case_urgency_assessment | 1..0..n | herhaalbaar, laatste geldt (voorstel) |
|
||||||
|
| clinical_care_episode | episode_team_involvement | 1..0..n | minimale hook, geen individueel lidmaatschap (voorstel) |
|
||||||
|
|
||||||
|
## 4. Waardelijsten (startlijsten, te bevestigen)
|
||||||
|
|
||||||
|
| Waardelijst | Voorlopige waarden |
|
||||||
|
|---|---|
|
||||||
|
| `initiator_type` | professional, organisatie, cliënt, vertegenwoordiger |
|
||||||
|
| `submission_channel` | ZorgDomein, e-mail, telefoon, portaal, post, overig |
|
||||||
|
| `document_type` | verwijsbrief, diagnostische aanvulling, beschikking, overig |
|
||||||
|
| `screening_activity_type` | telefonisch contact, dossieronderzoek, vragenlijst, overig |
|
||||||
|
| `decision_outcome` | geaccepteerd, afgewezen |
|
||||||
|
| `follow_up_route` | intake_direct, intakewachtlijst, spoedroute, doorverwijzen, case_afsluiten |
|
||||||
|
| `episode_end_reason` | ingetrokken_door_client, acceptatiebesluit_herzien, *(overige waarden: later deelgebied)* |
|
||||||
|
| `echelon` | over te nemen uit `model-aanmelding.md` §2.11 (bestaande waardelijst) |
|
||||||
|
| `zpm_verwijstype` | over te nemen uit `model-aanmelding.md` §2.10 (bestaande waardelijst, ZPM-verwijstypen 01–07) |
|
||||||
|
| `wettelijk_kader` | over te nemen uit `model-aanmelding.md` §2.10 (bestaande waardelijst: zvw, wmo, jeugdwet, *(wvggz toe te voegen)*) |
|
||||||
|
| `municipal_legal_framework` | wmo, jeugdwet *(voorstel)* |
|
||||||
|
| `municipal_product_category` / `municipal_product_unit` | over te nemen uit iWmo/iJw-standaard (voorstel, nog niet uitgezocht) |
|
||||||
|
| `mandate_type` | crisismaatregel, zorgmachtiging *(voorstel)* |
|
||||||
|
| `mandate_decider_role` | burgemeester, rechter *(voorstel)* |
|
||||||
|
| `crisis_fact_type` | medicatie_toegediend, risico_inschatting, vitale_functie, dwangmaatregel, overig *(voorstel)* |
|
||||||
|
| `urgency_assessor_role` | screener, triagist, intake_team, mdo *(voorstel)* |
|
||||||
|
| `urgency_level` | laag, normaal, hoog, spoed *(voorstel)* |
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
## 5. Waardelijst-vervanging: geen klassieke statusmachine
|
||||||
|
|
||||||
|
`referral_case` heeft bewust geen `status`-kolom met vaste overgangen. De
|
||||||
|
actuele stand wordt afgeleid door de gebeurtenissen in tijdsvolgorde te
|
||||||
|
lezen:
|
||||||
|
|
||||||
|
1. Is er een `case_withdrawal` zonder latere `care_acceptance_decision`? →
|
||||||
|
case is ingetrokken.
|
||||||
|
2. Is er een `care_acceptance_decision` die niet door een ander besluit is
|
||||||
|
vervangen (`replaces_decision_id` wijst niet naar dit besluit)? → dat is
|
||||||
|
het geldige besluit; de case is besloten met die uitkomst.
|
||||||
|
3. Is er een openstaand `case_information_request` zonder latere
|
||||||
|
`care_acceptance_decision` of `case_withdrawal`? → case wacht op
|
||||||
|
aanvullende informatie.
|
||||||
|
4. Geen van bovenstaande? → case is in beoordeling (screening loopt of moet
|
||||||
|
nog beginnen).
|
||||||
|
|
||||||
|
Dit is een leesregel voor de applicatielaag, geen opgeslagen veld — zo blijft
|
||||||
|
de volledige tijdlijn de bron (consistent met B7 wachtlijst).
|
||||||
|
|
||||||
|
**Implementatie-eis (UX-review 19 juli 2026, zie §9):** deze afleidingsregel
|
||||||
|
wordt precies één keer geïmplementeerd, in één centrale, herbruikbare
|
||||||
|
projectie (bijvoorbeeld een view of materialized read-model), niet los per
|
||||||
|
scherm. Werklijst, dashboard en detailpagina lezen allemaal diezelfde
|
||||||
|
projectie, nooit de losse events elk apart opnieuw. Zonder die eis ontstaat
|
||||||
|
het risico dat schermen subtiel verschillende interpretaties van "de actuele
|
||||||
|
stand" tonen — precies de drift die het tijdlijn-principe moest voorkomen.
|
||||||
|
|
||||||
|
## 6. Buiten scope van dit document
|
||||||
|
|
||||||
|
- Het volledige `clinical_care_episode`-model (programma-/organisatie-
|
||||||
|
betrokkenheid, zorgteam) — apart deelgebied, alleen ontstaan/einde hier.
|
||||||
|
- `clinical_intake_assessment` en het behandeladvies — vraag 2 uit het
|
||||||
|
feitenmodel is nog open onderzoek.
|
||||||
|
- PERSOON/CLIENT/VERWIJZER/PRAKTIJK_INSTELLING — al uitgewerkt in
|
||||||
|
`model-aanmelding.md` §2.1–§2.9; dit voorstel refereert ernaar zonder te
|
||||||
|
dupliceren.
|
||||||
|
- Waardelijst-governance (wie mag waarden toevoegen) — ADM-ronde.
|
||||||
|
- Declaratie-/prestatieregistratie-deelgebied — nodig voor de autoritatieve
|
||||||
|
NZa-365-dagentoets voor zorgtrajectnummer-hergebruik (zie
|
||||||
|
`possible_continuation_of_episode_id`, §2.18); dit voorstel modelleert
|
||||||
|
alleen een zorginhoudelijke benadering, geen declaratie-waarheid.
|
||||||
|
- Productcodes/volumes bij `municipal_care_assignment` — minimale variant nu
|
||||||
|
(§2.15), net als bij TOEWIJZING in `model-aanmelding.md` §2.13; verdere
|
||||||
|
detaillering in de declaratie-ronde.
|
||||||
|
- ~~Gestructureerde crisisdocumentatie vóór identificatie~~ — geadresseerd
|
||||||
|
met `crisis_encounter_note` (§2.17), gebaseerd op juridisch onderzoek 19
|
||||||
|
juli 2026 (zie §9).
|
||||||
|
|
||||||
|
## 7. Open punten voor Colin
|
||||||
|
|
||||||
|
**Beantwoord:**
|
||||||
|
|
||||||
|
- ~~`person_id` verplicht op referral_request/referral_case?~~ Nee, optioneel
|
||||||
|
— komt voor bij crisisaanmeldingen met nog onbekende identiteit. Geen
|
||||||
|
placeholder-persoon; de koppeling wordt een eigen gedateerd feit
|
||||||
|
(`person_identified_at`/`_by`) zodra de identiteit vaststaat (domeinreview
|
||||||
|
19 juli 2026).
|
||||||
|
- ~~Kan een request meerdere professional referrals hebben?~~ Ja — een
|
||||||
|
correctie of aanvulling is een wijziging, geen nieuwe verwijzing. Dezelfde
|
||||||
|
vervangt-constructie als bij `care_acceptance_decision`
|
||||||
|
(`replaces_referral_id` + verplichte reden); de oude verwijzing blijft
|
||||||
|
bewaard (domeinreview 19 juli 2026).
|
||||||
|
|
||||||
|
**Voorstel op basis van precedent (ter evaluatie — nog niet door jou
|
||||||
|
bevestigd):**
|
||||||
|
|
||||||
|
- **Bevoegdheid bij case_consolidation.** Geen speciale
|
||||||
|
`decision_authority` vereist, zoals bij `submission_case_assignment` en
|
||||||
|
`submission_duplicate_assessment` — een administratieve correctie, geen
|
||||||
|
inhoudelijk zorgbesluit. Verwerkt in §2.9.
|
||||||
|
- **Diepte van de vervangt-keten.** Onbeperkt, geen aparte constraint — de
|
||||||
|
afleidingsregel in §5 werkt voor elke lengte en een harde grens zou een
|
||||||
|
legitieme correctie-op-een-correctie zonder aantoonbare reden blokkeren.
|
||||||
|
Verwerkt in §2.12, §2.14, §3.
|
||||||
|
- **`submission_link_type` vervalt.** Representeert/vult_aan is geen
|
||||||
|
zelfstandig feit met eigen regels, puur chronologisch afleidbaar uit
|
||||||
|
`established_at` (nu verplicht). Verwerkt in §2.4, §4.
|
||||||
|
- **`request_case_link.reason`:** bevestigd zoals al voorgesteld — verplicht
|
||||||
|
alleen bij de uitzondering (meer dan één case per request), optioneel bij
|
||||||
|
de normale, enkelvoudige koppeling. Consistent met `submission_case_assignment`,
|
||||||
|
waar de reden ook alleen bij de eerste/bijzondere toewijzing werd genoemd.
|
||||||
|
|
||||||
|
**Nog echt open:**
|
||||||
|
|
||||||
|
1. **Startwaarden van de waardelijsten in §4** — met name `submission_channel`,
|
||||||
|
`document_type` en `screening_activity_type` zijn nu overgenomen uit de
|
||||||
|
voorbeeldfeiten, niet uit een volledige inventarisatie.
|
||||||
|
2. **Volledig zorgteam-model.** `episode_team_involvement` (§2.20) is bewust
|
||||||
|
een minimale hook, geen individueel lidmaatschap, geen rollen, geen
|
||||||
|
regie-/hoofdbehandelaarschap, geen bevoegdheid, geen toekomstige
|
||||||
|
cliëntautorisatie. Het volledige zorgteam-concept — los van zorgprogramma
|
||||||
|
en organisatorische eenheid, die op hun beurt gekoppeld kunnen worden
|
||||||
|
(een organisatorische eenheid kan één of meer zorgprogramma's verzorgen)
|
||||||
|
— krijgt een eigen feitenronde (besluitenlog §10 punt 3; begrippenlijst
|
||||||
|
`Episode Clinical Team`/`Episode Team Assignment`/`Episode Team Role`/
|
||||||
|
`Lead Clinician Role`/`Decision Authority`). Deze hook wordt daardoor
|
||||||
|
vervangen of geabsorbeerd, niet doorontwikkeld binnen dit document.
|
||||||
|
3. **Juridische aannames in §2.15–§2.17 die een jurist moet bevestigen**
|
||||||
|
(uit het onderzoek van 19 juli 2026, zie §9): geen apart institutioneel
|
||||||
|
acceptatiebesluit náást een Wvggz-mandaat (ook niet bij zorgmachtiging);
|
||||||
|
de 24-uurstermijn voor tenuitvoerlegging als nudge, niet als constraint;
|
||||||
|
de 14-dagentermijn voor identificatie als signaal-nudge; en of de
|
||||||
|
Jeugdwet-verwijsroute specifiek voor jeugd-ggz hetzelfde "naast elkaar,
|
||||||
|
geen vervanging"-patroon volgt als voor jeugdhulp in het algemeen. Deze
|
||||||
|
aannames blokkeren de modellering niet, maar moeten vóór productie
|
||||||
|
geverifieerd worden.
|
||||||
|
|
||||||
|
## 8. Bronverwijzingen
|
||||||
|
|
||||||
|
| Onderdeel | Bron |
|
||||||
|
|---|---|
|
||||||
|
| Alle feitzinnen, besloten regels en scenario's | `../feitenmodellen/feitenmodel-instroom.md` |
|
||||||
|
| Screening=acceptatie, capaciteitsroutes, episodevorming | `../sessielogs/sessielog-2026-07-19.md` §5–§9 |
|
||||||
|
| Tijdlijn i.p.v. statusmachine-principe | `../sessielogs/sessielog-2026-07-18.md` §5 (B7 wachtlijst), discovery §5.1 #5 |
|
||||||
|
| PERSOON/CLIENT/VERWIJZER/PRAKTIJK_INSTELLING (hergebruikt, niet gedupliceerd) | `model-aanmelding.md` §2.1–§2.9 |
|
||||||
|
| Engelstalig technisch model | besluit B20, `../besluiten/besluitenlog-datamodel-2026-07-18.md` §9 |
|
||||||
|
|
||||||
|
## 9. Reviewronde 19 juli 2026
|
||||||
|
|
||||||
|
Twee onafhankelijke reviews (technisch datamodel-perspectief, GGZ-domein-
|
||||||
|
perspectief) op de eerste versie van dit document leverden 9 bevindingen op.
|
||||||
|
Direct verwerkt in dit document, zonder verdere domeinvraag omdat het
|
||||||
|
technische correcties of het herstellen van een omissie betrof:
|
||||||
|
|
||||||
|
1. **Vervangt-keten kon vertakken.** `replaces_decision_id`/
|
||||||
|
`replaces_referral_id` zijn nu uniek indien gevuld — anders zou §5's
|
||||||
|
afleidingsregel geen eenduidig geldig besluit meer opleveren. Verwerkt in
|
||||||
|
§2.12, §2.14, §3.
|
||||||
|
2. **Timestamp-precisie ondermijnde de tijdlijn-aanpak.** Event-velden die
|
||||||
|
ten onrechte op `datum` (dagprecisie) stonden zijn naar `tijdstip`
|
||||||
|
gebracht, consistent met `referral_submission.received_at` — anders zijn
|
||||||
|
gebeurtenissen op dezelfde kalenderdag niet eenduidig te ordenen. Verwerkt
|
||||||
|
op alle event-attributen behalve `professional_referral.referral_date`
|
||||||
|
(een extern documentdatum, geen systeemgebeurtenis) en
|
||||||
|
`request_case_link.since`.
|
||||||
|
3. **ZPM-verplichte velden ontbraken.** `professional_referral.heraanmelding`
|
||||||
|
en `referral_case.zpm_verwijstype`/`huisarts_geinformeerd_op` stonden al
|
||||||
|
in het oudere `model-aanmelding.md` (AANMELDING/VERWIJZING) en zijn bij
|
||||||
|
het opnieuw opbouwen van dit deelgebied per abuis niet meegenomen — dit is
|
||||||
|
hersteld, geen nieuwe ontwerpvraag. AGB-code en correspondentietoestemming
|
||||||
|
bleken al gedekt via bestaande entiteiten (VERWIJZER, TOESTEMMING) en
|
||||||
|
kregen alleen een verduidelijkende notitie.
|
||||||
|
|
||||||
|
Vervolgens is een tweede reviewronde uitgevoerd door drie onafhankelijke
|
||||||
|
expert-agents: een datamodel-expert op de resterende technische punten, een
|
||||||
|
GGZ-domein-expert op de domeinvragen, en een UX-expert op bruikbaarheid voor
|
||||||
|
de uiteindelijke gebruikersinterface.
|
||||||
|
|
||||||
|
**Technische punten (datamodel-expert) — direct verwerkt, mechanische
|
||||||
|
correcties zonder domeinvraag:**
|
||||||
|
|
||||||
|
- de lege, inconsistent gecardinaliseerde `screening`-entiteit is vervallen;
|
||||||
|
`screening_activity` hangt nu direct aan `referral_case` (§2.10);
|
||||||
|
- naamgeving gecorrigeerd: `signal_case_assignment` → `submission_case_
|
||||||
|
assignment`, `access_case_consolidation` → `case_consolidation`,
|
||||||
|
`decision_authority_id`/`program_context` kregen Engelse ref-namen
|
||||||
|
conform B20 (§2.6, §2.7, §2.9, §2.12);
|
||||||
|
- cardinaliteitsfout `referral_submission → case_information_request`
|
||||||
|
gecorrigeerd naar `0..1`; notatie-legenda toegevoegd aan §3;
|
||||||
|
- unique constraint + check toegevoegd op `case_consolidation` (§2.9).
|
||||||
|
|
||||||
|
**UX-punt (UX-expert) — direct verwerkt, implementatie-eis zonder
|
||||||
|
domeinvraag:**
|
||||||
|
|
||||||
|
- de afleidingsregel in §5 moet als één centrale projectie/read-model
|
||||||
|
geïmplementeerd worden, niet los per scherm — toegevoegd als expliciete
|
||||||
|
eis in §5.
|
||||||
|
|
||||||
|
**Derde ronde — GGZ-wetgeving-expert (juridisch onderzoek) gevolgd door
|
||||||
|
datamodel-expert (schema-integratie), verwerkt in dit document:**
|
||||||
|
|
||||||
|
Een jurist-georiënteerd onderzoek naar Wvggz, Wmo/Jeugdwet, ZPM-regels en
|
||||||
|
WGBO onderbouwde de vijf GGZ-scope-vragen uit de tweede ronde. De datamodel-
|
||||||
|
expert vertaalde de bevindingen naar concreet schema. Verwerkt:
|
||||||
|
|
||||||
|
- **Aanmelddatum.** Bevestigd als leesregel (geen nieuw veld): de vroegste
|
||||||
|
`referral_submission.received_at` die via `submission_request_link` aan het
|
||||||
|
request hangt, is het regelgevend juiste aanmelddatum-moment voor de
|
||||||
|
275-dagentoets. Redelijk zekere juridische basis (NZa-veldafspraken; exact
|
||||||
|
artikelnummer niet geverifieerd).
|
||||||
|
- **Wmo/Jeugdwet.** `municipal_care_assignment` toegevoegd (§2.15) —
|
||||||
|
bestaat náást, niet in plaats van `professional_referral` (Jeugdwet kent
|
||||||
|
een zelfstandige professionele verwijsroute; Wmo niet). `referral_case.
|
||||||
|
wettelijk_kader` hersteld (§2.6). *Juridisch minder zeker: of dit patroon
|
||||||
|
specifiek voor jeugd-ggz identiek is aan jeugdhulp in het algemeen — zie §7
|
||||||
|
punt 3.*
|
||||||
|
- **Wvggz.** `legal_mandate` toegevoegd (§2.16) — geen vervangt-relatie met
|
||||||
|
`care_acceptance_decision`, want geen institutionele discretie bij een
|
||||||
|
crisismaatregel (bindend burgemeesterlijk besluit). `clinical_care_episode`
|
||||||
|
aangepast: `originating_decision_id` optioneel, nieuw `originating_
|
||||||
|
mandate_id`, met een XOR-regel — een episode ontstaat óf uit een
|
||||||
|
acceptatiebesluit óf uit een mandaat (§2.18). *Juridisch minder zeker: of
|
||||||
|
dit ook voor de zorgmachtiging-route (rechter/officier van justitie) klopt
|
||||||
|
— zie §7 punt 3.*
|
||||||
|
- **Heraanmelding/zorgtrajectnummer.** Herzien ten opzichte van het eerdere
|
||||||
|
voorstel: de NZa-365-dagenregel hangt aan de datum van de laatst geleverde
|
||||||
|
prestatie bij dezelfde aanbieder, niet aan de episode-einddatum, en is een
|
||||||
|
ander begrip dan `professional_referral.heraanmelding`. Omdat
|
||||||
|
prestatieregistratie nog geen deelgebied is, is `possible_continuation_
|
||||||
|
of_episode_id` toegevoegd (§2.18) als zorginhoudelijke
|
||||||
|
continuïteitsaanwijzing (episode-einddatum als benadering), expliciet
|
||||||
|
gemarkeerd als **geen** autoritatieve declaratietoets.
|
||||||
|
- **Crisisdocumentatie vóór identificatie.** `crisis_encounter_note`
|
||||||
|
toegevoegd (§2.17), alle gestructureerde velden optioneel — geen expliciet
|
||||||
|
wetsartikel gevonden dat gestructureerde vastlegging tíjdens de
|
||||||
|
interventie verplicht, wel de algemene WGBO-dossierplicht. De gevonden
|
||||||
|
14-dagen-identificatietermijn is een signaal-nudge, geen constraint.
|
||||||
|
|
||||||
|
Daarna is het eigenaarschap/urgentie-punt met Colin doorgesproken
|
||||||
|
(domeinreview 19 juli 2026), met een scherpere uitkomst dan het
|
||||||
|
UX-voorstel:
|
||||||
|
|
||||||
|
- **Urgentie** is geen vast veld maar een herhaalbare beoordeling —
|
||||||
|
vastgesteld tijdens screening/triage door de rol screener/triagist, later
|
||||||
|
aan te passen door het intake-team of in een MDO. `case_urgency_assessment`
|
||||||
|
toegevoegd (§2.19): herhaalbaar, laatste geldt, geen vervangt-relatie nodig
|
||||||
|
(lagere inzet dan een acceptatiebesluit), geen verplichte onderbouwing
|
||||||
|
(bevestigd: eenvoudige waardelijst volstaat).
|
||||||
|
- **Eigenaarschap** bleek eigenlijk een onderdeel van een groter, apart
|
||||||
|
begrip: **zorgteam** — het team van betrokken behandelaren (soms 1 persoon,
|
||||||
|
soms multidisciplinair, kan een organisatorische eenheid overstijgen), met
|
||||||
|
regie-/hoofdbehandelaarschap en later mogelijk cliëntautorisatie. Dat is
|
||||||
|
zelfstandig ten opzichte van zorgprogramma (inhoudelijk aanbod) en
|
||||||
|
organisatorische eenheid (die aan elkaar gekoppeld kunnen worden — een OE
|
||||||
|
kan één of meer zorgprogramma's verzorgen), en hoort bij een cliënt/case
|
||||||
|
kunnen staan zonder dat er al een individuele behandelaar is toegewezen
|
||||||
|
(bijvoorbeeld: geaccepteerd, intakewachtlijst — Route 2A). Op uitdrukkelijk
|
||||||
|
verzoek van Colin blijft dit nu beperkt tot een minimale, voorlopige hook
|
||||||
|
— `episode_team_involvement` (§2.20), geen rollen, geen bevoegdheid, geen
|
||||||
|
individueel lidmaatschap. Het volledige zorgteam-model krijgt een eigen
|
||||||
|
feitenronde (zie §7 punt 2).
|
||||||
|
|
||||||
|
**Nog open:**
|
||||||
|
|
||||||
|
- De juridische aannames uit de derde ronde (§7 punt 3) zijn in het schema
|
||||||
|
verwerkt maar nog niet door een jurist bevestigd.
|
||||||
|
- Het volledige zorgteam-model (§7 punt 2).
|
||||||
@@ -150,11 +150,21 @@ als zorgverzoek R-101.*
|
|||||||
spoed of crisis kan zorg al worden geleverd voordat de verwijzing is
|
spoed of crisis kan zorg al worden geleverd voordat de verwijzing is
|
||||||
ontvangen.
|
ontvangen.
|
||||||
|
|
||||||
|
**Beantwoord in domeinreview (19 juli 2026):**
|
||||||
|
|
||||||
|
- Een request kan zonder bekende persoon bestaan. Dit komt voor bij
|
||||||
|
crisisaanmeldingen waarbij de identiteit nog niet vaststaat. Een
|
||||||
|
placeholder- of "John Doe"-persoon die later moet worden om-gehangen is
|
||||||
|
bewust geen oplossing — dat vereist het achteraf verplaatsen van alle
|
||||||
|
gekoppelde feiten naar de echte persoon, wat tegen append-only ingaat. In
|
||||||
|
plaats daarvan is `person_id` optioneel en wordt de koppeling vastgelegd
|
||||||
|
als een eigen, gedateerd en toegeschreven feit zodra de identiteit bekend
|
||||||
|
wordt.
|
||||||
|
|
||||||
**Te toetsen:**
|
**Te toetsen:**
|
||||||
|
|
||||||
- Is “dezelfde geuite zorgvraag” een expliciete relatie tussen verzoeken, of
|
- Is “dezelfde geuite zorgvraag” een expliciete relatie tussen verzoeken, of
|
||||||
wordt samenhang uitsluitend binnen de Referral Case beoordeeld?
|
wordt samenhang uitsluitend binnen de Referral Case beoordeeld?
|
||||||
- Is een verzoek zonder bekende persoon tijdelijk toegestaan?
|
|
||||||
|
|
||||||
### 3.2 Afzonderlijke binnenkomst
|
### 3.2 Afzonderlijke binnenkomst
|
||||||
|
|
||||||
@@ -489,7 +499,11 @@ cardinaliteiten.
|
|||||||
### Referral Request
|
### Referral Request
|
||||||
|
|
||||||
- Elk request heeft één stabiele identiteit.
|
- Elk request heeft één stabiele identiteit.
|
||||||
- Elk request betreft op enig moment precies één persoon of cliënt.
|
- Een request kan zonder bekende persoon bestaan (crisisaanmelding met nog
|
||||||
|
onbekende identiteit). Zodra de persoon bekend is, betreft het request
|
||||||
|
precies één persoon of cliënt; de koppeling zelf is een gedateerd,
|
||||||
|
toegeschreven feit, geen stille invulling van een placeholder (domeinreview
|
||||||
|
19 juli 2026).
|
||||||
- Elk request heeft minstens één initiator.
|
- Elk request heeft minstens één initiator.
|
||||||
- Elk request bevat één of meer samenhangende geuite zorgvragen.
|
- Elk request bevat één of meer samenhangende geuite zorgvragen.
|
||||||
- Zorgvragen die afzonderlijk moeten worden beoordeeld horen in afzonderlijke
|
- Zorgvragen die afzonderlijk moeten worden beoordeeld horen in afzonderlijke
|
||||||
|
|||||||
Reference in New Issue
Block a user