diff --git a/CHANGELOG.md b/CHANGELOG.md index 79ff8fc1..3b4350d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.13.0] - 2024-09-24 + +_Pour les changements détaillés et les discussions associées, référencez la pull request [#215](https://github.com/openfisca/openfisca-france-local/pull/215)_ + +### Added + +- Ajoute la variable `pass_jeune_54` (aide du département `meurthe_et_moselle`) + ## [6.12.4] - 2024-07-30 _Pour les changements détaillés et les discussions associées, référencez la pull request [#213](https://github.com/openfisca/openfisca-france-local/pull/213)_ diff --git a/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py b/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py new file mode 100644 index 00000000..290df298 --- /dev/null +++ b/openfisca_france_local/departements/meurthe_et_moselle/eligibilite.py @@ -0,0 +1,12 @@ +from openfisca_france.model.base import Variable, Menage, MONTH +from numpy.core.defchararray import startswith + + +class meurthe_et_moselle_eligibilite_residence(Variable): + value_type = bool + entity = Menage + definition_period = MONTH + label = "Éligibilité résidentielle d'un ménage aux dipositifs de Meurthe-et-Moselle" + + def formula(menage, period): + return startswith(menage('depcom', period), b'54') diff --git a/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py new file mode 100644 index 00000000..3f73d9e7 --- /dev/null +++ b/openfisca_france_local/departements/meurthe_et_moselle/pass_jeune_54.py @@ -0,0 +1,46 @@ +from openfisca_france.model.base import Variable, Individu, MONTH + + +class eligibilite_age_pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Éligibilité d'âge pour le Pass Jeune 54 du département Meurthe-et-Moselle" + + def formula(individu, period, parameters): + age = individu('age', period) + age_minimum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.minimum_inclusif + age_maximum = parameters(period).departements.meurthe_et_moselle.pass_jeune_54.age.maximum_inclusif + return (age_minimum <= age) * (age <= age_maximum) + +class quotient_familial_pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Quotient familial pour le Pass Jeune 54 du département Meurthe-et-Moselle" + + def formula(individu, period): + rfr = individu.foyer_fiscal('rfr', period.n_2) + nbptr = individu.foyer_fiscal('nbptr', period.n_2) + return rfr / nbptr / 12 + +class pass_jeune_54(Variable): + value_type = float + entity = Individu + definition_period = MONTH + label = "Montant pour le Pass Jeune 54 du département Meurthe-et-Moselle" + reference = [ + "https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54" + ] + + def formula(individu, period, parameters): + + params = parameters(period).departements.meurthe_et_moselle.pass_jeune_54 + + eligibilite_residentielle = individu.menage('meurthe_et_moselle_eligibilite_residence', period) + eligibilite_age = individu('eligibilite_age_pass_jeune_54', period) + quotient_familial = individu('quotient_familial_pass_jeune_54', period) + + montant = params.montant_en_fonction_du_quotient_familial.calc(quotient_familial) + + return montant * eligibilite_residentielle * eligibilite_age diff --git a/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml new file mode 100644 index 00000000..f6758510 --- /dev/null +++ b/openfisca_france_local/parameters/departements/meurthe_et_moselle/pass_jeune_54.yml @@ -0,0 +1,47 @@ +age: + minimum_inclusif: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Éligibilité d'âge minimum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + values: + 2024-01-01: + value: 6 + maximum_inclusif: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Éligibilité d'âge maximum pour l'aide Pass Jeunes 54 dans le département de la Meurthe-et-Moselle. + values: + 2024-01-01: + value: 16 + +montant_en_fonction_du_quotient_familial: + reference: + - https://meurthe-et-moselle.fr/actions/education-populaire-jeunesse-sports/sport/pass-jeunes-54 + description: Montant obtenu pour l'aide Pass Jeunes 54 en région Auvergne-Rhône-Alpes. + metadata: + type: single_amount + brackets: + - threshold: + 2024-01-01: + value: 0 + amount: + 2024-01-01: + value: 100 + - threshold: + 2024-01-01: + value: 451 + amount: + 2024-01-01: + value: 70 + - threshold: + 2024-01-01: + value: 551 + amount: + 2024-01-01: + value: 50 + - threshold: + 2024-01-01: + value: 651 + amount: + 2024-01-01: + value: 0 diff --git a/setup.py b/setup.py index e9ba9936..ae8e9e12 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup( name='OpenFisca-France-Local', - version='6.12.4', + version='6.13.0', author='OpenFisca Team', author_email='contact@openfisca.fr', classifiers=[ diff --git a/tests/departements/meurthe_et_moselle/pass_jeune_54.yml b/tests/departements/meurthe_et_moselle/pass_jeune_54.yml new file mode 100644 index 00000000..2a18826e --- /dev/null +++ b/tests/departements/meurthe_et_moselle/pass_jeune_54.yml @@ -0,0 +1,23 @@ +- period: 2024-01 + name: "Éligibilité d'âge et de résidence" + input: + age: [5, 6, 8, 16, 17] + depcom: [54000, 54000, 68400, 54000, 54000] + rfr: + 2022: [80, 80, 80, 80, 80] + nbptr: + 2022: [1, 1, 1, 1, 1] + output: + pass_jeune_54: [0, 100, 0, 100, 0] + +- period: 2024-01 + name: Montant en fonction du quotient familial + input: + age: [14, 14, 14, 14] + depcom: [54000, 54000, 54000, 54000] + rfr: + 2022: [7850, 13300, 5600, 5200] + nbptr: + 2022: [1, 2, 1, 1] + output: + pass_jeune_54: [0, 50, 70, 100]