Open sergei-maertens opened 5 years ago
@Hugo-ter-Doest Prio?
Laag omdat er een work-around is.
Waarom zou een consumer iets dat semantisch niet nauwkeuriger kan dan een datum toch tot op de seconde willen hebben? is er een user-story waaruit de noodzaak van een einddatum van een zaak tot op de minuut of seconde blijkt?
@ArjanKloosterboer Dat was ook mijn eerste reactie maar volgens mij gaat het er in dit issue om dat de einddatum van de zaak nu een afgeleid gegeven (want gelijk aan de datum van de laatste status gezet die ook een eindstatus is). Om de einddatum van een zaak te vinden moet je dus eerst de laatste (eind)status van de zaak opvragen en daar de datumtijd van de status gezet van opvragen. Het is voor het gebruik makkelijker om dit als een attribuut bij de zaak mee te krijgen.
Overigens kan dit ook heel mooi (in ieder geval eleganter en misschien wel beter) opgelost worden in een experience API waarbij de einddatum door de experience API verwerkt (opgevraagd/afgeleid/gezet) wordt en niet als gegeven opgeslagen wordt. Dan heb je meteen #660 opgelost/voorkomen.
Maar wat weet ik nou van API's ontwerpen.
In de designkeuzes meen ik onder 'Zaak afsluiten' te lezen dat de resource Zaken het element 'einddatum' als een alleen-lezen-attribuut zou krijgen, een afgeleid gegeven dus. Dan hoeft een consumer die einddatum niet zelf af te leiden uit de Statussen. Ik zie 'm ook in de resource-specificatie staan.
Dan zou dit dus eigenlijk al moeten werken?
Met dien verstande dat de Zaak.Einddatum een datum-veld is en de Status.Datum_status_gezet een datum-tijd-veld. Het lijkt er op dat de discussie over een Einddatum incl. tijd gaat.
Als ik de reden waarom lees gaat het er juist om dat de einddatum nu uit de laatste status gezet afgeleid moet worden, niet over het formaat:
zodat ik op een convenient manier dit kan afleiden, in plaats van de datumGezet van de laatste status uit te lezen.
Ik verwacht (hoop) niet dat een leverancier niet in staat is om een datumtijd-veld om te zetten naar een datumveld... :-)
Je slaat het eerste deel van de user-story-omschrijving over:
Als API-consumer wil ik dat de Zaak.einddatum een datetime wordt
Oh wacht, nu snap ik hem... De einddatum uit de resource Zaak is alleen een datum en geen datumTijd. Duh.
Op zich is het wel logisch dat de einddatum van een zaak identiek is aan de datumTijd van de laatste status. Bijvoorbeeld wanneer die einddatum als zoeksleutel gebruikt wordt oid. (al weet ik niet in welke gevallen je dat zou doen).
Het gaat wel om het formaat. Dit was feedback uit de demo. De argumentatie was dat er zaaktypen zijn die in een tijdsbestek van uren opgelost wordt, niet dagen of weken. De startdatum van de zaak is dan precies hetzelfde als de einddatum, en via de statusprogressie is er wel nauwkeurigere informatie over wanneer de zaak precies beeindigd is.
Bijvoorbeeld wanneer die einddatum als zoeksleutel gebruikt wordt oid. (al weet ik niet in welke gevallen je dat zou doen).
Dit was inderdaad ook een argument. Blijkbaar is er een use-case waarbij zaken gezocht worden waarbij de eindgebruiker weet dat die afgesloten was 'tussen 12.00 en 14.00' bijvoorbeeld. Enkel op datum kunnen zoeken geeft te veel zoekresultaten als je nauwkeuriger weet wanneer iets afgesloten was.
Ik ben benieuwd naar die use-case ...
@sergei-maertens was dit niet al gerealiseerd?
In de huidige OAS 3 is het nog een datum, geen datumTijd. https://ref.tst.vng.cloud/zrc/api/v1/schema/#operation/zaak_read
...zodat ik op een convenient manier dit kan afleiden, in plaats van de datumGezet van de laatste status uit te lezen.
Dit kwam voort uit feedback van leveranciers van Demo 6.
Definition of ready
Definition of done
Acceptatiecriteria
Taken