Skip to content

Éligibilité : Prise en compte du forçage de dateFin à null par l’API Particulier#5337

Merged
francoisfreitag merged 1 commit intomasterfrom
ff/api-particulier
Jan 9, 2025
Merged

Éligibilité : Prise en compte du forçage de dateFin à null par l’API Particulier#5337
francoisfreitag merged 1 commit intomasterfrom
ff/api-particulier

Conversation

@francoisfreitag
Copy link
Copy Markdown
Member

🤔 Pourquoi ?

Dans un email du 15 novembre à 14:23, une régression cassant la compatibilité a été annoncée:

Vous utilisez l'API Revenu de solidarité active du bouquet API Particulier
et avez prévu d'utiliser les API Allocation de soutien familial et
Allocation adulte handicapé.

Dans le Swagger et la documentation affichés actuellement sur API
Particulier, nous indiquons que nous diffusons la date de fermeture du
droit. Toutefois, cette date n'est pas toujours correcte. En effet, elle
était calculée par notre API en se basant sur la date de début du droit.
Cette date de début du droit correspond à la date de première attribution.
Lorsque le droit est renouvelé, la date de début n'est pas modifiée. Cela
peut donc renvoyer à une date de fin antérieure à la date à laquelle
l'appel sur l'API a été effectué avec un Statut "Bénéficiaire".

Pour éviter toute confusion, nous avons fait le choix de passer le champ
"dateFin" à "null" dans la version actuelle de l'API.

🍰 Comment ?

Jusqu’à maintenant, nous utilisions la date de fin fournie par l’API pour déterminer la période de validité de la certification.
Comme l’API donne l’information bénéficiaire du jour où la requête est effectuée, calculons la date de fin en fonction de cette date et de la durée de validité d’un justificatif (92 jours soit environ 3 mois).

In an email on November 15th, 14:23, the following breaking regression
was announced:

> Vous utilisez l'API Revenu de solidarité active du bouquet API Particulier
> et avez prévu d'utiliser les API Allocation de soutien familial et
> Allocation adulte handicapé.
>
> Dans le Swagger et la documentation affichés actuellement sur API
> Particulier, nous indiquons que nous diffusons la date de fermeture du
> droit. Toutefois, cette date n'est pas toujours correcte. En effet, elle
> était calculée par notre API en se basant sur la date de début du droit.
> Cette date de début du droit correspond à la date de première attribution.
> Lorsque le droit est renouvelé, la date de début n'est pas modifiée. Cela
> peut donc renvoyer à une date de fin antérieure à la date à laquelle
> l'appel sur l'API a été effectué avec un Statut "Bénéficiaire".
>
> Pour éviter toute confusion, nous avons fait le choix de passer le champ
> "dateFin" à "null" dans la version actuelle de l'API.

The end date field will always be null in responses.
We were using the end date to set the validity period of a
certification. Since the API only gives “instantaneous” data (is the
person beneficiary now), and the proof must from the past 3 months
before a hire in the law, we can set the validity period to [today,
today + 92 days (~3 months)].
@francoisfreitag francoisfreitag added the modifié Modifié dans le changelog. label Jan 6, 2025
@francoisfreitag francoisfreitag self-assigned this Jan 6, 2025
start_at, end_at = data["start_at"], data["end_at"]
if start_at and end_at:
if criterion.certified:
start_at = data["start_at"]
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je me suis demandé si on ne voulait pas utiliser timezone.localdate(criterion.certified_at) ici aussi, mais ça cacherait une partie des informations disponibles (la date d’ouverture des droits du bénéficiaire).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Je suis d'accord avec toi. C'est dommage de se priver de la date d'ouverture des droits alors que la date de certification est déjà dans criterion.certified_at.
Il y a maintenant deux dates de démarrage possibles : la date d'ouverture des droits ou la date de certification. En conservant les deux, il sera facile de les comparer et éventuellement d'en déduire les prolongations.

Copy link
Copy Markdown
Member Author

@francoisfreitag francoisfreitag left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

J’ai prévu une PR pour rattraper les certifications existantes et les faire expirer à certified_at + 92j.

@francoisfreitag francoisfreitag changed the title API Particulier : Prise en compte du forçage de dateFin à null Éligibilité : Prise en compte du forçage de dateFin à null par l’API Particulier Jan 6, 2025
@celine-m-s
Copy link
Copy Markdown
Contributor

Je viens de capter quelque chose.

@celine-m-s
Copy link
Copy Markdown
Contributor

Un détail vient de me revenir. Je suis presque sure que les droits du RSA sont calculés au mois et non date à date. Appliquer une période de certification à 92 jours à partir d'aujourd'hui ne prend donc pas en compte la réalité métier. Une personne déclarée certifiée le 20/12 devrait l'être jusqu'au 01/03 et non jusqu'au 22/03 (92 jours après). Peut-être à vérifier avec Zohra ?

@francoisfreitag
Copy link
Copy Markdown
Member Author

On dirait qu’il y a des exceptions :

SELECT DISTINCT EXTRACT(DAY FROM LOWER(certification_period))
FROM eligibility_selectedadministrativecriteria
WHERE certified;
 extract
---------
       1
      10
      15
      20

@francoisfreitag
Copy link
Copy Markdown
Member Author

L’API particulier donnant une information à date de la demande, il me semble plus fiable de se baser là dessus, même si on pourrait éventuellement étendre la durée de validité au bénéfice du candidat. J’imagine qu’il n’est pas inenvisageable que les droits s’arrêtent en cours de mois, soit maintenant, soit suite à un changement de règlementation.

@celine-m-s
Copy link
Copy Markdown
Contributor

L’API particulier donnant une information à date de la demande, il me semble plus fiable de se baser là dessus, même si on pourrait éventuellement étendre la durée de validité au bénéfice du candidat. J’imagine qu’il n’est pas inenvisageable que les droits s’arrêtent en cours de mois, soit maintenant, soit suite à un changement de règlementation.

Ça se tient. 👍

@francoisfreitag francoisfreitag added this pull request to the merge queue Jan 9, 2025
Merged via the queue into master with commit 9d44cd1 Jan 9, 2025
@francoisfreitag francoisfreitag deleted the ff/api-particulier branch January 9, 2025 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

modifié Modifié dans le changelog.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants