Actueel integratiecontract 1.2: fysieke zaalidentiteit, bronhiërarchie en vergelijking
GET /api/v1/capacity geeft de nieuwste expliciet gevalideerde publicatie. GET /api/v1/revisions geeft de publicatiehistoriek. Gebruik /api/v1/capacity?revision=UUID voor een eerdere, onveranderlijke versie. CORS staat lezen vanuit andere websites toe. Schrijven op deze endpoints is niet toegestaan.
Zonder publicatie: validationStatus: "unpublished", slots: []. Dit betekent geen gegevens; nooit alle zalen gesloten. Publicaties overlappen mogelijk: een revisie beschrijft alleen haar eigen periode, en de nieuwste revisie vervangt niet stilzwijgend gegevens buiten die periode.
| Veld | Betekenis |
|---|---|
| schema / format | az-turnhout.kws-capacity / 1 |
| revision, source, timezone | Unieke publicatie, KWS OKa · AZ Turnhout, Europe/Brussels |
| period, recordedAt | Inclusieve start/einddatum; opnamedatum null als onbekend |
| publishedAt, validatedAt | ISO-tijdstippen publicatie en expliciete validatie |
| completeness | expected, observed, missing, ratio: alle kalenderdagen in de periode, beide dagdelen en alle zalen binnen scope. Weekends zijn meegeteld. |
| slots | Uniek date + campus + room + half (0 VM, 1 NM). Room is gestandaardiseerd. Ontbrekende waarnemingen worden not_checked met null-score. |
| status | open, closed, partial, urgent_only, uncertain, not_checked |
| review | recognized (uit chatanalyse), confirmed (handmatig), uncertain, not_checked |
| confidence | 0–1: leesbaarheidsinschatting van het bronbeeld, of null bij niet gecontroleerd. Een lage score kan samengaan met handmatige bevestiging via review=confirmed. Geen statistisch confidence interval. |
| intervals | Exact waargenomen start/end, department en kind (elective/urgent). Afwijkende tijden blijven behouden. |
Broncodes, beelden, opnamenamen, vrije redenen en beheerschermen worden niet gepubliceerd. Dienstcodes zijn beperkt tot W-codes; onbekende codes blijven zichtbaar. WORT = orthopedie, WNCH = neurochirurgie, WHLK = heelkunde, WRHK = plastische en reconstructieve heelkunde, WKAL = pediatrische gastroscopie.
Upload eerst de bronbeelden in privébeheer. Verwijs in evidence naar de beeldnummers in die opname. Plak daarna een JSON-object met deze structuur. Onderstaand voorbeeld is uitsluitend synthetische documentatie, geen waarneming uit KWS.
{
"schema": "az-turnhout.kws-chat-import",
"format": 1,
"period": {"start": "2026-11-02", "end": "2026-11-02"},
"recordedAt": null,
"numbering": "legacy",
"slots": [{
"date": "2026-11-02", "campus": "SJ", "sourceRoom": "Z8", "half": 0,
"department": "WORT", "status": "partial", "confidence": 0.85,
"reason": "Activiteit start pas om 09:00.", "evidence": [0],
"basis": "activity", "rowComplete": true,
"intervals": [{"start": "09:00", "end": "12:00", "department": "WORT", "kind": "elective"}]
}]
}numbering: legacy = oude SJ8 → Z00, oude SJ9 → Z8, oude SJ10 → Z9. current = huidige Z00 en Z8 behouden, huidige Z9 inbegrepen (oude SJ10). SE7 is uitgesloten. Controleer eerst welke indeling werkelijk zichtbaar is. De scope omvat SJ Z00, Z1–Z9 en SE Z1–Z6.
basis: activity, hatched, empty_complete_row, explicit_closed, manual_confirmation, unreadable, not_seen of urgent. Gesloten mag bij hatched, empty_complete_row met rowComplete=true, of explicit_closed met zichtbare sluitingstekst als reden (bijvoorbeeld een blauwe balk “Gesloten wegens feestdag”). Een kalenderdatum op zichzelf bewijst geen sluiting. manual_confirmation wordt gebruikt bij expliciete manuele bevestiging van een onleesbaar of achtergebleven blok; de waarneming moet handmatig bevestigd zijn voor publicatie. Geel en grijs betekenen activiteit; oranje urgentie telt niet als gewone capaciteit. Een ontbrekend beeld is not_checked met null-score en null-dienst. Een onleesbaar beeld is uncertain met een reden. Bewaar intervallen binnen het betreffende dagdeel; splits een hele dag in VM en NM. Referentiegrens is 12:00, VM vanaf 08:00 en NM tot 16:30; afwijkende grenzen moeten expliciet blijven.
Optioneel importveld sourceClinicians: [{name, start, end}]. Dit bewaart de letterlijke KWS-vermelding “Sup.” met de brontijden, ook op gearceerde blokken. De vermelding bewijst op zichzelf niet wie opereert. Met toestemming van de beheerder worden deze namen gepubliceerd in sourceClinicians en in de details van het openbare rooster. Dit is een optioneel, aanvullend veld; oudere revisies bevatten het niet. Een naam op een gesloten blok betekent geen actieve capaciteit. Bronbeelden en vrije opmerkingen blijven privé.
Een herpublicatie behoudt de oorspronkelijke opnamedatum. Een nieuwe opname vereist een nieuwe upload. KWS-waarnemingen worden nooit vervangen door gewenste planning of een afgevinkte correctietaak. De planners controleren of een werkelijk nieuwere opname de uitvoering bevestigt.
Alle onzekerheden en scores onder 80% vereisen handmatige broncontrole. Onopgeloste onzekerheid blijft review=uncertain en confirmedAt=null, ook na handmatige broncontrole. Steekproef: eerste, middelste en laatste waargenomen datum (of alle bij minder dan drie), telkens beide campussen. Een ontbrekende campus blokkeert publicatie totdat de broncontrole mogelijk is. Ontbrekende dagen worden niet als gevalideerd beschouwd. Correcties wissen steekproefbevestigingen. De beheerder moet daarna expliciet valideren en publiceren.
Elke publicatie krijgt een nieuwe UUID en bewaart eerdere publicaties. Chatimport bewaart het vorige privéconcept. De site doet geen AI-API-aanroepen; beeldanalyse vindt in de chat plaats.
Een alleen-lezen vergelijking met de openbare OK-planner is beschikbaar via /vergelijking en /api/v1/comparison?week=YYYY-MM-DD. De volledige supervisorcontrole gebeurt in de privéwerkplanner: Dubbelcheck OK-planner → Gecombineerde controle / TO-DO’s. KWS haalt geen privétoewijzingen op; de oude beveiligde route geeft 410 met een verwijzing. Openbare supervisorcontrole blijft onbekend. Een consument moet format, revisie, periode, volledigheid, status en validatie controleren. Vergelijk exact datum/campus/zaal/dagdeel en behoud gedeeltelijke tijden. Alleen urgentie is geen electieve capaciteit. Onzeker of niet gecontroleerd mag een TO-DO nooit oplossen. Wijzig nooit automatisch roosters, verlof, zaalindelingen of validaties.
Technische tests bewijzen geen herkenningsnauwkeurigheid. Die moet met echte opnamen en handmatige vergelijking worden vastgesteld.