Wijzigen van Belangen

Casusbeschrijving

In deze casus worden er enkele attribuutwaarden van een Belang gewijzigd.

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 Belang

Dit is een stand-alone casus die geen onderdeel uitmaakt van de casus test_woz (alle casussen die in combinatie worden uitgevoerd). Zie Uitleg uitvoeren WOZ-cases

In deze casus worden er waarden van attributen van Belangen van personen bij WozObjecten gewijzigd. In deze beschrijving schetsen hoe deze casus uitgevoerd is zodat dit herhaalbaar is voor iedereen die de poc-python repository beschikbaar heeft en een werkende python omgeving heeft.

Wijzig_belangen

Om deze casus uit te voeren wordt de test wijzig_belangen uitgevoerd. (Zie de Readme van de poc-python repository hoe deze moet worden uitgevoerd).

Pre-conditie: Werkende development environment, een actieve docker-deamon en een opgestarte server (make dev).

Nadat deze test is uitgevoerd zijn er relevante Partijen, WozObjecten en Belangen geregistreerd waarop vervolgens de gewenste wijzigingen zijn doorgevoerd.Deze wijzigingen zijn vastgelegd door voor de per gewijzigd onderdeel de geldigheid van de bestaande claim voor dat onderdeel de beëindigen en een nieuwe claim met hetzelfde moment als Aanvang van de geldigheid te registreren. Zie de Contentbeschrijving voor meer informatie over de content van deze casus. Hiein worden de details beschreven van de inhoud van de betreffende Belangen zowel vóór als na de wijziging. Voor details over specifieke belangen, raadpleeg de secties zoals Belang 1 en Belang 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 Belang

Command

Het command waarmee in deze casus de wijziging wordt aangeboden is als volgt opgesteld:

command_str = """
    {
        "command": {
            "commandId": "fc463d6c-23ef-47e4-98f3-e49bdf90cb00",
            "commandType": "wijzig_belangen"
        },
        "data": [
        {
        "bestaand_belang": {
            "wozObjectnummer": "e8d5375b-0a30-46b4-ab62-ac6b8ca10bf6",
            "aandeel": "30",
            "partijId": "39d50c05-311d-45cc-a931-ed03c5ffae93"   
            }
        },
        {
        "wijziging_belang": {
            "wozObjectnummer": "e8d5375b-0a30-46b4-ab62-ac6b8ca10bf6",
                "aandeel": "60",
                "soortBelang" : "gebruiker",
                "aardZakelijkRecht": "605",
                "partijId": "39d50c05-311d-45cc-a931-ed03c5ffae93",
                "geldigVanaf": "2025-05-06T11:10:00.000+00:00"   
            }
        },
        {
            "bestaand_belang": {
                "wozObjectnummer": "e8d5375b-0a30-46b4-ab62-ac6b8ca10bf6",
                "aandeel": "70",
                "partijId": "4bec755e-d9de-43fd-8c6b-cca75fd1a41d"   
            }
        },
        {
            "wijziging_belang": {
                "wozObjectnummer": "e8d5375b-0a30-46b4-ab62-ac6b8ca10bf6",
                "aandeel": "40",
                "partijId": "4bec755e-d9de-43fd-8c6b-cca75fd1a41d",
                "geldigVanaf": "2025-05-06T11:10:00.000+00:00"   
            }
        }   
        ]
    }

Noot: Over welke eisen er aan dergelijke commando’s worden gesteld dienen domein-experts in samenwerking met software-engineers keuzes te maken. In dit voorbeeld is ervoor gekozen om de te wijzigen belangen op te zoeken aan de hand van de combinatie wozObjectnummer en PartijId. Het is bijvoorbeel ook heel bespreekbaar om het belangId van het te wijzigen belang op te nemen in het commando. Dat reduceert de complexiteit in de software en bij het aanbrengen van een wijziging mag worden verondersteld dat de client-software eerst het betreffende Belang zal ophalen (en dus het belangId beschikbaar heeft.

Lineage

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

Pre-condities: Het command-id van het command “registreer-belangen” (4efbdb78-4cba-4119-99e0-ea3e19f79b6f) moet opgenomen zijn bij de command-ids in regel 33 van lineage.py en de test vul_partijen moet succesvol uitgevoerd zijn.

Bij de lineage zijn er drie typen weergave beschikbaar:

De lineage geeft de context weer tussen command, gevolgen en claims per objecttype. Het is niet mogelijk een leesbare image te presenteren dus het is mogelijk om via de link een weergave op mermaid.live te krijgen. Hier kan overgeschakeld worden naar een full-screen view en er kan ingezoomd worden.

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 grergistreerd 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. Voordat het aanmaken van de content_claims wordt gedraaid dient eerst in regel 58 opgegeven te worden van welk(e) objecttype(n) de weergave gewenst is. 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 Belang

Belang-1

Objecttype - AttribuutWaarde
Belang
- belangId5be82348-2ad0-4cbe-9846-943f7036f82a
- wozObjectnummerd6b33e05-a6ea-43d7-b9d0-7380c74e3c39
- partijId39d50c05-311d-45cc-a931-ed03c5ffae93
- aandeel50
- soortBelangeigenaar
- aardZakelijkRecht606

Belang-2

Objecttype - AttribuutWaarde
Belang
- belangId392b238f-7570-4b33-849d-87e1c9e40e85
- wozObjectnummerd6b33e05-a6ea-43d7-b9d0-7380c74e3c39
- partijIda56b1754-f6f5-4e0c-a820-a1c0abea42ec
- aandeel50
- soortBelangeigenaar
- aardZakelijkRecht606

Lineage van command, gevolgen, claims en annotaties

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 contaxt_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 van Belang-objecten

Voor de wijziging

Onderstaand zijn de Belang-claims gegroepeerd weergegeven zoals die zijn vastgelegd voordat de wijziginge heeft plaatsgevonden. (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. )

Na de wijziging

Let daarbij op dat de wijziging die plaatsgevonden hebben geleid hebben tot het toevoegen van een “validUntil” annotaie op de claims waarvan nieuwe waarden zijn aangeboden. Op basis van die nieuw aangeboden waarden zijn nieuwe claims toegevoegd.