Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enforcing uniqueness of Partij Identificatoren #241

Closed
swrichards opened this issue Sep 10, 2024 · 3 comments
Closed

Enforcing uniqueness of Partij Identificatoren #241

swrichards opened this issue Sep 10, 2024 · 3 comments
Labels
enhancement New feature or request triage

Comments

@swrichards
Copy link

Thema / Theme

Klantinteracties API

Omschrijving / Description

It is currently possible to create:

  1. Multiple identical partij identificatoren (i.e. for two resources, the values for codeObjecttype, codeSoortObjectId, objectId, and codeRegister are the same)
  2. To match multiple identical identificatoren to the same partij

The proposal is to guard against both: partij identificatoren should be unique for the fields mentioned above and thus, by implication, they can only point to a single Partij.

Toegevoegde waarde / Added value

The proximate pain point here is that, when filtering all Partij resources on an identificator, clients have to handle the case of >1 Partijen for a supposedly unique identificator, with no obvious resolution strategy.

That is, when filtering on a BSN partij identificator (leaving aside the issue of divergent schemes to refer to a BSN, which #233 would address), it is currently possible to get several Partij resources for a single BSN, which should be unique (as arguably all identificatoren are). It is not clear which Partij to select. Even if clients have a consistent way of identifying the canonical Partij from several options for a single client (e.g. by maintaining an internal mapping to Partij.uuid), this means that several different clients may reference different Partij when in fact they intend to converge on the same object.

The value of an identificator should be that it actually functions as a unique identifier, both for developer experience (no difficult-to-resolve edge-cases to handle), but it would also improve the data quality (less chance of spurious duplicates). This would be complementary to #233 .

Aanvullende opmerkingen / Additional context

No response

@joeribekker
Copy link
Member

joeribekker commented Sep 24, 2024

Besproken in koploper overleg.

Relevant IM deel:
image

Besproken of Contactpersoon wel een instantie moet zijn van Partij. Omdat Contactpersoon een instantie is van een Partij maar ook een Persoon en/of zelfs Contactpersoon kan zijn voor meerdere organisaties, zal zijn/haar BSN meerdere keren voorkomen waarschijnlijk?

@Hugo-ter-Doest
Copy link

Inderdaad.

Teveel onzekerheid over de scenario's. We bespreken het vanmiddag met de groep die OpenKlant integreert.

@swrichards
Copy link
Author

Besproken in overleg van 24/9: we gaan deze ticket sluiten omdat de oplossing hier in ieder geval al botst met het Contactpersoon probleem genoemd door @joeribekker #241 (comment) maar ook omdat er eveneens conensus lijkt te bestaan dat organisaties met hetzelfde KvK nummer maar verschillende vestigingsnummers als aparte Partijen beschouwd dienen te worden (en daarmee dus een KvK nummer aan meerdere partijen gekoppeld kan worden).

Het onderliggende probleem ("Hoe convergeren verschillende systemen op dezelfde Partij, om te voorkomen dat er aparte partijen bestaan voor wat in feite dezelfde partijen zijn?") zal apart behandeld worden in de groep.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request triage
Projects
Status: Done
Development

No branches or pull requests

3 participants