In §3.3.1 van de StUF0302 specificaties staat:
De metagegevens <StUF:tijdvakGeldigheid> en <StUF:tijdstipRegistratie> kunnen op drie manieren worden geïmplementeerd:
- Door per waarde een tijdvakGeldigheid en eventueel een tijdstipRegistratie bij een object op te nemen
Een probleem van deze implementatie is dat een waarde meervoudig kan voorkomen in een object met elk een eigen tijdvakGeldigheid en eventueel een tijdstipRegistratie.- Door per groep van attributen een tijdvakGeldigheid en eventueel een tijdstipRegistratie bij een object op te nemen
De groepen worden gedefinieerd in het sectormodel. Meerdere voorkomens van een groep worden binnen een object opgenomen met verschillende tijdvakGeldigheid en eventueel tijdstipRegistratie. Alle attribuutwaarden binnen de groep zijn geldig gedurende dat tijdvakGeldigheid met eventueel dat tijdstipRegistratie.- Door voor alle attribuutwaarden in een object op objectniveau een tijdvakGeldigheid en eventueel tijdstipRegistratie op te nemen
Meerdere voorkomens van een object worden in een bericht opgenomen met elk een tijdvakGeldigheid en eventueel tijdstipRegistratie. Er is precies één voorkomen met de actuele waarden. De andere voorkomens bevatten historische waarden.De derde keuze leidt tot de simpelste berichtverwerking en sluit het beste aan bij de wijze waarop databases veelal met historische en toekomstige gegevens omgaan. De tweede keuze sluit aan bij de manier waarop men in de GBA met historische gegevens omgaat. De eerste keuze maakt het werken met attributen met kardinaliteit groter dan één ingewikkelder, omdat moet worden nagegaan of een attribuut meervoudig voorkomt vanwege de kardinaliteit of vanwege het historisch zijn van de waarde. Alleen het tweede en derde alternatief worden in de StUF-standaard uitgewerkt.
In de beschrijving voor het verwerken van kennisgevingen (paragraaf 5.2.5) wordt echter wel in een aantal zinnen historie per elementwaarde beschreven. Dat maakt de beschrijving veel complexer (met als risico fouten in implementaties).
Bijvoorbeeld:
- "gelijk aan de grootste beginGeldigheid in de registratie van zender en ontvanger van alle waarden met historie die ongelijk aan elkaar zijn in A en Z. (...) Dit kan veroorzaakt worden doordat de zender zijn historie op objectniveau bijhoudt en daardoor niet in staat is om tbo correct te bepalen"
- "Het is toegestaan om een waarde te wijzigen met een beginGeldigheid in de registratie, die kleiner is dan de beginGeldigheid an één of meer andere waarden. Het gaat erom dat een nu geldige waarde wordt gewijzigd en dit wordt niet belemmerd, doordat de registratie waarden bevat met een grotere beginGeldigheid."
- "voor minstens één element geldt bij de zender dat de waarde voor het element in 'oud' in de registratie voorkomt met als beginGeldigheid tbo en als eindGeldigheid ∞"
- "Bij het corrigeren van beginGeldigheid moet daarom altijd gecheckt worden of er geen matchgegevens of andere verplichte gegevens zijn met beginGeldigheid gelijk aan tbo waarvan het niet de bedoeling is om de beginGeldigheid te verschuiven."
- "Het is toegestaan om een element te corrigeren met een tbn, die kleiner is dan de beginGeldigheid van één of meer andere elementen."
Kunnen we -in het kader van vereenvoudigen van StUF- ons niet beperken tot beschrijving van historie per heel object? In de basisentiteitenschema's zijn tijdvakGeldigheid en tijdstipRegistratie ook opgenomen zonder attributen element en groep, dus in BG, ZKN en ZTC is het al alleen mogelijk per object te communiceren. De complicerende passages m.b.t. historie op groep of elementniveau zouden dus m.i. uit de specificaties geschreven kunnen worden.
Mocht het voor een specifiek koppelvlak alsnog nodig zijn historie per groep of element te communiceren, kan dat in het koppelvlak worden uitgewerkt.
Ik weet niet of ik het voorstel van Frank goed begrijp, maar ik lees het een beetje als "terug naar af".
We hebben enkele jaren geleden met veel partijen een beschrijving gemaakt om StUF als standaard formele en materiële historie op attribuutniveau te laten ondersteunen. Het feit dat StUF deze specificaties bevat, is voor het WOZ-domein een belangrijke reden om voor deze standaard te kiezen.
Natuurlijk is het voor veel registraties en veel koppelvlakken niet nodig om formele en materiële historie te ondersteunen. Dat kan je prima in de koppelvlakspecificaties vastleggen.
Maar voor de bruikbaarheid van de standaard is het essentieel dat deze wel de specificaties bevat hoe je moet handelen, wanneer je wel de formele en materiële historie tot op objectniveau wil ondersteunen.
Ruud,
Volgens mij is het niet de bedoeling van Frank om de ondersteuning door StUF van formele en materiele historie te stoppen.
In de specificatie wordt echter te veel woorden vuil gemaakt aan een historie methode die toch niet door StUF wordt ondersteund. Frank betoogd om op dat punt de specificatie te vereenvoudigen.
Er lopen hier twee dingen door elkaar:
Het lijkt me niet verstandig hier dingen in te schrappen.