← Maandoverzicht

KWS OK-controle

Actueel integratiecontract 1.2: fysieke zaalidentiteit, bronhiërarchie en vergelijking

Alleen-lezen API · versie 1

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.

VeldBetekenis
schema / formataz-turnhout.kws-capacity / 1
revision, source, timezoneUnieke publicatie, KWS OKa · AZ Turnhout, Europe/Brussels
period, recordedAtInclusieve start/einddatum; opnamedatum null als onbekend
publishedAt, validatedAtISO-tijdstippen publicatie en expliciete validatie
completenessexpected, observed, missing, ratio: alle kalenderdagen in de periode, beide dagdelen en alle zalen binnen scope. Weekends zijn meegeteld.
slotsUniek date + campus + room + half (0 VM, 1 NM). Room is gestandaardiseerd. Ontbrekende waarnemingen worden not_checked met null-score.
statusopen, closed, partial, urgent_only, uncertain, not_checked
reviewrecognized (uit chatanalyse), confirmed (handmatig), uncertain, not_checked
confidence0–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.
intervalsExact 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.

Import uit de chat

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.

Openbare KWS Sup.-namen

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é.

Gedateerde momentopname

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.

Controle en versies

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.

Vergelijkende koppelingen

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.