diff --git a/openfisca_france_local/communes/antony/antony_aide_depart_sejour_adapte.py b/openfisca_france_local/communes/antony/antony_aide_depart_sejour_adapte.py new file mode 100644 index 00000000..9eaef5e3 --- /dev/null +++ b/openfisca_france_local/communes/antony/antony_aide_depart_sejour_adapte.py @@ -0,0 +1,46 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore + + +class antony_aide_depart_sejour_adapte(Variable): + value_type = float + entity = Famille + definition_period = MONTH + label = "Montant total de l'Aide au depart en sejour adapté de la ville de Antony" + + def formula(famille, period, parameters): + residence_antony = famille.demandeur.menage('antony_eligibilite_residence', period) + + condition_ressources_remplies = famille('antony_eligibilite_ressources', period) + + handicap = famille.members('handicap', period) + montant_individuel = famille('antony_aide_depart_sejour_adapte_montant_individuel', period) + montant_total = famille.sum(montant_individuel * handicap) + + return residence_antony * condition_ressources_remplies * montant_total + + +class antony_aide_depart_sejour_adapte_montant_individuel(Variable): + value_type = float + entity = Famille + definition_period = MONTH + label = "Montant individuel de l'Aide au depart en sejour adapté de la ville de Antony" + + def formula(famille, period, parameters): + parameters_antony = parameters(period).communes.antony.plafonds_revenus.sejour_adapte + + ressources_famille = famille('antony_base_ressources', period) + + montant = select( + [ + ressources_famille < parameters_antony.tranches.tranche_1, + ressources_famille < parameters_antony.tranches.tranche_2 + ], + [ + parameters_antony.montants.montant_tranche_1, + parameters_antony.montants.montant_tranche_2 + ], + default=0 + ) + + return montant diff --git a/openfisca_france_local/communes/antony/antony_bourse_communale.py b/openfisca_france_local/communes/antony/antony_bourse_communale.py new file mode 100644 index 00000000..cd504a6b --- /dev/null +++ b/openfisca_france_local/communes/antony/antony_bourse_communale.py @@ -0,0 +1,22 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore +from openfisca_france.model.prestations.education import TypesScolarite + + +class antony_bourse_communale(Variable): + value_type = bool + entity = Famille + definition_period = MONTH + label = "Eligibilité de la famille à la Bourse Communale de la ville de Antony" + + def formula(famille, period, parameters): + residence_antony = famille.demandeur.menage('antony_eligibilite_residence', period) + + condition_ressources_remplies = famille('antony_eligibilite_ressources', period) + + scolarite = famille.members('scolarite', period) + scolarise = ((scolarite == TypesScolarite.college) + (scolarite == TypesScolarite.lycee)) + + au_moins_un_enfant_scolarise = famille.any(scolarise, role = Famille.ENFANT) + + return residence_antony * condition_ressources_remplies * au_moins_un_enfant_scolarise diff --git a/openfisca_france_local/communes/antony/antony_bourse_conservatoire.py b/openfisca_france_local/communes/antony/antony_bourse_conservatoire.py new file mode 100644 index 00000000..faca6cc1 --- /dev/null +++ b/openfisca_france_local/communes/antony/antony_bourse_conservatoire.py @@ -0,0 +1,19 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore + + +class antony_bourse_conservatoire(Variable): + value_type = bool + entity = Famille + definition_period = MONTH + label = "Eligibilité de la famille a la Bourse du Conservatoire de la ville de Antony" + + def formula(famille, period, parameters): + residence_antony = famille.demandeur.menage('antony_eligibilite_residence', period) + + condition_ressources_remplies = famille('antony_eligibilite_ressources', period) + + age_i = famille.members('age', period) + au_moins_un_enfant_moins_de_18_ans = famille.any(age_i < 18, role=Famille.ENFANT) + + return residence_antony * condition_ressources_remplies * au_moins_un_enfant_moins_de_18_ans diff --git a/openfisca_france_local/communes/antony/antony_bourse_famille_nombreuse.py b/openfisca_france_local/communes/antony/antony_bourse_famille_nombreuse.py index e69de29b..efb96451 100644 --- a/openfisca_france_local/communes/antony/antony_bourse_famille_nombreuse.py +++ b/openfisca_france_local/communes/antony/antony_bourse_famille_nombreuse.py @@ -0,0 +1,20 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore + + +class antony_bourse_famille_nombreuse(Variable): + value_type = bool + entity = Famille + definition_period = MONTH + label = "Eligibilité de la famille a la Bourse Famille Nombreuse de la ville de Antony" + + def formula(famille, period, parameters): + residence_antony = famille.demandeur.menage('antony_eligibilite_residence', period) + + nb_enfants = famille.nb_persons(role=Famille.ENFANT) + condition_nb_enfants = nb_enfants >= 3 + + age_i = famille.members('age', period) + au_moins_un_enfant_moins_de_1_an = famille.any(age_i < 1, role=Famille.ENFANT) + + return residence_antony * condition_nb_enfants * au_moins_un_enfant_moins_de_1_an diff --git a/openfisca_france_local/communes/antony/antony_noel_pour_tous.py b/openfisca_france_local/communes/antony/antony_noel_pour_tous.py new file mode 100644 index 00000000..fdb1687d --- /dev/null +++ b/openfisca_france_local/communes/antony/antony_noel_pour_tous.py @@ -0,0 +1,20 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore + + +class antony_noel_pour_tous(Variable): + value_type = bool + entity = Famille + definition_period = MONTH + label = "Eligibilité de la famille au Noel pour Tous de la ville de Antony" + + def formula(famille, period, parameters): + residence_antony = famille.demandeur.menage('antony_eligibilite_residence', period) + + condition_ressources_remplies = famille('antony_eligibilite_ressources', period) + + age_demandeur = famille.demandeur('age', period) + + demandeur_moins_de_68_ans = age_demandeur < 68 + + return residence_antony * condition_ressources_remplies * demandeur_moins_de_68_ans diff --git a/openfisca_france_local/communes/antony/base_ressources.py b/openfisca_france_local/communes/antony/base_ressources.py new file mode 100644 index 00000000..c723dbe4 --- /dev/null +++ b/openfisca_france_local/communes/antony/base_ressources.py @@ -0,0 +1,98 @@ + # -*- coding: utf-8 -*- +from openfisca_france.model.base import * # noqa analysis:ignore + + +class antony_base_ressources(Variable): + value_type = float + entity = Famille + definition_period = MONTH + label = "Éligibilité de ressoures d'une aux dipositifs d'Antony" + + def formula(famille, period, parameters): + # N-1 + last_year = period.last_year + + # M-1 to M-3 + last_three_months = period.last_3_months + + ressources_individus_a_inclure = [ + 'salaire_imposable', + 'retraite_imposable', + 'chomage_imposable', + 'pensions_invalidite', + 'indemnites_journalieres', + 'aah', + 'pensions_alimentaires_percues' + ] + + ressources_famille_a_inclure = [ + 'af', + 'cf', + 'paje', + 'asf', + 'aeeh', + 'rsa', + 'ppa' + ] + + # This is a comment + ressources_famille_annuelles_a_inclure = [ + 'ars' + ] + + resources_mensuelles_individus_m_3 = sum([ + famille.members(resource, last_three_months, options=[ADD]) + for resource in ressources_individus_a_inclure + ]) + ressources_mensuelles_famille_m_3 = sum([ + famille(resource, last_three_months, options=[ADD]) + for resource in ressources_famille_a_inclure + ]) + ressources_m_3 = ressources_mensuelles_famille_m_3 + famille.sum(resources_mensuelles_individus_m_3) + + resources_mensuelles_individus_n_1 = sum([ + famille.members(resource, last_year, options=[ADD]) + for resource in ressources_individus_a_inclure + ]) + ressources_mensuelles_famille_n_1 = sum([ + famille(resource, last_year, options=[ADD]) + for resource in ressources_famille_a_inclure + ]) + ressources_annuelles_famille_n_1 = sum([ + famille(resource, last_year) + for resource in ressources_famille_annuelles_a_inclure + ]) + ressources_n_1 = (famille.sum((resources_mensuelles_individus_n_1 / 4)) + + (ressources_mensuelles_famille_n_1 / 4) + + (ressources_annuelles_famille_n_1 / 4) + ) + + ressources_considerees = min_(ressources_m_3, ressources_n_1) + + return ressources_considerees + + +class antony_eligibilite_ressources(Variable): + value_type = bool + entity = Famille + definition_period = MONTH + label = "Éligibilité de ressoures d'une aux dipositifs d'Antony" + + def formula(famille, period, parameters): + parameters_antony = parameters(period).communes.antony.plafonds_revenus + baremes_enfants = parameters_antony.bareme_enfants.bareme_ressources_par_enfant + + ressources_considerees = famille('antony_base_ressources', period) + + nb_enfants = famille.nb_persons(role=Famille.ENFANT) + + en_couple = famille('en_couple', period) + + plafond_considere = select( + [not_(en_couple) * (nb_enfants == 0), en_couple * (nb_enfants == 0), nb_enfants > 0], + # Le barème ne va que jusqu'à 7 enfants, on considère donc 7 enfants au plus dans le calcule du barème + # avec min_(nb_enfants, 7) + [parameters_antony.personne_seule, parameters_antony.couple, baremes_enfants.calc(min_(nb_enfants, 7))] + ) + + return ressources_considerees < plafond_considere diff --git a/openfisca_france_local/communes/antony/eligibilite.py b/openfisca_france_local/communes/antony/eligibilite.py index 7255c470..8161db9b 100644 --- a/openfisca_france_local/communes/antony/eligibilite.py +++ b/openfisca_france_local/communes/antony/eligibilite.py @@ -9,4 +9,4 @@ class antony_eligibilite_residence(Variable): label = "Éligibilité résidentielle d'un ménage aux dipositifs d'Antony" def formula(menage, period, parameters): - return (menage('depcom', period) == b'92160') \ No newline at end of file + return (menage('depcom', period) == b'92002') diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/1_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/1_pac.yaml deleted file mode 100644 index 9dc05dde..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/1_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec un enfant -unit: currency -values: - 2021-11-01: - value: 2732 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/2_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/2_pac.yaml deleted file mode 100644 index 9c6a0b35..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/2_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec deux enfants -unit: currency -values: - 2021-11-01: - value: 3559 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/3_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/3_pac.yaml deleted file mode 100644 index 53cfa23f..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/3_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec trois enfants -unit: currency -values: - 2021-11-01: - value: 4394 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/4_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/4_pac.yaml deleted file mode 100644 index 5c4602e2..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/4_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec quatre enfants -unit: currency -values: - 2021-11-01: - value: 5180 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/5_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/5_pac.yaml deleted file mode 100644 index c1b984dc..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/5_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec cinq enfants -unit: currency -values: - 2021-11-01: - value: 5961 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/6_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/6_pac.yaml deleted file mode 100644 index 4d6d28ac..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/6_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec six enfants -unit: currency -values: - 2021-11-01: - value: 6745 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/7_pac.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/7_pac.yaml deleted file mode 100644 index d8445e55..00000000 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/7_pac.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Plafond de ressources pour les aides d'Antony pour une famille avec sept enfants -unit: currency -values: - 2021-11-01: - value: 7528 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/bareme_enfants.yml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/bareme_enfants.yml new file mode 100644 index 00000000..184966f1 --- /dev/null +++ b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/bareme_enfants.yml @@ -0,0 +1,48 @@ +bareme_ressources_par_enfant: + description: Barème des plafond de ressources pour le droit aux aides de la ville de Antony + metadata: + type: single_amount + amount_unit: currency + brackets: + - amount: + 2021-06-01: + value: 2732 + threshold: + 2021-06-01: + value: 1 + - amount: + 2021-06-01: + value: 3559 + threshold: + 2021-06-01: + value: 2 + - amount: + 2021-06-01: + value: 4394 + threshold: + 2021-06-01: + value: 3 + - amount: + 2021-06-01: + value: 5180 + threshold: + 2021-06-01: + value: 4 + - amount: + 2021-06-01: + value: 5961 + threshold: + 2021-06-01: + value: 5 + - amount: + 2021-06-01: + value: 6745 + threshold: + 2021-06-01: + value: 6 + - amount: + 2021-06-01: + value: 7528 + threshold: + 2021-06-01: + value: 7 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/couple.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/couple.yaml index e4ab0e14..45a98186 100644 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/couple.yaml +++ b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/couple.yaml @@ -1,5 +1,5 @@ description: Plafond de ressources pour les aides d'Antony pour un couple sans enfants unit: currency values: - 2021-11-01: + 2021-06-01: value: 1922 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/personne_seule.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/personne_seule.yaml index 15f6ffde..6bebf1df 100644 --- a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/personne_seule.yaml +++ b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/personne_seule.yaml @@ -1,5 +1,5 @@ description: Plafond de ressources pour les aides d'Antony pour une personne seule unit: currency values: - 2021-11-01: + 2021-06-01: value: 1601 \ No newline at end of file diff --git a/openfisca_france_local/parameters/communes/antony/plafonds_revenus/sejour_adapte.yaml b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/sejour_adapte.yaml new file mode 100644 index 00000000..51325398 --- /dev/null +++ b/openfisca_france_local/parameters/communes/antony/plafonds_revenus/sejour_adapte.yaml @@ -0,0 +1,17 @@ +tranches: + description: Plafond de ressources pour les deux tranches de l'Aide au sejour adapte de la ville de Antony + tranche_1: + values: + 2021-06-01: 4394 + tranche_2: + values: + 2021-06-01: 7528 + +montants: + description: Montants accordés pour les deux tranches de l'Aide au sejour adapte de la ville de Antony + montant_tranche_1: + values: + 2021-06-01: 600 + montant_tranche_2: + values: + 2021-06-01: 300 \ No newline at end of file