Binnengemeentelijk beschikbaar stellen basis- en kerngegevens

Category:GEMMA Patronen
Vanuit diverse processen is er tijdens de uitvoering van de processen behoefte aan gegevens uit basis- en kernregistraties. Deze gegevens kunnen door de processen worden opgehaald bij de bron op het moment dat de gegevens binnen een proces nodig zijn maar er kan ook voor gekozen worden om kopieën van de gegevens bij te houden binnen de administratie van de component die het proces automatiseert. De kopiegegevens worden in dat geval actueel en synchroon gehouden met de bron door een distributiemechanisme zie ook Integratiestijlen en functies.. We spreken hierbij over zogenaamde ‘push’ en ‘pull’ mechanismes. 
Pullmechanisme – Bij een pullmechanisme haalt een afnemer de gegevens die nodig zijn bij de uitvoering van een proces op bij de bron. De afnemer houdt zelf geen kopieën van deze gegevens bij. De implementatie van een pullmechanisme heeft de voorkeur boven een pushmechanisme aangezien bij een pullmechanisme gegevens niet onnodig door het systeemlandschap gedistribueerd worden. 
Een pullmechanisme wordt vaak in combinatie met de Inwinnen en routeren van notificaties integratiestijl gebruikt. Gebeurtenissen worden dan door bronnen via notificaties aan afnemers kenbaar gemaakt en de afnemers halen op basis van deze gebeurtenissen de bij de gebeurtenis behorende gegevens op. 
Pushmechanisme - Bij een pushmechanisme worden kopieën van gegevens in een administratie actueel gehouden via een distributiemechanisme en bij een pullmechanisme worden gegevens uit de bron gelezen op het moment dat ze nodig zijn. De keuze voor implementatie van een pull- of een push-mechanisme is mede afhankelijk van de beschikbaarheid van bronnen. Op het moment dat de serviceniveaus van bronnen niet aansluiten bij de gewenste serviceniveaus vanuit processen wordt veelal een push-mechanisme gebruikt. De reden hiervoor is dat bij gebruik van een push-mechanisme de afnemer altijd beschikt over near-realtime gegevens en bevraging van de bron daardoor onnodig is. Dit systeem wordt ook wel datareplicatie genoemd. Bij datareplicatie worden gegevens van een bronsysteem door andere informatiesystemen opgeslagen binnen hun eigen opslag en near real-time bijgehouden. 
In dit patroon wordt beschreven op welke manier basis- en kerngegevens via een pushmechanisme beschikbaar kunnen worden worden gesteld gebruik makend van de GEMMA referentiecomponenten.
=== Beschrijving GEMMA patroon ===
In dit patroon zijn een aantal keuzes gemaakt ten aanzien van de wijze waarop gegevens beschikbaar worden gesteld aan afnemers en de manier waarop afnemers gerede twijfel aan de juistheid van gegevens kunnen melden. 
* Basisgegevens - De keuze is gemaakt om voor het binnengemeentelijk beschikbaar stellen van basisgegevens gebruik te maken van een pushmechanisme via de berichtuitwisseling integratiestijl. Er wordt ten aanzien van de gegevens uit basisregistraties dus gekozen voor datareplicatie. De reden voor deze keuze is het feit dat niet alle basisregistraties op een efficiënte en effectieve wijze bevraagbaar zijn via een pull-mechanisme en niet de serviceniveaus bieden die door gemeenten gewenst zijn. De keuze voor datareplicatie betekent dat basisregistraties mutaties van basisgegevens doorgeven aan gemeenten en gemeenten de verdere distributie van deze mutaties regelen via een gegevensdistributie-component; 
* Kernregistratiegegevens - De keuze is gemaakt om voor het binnengemeentelijk beschikbaar stellen van gegevens uit kernregistraties, zoals de kernregistratie medewerkers, via een pull-mechanisme te verlopen. De reden voor deze keuze is dat de gemeente zelf in-control is van serviceniveaus die geboden worden door kernregistraties. Het intern afstemmen van deze serviceniveaus op de door processen gewenste serviceniveaus is daardoor mogelijk en replicatie van de kerngegevens binnen taakspecifieke componenten is hiermee overbodig. De kerngegevens kunnen immers door processen direct uit de bron betrokken worden. Dit doet recht aan de principes van eenmalige vastlegging en meervoudig gebruik; 
* Terugmelding van gerede twijfel aan de juistheid van gegevens wordt door taakspecifieke componenten gemeld via de terugmeldingenregistratiecomponent. Deze component biedt functionaliteit om terugmeldingen van gerede twijfel te ontvangen en te routeren naar hetzij een basis- hetzij een kernregistratie.
Onderstaande figuur geeft schematisch de binnengemeentelijke levering en gebruik van gegevens uit basis- en kernregistraties weer. 
===Aandachtspunten ===
De keuze voor datareplicatie bij basisgegevens via een gegevensmagazijncomponent is ingegeven door het feit dat er geen alternatieven zijn. Redenen hiervoor zijn de door basisregistraties geboden serviceniveaus en restricties op de afname van gegevens door afnemers bij basisregistraties. Datareplicatie is in de visie van VNG Realisatie een tijdelijke oplossing. Zodra de basisregistraties geschikt zijn voor directe bevraging kan worden overgestapt op een pull-mechanisme.
=== Standaarden ===
Ten aanzien van de distributie van basisgegevens dient binnengemeentelijk gebruik gemaakt te worden van StUF-BG berichten. Aanlevering van mutaties door basisregistraties verloopt via diverse (StUF) berichtsoorten. De BRP levert mutaties via StUF-BG, de NHR levert StUF-HR, de BRK levert BRK-Leveringen en de BAG levert StUF-BAG.