-
Notifications
You must be signed in to change notification settings - Fork 101
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
Msa fiabilisation rsa #1098
Msa fiabilisation rsa #1098
Conversation
Je viens de supprimer la demande de revue à @Anna-Livia et moi-même. J'ai mis @frtomas. Je propose comme convenu par téléphone que vous fassiez une revue entre vous puis demandiez une revue à la communauté. C'est ok pour vous ? |
class rsa_condition_heures_travail_remplie(Variable): | ||
value_type = bool | ||
entity = Famille | ||
label = u"Éligible à la RSA si la perssone est moins de vingt-cinq ans et avoir travaillé deux ans sur les 3 dernières années" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Attention au label : "Éligible au RSA si la personne a moins de vingt-cinq ans et a travaillé deux ans sur les trois dernières années"
'paje_base', | ||
] | ||
prestations_autres = [ | ||
'rsa_forfait_asf', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existe-t-il une référence qui explique le passage de rsa_forfait_asf
des prestations_calculees aux prestations_autres ?
openfisca_france/parameters/prestations/prestations_familiales/af/bmaf.yaml
Outdated
Show resolved
Hide resolved
@@ -9,6 +9,13 @@ | |||
from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf | |||
|
|||
|
|||
class rsa_condition_heures_travail_remplie(Variable): | |||
value_type = bool | |||
entity = Famille |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Il me semble que cette donnée aurait plus de sens à porter sur un individu plutôt que sur toute la famille.
|
||
etudiant_i = famille.members('etudiant', period) | ||
|
||
rsa_condition_heures_travail_remplie = famille("rsa_condition_heures_travail_remplie", period) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Avec le changement de cette donnée de famille à individu évoqué précédement :
rsa_condition_heures_travail_remplie_i = famille.members("rsa_condition_heures_travail_remplie", period)
|
||
rsa_condition_heures_travail_remplie = famille("rsa_condition_heures_travail_remplie", period) | ||
# rsa_nb_enfants est à valeur pour une famille, il faut le projeter sur les individus avant de faire une opération avec age_i | ||
condition_age_i = famille.project(rsa_nb_enfants > 0) + (age_i > rsa.age_pac) + rsa_condition_heures_travail_remplie |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Existe-t-il une référence concernant une condition d'heures travaillées pour la perception du RSA ?
Peut être passer par une deuxième variable distincte, rsa_condition_heures_travail_remplie
ne correspond pas vraiment à une condition_age_i
.
Quelque chose comme :
condition_age_i = famille.project(rsa_nb_enfants > 0) + (age_i > rsa.age_pac)
condition_age_et_heures_travail_i = condition_age_i + rsa_condition_heures_travail_remplie_i
return (
famille.any(condition_age_et_heures_travail_i * not_(etudiant_i), role = Famille.PARENT)
* condition_nationalite
* rsa_eligibilite_tns
)
@guillett il manque toujours une référence pour laquelle nous sommes en attente de réponse, mais en dehors de ça, le reste me semble bon. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
J'ai fait une première passe.
@@ -0,0 +1,7 @@ | |||
description: Limite d'âge pour bénéficier du revenu de solidarité active Jeune |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Limite d'âge ne permet pas de savoir si c'est un minimum ou un maximum.
Âge maximal pour [...] me parait donc plus explicite.
@@ -0,0 +1,7 @@ | |||
description: Limite d'âge pour bénéficier du revenu de solidarité active Jeune |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Limite d'âge ne permet pas de savoir si c'est un minimum ou un maximum.
Âge minimal pour [...] me parait donc plus explicite.
condition_nationalite_i = famille.members('rsa_condition_nationalite', period) | ||
condition_nationalite = famille.any(condition_nationalite_i, role = Famille.PARENT) | ||
|
||
rmi = parameters(period).prestations.minima_sociaux.rmi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette variable ne semble pas utilisée.
@@ -769,6 +819,30 @@ def formula(famille, period, parameters): | |||
* rsa_eligibilite_tns | |||
) | |||
|
|||
def formula_2018_01_01(famille, period, parameters): | |||
rsa_nb_enfants = famille('rsa_nb_enfants', period) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pourquoi cette nouvelle formule est appliquée à partir du 1/1/18 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Est-ce vraiment nouveau au 1/1/18 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oui c'est vrai, cette formule est appliquée à partir de 1/1/2010 selon la référence "https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006074069&idArticle=LEGIARTI000021636574&dateTexte=&categorieLien=cid"
pour l'éligibilité au RSA_Jeune
@@ -637,10 +673,24 @@ def formula_2016_10(famille, mois_courant, parameters, mois_demande): | |||
|
|||
return montant | |||
|
|||
def formula_2018_01_01(famille, mois_courant, parameters, mois_demande): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette formule ne change rien par rapport à la formule précédente. Cet ajout est-il légitime ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
le changement dans cette nouvelle formule est dans la période du calcul de la rsa_deforfait_logement ('mois_courant' et pas mois_demande')
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, merci désolé pour le bruit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette évolution doit-elle se faire au 1/1/18 ? ou bien venir corriger la formule actuelle ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Lorsque j'ai corrigé la formule actuelle, les tests du fichier rsa_2017.py sont échoué.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@frtomas @JenniferTelep il faut que vous voyez ensemble les bases juridiques de ces modifications.
Si nécessaire, il faudra modifier les tests RSA 2017.
@guillett j'ai corrigé les formules existantes "rsa_base_ressources_prestations_familiales" et "rsa_fictif" et aussi les tests 2017 "rsa_2017.ymal" selon les références fournies par @JenniferTelep |
@@ -231,6 +238,7 @@ class rsa_base_ressources_prestations_familiales(Variable): | |||
value_type = float | |||
entity = Famille | |||
label = u"Prestations familiales inclues dans la base ressource RSA/RMI" | |||
reference = u"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=DA7C73D70BE5D3C7BE36D690E75FDC83.tplgfr38s_3?idArticle=LEGIARTI000020526199&cidTexte=LEGITEXT000006074069&categorieLien=id&dateTexte=20161231" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Top !
@@ -9,6 +9,13 @@ | |||
from openfisca_france.model.prestations.prestations_familiales.base_ressource import nb_enf | |||
|
|||
|
|||
class rsa_condition_heures_travail_remplie(Variable): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pour mieux refléter le contenu de cette variable elle pourrait être renommée en rsa_jeune_condition_heures_travail_remplie
.
|
||
cf_non_majore_avant_cumul = famille('cf_non_majore_avant_cumul', mois_demande) | ||
cf = famille('cf', mois_demande) | ||
# La période de calcul du 'cf_non_majore_avant_cumul' correspond au mois_courant et pas au mois_demande. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ce commentaire est n'apporte pas plus d'informations que la ligne qui le suit. Je pense qu'on peut le supprimer.
af_base = famille('af_base', mois_demande) | ||
af = famille('af', mois_demande) | ||
af_base = famille('af_base', mois_courant) | ||
# La période de calcul du 'af' correspond au mois_courant et pas au mois_demande. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ce commentaire est n'apporte pas plus d'informations que la ligne qui le suit. Je pense qu'on peut le supprimer.
@@ -290,30 +298,28 @@ def formula_2014_04_01(famille, period): | |||
|
|||
return result | |||
|
|||
|
|||
def formula_2017_01_01(famille, mois_demande, parameters, mois_courant): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Les modifications faites dans cette formule (ie. à partir de 1/1/2017) ne devraient elles pas être faites au moins à partir du 15/1/2009 ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@guillett mais la il existe déjà une autre formule 2014_04_01?!
J'ai ajouté une référence législative en commentaire au début de la formule 2017_01_01
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@guillett @JenniferTelep @jmdallais d’après le retour de l'expert, il y a deux périodes de prise en compte des prestations avant et après janvier 2017:
• A partir du 1er janvier 2017, les prestations sont prises en compte sur les 3 derniers mois précédant l'examen ou le réexamen périodique du droit au RSA, soit le trimestre de référence (cf. article R262-7 du code de l'action sociale et des familles après janvier 2017 :
"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=821E7B02C2E9018855EF67F6E70FE58A.tplgfr28s_3?idArticle=LEGIARTI000020526199&cidTexte=LEGITEXT000006074069&categorieLien=id&dateTexte=20161231"
• Les prestations avant janvier 2017 étaient prises en compte pour le mois en cours, soit le trimestre de droit (article R262-7 en vigueur du 1er juin 2009 au 31 décembre 2016:
"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=762C36DAF3970B2FE048DF7E43CCEA11.tplgfr28s_3?idArticle=LEGIARTI000020526199&cidTexte=LEGITEXT000006074069&categorieLien=id&dateTexte=20161231"
'paje_base', | ||
] | ||
prestations_autres = [ | ||
'rsa_forfait_asf', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
La liste des prestations devrait être triée par ordre alphabétique.
* condition_nationalite | ||
* rsa_eligibilite_tns | ||
) | ||
|
||
def formula_2010_01_01(famille, period, parameters): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Je ne comprends pas le besoin de créer une nouvelle formule. Peux-tu ajouter une référence législative en commentaire au début de fonction ?
tests/formulas/rsa/rsa_2017.yaml
Outdated
rsa_fictif: | ||
2016-12: 1145 - 156 - 500 - 130 # 359 | ||
2016-11: 1145 - 156 - 500 # 489 | ||
2016-10: 916 - 156 - 500 # 260 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Est-il possible d'expliciter à quoi correspond les 3 ou 4 composantes des calculs ?
This reverts commit 5cd00ab.
@guillett , concernant tes questions sur les prestations prises en compte pour le calcul du RSA, pouvons nous créer une issue pour tracer le problème et toi valider cette PR stp ? Planning PNDS oblige. Pour info. : @JenniferTelep , @ThibaultCCMSA @Lashchuk, @frtomas @mtifarine |
* condition_nationalite | ||
* rsa_eligibilite_tns | ||
) | ||
|
||
# u"https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006074069&idArticle=LEGIARTI000021636574&dateTexte=&categorieLien=cid" | ||
def formula_2010_01_01(famille, period, parameters): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cette formule est textuellement très proche de la formule antérieure, à deux lignes et une condition près. Il me semble qu'il serait possible d'éviter cette duplication, par exemple en introduisant un paramètre législatif qui prendrait la valeur "vrai" à partir de 2010.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Morendil Oui c'est fait, j'ai ajouté le paramètre rsa_jeune.yaml qui est à "vrai" a partir de 2010.
@jmdallais, @guillett @JenniferTelep , @ThibaultCCMSA, @frtomas
J'étais hors les murs jeudi et vendredi avec une connectivité limitée. Merci beaucoup @Morendil pour le suivi. @openfisca/france-msa les PRs pour être mergées doivent créer de la valeur et limiter génération de dette technique. Vous ne devriez pas mettre vos mises en production en dépendance avec les intégrations dans |
Cela étant dit, on va faire faire en sorte que cette PR soit mergée rapidement. |
@guillett , cette dette technique est déjà dans OF, elle n'a pas été générée par les travaux de fiabilisation qui, si l'on fait abstraction de ce cas précis, ont créé de la valeur. Me trompe-je ? |
@jmdallais merci pour ton commentaire. L'équilibre entre création de valeur et création de dette technique est toujours relativement précaire mais je te rejoints les travaux apportent de la valeur à OpenFisca-France. Merci à tous pour ces contributions. |
Ma revue n'est plus pertinente car des modifications ont été faites ultérieurement.
Je ne suis pas en capacité de faire la revue de cette PR. @frtomas peux-tu faire une revue et « Approve changes » une fois que tu en es satisfait ? @openfisca/france-admin avez-vous le temps pour faire des revues complémentaires ? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changement mineur sur un commentaire.
Rajouter un peu de contexte dans le changelog ou la docstring de 2017 pour expliquer le changement mois_demande -> mois_courant.
J'approuve les changements pour ne pas bloquer la PR mais svp prenez en compte mes petites remarques.
@@ -290,30 +298,25 @@ def formula_2014_04_01(famille, period): | |||
|
|||
return result | |||
|
|||
# u"https://www.legifrance.gouv.fr/affichCodeArticle.do;jsessionid=BAC96F4D0B5DD1B24170D2B57E1A0AE7.tplgfr38s_3?idArticle=LEGIARTI000033979130&cidTexte=LEGITEXT000006074069&categorieLien=id&dateTexte=" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Si cela concerne la formule ci dessous la mettre sous def formula
. Voir carrément rédiger une docstring
add rsa_base_ressources formula_2018_01_01 add rsa_fictif formula_2018_01
20bc2e1
to
6d1d965
Compare
prestations/minima_sociaux/rsa
.parameters/prestations/prestations_familiales/af/bmaf
parameters/prestations/minima_sociaux/rsa/age_min_rsa_jeune
parameters/prestations/minima_sociaux/rsa/age_max_rsa_jeune
parameters/prestations/minima_sociaux/rsa/rsa_jeune