diff --git a/openfisca_france_local/departements/eure_et_loir/aide-menagere.py b/openfisca_france_local/departements/eure_et_loir/aide-menagere.py index 135df35c..400f6ad2 100644 --- a/openfisca_france_local/departements/eure_et_loir/aide-menagere.py +++ b/openfisca_france_local/departements/eure_et_loir/aide-menagere.py @@ -31,15 +31,18 @@ def formula_2020_01(individu, period, parameters): condition_residence = individu.menage('eure_et_loir_eligibilite_residence', period) condition_age = ((age >= parameters_chemin.age_minimal_personne_agee_apte_travail) + ( - (age >= parameters_chemin.age_minimal_personne_agee_inapte_travail) * inapte_travail)) - condition_nationalite = ressortissant_eee + individu('refugie',period) + individu('apatride', period) + (age >= parameters_chemin.age_minimal_personne_agee_inapte_travail) * inapte_travail)) + condition_nationalite = ressortissant_eee + individu('refugie', period) + individu('apatride', period) + + # condition non intégrée : Les personnes de nationalité étrangère doivent justifier d'une résidence + # en France métropolitaine ininterrompue depuis au moins 15 ans, et ce avant l'âge de 70 ans. condition_gir = ((gir == TypesGir.gir_5) + (gir == TypesGir.gir_6)) condition_ressources = individu('asi_aspa_base_ressources_individu', period) <= individu.famille('aspa', period) - condition_apa = individu('apa_domicile', period.last_month) <=0 - condition_aides_actp = False if possede_actp else True - condition_aides_mtp = False if possede_mtp else True - condition_aide_menagere_caisse_retraite = False if individu('aide_menagere_fournie_caisse_retraite',period.last_month) else True + condition_apa = individu('apa_domicile', period.last_month) <= 0 + condition_aides_actp = not_(possede_actp) + condition_aides_mtp = not_(possede_mtp) + condition_aide_menagere_caisse_retraite = not_(individu('aide_menagere_fournie_caisse_retraite', period)) conditions_aides = condition_apa * condition_aide_menagere_caisse_retraite * condition_aides_actp * condition_aides_mtp return condition_residence * condition_age * condition_nationalite * condition_gir * condition_ressources * conditions_aides @@ -64,6 +67,8 @@ def formula_2020_01(individu, period, parameters): restriction_substantielle_durable = individu('aah_restriction_substantielle_durable_acces_emploi', period) age = individu('age', period) ressortissant_eee = individu('ressortissant_eee', period) + possede_actp = individu('actp', period) + possede_mtp = individu('mtp', period) individual_resource_names = { 'aah', @@ -76,19 +81,27 @@ def formula_2020_01(individu, period, parameters): ressources_annuelles = {'retraite_complementaire_artisan_commercant', 'retraite_complementaire_profession_liberale' } - individu_resources_month = sum(sum([individu(resource, period.last_month) for resource in individual_resource_names]), - sum([individu.famille(resource, period.last_month) for resource in ressources_famille])) - individu_resources = sum(individu_resources_month,sum([individu(resource, period, options = [DIVIDE]) for resource in ressources_annuelles])) + individu_resources_month = sum( + sum([individu(resource, period.last_month) for resource in individual_resource_names]), + sum([individu.famille(resource, period.last_month) for resource in ressources_famille])) + individu_resources = sum(individu_resources_month, sum( + [individu(resource, period, options=[DIVIDE]) for resource in ressources_annuelles])) condition_residence = individu.menage('eure_et_loir_eligibilite_residence', period) parameters_chemin = parameters( period).departements.eure_et_loir.aide_menagere condition_taux_incapacite = ((taux_incapacite >= parameters_chemin.taux_incapacite_superieur) - + ((taux_incapacite < parameters_chemin.taux_incapacite_maximum_restriction_acces_emploi) * ((taux_incapacite > parameters_chemin.taux_incapacite_minimum_restriction_acces_emploi) * restriction_substantielle_durable))) + + ((taux_incapacite < parameters_chemin.taux_incapacite_maximum_restriction_acces_emploi) * + ((taux_incapacite > parameters_chemin.taux_incapacite_minimum_restriction_acces_emploi) * restriction_substantielle_durable))) condition_age = (age <= parameters_chemin.age_minimal_personne_handicap) - condition_nationalite = ressortissant_eee + individu('refugie',period) + individu('apatride', period) - condition_ressources = individu_resources < individu.famille('aspa', period) - - return condition_residence * condition_taux_incapacite * condition_age * condition_nationalite * condition_ressources + condition_nationalite = ressortissant_eee + individu('refugie', period) + individu('apatride', period) + # condition non intégrée : Les personnes de nationalité étrangère doivent justifier d'une résidence + # en France métropolitaine ininterrompue depuis au moins 15 ans, et ce avant l'âge de 70 ans. + condition_ressources = individu_resources <= individu.famille('aspa', period) + condition_aides_actp = not_(possede_actp) + condition_aides_mtp = not_(possede_mtp) + condition_aide_menagere_caisse_retraite = not_(individu('aide_menagere_fournie_caisse_retraite', period)) + conditions_aides = condition_aide_menagere_caisse_retraite * condition_aides_actp * condition_aides_mtp + return condition_residence * condition_taux_incapacite * condition_age * condition_nationalite * condition_ressources * conditions_aides diff --git a/openfisca_france_local/departements/eure_et_loir/caracteristique_socio_demographique.py b/openfisca_france_local/departements/eure_et_loir/caracteristique_socio_demographique.py index be48ec07..080cd4d8 100644 --- a/openfisca_france_local/departements/eure_et_loir/caracteristique_socio_demographique.py +++ b/openfisca_france_local/departements/eure_et_loir/caracteristique_socio_demographique.py @@ -1,26 +1,30 @@ from openfisca_france.model.base import Variable, Individu, MONTH + class aide_menagere_fournie_caisse_retraite(Variable): value_type = bool - label ="Prestations d’aide-ménagère servie par les caisses de retraite" + label = "Bénéficiaire de prestations d’aide-ménagère servie par les caisses de retraite" entity = Individu definition_period = MONTH default_value = False + class actp(Variable): value_type = bool - label ="Bénéficiaire de l'Allocation compensatrice pour tierce personne" + label = "Bénéficiaire de l'Allocation compensatrice pour tierce personne" entity = Individu definition_period = MONTH default_value = False + class mtp(Variable): value_type = bool - label ="Bénéficiaire de la Majoration Tierce Personne" + label = "Bénéficiaire de la Majoration Tierce Personne" entity = Individu definition_period = MONTH default_value = False + class refugie(Variable): value_type = bool label = "La personne est réfugié" @@ -28,6 +32,7 @@ class refugie(Variable): definition_period = MONTH default_value = False + class apatride(Variable): value_type = bool label = "La personne est apatride" diff --git a/tests/departements/eure_et_loir/aide-menagere-personne-agee.yml b/tests/departements/eure_et_loir/aide-menagere-personne-agee.yml index 606d1087..c18680ca 100644 --- a/tests/departements/eure_et_loir/aide-menagere-personne-agee.yml +++ b/tests/departements/eure_et_loir/aide-menagere-personne-agee.yml @@ -239,8 +239,7 @@ inapte_travail: False nationalite: FR gir: gir_5 - aide_menagere_fournie_caisse_retraite: - 2020-09: True + aide_menagere_fournie_caisse_retraite: True familles: _: parents: p1