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

[NIR] Enquêter sur les NIR incohérents en DB #2461

Closed
aminedhobb opened this issue Nov 12, 2024 · 6 comments
Closed

[NIR] Enquêter sur les NIR incohérents en DB #2461

aminedhobb opened this issue Nov 12, 2024 · 6 comments
Assignees
Labels

Comments

@aminedhobb
Copy link
Collaborator

  • Retrouver les usagers dont les NIR ne match pas l'année de naissance ou la civilité
  • Contacter les orgas en question pour voir d'où vient le mismatch
@Michaelvilleneuve
Copy link
Collaborator

Michaelvilleneuve commented Nov 21, 2024

Retrouver les usagers dont les NIR ne match pas l'année de naissance ou la civilité

J'ai utilisé le script suivant que j'ai fait tourner sur un dump de la DB datant de fin Octobre :

date_doesnt_match = []
civility_doesnt_match = []

User.all.find_each do |user|
  next if user.nir.nil?

  if user.nir.starts_with?('1') && user.title != 'monsieur'
    civility_doesnt_match << user
  end

  if user.nir.starts_with?('2') && user.title != 'madame'
    civility_doesnt_match << user
  end

  if user.nir[1..2] != user.birth_date&.strftime('%y')
    date_doesnt_match << user
  end
end

Cela me donne les résultats suivants :

  • 283 usagers ont l'année de naissance qui ne match pas
  • 343 usagers ont la civilité qui ne match pas
  • 122 usagers ont la civilité ET l'année de naissance qui ne match pas

** Usagers dont la civilité ne match pas **
Il ne semble pas y avoir de pattern particulier ici, la plupart semble malgré tout être une inversion Madame / Monsieur dans un sens ou dans l'autre au vu des prénoms associés

** Usagers dont la date ne match pas **
Idem ici pas de pattern particulier mais tous les résultats semblent issus de véritables erreurs à l'enregistrement.

Que faire de ces données

J'ai créé un fichier json déposé sur notre channel mattermost formatté de la manière suivante :

{
   "1": { # ID de l'organisation
      "users": [ # usagers problématiques
         {
            "id": 123, # id de l'usager
            "civility_doesnt_match": true,
            "date_doesnt_match": true,
            "created_at": XXX,
         }
       ]
    }
}

L'idée à partir de ce fichier est de pouvoir contacter chaque organisation en lui donnant la liste de ses usagers problématiques, voici un mail d'exemple que nous pourrions envoyer :

Bonjour, nous vous contactons suite à des incohérences que nous pensons avoir détecté entre le NIR de certains de vos usagers et leurs données effectives.
Cela concerne les usagers suivants :
- Madame Untel Untel (ID 123). L'année de naissance ne correspond pas à son NIR.
- Monsieur Untel Untel (ID 125). L'année de naissance ne correspond pas à son NIR.
- Monsieur Untel Untel (ID 124). Sa civilité ne correspond pas à son NIR.

Dans la mesure où certains de ces usagers ont déjà pu avoir des rendez-vous nous vous suggérons de d'abord supprimer leur NIR de rdv-insertion

Si jamais le véritable NIR des personnes ci-dessus se trouve être déjà affecté à une autre personne suivie par votre organisation, nous vous conseillons de le retirer de la personne en question avant de le ré-affecter à la bonne personne correspondante ci-dessus.

N'hésitez pas à nous contacter si vous avec des doutes sur la marche à suivre.
Bien cordialement,
L'équipe rdv-insertion

L'envoi de ce mail peut être scripté de notre côté afin de faciliter le traitement par lot de toutes organisations affectées.

@aminedhobb
Copy link
Collaborator Author

Merci @Michaelvilleneuve 🙌 !

Je trouve que c'est une bonne idée d'envoyer un mail 👍 . Je pense que l'avis d'@amaurydubot et de l'équipe produit est important aussi sur cette question.
Il faudrait également qu'on se mette d'accord sur ce qu'on fait si jamais il n'y a pas d'actions entreprises suite à ce mail (on nullifie les NIR ?).

Concernant le check sur la civilité je pense effectivement qu'il s'agit de civilités mal renseignés. Je me souviens qu'il y a des utilisateurs de l'appli qui remplisse la civilité "au hasard" dans les fichiers. Peut-être que pour ces usagers on peut mettre à jour la civilité plutôt que nullifier le NIR ?

@Michaelvilleneuve
Copy link
Collaborator

Je trouve que c'est une bonne idée d'envoyer un mail 👍 . Je pense que l'avis d'@amaurydubot et de l'équipe produit est important aussi sur cette question.

Oui carrément attendons son retour 👍

Il faudrait également qu'on se mette d'accord sur ce qu'on fait si jamais il n'y a pas d'actions entreprises suite à ce mail (on nullifie les NIR ?).

Je pense que c'est le mieux oui

Peut-être que pour ces usagers on peut mettre à jour la civilité plutôt que nullifier le NIR ?

Oui mais comme ce serait un peu du cas par cas (checker le prénom en même temps pour avoir un indice supplémentaire) je pense qu'il vaut mieux laisser cette responsabilité à chaque orga non ?

@amaurydubot
Copy link
Collaborator

Top, merci @Michaelvilleneuve ! Super idée le mail, rien à redire dans le contenu. Si ça peut être automatisé de votre côté, go !

Ok, on pourra nullifier si aucune action n'est entreprise s'agissant de ces NIR. On peut donc peut-être rajouter dans le mail : "Pour information, nous supprimerons automatiquement ces NIR incohérents des fiches des usagers le vendredi 31 janvier 2024. Nous portons en effet une attention particulière à la cohérence des NIR dans notre base de données étant donné que cette information est, par exemple, la clé pivot permettant de renvoyer des données au SI Plateforme pour les cas d'usage concernés."

@Michaelvilleneuve
Copy link
Collaborator

Mails envoyés ce matin, next step : procéder à la suppression des NIR incohérents le 31 Janvier comme indiqué dans les mails envoyés.

@amaurydubot
Copy link
Collaborator

Parfait merci @Michaelvilleneuve j'ai créé un ticket pour janvier 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants