De StUF-standaard stelt op p. 50:
"Kennisgevingberichten mogen alleen worden gebruikt om gegevens bij de ontvanger te wijzigen of te corrigeren, waarvoor <StUF:eindGeldigheid> geen waarde heeft vanuit eerder aangeboden kennisgevingen, en niet voor het wijzigen c.q. corrigeren van historische gegevens."
Deze specificatie impliceert dat het toegestaan is om eerst een kennisgeving te sturen waarin met ingangsdatum 1-2-2012 het adresAanduidingGrp van een persoon wordt gewijzigd en daarna een kennisgeving aan te leveren waarin met ingangsdatum 1-1-2012 een naamswijziging in de geslachtsnaam wordt doorgevoerd.
Ik ben dit gaan nazoeken in het kader van het maken van synchronisatieberichten. Mijn eerste intuïtie was namelijk dat de StUF-standaard de tweede wijziging hierboven zou beschouwen als een wijziging in de historie, maar volgens bovenstaand citaat is dit niet zo.
Omdat het voor de verwerking van kennisgevingen in een database die ook historie opbouwt wel consequenties heeft dat een latere kennisgeving een beginGeldigheid kan hebben die voor de beginGeldigheid van een eerdere kennisgeving ligt, leek het mij goed om deze botsing van de standaard met mijn intuïtie met anderen te delen.
Ik ben benieuwd volgens welke interpretatie een en ander momenteel geïmplementeerd is in systemen die historie opbouwen.
Momenteel wordt de historie binnen PRLG opgebouwd op (fundamenteel of relatie) entiteit niveau. Bij een nieuwe kennisgeving met een ingangsdatum die minder recent is dan de voorgaande kennisgeving, zal de ingangsdatum van de actuele gegevens worden gecorrigeerd naar de nieuwe ingangsdatum. Voor het opbouwen van historie is het dus gewenst dat de kennisgevingen (tav de ingangsdatum) chronologisch worden aangeboden tenzij expliciet een correctie van de ingangsdatum beoogd wordt.
In de StUF Expertgroep van 20 maart 2013 wordt duidelijk dat de verschillende aanwezigen 'tijdvakGeldigheid' toch verschillend interpreteren.
De situatie waarbij 2 bronhouders elkaar tegenspreken, lijkt een erg theoretische situatie, zou niet voor mogen komen. Een van de aanwezigen stelt dat dan diegene waarvan de wijzigingen het jongste zijn wint.
Het blijkt dat over dit erratum (ERR249) nog verder gediscusieerd moet worden.
Ook ERR248 (zie deze discussie) is hieraan gerelateerd.
Dit erratum is doorgevoerd in patch 20 (1 juli 2014).
In de StUF standaard is expliciet gemaakt dat het is toegestaan dat beginGeldigheid ligt voor de beginGeldigheid van andere waarde, zolang maar de actuele waarde wordt gecorrigeerd.
Discussie gesloten.