Gevolgenjournaal
Betekenis en doel
Het gevolgenjournaal is een volledige en onveranderlijke vastlegging van alle gevolgen die binnen een register werden geproduceerd, in de volgorde waarin die gevolgen ontstonden. De naam is ontleend aan het scheepsjournaal, waarin door nauwkeurige waarnemers volledig, chronologisch, zonder weglating én zonder oordeel wordt genoteerd wat is waargenomen.
Gevolgen zijn temporeel atomair: ze gebeuren op een moment, maar hebben geen duur. Geboortes, verhuizingen of huwelijken markeren geen toestand, maar beschrijven de verandering die van de ene toestand leidt naar de volgende. Gevolgen zijn daarmee een voorbeeld van wat transitional modeling of overgangsmodellering wordt genoemd.
Vraagstuk: gevolgen feitelijk of administratief formuleren?
Gevolgen kunnen we op twee manieren formuleren:
- Feitelijk, beschouwd vanuit de werkelijkheid waarop dat handelen betrekking heeft - ongeacht de wijze waarop het administratief is verwerkt of vastgelegd. Bijvoorbeeld
"persoon p1 geboren".- Administratief, beschouwd vanuit de administratieve context waarbinnen dat handelen heeft plaatsgevonden - dat wil zeggen: de registratie, vastlegging of formalisering van een feitelijk gevolg binnen een specifiek overheidsproces. Bijvoorbeeld:
"geboorte persoon p1 geregistreerd".Welke van de twee we kiezen heeft effect op de aandachtsgebieden geldigheid en zekerheid. Zie de toelichting onder de corresponderende koppen.
Terugmelden
Terugmelden gebeurt door afnemers op een projectie die onderdeel is van de leveringenstaat, en dus níet op een gevolg in het gevolgenjournaal.
Onderzoeken
Onderzoek(en) naar aanleiding van een terugmelding gebeuren buiten het register. Zo'n onderzoek zelf leidt dus niet tot nieuwe gevolgen in het gevolgenjournaal. Wel kan uit onderzoek blijken dat bij vermoedelijk onjuiste gevolgen binnen het register indicaties van verminderde zekerheid over de juistheid moeten worden aangebracht.
Corrigeren
Het gevolgenjournaal is append only: gevolgen worden alleen toegevoegd, nooit overschreven of verwijderd. Correctie betekent dus altijd het toevoegen van een nieuw gevolg dat een eerder gevolg ongedaan maakt of herziet.
Bij voorkeur gebeurt dat in de taal van de bounded context; een gevolg als "emigratie p1 herroepen" maakt de bedoeling direct duidelijk. Deze aanpak heeft echter een praktische beperking: het is niet goed mogelijk om vooraf alle situaties te voorzien waarin correctie nodig kan zijn. Bovendien vereist ieder domeinspecifiek correctiegevolg dat de bijbehorende bedrijfsregels worden bepaald en geconfigureerd, wat bij een laag correctievolume onevenredig veel ontwerplast met zich meebrengt.
Daarom kan het soms nodig zijn generieke correctiegevolgen te introduceren die domeingevolgen 'passeren' en direct inwerken op de begrippen uit de leveringenstand, zoals bijvoorbeeld "verblijfsadres p1 gecorrigeerd". Belangrijk is dat zulke correcties altijd in het gevolgenjournaal worden opgenomen en transactioneel worden afgehandeld, zodat het journaal consistent blijft.
In het uitzonderlijke geval dat niet meer te reconstrueren is hoe een bepaalde toestand is ontstaan, maar wel bekend is hoe die eruit zou moeten zien, kan het nodig zijn op basis daarvan een nieuwe historie op te bouwen. Dit soort ingrijpende correcties moet zoveel mogelijk beperkt blijven omdat daarop nauwelijks (al dan niet geautomatiseerde) integriteitscontrole mogelijk is en op basis daarvan moeilijk geleverd kan worden.
Verwerkingsverantwoording
Op basis van het onderscheid tussen proces en resultaat willen we het register niet de wereld van procesuitvoering in trekken. Maar we willen afnemers wel in staat stellen door het register geleverde gegevens op onder andere betekenis, kwaliteit en juistheid te beoordelen. Verwerkingsverantwoording is daardoor binnen het gevolgenjournaal een belangrijk aandachtsgebied.
Aanleiding
De aanleiding beschrijft wat de productie van een gevolg in gang heeft gezet. In veel gevallen is dat een eerder in de keten geproduceerd gevolg. Of meer precies: een levering, afkomstig uit een voorliggende bounded context, die als signaal is ontvangen en binnen de 'eigen' bounded context aanleiding gaf tot handelen. Als zo'n voorliggend gevolg ontbreekt, is de aanleiding gelegen buiten de overheidscontext, bijvoorbeeld in een handeling of melding van een burger of bedrijf.
Vragen bij het vastleggen van aanleiding in het gevolgenjournaal
- Wat slaan we op? Tenminste een verwijzing naar het voorliggende gevolg of de externe aanleiding, inclusief de partij die verantwoordelijk was voor productie van die aanleiding. Omdat hierbij grenzen tussen bounded contexten worden overgestoken, moeten contextoverstijgende afspraken worden gemaakt over vorm, inhoud en uitwisseling van deze verwijzing.
- Wat doen we met bijlagen? Aanleidingen kunnen gepaard gaan met ondersteunende documenten, zoals een aanvraagformulier of een bijgevoegd bewijs. Deze bijlagen zijn niet altijd op een volledig gevolg van toepassing. Een te complexe koppelstructuur tussen bijlagen en gegevens is moeilijk te begrijpen en te onderhouden. De vraag is of zulke complexiteit altijd noodzakelijk is, of dat een eenvoudiger benadering (aparte documentopslag waarnaar voor aanleiding verwezen kan worden) volstaat.
Legitimering
Voor ieder gevolg wordt een zo gedetailleerd mogelijke verwijzing naar het wettelijk of beleidskader dat diende als grondslag voor de productie daarvan vastgelegd.
Verklaring
Voor ieder gevolg wordt vastgelegd hoe het legitimerende kader in de betreffende situatie is toegepast. Deze verklaring omvat ten minste:
- een verwijzing naar de gevolgde procedures of - bij geautomatiseerde verwerking - de versie van het gebruikte algoritme;
- de ambtenaar of organisatieafdeling die verantwoordelijk was voor de productie van het gevolg, en
- indien van toepassing: de motivatie waarom op basis van discretionaire bevoegdheid van een norm is afgeweken.
Registratiecontext
Voor ieder gevolg wordt het moment van vastlegging in het gevolgenjournaal vastgelegd.
Geldigheid
Als we kijken naar temporele concepten die bij gegevensopslag een rol spelen, kunnen we in het gevolg een specifieke vorm van een event herkennen. Zo'n event wordt beschreven als een ogenblikkelijk feit, ofwel iets dat in één moment plaatsvindt.
Dit temporeel atomaire karakter maakt dat het gevolg geen (geldigheids)duur heeft. In plaats daarvan kent het één door het domein bepaald moment, dat samenvalt met het moment waarop het gevolg in de echte wereld een verandering tot stand bracht. Dit moment noemen we "gebeurd op".
In veel gevallen (maar niet alle, zie toelichting hieronder) kan van het gebeurd op-moment bij een gevolg een geldig vanaf-moment in een projectie worden afgeleid. Ervan uitgaande dat we het moment van geboorte beschouwen als startpunt voor een geldige inschrijving, kan bijvoorbeeld van het gevolg persoon p1 geboren | gebeurd op 18-07-1985 de volgende projectie worden afgeleid:
| persoon | geldig vanaf |
|---|---|
| p1 | 18-07-1985 |
Impact van feitelijk of administratief formuleren op aandachtsgebied geldigheid
- Bij feitelijke formulering is het 'gebeurd op'-moment een logisch startpunt voor geldigheidsperiode(s) in leveringen, terwijl
- bij administratieve forumlering weliswaar sprake blijft van een domeindatum, maar het 'gebeurd op'-moment meer neigt naar het karakter van een 'geregistreerd op'-moment.
Zekerheid
Of bij een gevolg twijfel over de feitelijke juistheid mogelijk of zinvol is, hangt af van de wijze waarop het gevolg is geformuleerd (zie toelichting hieronder). Voor zover dit wel mogelijk en zinvol is, maakt het register het mogelijk een zekerheidsindicatie vast te leggen, en biedt het gebruikers de mogelijkheid om hierop te reageren: door een regel situationeel te overrulen, door de verwerkingsengine onzekerheid te laten signaleren, of door bedrijfsregels expliciet te laten omgaan met onzekerheid.
Impact van feitelijk of administratief formuleren op aandachtsgebied zekerheid
- Bij feitelijke formulering beschrijft het gevolg iets wat buiten de context van het register is gebeurd. Deze gebeurtenis kan feitelijk waar, maar ook feitelijk onwaar blijken te zijn. Als we gevolgen feitelijk modelleren, lijkt het dus nodig om aan de juistheid van een gevolg te kunnen twijfelen door daaraan zekerheidskenmerken te verbinden, terwijl
- bij administratieve formulering het gevolg gaat over iets dat door registratie van gevolg zelf feitelijk waar wordt - de geboorteregistratie ontstaat immers door registratie van het bijbehorende gevolg. In dit geval ontstaat de feitelijke juistheid door registratie van het gevolg zelf, en lijkt het niet zinvol om aan de juistheid van een gevolg te kunnen twijfelen.
Onttrekking
Iedere onttrekking begint in een gevolg, tenzij de fout uitsluitend zat in de wijze waarop leveringen uit het gevolgenjournaal werden afgeleid (zie leveringenstaat).
Los van de mate waarin een onttrekkingsgevolg aansluit bij de taal van de bounded context (zie corrigeren) beschrijft zo'n gevolg altijd de onttrekkingscontext. Die maakt achteraf reconstrueerbaar waarom en wanneer een gevolg niet langer beschikbaar is en omvat tenminste:
- een verwijzing naar het onjuiste, te onttrekken gevolg;
- het tijdstip waarop tot onttrekking is besloten ('gebeurd op');
- de reden voor de onttrekking, en
- een verwijzing naar het onderzoeksdossier waarin meer informatie over de aanleiding voor onttrekking terug te vinden is.
Als een onttrekking betrekking heeft op identiteitdragende kenmerken van een gevolg of levering, wordt het volledige gevolg of de volledige levering onttrokken. Bij niet-identiteitshoudende kenmerken kan onttrekking beperkt blijven tot die kenmerken, mits de implementatie dit technisch toelaat.