Initiële registratie van partijen

Casusbeschrijving

In deze casus worden er een aantal personen geregistreerd als partij. In deze beschrijving wordt geschetst hoe deze casus uitgevoerd is zodat dit herhaalbaar is voor iedereen die de poc-python repository beschikbaar heeft en een werkende python omgeving heeft.

Het uitvoeren van deze casus is ook onderdeel van de test_woz (alle casussen die in combinatie worden uitgevoerd). Zie Uitleg uitvoeren WOZ-cases

Vul_partijen

Om deze casus uit te voeren wordt als eerste de test vul_partijen uitgevoerd met “make vul_partijen”. (Zie de toelichring hoe deze moet worden uitgevoerd).

Nadat de command voor het vullen van partijen is uitgevoerd zijn alle claims en annotaties voor deze partijen geregistreerd. Zie de Contentbeschrijving voor meer informatie over de content van deze casus. Voor details over specifieke personen, raadpleeg de secties zoals Persoon 1, Persoon 2, enzovoort.

In deze beschrijvingen worden alleen de claim-rollen en de daarbij behorende waarden beschreven. De claimtype expressies zijn te vinden in de beschrijvingen van Objecttype Partij en Objecttype PartijIdentificator

Tranacties

Iedere partij en bijbehorende partij-identificatoren wordt in één transactie geregistreerd. Dat betekent dat per partij en bijbehorende partij-identificatoren alle bijbehorende claims en annotaties dezelfde waarde kennen voor het registratiemoment (registeredAt). Als er een error optreedt dan worden alle claims die in de lopende transactie zijn geregistreerd in een rollback weer verwijderd.

Notificatie

De verwerking van een notificatie tot commando’s, effecten (verwerkingsstappen? , gevolgen?) en claims is uitgewerkt in onderstaand overzicht. Dit bericht betreft een informatierijke notificatie.

Notificatieverwerking

Van notificatiebericht naar commando

Van het binnenkomende notificatiebericht moet worden vastgesteld dat het een valide notificatiebericht zou kunnen zijn en geen onderdeel is van een DDOS-aanval of input bevat die onmogelijk verwerkbaar zou kunnen zijn.

Als het bericht ontvangen is vinden de volgende bewerkingstappen plaats.

Notificatieverwerker ontvangt notificatiebericht voert de volgende stappen uit:

Noot: De Notificatieverwerker is niet geïmplementeerd in het prototype. Het omzetten van XML naar Json is niet nieuw en er is voor gekozen om deze stap over te slaan. De werkende casus begint dus vanaf het commando.

Command

    command_str = """
        {
            "command": {
                "commandId": "dea6cfc7-8c21-4ca3-9611-9e0fe46771f3",
                "commandType": "registreer_partijen"
            },
            "data": [
                {
                "partij": 
                    {
                        "geldigVanaf": "2024-11-29T11:05:00.000+00:00",
                        "partijId": "39d50c05-311d-45cc-a931-ed03c5ffae93",
                        "nummer": 440001,
                        "voornaamContactnaam": "Alfred Jodocus", 
                        "achternaamContactnaam": "Kwak",
                        "soortPartij": "Persoon", 
                        "partijIdentificator": [
                            {
                                "id": "003e953a-dfc4-411b-a94e-55a7739c67df",
                                "identificator": {
                                    "objectType": "Natuurljk persoon",
                                    "soortObjectId": "identificatie",
                                    "objectId": "456787655",
                                    "register": "Basisregistratie Kadaster"
                                }
                            },
                            {
                                "id": "ff460b2d-5089-46ab-8828-1420ab437b42",
                                "identificator": {
                                    "objectType": "Geregistreerd Persoon",
                                    "soortObjectId": "burgerservicenummer",
                                    "objectId": "000000038",
                                    "register": "Basisregistratie Kadaster"
                                }
                            }
                        ]
                    }
                },
                {
                "partij":
                  {
                    "geldigVanaf": "2024-09-29T11:05:00.000+00:00",
                    "partijId": "a56b1754-f6f5-4e0c-a820-a1c0abea42ec",
                    "nummer": 346564832,
                    "voornaamContactnaam": "Dagobert", 
                    "achternaamContactnaam": "Duck",
                    "soortPartij": "Persoon"
                  }
                },
                {
                "partij":
                  {
                    "geldigVanaf": "2024-04-29T11:05:00.000+00:00",
                    "partijId": "00e976f3-310e-455d-8d23-dd08774e2c15",
                    "nummer": 346564833,
                    "voornaamContactnaam": "Howard",
                    "voorvoegselsContactnaam": "the", 
                    "achternaamContactnaam": "Duck",
                    "soortPartij": "Persoon"
                  }
                },
                {
                "partij": 
                    {
                        "geldigVanaf": "2024-04-29T11:05:00.000+00:00",
                        "partijId": "4bec755e-d9de-43fd-8c6b-cca75fd1a41d",
                        "nummer": 346564817,
                        "achternaamContactnaam": "DisqgCotivao",
                        "voornaamContactnaam": "Joraraduy",
                        "voorlettersContactnaam": "J.",
                        "voorvoegselsContactnaam": "de",
                        "nummeraanduidingBezoekadres": "",
                        "adresregel1Bezoekadres": "Merellaan 14",
                        "adresregel2Bezoekadres": "3135KN Vlaardingen",
                        "indicatieGeheimhouding": "wel",
                        "soortPartij": "Persoon",
                        "partijIdentificator": [
                            {
                                "id": "84e0db97-6c4f-44d1-9373-635c8df40180",
                                "identificator": {
                                    "objectType": "Natuurljk persoon",
                                    "soortObjectId": "identificatie",
                                    "objectId": "9896266146",
                                    "register": "Basisregistratie Kadaster"
                                }
                            },
                            {
                                "id": "11f71197-b27c-4a7c-bf4a-7edaffb1e5b6",
                                "identificator": {
                                    "objectType": "Geregistreerd Persoon",
                                    "soortObjectId": "burgerservicenummer",
                                    "objectId": "000000012",
                                    "register": "Basisregistratie Kadaster"
                                }
                            }
                        ]
                    }
                },
                {
                "partij": 
                    {
                        "geldigVanaf": "2024-07-08T15:14:00.000+00:00",
                        "partijId": "de7511e3-e624-4639-a578-ddce9e2835ad",
                        "nummer": 167245414,
                        "achternaamContactnaam": "Cotineosuradi",
                        "voornaamContactnaam": "Jodoinfama",
                        "voorlettersContactnaam": "J.",
                        "voorvoegselsContactnaam": "de",
                        "nummeraanduidingBezoekadres": "0353200010075342",
                        "landBezoekadres": "Nederland",
                        "nummeraanduidingCorrespondentieadres": "",
                        "adresregel1Correspondentieadres": "Overtoom 1 GA",
                        "adresregel2Correspondentieadres": "3401BK IJsselstein",
                        "adresregel3Correspondentieadres": "Provincie Utrecht",
                        "landCorrespondentieadres": "Nederland",
                        "indicatieGeheimhouding": "wel",
                        "soortPartij": "Persoon",
                        "interneNotitie": "Blijkbaar woont deze persoon in een sporthal en onvangt zijn correspondentie via het adres van het gemeentehuis.",
                        "partijIdentificator": [
                            {
                                "id": "e8f7f9c2-75b9-41ff-a9f9-0d90d26bfe68",
                                "identificator": {
                                    "objectType": "Natuurljk persoon",
                                    "soortObjectId": "identificatie",
                                    "objectId": "9896266147",
                                    "register": "Basisregistratie Kadaster"
                                }
                            },
                            {
                                "id": "21f147a7-bf98-4822-91eb-37c2d0d88486",
                                "identificator": {
                                    "objectType": "Geregistreerd Persoon",
                                    "soortObjectId": "burgerservicenummer",
                                    "objectId": "000000013",
                                    "register": "Basisregistratie Kadaster"
                                }
                            }
                        ]
                    }
                }
            ]
        }
    """

Lineage

Het weergeven van de lineage kan gedaan worden door het commandId op te geven van het commando waarvan de lineage gewenst is en vervolgens “make lineage” uit te voeren.

Hiermee worden alle commands, gevolgen en claims in beeld gebracht die als gevolg van het uitvoeren van een command zijn geregistreerd. (Zie de Readme van de poc-python repository hoe deze moet worden uitgevoerd).

Bij de lineage zijn er drie typen weergave beschikbaar:

Op basis van deze weergaven hebben we het besluit Claimtype expressies worden in “state” uitgedrukt genomen.

De lineage geeft de context weer tussen command, gevolgen en claims per objecttype. Om de lineage te kunnen weergeven is ieder claim (ook annotaties) voorzien van een context-annotatie die verwijst naar het commando of het gevolg dat geleid heeft tot het vastleggen van deze claim. De context wordt in dit overzicht gerepresenteerd door de lijnen tussen de blokjes. Alle individuele context_annotaties van een gegroepeerd object zijn dus geconsolideerd in 1 verbindings-lijn.

Lineage-roles

In deze weergave worden alleen de claimroles met hun waarden getoond. (Klik op de afbeelding voor grotere weergave op mermaid.live. Daar wordt ook de mogelijkheid geboden om full-screen weer te geven en in te zoomen. )

Lineage-state

In deze weergave worden de volledige claim-expressies in de “state”- variant getoond. (Klik op de afbeelding voor grotere weergave op mermaid.live. Daar wordt ook de mogelijkheid geboden om full-screen weer te geven en in te zoomen. )

Lineage-event

In deze weergave worden de volledige claim-expressies in de “event”- variant getoond. (Klik op de afbeelding voor grotere weergave op mermaid.live. Daar wordt ook de mogelijkheid geboden om full-screen weer te geven en in te zoomen. )

Objectweergave

Het laatste inzicht dat geboden wordt naar aanleiding van deze casus is een weergave waarbij de claims zijn gegroepeerd op object-niveau content_claims. Daarbij worden ook alle annotaties die zijn geregistreerd getoond. Ook voor deze weergave geldt dat het image ter illustratie is en dat via de link een weergave op mermaid.live getoond kan worden waarbij ingezoomd kan worden. Zie de Readme van de poc-python repository hoe deze moet worden uitgevoerd. De output (content_claims) is vastgelegd in de poc-python/register_woz/content folder.

Contentbeschrijving

In deze beschrijvingen worden alleen de claim-rollen en de daarbij behorende waarden beschreven. De claimtype expressies zijn te vinden in de beschrijvingen van Objecttype Partij en Objecttype PartijIdentificator

Persoon-1

Objecttype - AttribuutWaardeObjecttype - AttribuutWaardeObjecttype - AttribuutWaarde
PartijPartijidentificatorPartijidentificator
- partijId39d50c05-311d-45cc-a931-ed03c5ffae93- id003e953a-dfc4-411b-a94e-55a7739c67df- idff460b2d-5089-46ab-8828-1420ab437b42
- nummer440001- identificeerdePartij39d50c05-311d-45cc-a931-ed03c5ffae93- identificeerdePartij39d50c05-311d-45cc-a931-ed03c5ffae93
- voorlettersContactnaamA.J.- objectId000000038- objectId456787655
- voornaamContactnaamAlfred Jodocus- objectTypeGeregistreerd Persoon- objectTypeGeregistreerd Persoon
- achternaamContactnaamKwak- soortObjectIdburgerservicenummer- soortObjectIdidentificatie
- soortPartijPersoon- registerBasisregistratie Kadaster- registerBasisregistratie Kadaster

Persoon-2

Objecttype - AttribuutWaarde
Partij
- partijIda56b1754-f6f5-4e0c-a820-a1c0abea42ec
- nummer346564832
- voornaamContactnaamDagobert
- achternaamContactnaamDuck
- soortPartijPersoon

Persoon-3

Objecttype - AttribuutWaarde
Partij
- partijId00e976f3-310e-455d-8d23-dd08774e2c15
- nummer346564833
- voornaamContactnaamHoward
- voorvoegselsContactnaamthe
- achternaamContactnaamDuck
- soortPartijPersoon

Persoon-4

Objecttype - AttribuutWaardeObjecttype - AttribuutWaardeObjecttype - AttribuutWaarde
PartijPartijdidentificatorPartijdidentificator
- partijId4bec755e-d9de-43fd-8c6b-cca75fd1a41d- id84e0db97-6c4f-44d1-9373-635c8df40180- id11f71197-b27c-4a7c-bf4a-7edaffb1e5b6
- nummer346564817- identificeerdePartij4bec755e-d9de-43fd-8c6b-cca75fd1a41d- identificeerdePartij4bec755e-d9de-43fd-8c6b-cca75fd1a41d
- achternaamContactnaamDisqgCotivao- objectId000000012- objectId9896266146
- voornaamContactnaamJoraraduy- objectTypeGeregistreerd Persoon- objectTypeNatuurljk persoon
- voorlettersContactnaamJ.- soortObjectIdburgerservicenummer- soortObjectIdidentificatie
- voorvoegselsContactnaamde- registerBasisregistratie Kadaster- registerBasisregistratie Kadaster
- nummeraanduidingBezoekadres0622200000022350
- adresregel1BezoekadresMerellaan 14
- adresregel2Bezoekadres3135KN Vlaardingen
- indicatieGeheimhoudingtrue
- soortPartijPersoon

Persoon-5

Objecttype - AttribuutWaardeObjecttype - AttribuutWaardeObjecttype - AttribuutWaarde
PartijPartijdidentificatorPartijdidentificator
- partijIdde7511e3-e624-4639-a578-ddce9e2835ad- id21f147a7-bf98-4822-91eb-37c2d0d88486- ide8f7f9c2-75b9-41ff-a9f9-0d90d26bfe68
- nummer167245414- identificeerdePartij4bec755e-d9de-43fd-8c6b-cca75fd1a41d- identificeerdePartij4bec755e-d9de-43fd-8c6b-cca75fd1a41d
- achternaamContactnaamCotineosuradi- objectId000000013- objectId9896266147
- voornaamContactnaamJodoinfama- objectTypeGeregistreerd Persoon- objectTypeNatuurljk persoon
- voorlettersContactnaamJ.- soortObjectIdburgerservicenummer- soortObjectIdidentificatie
- voorvoegselsContactnaamde- registerBasisregistratie Kadaster- registerBasisregistratie Kadaster
- nummeraanduidingBezoekadres0353200010075342
- adresregel1BezoekadresZomerdijk 42c
- adresregel2Bezoekadres3402MJ IJsselstein
- adresregel3BezoekadresProvincie Utrecht
- landBezoekadresNederland
- nummeraanduidingCorrespondentieadres0353200010075342
- adresregel1CorrespondentieadresOvertoom 1 GA
- adresregel2Correspondentieadres3401BK IJsselstein
- adresregel3CorrespondentieadresProvincie Utrecht
- landCorrespondentieadresNederland
- indicatieGeheimhoudingtrue
- soortPartijPersoon
- interneNotitieBlijkbaar woont deze persoon in een sporthal en onvangt zijn correspondentie via het adres van het gemeentehuis.

Objectweergave van partij-objecten

Onderstaand zijn de claims die n.a.v. de test vul_partijen zijn vastgelegd gegroepeerd weergegeven. Tevens is er een relatie weergegeven tussen het partij-object en de daarbijbehorende partijidentificator-objecten. (Klik op de afbeelding voor grotere weergave op mermaid.live. Daar wordt ook de mogelijkheid geboden om full-screen weer te geven en in te zoomen. )