De status van dit document is voorlopig en zou nog kunnen wijzigen.

Overdracht eigendom en/of beperkt recht

Casusbeschrijving

Deze casus betreft het afhandelen van een StUF-bericht dat door het kadaster aangeboden wordt aan de gemeente. Het betreft in dit geval de Overdracht (eigendom en/of beperkt recht) van een Kadastraal Object. Om deze afhandeling voor deze casus behapbaar te houden zijn er enkele uitgangspunten gehanteerd :

StUF-bericht

Het binnenkomende StUF-bericht ziet er als volgt uit :

  <Mutatie:aardStukdeel>
    <Typen:code>606</Typen:code>
    <Typen:waarde>Overdracht (eigendom en/of beperkt recht)</Typen:waarde>
  </Mutatie:aardStukdeel>
  <Mutatie:brkDatum>2024-10-30</Mutatie:brkDatum>
  <Mutatie:volgnummerKadastraalObjectDatum>1</Mutatie:volgnummerKadastraalObjectDatum>
  <Mutatie:ingeschrevenStuk>
    <Mutatie:AanduidingTerInschrijvingAangebodenStuk>
      <Mutatie:stuk>
        <Stuk-ref:TerInschrijvingAangebodenStukRef domein="NL.IMKAD.TIAStuk">20241030000102</Stuk-ref:TerInschrijvingAangebodenStukRef>
      </Mutatie:stuk>
      <Mutatie:deelEnNummer>
        <Stuk:deel>13709</Stuk:deel>
        <Stuk:nummer>815</Stuk:nummer>
        <Stuk:registercode>
          <Typen:code>2</Typen:code>
          <Typen:waarde>Hyp4</Typen:waarde>
        </Stuk:registercode>
        <Stuk:soortRegister>
          <Typen:code>2</Typen:code>
          <Typen:waarde>Onroerende Zaken</Typen:waarde>
        </Stuk:soortRegister>
      </Mutatie:deelEnNummer>
      <Mutatie:tijdstipOndertekening>
        <Typen:datum>2024-10-29</Typen:datum>
        <Typen:tijd>11:05:00</Typen:tijd>
      </Mutatie:tijdstipOndertekening>
    </Mutatie:AanduidingTerInschrijvingAangebodenStuk>
  </Mutatie:ingeschrevenStuk>
  <Mutatie:kadastraalObject>
    <Mutatie:AanduidingKadastraalObject>
      <Mutatie:kadastraleAanduiding>
        <OnroerendeZaak:akrKadastraleGemeenteCode>
          <Typen:code>1135</Typen:code>
          <Typen:waarde>VDG00</Typen:waarde>
        </OnroerendeZaak:akrKadastraleGemeenteCode>
        <OnroerendeZaak:kadastraleGemeente>
          <Typen:code>1026</Typen:code>
          <Typen:waarde>Vlaardingen</Typen:waarde>
        </OnroerendeZaak:kadastraleGemeente>
        <OnroerendeZaak:sectie>E</OnroerendeZaak:sectie>
        <OnroerendeZaak:perceelnummer>1184</OnroerendeZaak:perceelnummer>
      </Mutatie:kadastraleAanduiding>
      <Mutatie:kadastraalObject>
        <OnroerendeZaak-ref:PerceelRef domein="NL.IMKAD.KadastraalObject">20990634170000</OnroerendeZaak-ref:PerceelRef>
      </Mutatie:kadastraalObject>
    </Mutatie:AanduidingKadastraalObject>
  </Mutatie:kadastraalObject>
...

Het volledige bericht is in te zien op Casus-3972-MUTPX02-VDG00E1184-20241030-1.xml

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

Notificatieverwerking

Van notificatiebericht naar commando (in de context van de BRK)

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 verwerk_wijziging_tennaamstelling_BRK_context

Command verwerk_wijziging_tennaamstelling_BRK_context

command_str = """ 
  {
      "command": {
          "commandId": "ce3cb94b-6400-4882-aecb-d664eb8394a2",
          "commandType": "verwerk_wijziging_tennaamstelling_BRK_context"
      },
      "data": {
          "aardStukdeel": {
              "code": "606",
              "waarde": "Overdracht (eigendom en/of beperkt recht)"
          },
          "ingeschrevenStuk": {
              "tijdstipOndertekening": {
              "datum": "2025-03-09",
              "tijd": "11:05:00"
              }
          },
          "kadastraalObject": {
              "perceel": {
                  "identificatie": "20950118470000"
              },
              "zakelijkRecht": {
                  "aard": {
                      "code": "2",
                      "waarde": "Eigendom (recht van)"
                  }
              },
              "tenaamstelling": [
              {
                  "aandeel": {
                      "teller": "1",
                      "noemer": "2"
                  },
                  "tenNameVan": {
                      "natuurlijkPersoon": {
                          "identificatie": "9896266146",
                          "woonlocatie": {
                              "identificatie": "207343",
                              "nummeraanduiding": {
                                  "identificatie": "0622200000022350",
                                  "huisnummer": "14",
                                  "postcode": "3135KN",
                                  "openbareRuimtenaam": "Merellaan",
                                  "woonplaatsNaam": "Vlaardingen"
                              }
                          },
                          "betreft": {
                              "geregistreerdPersoon": {
                                  "bsn": "000000012",
                                  "aanduidingNaamgebruik": {
                                      "code": "E",
                                      "waarde": "Eigen geslachtsnaam"
                                  },
                                  "naam": {
                                      "geslachtsnaam": "DisqgCotivao",
                                      "voornamen": "Joraraduy",
                                      "voorvoegselgeslachtsnaam": "de"
                                  },
                              "indicatieGeheim": "true"
                              }
                          }
                      }
                  }
              },
              {
                  "aandeel": {
                      "teller": "1",
                      "noemer": "2"
                  },
                  "tenNameVan": {
                      "natuurlijkPersoon": {
                          "identificatie": "1474250665",
                          "woonlocatie": {
                              "nummeraanduiding": {
                                  "identificatie": "",
                                  "huisnummer": "149",
                                  "postcode": "1841AQ",
                                  "openbareRuimtenaam": "Ueöorii gg akutetec",
                                  "woonplaatsNaam": "Teuooidut"
                              }
                          },
                          "betreft": {
                              "geregistreerdPersoon": {
                                  "bsn": "000000024",
                                  "aanduidingNaamgebruik": {
                                      "code": "E",
                                      "waarde": "Eigen geslachtsnaam"
                                  },
                                  "naam": {
                                      "geslachtsnaam": "Cotivao",
                                      "voornamen": "Aawvgp Jopie"
                                  },
                                  "indicatieGeheim": "false"
                              }
                          }
                      }
                  }
              }
              ]
          }
      }
  }
  """

Commando Registreer volledige overdracht eigendom BRK-context wordt gepersisteerd door claims voor het objecttype “Commando” vast te leggen in het commando-register.

In deze weergave is er voor gekozen om de waarde van de rol content in te korten, anders zou er geen goede weergave te tonen zijn. Daarnaast is het belangrijk te weten dat de waarde van de rol content als Base64 is vastgelegd en die inhoud wordt hier onbewerkt getoond (en is dus niet interpreteerbaar door mensen)

Van commando in de BRK-context naar commando in de WOZ-context.

Het commando wordt door de notificatieverwerker aangeboden aan het systeem. Op basis van de naam van het commando wordt de bijbehorende commandohandler aangeroepen. In dit geval is dat verwerk_wijziging_tennaamstelling_BRK_context.

Deze command-handler verzorgt de context transitie. De door het kadaster aangeboden gegevens zijn in context van de BRK (Basisregistratie Kadaster) opgesteld. Van deze gegevens is het van belang dat deze getransformeerd worden naar de context van de WOZ. Hierbij kan het zijn dat er een andere semantische betekenis aan deze gegevens worden toegekend. Juist dit besluit wordt gedocumenteerd door alle transities te registreren.

Om dit te bewerkstelliggen vinden de volgende bewerkingsstappen plaats:

  1. Commandohandler verwerk_wijziging_tennaamstelling_BRK_context ontvangt en verwerkt het commando Registreer volledige overdracht eigendom BRK-context
    • Registreert ontvangstmoment, type en inhoud

    • Valideert of bericht voldoet aan schema

    • Interpreteert inhoud van commando Registreer volledige overdracht eigendom BRK-context

    • zet de gegevens om van een BRK-context naar een WOZ-context.

    • controleert en verifieert of de aangeleverde objecten te vinden zijn in het WOZ-register. Per object wordt de vervolgactie bepaald.

    • controleert of er een koppeling tussen het aangeleverde Perceel en een WozObject voorkomt (WOZKOZ) WOZKOZ voorkomt.

    • In de primaire view wordt gecontroleerd de personen voorkomen als partij. Deze controle vindt plaats door te zoeken in de partij-identificator of het bsn voorkomt (geregistreerdPersoon) danwel of de kadaster-identificatie (door kadaster geregistreerde personen) danwel of het vestifgingsnummer voorkomt (organisaties).

    • Als een partij voorkomt wordt de bijbehorende partijId opgehaald en opgenomen in commando Registreer volledige overdracht eigendom WOZ-context, zo niet dan wordt er een lege property partijId opgenomen.

    • Alle persoonsgegevens opgenomen in de het commando.

    • Alle overige gegevens worden als volgt omgezet:

      • tijdstipOndertekening –> overgenomen in geldigVanaf
      • aandeel -> breuk wordt getransformeerd naar percentage
      • NatuurlijkPersoon.identificatie –> overgenomen in partijIdentificator.objectId
      • Overige eigenschappen van PartijIdentificator gevuld op basis van de context van het bericht
      • GeregistreerdPersoon.bsn –> overgenomen in partijIdentificator.objectId
      • Overige eigenschappen van PartijIdentificator gevuld op basis van de context van het bericht
      • woonlocatie –> overgenomen in bezoekadres
      • huisnummer en openbareRuimtenaam –> getransformeerd naar adresregel1
      • postcode en woonplaats –> getransformeerd naar adresregel2
      • geslachtsnaam –> getransformeerd naar achternaam (mede op basis van aanduidingNaamgebruik)
      • voorvoegselgeslachtsnaam –> overgenomen in voorvoegselAchternaam
      • voornamen –> overgenomen in voornaam
      • voorletters –> afgeleid van de voornamen
      • indicatieGeheim –> overgenomen in indicatieGeheimhouding
    • De transitieregels (de vastlegging van de context-transitie van BRK- naar WOZ-context) zien er als onderstaand uit. Er is van drie transities verslag gedaan hier. In een compleet verslag zullen er uiteraard veel meer transitieregels vastgelegd worden.

    • Commando Registreer volledige overdracht eigendom WOZ-context wordt vastgelegd.

      • Het inhoud van het commando wordt vastgelegd.
      • De relatie naar commando Registreer volledige overdracht eigendom BRK-context wordt vastgelegd middels een context-annotatie op het commando Registreer volledige overdracht eigendom WOZ-context.
    • Bij het Commando Registreer volledige overdracht eigendom BRK-context wordt vastgelegd dat verwerking plaats heeft gevonden.

    • Het aangemaakte commando wordt vastgelegd en aangeboden aan de commandhandler verwerk_overdracht_eigendom_WOZ_context.

{
  "commandoId": "65d4cca1-c304-4adb-846a-627e6c6abf35",
  "commandoType": "Volledige overdracht eigendom WozObject WOZ-context",
  "geldigVanaf": "2024-10-29T11:05:00.000+00:00",
  "wozObject": [
    {
      "wozObjectnummer": "12345678",
      "belang": [
        {
          "zakelijkRechtEigenaar": {
            "aardZakelijkRecht": {
              "code": "2",
              "waarde": "Eigendom (recht van)"
            },
            "aandeel": "50"
          },
          "partij": {
            "partijId": "4bec755e-d9de-43fd-8c6b-cca75fd1a41d",
            "persoon": {
              "partijIdentificator": [
                {
                  "id": "adb44aef-145b-406d-bb81-7dd9cd08597d",
                  "identificator": {
                    "objecttype": "NatuurlijkPersoon",
                    "soortObjectId": "identificatie",
                    "objectId": "9896266146",
                    "register": "Basisregistratie Kadaster"
                  }
                },
                {
                  "id": "78fe04d9-97b0-4a33-bfc3-bf7fe15f316b",
                  "identificator": {
                    "objecttype": "GeregistreerdPersoon",
                    "soortObjectId": "burgerservicenummer",
                    "objectId": "000000012",
                    "register": "Basisregistratie Kadaster"
                  }
                }
              ],
              "bezoekadres": {
                "identificatie": "207343",
                "nummeraanduidingId": "0622200000022350",
                "adresregel1": "Merellaan 14",
                "adresregel2": "3135KN Vlaardingen"
              },
              "naam": {
                "achternaam": "DisqgCotivao",
                "voornaam": "Joraraduy",
                "voorletters": "J",
                "voorvoegselAchternaam": "de"
              },
              "indicatieGeheimhouding": true
            }
          }
        },
        {
          "zakelijkRechtEigenaar": {
            "aardZakelijkRecht": {
              "code": "2",
              "waarde": "Eigendom (recht van)"
            },
            "aandeel": "50"
          },
          "partij": {
            "partijId": "",
            "persoon": {
              "partijIdentificator": [
                {
                  "id": "adb44aef-145b-406d-bb81-7dd9cd08597d",
                  "identificator": {
                    "objecttype": "NatuurlijkPersoon",
                    "soortObjectId": "identificatie",
                    "objectId": "1474250665",
                    "register": "Basisregistratie Kadaster"
                  }
                },
                {
                  "id": "78fe04d9-97b0-4a33-bfc3-bf7fe15f316b",
                  "identificator": {
                    "objecttype": "GeregistreerdPersoon",
                    "soortObjectId": "burgerservicenummer",
                    "objectId": "000000024",
                    "register": "Basisregistratie Kadaster"
                  }
                }
              ],
              "bezoekadres": {
                "identificatie": "207343",
                "nummeraanduidingId": "",
                "huisnummer": "149",
                "postcode": "1841AQ",
                "openbareRuimtenaam": "Ueöorii gg akutetec",
                "woonplaatsNaam": "Teuooidut"
              },
              "naam": {
                "achternaam": "Cotivao",
                "voornaam": "Aawvgp",
                "voorletters": "A"
              },
              "indicatieGeheim": false
            }
          }
        }
      ]
    }
  ]
}

Van commando in de WOZ-context naar effecten binnen het WOZ-register.

Comandohandler verwerk_overdracht_eigendom_WOZ_context heeft als doel het commando dat in de WOZ-context is opgesteld te transformeren naar effecten (gevolgen?) die op het WOZ-register impact hebben.

Om deze effecten (gevolgen?) samen stellen vinden de volgende bewerkingsstappen plaats:

  1. Commandhandler verwerk_wijziging_tennaamstelling_WOZ_context ontvangt commando Registreer volledige overdracht eigendom WOZ-context

  2. Commandohandler verwerk_wijziging_tennaamstelling_WOZ_context interpreteert inhoud van commando Registreer volledige overdracht eigendom WOZ-context

    • Inhoud is (semantisch) niet interpreteerbaar -> registreert semantische error (“Commando is niet interpreteerbaar”)
    • Inhoud is (semantisch) interpreteerbaar -> registreert resultaat (“is wel interpreteerbaar”) en verder naar productie commando in de WOZ-context.
  3. CommandoHandler verwerk_wijziging_tennaamstelling_WOZ_context maakt effecten aan die als verwerkingsstappen die aangeboden kunnen worden aan de register-engine.

    De volgende effecten (gevolgen) worden samengesteld op basis van het commando Registreer volledige overdracht eigendom WOZ-context.

    • Bestaande belangen worden opgezocht op basis van de aangeboden belangen en de geldigheid van deze belenagen wordt beëindigd.
    • Indien een Partij nog niet bekend is in het WOZ-Register wordt deze partij geregistreerd (inclusief Partij-identificator indien aangeboden).
    • De nieuwe belangen worden geregistreerd.
  4. De effecten (gevolgen) worden vastgelegd. - Het inhoud van ieder effect wordt vastgelegd. - De relatie naar commando Registreer volledige overdracht eigendom WOZ-context wordt vastgelegd.

Lineage van de verwerking

Het weergeven van de lineage kan worden wordt met de lineage -code gerealiseerd. 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 “verwerk_wijziging_tennaamstelling_BRK_context” (ce3cb94b-6400-4882-aecb-d664eb8394a2) moet opgenomen zijn bij de command-ids in regel 33 van lineage.py en de test test_woz 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.

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. )

De relevante objecten voordat het commando is verwerkt

Belangen

Beeindigde Belangen en nieuwe Belangen

Let hierbij op dat de reeds bestaande Belangen een validUntil annotatie hebben om het einde van de geldigheid van deze Belangen te registreren. Er is voor gekozen om niet alle claims individueel van een valdUntil-annotatie te voorzien, maar alleen op de ExistentiePostulerende claim deze annotatie toe te voegen.

Nieuwe Partijen