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

Limite expérimentation à départements associés #2360

Merged
merged 13 commits into from
Oct 2, 2024
Original file line number Diff line number Diff line change
Expand Up @@ -290,3 +290,12 @@ def formula(menage, period, parameters):
],
default=TypesLieuResidence.metropole
)


class departement_experimentation_rsa(Variable):
value_type = bool
entity = Famille
default_value = False
label = 'Résidence dans un département expérimentant le préremplissage du RSA'
definition_period = MONTH
set_input = set_input_dispatch_by_period
5 changes: 4 additions & 1 deletion openfisca_france/model/prestations/minima_sociaux/ppa.py
Original file line number Diff line number Diff line change
Expand Up @@ -503,7 +503,10 @@ class ppa(Variable):
reference = 'https://www.service-public.fr/particuliers/vosdroits/F2882'

def formula_2024_10(famille, period, parameters):
return ppa_base_formula(famille=famille, parameters=parameters, period=period, three_months_of_reference=last_3_months_offset_minus_1(period))
departement_experimentation_rsa = famille('departement_experimentation_rsa', period)
experimentation = ppa_base_formula(famille=famille, parameters=parameters, period=period, three_months_of_reference=last_3_months_offset_minus_1(period))
normal = ppa_base_formula(famille=famille, parameters=parameters, period=period, three_months_of_reference=period.last_3_months)
return departement_experimentation_rsa * experimentation + (1 - departement_experimentation_rsa) * normal
benjello marked this conversation as resolved.
Show resolved Hide resolved

def formula_2016_01_01(famille, period, parameters):
return ppa_base_formula(famille=famille, parameters=parameters, period=period, three_months_of_reference=period.last_3_months)
Expand Down
17 changes: 12 additions & 5 deletions openfisca_france/model/prestations/minima_sociaux/rsa.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,10 @@ class rsa_base_ressources_individu(Variable):
reference = 'https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006073189&idArticle=LEGIARTI000036393176&dateTexte=&categorieLien=id'

def formula_2024_10(individu, period, parameters):
return rsa_base_ressources_individu_base_formula(individu= individu, period= period, three_months_of_reference= last_3_months_offset_minus_1(period), parameters=parameters)
departement_experimentation_rsa = individu.famille('departement_experimentation_rsa', period)
experimentation = rsa_base_ressources_individu_base_formula(individu= individu, period= period, three_months_of_reference= last_3_months_offset_minus_1(period), parameters=parameters)
normal = rsa_base_ressources_individu_base_formula(individu= individu, period= period, three_months_of_reference= period.last_3_months, parameters=parameters)
return departement_experimentation_rsa * experimentation + (1 - departement_experimentation_rsa) * normal
Copy link
Member

Choose a reason for hiding this comment

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

Utiliser where ou select qui viennet de numpy ou switch qui vient d'openfisca-core et peu être plus explicite.


def formula_2009_06_01(individu, period, parameters):
return rsa_base_ressources_individu_base_formula(individu= individu, period= period, three_months_of_reference= period.last_3_months, parameters=parameters)
Expand Down Expand Up @@ -146,8 +149,10 @@ class rsa_base_ressources_minima_sociaux(Variable):
set_input = set_input_divide_by_period

def formula_2024_10(famille, period):
three_months_of_reference = last_3_months_offset_minus_1(period)
return calcul_minima_sociaux(famille= famille, period= period, three_months_of_reference=three_months_of_reference)
departement_experimentation_rsa = famille('departement_experimentation_rsa', period)
experimentation = calcul_minima_sociaux(famille= famille, period= period, three_months_of_reference= last_3_months_offset_minus_1(period))
normal = calcul_minima_sociaux(famille= famille, period= period, three_months_of_reference= period.last_3_months)
return departement_experimentation_rsa * experimentation + (1 - departement_experimentation_rsa) * normal

def formula(famille, period):
three_previous_months = period.last_3_months
Expand Down Expand Up @@ -478,8 +483,10 @@ class rsa_revenu_activite_individu(Variable):
set_input = set_input_divide_by_period

def formula_2024_10(individu, period):
period_m2_m4 = last_3_months_offset_minus_1(period)
return rsa_revenu_activite_individu_base_formula(individu= individu, period=period, three_months_of_reference=period_m2_m4)
departement_experimentation_rsa = individu.famille('departement_experimentation_rsa', period)
experimentation = rsa_revenu_activite_individu_base_formula(individu= individu, period= period, three_months_of_reference= last_3_months_offset_minus_1(period))
normal = rsa_revenu_activite_individu_base_formula(individu= individu, period= period, three_months_of_reference= period.last_3_months)
return departement_experimentation_rsa * experimentation + (1 - departement_experimentation_rsa) * normal

def formula_2009_06(individu, period):
last_3_months = period.last_3_months
Expand Down
1 change: 1 addition & 0 deletions tests/formulas/ppa/ppa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1038,6 +1038,7 @@
famille:
parents: [parent1, parent2]
ppa_eligibilite: true
departement_experimentation_rsa: true
benjello marked this conversation as resolved.
Show resolved Hide resolved
aide_logement:
2025-01: 200
2024-12: 200
Expand Down
1 change: 1 addition & 0 deletions tests/formulas/rsa.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -672,6 +672,7 @@
input:
famille:
parents: [personne1, personne2]
departement_experimentation_rsa: true
aide_logement:
2025-01: 200
2024-12: 200
Expand Down
Loading