Wat is de Proof of Concept?
Inleiding:
Om de inzichten die we in het project Uit betrouwbare bron opdoen te toetsen voeren we parallel aan het opdoen van die inzichten een proof of concept uit die gebaseerd is op een praktijksituatie. Deze proof of concept wordt gedaan op een zeer beperkte selectie van casussen uit het WOZ-domein. De doelstelling van deze proof of concept is het aantonen dat de concepten die door Uit betrouwbare bron zijn beschreven in de praktijk werkbaar zijn.
Domein-Scope
Het volledige WOZ-domein herontwerpen is een project (programma) op zich en is vele malen te omvangrijk voor de doelstelling van de proof of concept van Uit betrouwbare bron. Voor de proof of concept wordt een deel van het registratieproces van een WOZ-object als scope genomen. De processen met betrekking tot taxatie en waardevaststelling worden buiten beschouwing gelaten. Het informatiemodel dat is opgesteld is dan ook beperkt tot die objecten die relevant zijn voor het registratieproces. Daarnaast is voor het leggen van relaties naar persoons- en organisatie-registraties de structuur die in het kader van klantinteracties is ontwikkeld overgenomen. Deze wijze van registreren van partijen wordt onderdeel van de proof of concept.
In het informatiemodel is de scope beschreven van de gegevens die we in deze proof of concept gaan vastleggen. Deze scope zal gedurende de “Proof of Concept” nog kunnen wijzigen. We documenteren eventuele wijzgingen op de scope en we documenteren wijzigingen in het informatiemodel ten opzichte van het IMWOZ.
Aangezien deze proof of concept met name de register-aspecten betreft worden de casussen beschreven vanuit de optiek van het vastleggen van binnengekomen gegevens. Gegevens logistiek tussen partijen is geen onderdeel van de proof of concept.
Wat is er beproefd
Op basis van de inzichten die we hebben opgedaan is een prototype van een Atomic Claim Engine (ACE) gebouwd. Dit prototype is in staat om atomaire claims te registreren en verwijzingen tussen atomaire claims te bewaken. Er kan middels een Graphql-interface gecommuniceerd worden met de ACE. De structuur van de domein data wordt middels een GQL-bestand aangeboden aan de engine en op basis van deze structuur genereerd de ACE de Graphs waarmee gecommuniceerd kan worden tussen ACE en de domein-software.
Termen in relatie tot Atomaire Claims
De atomaire claims die geregistreerd kunnen worden worden gedefinieerd met claimtypes. Een claimtype bestaat uit:
- een claimtype-naam,
- een claim-expressie (Taaluiting over een feittype).
- één of meerdere claim-rollen (variabele onderdelen van een expressie zoals onderwerp, eigenschap, waarde).
- tekst die de semantiek van de claim-rollen en/of de semantiek van de relatie tussen die rollen beschrijft.
- unicity (welke rollen maken het claimtype uniek identificeerbaar)
Claimrollen worden uitgedrukt in Labeltypen. Met deze labeltypen kunnen datatypen gedefinieerd worden.
Zie register_woz/basis/structure_state.gql in de POC-Python repository voor voorbeelden van labeltype-definities en claimtype-definities.
Welke concepten zijn er beproefd
- Het ontvangen van een notificatie en transformeren naar een (intern) verwerkbaar commando.
- Het registreren van transformaties (op item-niveau) tijdens het maken van het commando.
- Het registreren (en inzichtelijk maken) van lineage (in de vorm van contaxt-annotaties) op claim-niveau.
- Het registreren van gevolgen (of effecten) als gevolg van het uitvoeren van een commando
- Het registreren van atomaire claims naar aanleiding van een gevolg (of effect).
- Het registreren van annotaties op claims. (Een claim waarbij minimaal 1 van de rollen een Claimid is en dus naar een claim of andere annotatie verwijst)
- Het vastleggen van de registratietijdlijn (“RegisteredAt” als eigenschap van een claim/annotatie en “Expired” als annotatie)
- Het vastleggen van een geldigheidstijdlijn (Als annotaties)
- Het gegroepeerd representeren van de atoimaire claims als objecten
- Het vastleggen van claims in een transactie en een rollback van de lopende transactie als er iets misgaat
De volgende gevolgen zijn beproefd:
- Objecten zijn vastgelegd.
- Objectn zijn gewijzigd.
- Relaties tussen objecten zijn vastgelegd.
- De registratie van een object is vervallen.
- Een vervallen object hebben we laten herleven (als gevolg van een correctie)
- De geldigheid van een object is beëindigd.