VNG-Realisatie / gemma-zaken

Samen ontwikkelen van API's voor Zaakgericht werken
https://vng-realisatie.github.io/gemma-zaken/
Other
41 stars 27 forks source link

ZTC: business rule ztc-013 is vaag en moet aangescherpt #2482

Open johannesbattjes opened 1 month ago

johannesbattjes commented 1 month ago

ztc-013 geeft een voorbeeld van een relatie die middels een url wordt gelegd, en die twee types binnen één catalogus met elkaar relateert. het voorbeeld is duidelijk. Bij relaties die gelegd worden middels identificatie/omschrijving (dus tussen BT, IOT en ZT) is deze regel onduidelijk:

Voorstel: beperk ztc-013 tot roltype-zaaktype, eigenschap-zaaktype, statustype-zaaktype, zaaktypeinformatieobjecttype-zaaktype en resultaattype-zaaktype.

johannesbattjes commented 1 month ago

Gezien #2468 zou de regel zelfs helemaal weg kunnen

HenriKorver commented 1 month ago

Even kijken of ik wel goed de huidige formulering van ztc-013 begrijp door een concreet voorbeeld bij de horens te pakken. In onderstaand voorbeeld heeft het zaaktype

https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/8e3e5ea8-6331-4365-b3db-dbaa8531859e

hetzelfde gemeenschappelijke endpoint, namelijk https://catalogi-api.test.vng.cloud/api/v1/ als zijn statustypen, te weten

"https://catalogi-api.test.vng.cloud/api/v1/statustypen/c6fc4868-b4bf-4c45-99c6-e17893fdddef"

"https://catalogi-api.test.vng.cloud/api/v1/statustypen/2bad8eb8-0948-40e0-8fb8-94c71920b642"

Dus deze situatie is in harmonie met business-rule ztc-013.

{
            "url": "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/8e3e5ea8-6331-4365-b3db-dbaa8531859e",
            "identificatie": "08adfac6-a41c-4acb-a127-fe7816906b93",
            "omschrijving": "aangepast door HK",
            "omschrijvingGeneriek": "",
            "vertrouwelijkheidaanduiding": "openbaar",
            "doel": "test doel",
            "aanleiding": "test aanleiding",
            "toelichting": "",
            "indicatieInternOfExtern": "extern",
            "handelingInitiator": "indienen",
            "onderwerp": "openbare ruimte",
            "handelingBehandelaar": "behandelen",
            "doorlooptijd": "P10D",
            "servicenorm": null,
            "opschortingEnAanhoudingMogelijk": false,
            "verlengingMogelijk": true,
            "verlengingstermijn": "P5D",
            "trefwoorden": [],
            "publicatieIndicatie": false,
            "publicatietekst": "",
            "verantwoordingsrelatie": [],
            "productenOfDiensten": [
                "https://ref.tst.vng.cloud/standaard/"
            ],
            "selectielijstProcestype": "https://referentielijsten-api.vng.cloud/api/v1/procestypen/83ad3b3f-2fde-4c1b-8249-4e1429ebc6ad",
            "referentieproces": {
                "naam": "test",
                "link": ""
            },
            "verantwoordelijke": "Behandelaar",
            "zaakobjecttypen": [],
            "broncatalogus": {
                "url": null,
                "domein": null,
                "rsin": null
            },
            "bronzaaktype": {
                "url": null,
                "identificatie": null,
                "omschrijving": null
            },
            "catalogus": "https://catalogi-api.test.vng.cloud/api/v1/catalogussen/1abff384-9c1c-4eff-b784-0443f46d690e",
            "statustypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/statustypen/c6fc4868-b4bf-4c45-99c6-e17893fdddef",
                "https://catalogi-api.test.vng.cloud/api/v1/statustypen/2bad8eb8-0948-40e0-8fb8-94c71920b642"
            ],
            "resultaattypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/resultaattypen/ae533f10-b6b4-4230-b71f-9f6a856f6dc2"
            ],
            "eigenschappen": [],
            "informatieobjecttypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/informatieobjecttypen/07b252d3-adc1-4204-9418-f6c705f6ee2f"
            ],
            "roltypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/roltypen/debe3d9e-0e2c-4c95-893f-a4f82f49f5d1"
            ],
            "besluittypen": [],
            "deelzaaktypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/1aabcf25-5f73-435e-9a20-1b03bbdaf1f7"
            ],
            "gerelateerdeZaaktypen": [
                {
                    "zaaktype": "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/1aabcf25-5f73-435e-9a20-1b03bbdaf1f7",
                    "aardRelatie": "bijdrage",
                    "toelichting": "test relations"
                }
            ],
            "beginGeldigheid": "2018-01-01",
            "eindeGeldigheid": null,
            "beginObject": null,
            "eindeObject": null,
            "versiedatum": "2018-01-01",
            "concept": false
        }

Echter, wanneer de statustypen een andere domeinnaam hebben doordat de catalogus op een ander endpoint is gepubliceerd, bijv.

"https://ztc.test.roxit.cloud/api/v1/statustypen/c6fc4868-b4bf-4c45-99c6-e17893fdddef"

"https://ztc.test.roxit.cloud/api/v1/statustypen/2bad8eb8-0948-40e0-8fb8-94c71920b642"

dan ben je in conflict met ztc-013. Dus onderstaande bericht is dan niet valide volgens ztc-013.

{
            "url": "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/8e3e5ea8-6331-4365-b3db-dbaa8531859e",
            "identificatie": "08adfac6-a41c-4acb-a127-fe7816906b93",
            "omschrijving": "aangepast door HK",
            "omschrijvingGeneriek": "",
            "vertrouwelijkheidaanduiding": "openbaar",
            "doel": "test doel",
            "aanleiding": "test aanleiding",
            "toelichting": "",
            "indicatieInternOfExtern": "extern",
            "handelingInitiator": "indienen",
            "onderwerp": "openbare ruimte",
            "handelingBehandelaar": "behandelen",
            "doorlooptijd": "P10D",
            "servicenorm": null,
            "opschortingEnAanhoudingMogelijk": false,
            "verlengingMogelijk": true,
            "verlengingstermijn": "P5D",
            "trefwoorden": [],
            "publicatieIndicatie": false,
            "publicatietekst": "",
            "verantwoordingsrelatie": [],
            "productenOfDiensten": [
                "https://ref.tst.vng.cloud/standaard/"
            ],
            "selectielijstProcestype": "https://referentielijsten-api.vng.cloud/api/v1/procestypen/83ad3b3f-2fde-4c1b-8249-4e1429ebc6ad",
            "referentieproces": {
                "naam": "test",
                "link": ""
            },
            "verantwoordelijke": "Behandelaar",
            "zaakobjecttypen": [],
            "broncatalogus": {
                "url": null,
                "domein": null,
                "rsin": null
            },
            "bronzaaktype": {
                "url": null,
                "identificatie": null,
                "omschrijving": null
            },
            "catalogus": "https://catalogi-api.test.vng.cloud/api/v1/catalogussen/1abff384-9c1c-4eff-b784-0443f46d690e",
            "statustypen": [
                "https://ztc.test.roxit.cloud/api/v1/statustypen/c6fc4868-b4bf-4c45-99c6-e17893fdddef",
                "https://ztc.test.roxit.cloud/api/v1/statustypen/2bad8eb8-0948-40e0-8fb8-94c71920b642"
            ],
            "resultaattypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/resultaattypen/ae533f10-b6b4-4230-b71f-9f6a856f6dc2"
            ],
            "eigenschappen": [],
            "informatieobjecttypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/informatieobjecttypen/07b252d3-adc1-4204-9418-f6c705f6ee2f"
            ],
            "roltypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/roltypen/debe3d9e-0e2c-4c95-893f-a4f82f49f5d1"
            ],
            "besluittypen": [],
            "deelzaaktypen": [
                "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/1aabcf25-5f73-435e-9a20-1b03bbdaf1f7"
            ],
            "gerelateerdeZaaktypen": [
                {
                    "zaaktype": "https://catalogi-api.test.vng.cloud/api/v1/zaaktypen/1aabcf25-5f73-435e-9a20-1b03bbdaf1f7",
                    "aardRelatie": "bijdrage",
                    "toelichting": "test relations"
                }
            ],
            "beginGeldigheid": "2018-01-01",
            "eindeGeldigheid": null,
            "beginObject": null,
            "eindeObject": null,
            "versiedatum": "2018-01-01",
            "concept": false
        }

Heb ik de huidige formulering van rule ztc-013 zo goed begrepen?

HenriKorver commented 1 month ago

Gezien https://github.com/VNG-Realisatie/gemma-zaken/issues/2468 zou de regel zelfs helemaal weg kunnen

O ja ik begrijp nu wat je bedoelt. Met uitzondering van resultaattype en roltype (wat een bug is die moet worden hersteld) kun je nooit relaties creëren over verschillende catalalogi heen of verschillende endpoints creëren voor dezelfde catalogus.

HenriKorver commented 1 month ago

Dus eindconclusie: ztc-013 kan weg

HenriKorver commented 1 month ago

Toevoeging: ztc-013 kan weg als issue https://github.com/VNG-Realisatie/gemma-zaken/issues/2468 opgelost is.