From 8f210adcc2b935a9334ddf3df9673b55fe800154 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Fri, 22 Sep 2023 16:45:19 +0200 Subject: [PATCH 1/8] =?UTF-8?q?Ajoute=20l'aide=20100=20repas=20gratuits=20?= =?UTF-8?q?pour=20les=20=C3=A9tudiants=20boursiers=20=C3=A9chelons=203=20?= =?UTF-8?q?=C3=A0=207?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 8 ++++ .../crous/aide_100_repas_gratuits.yml | 19 ++++++++ .../crous/aide_100_repas_gratuits.py | 40 +++++++++++++++++ setup.py | 2 +- .../crous/aide_100_repas_gratuits.yml | 44 +++++++++++++++++++ 5 files changed, 112 insertions(+), 1 deletion(-) create mode 100644 openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml create mode 100644 openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py create mode 100644 tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml diff --git a/CHANGELOG.md b/CHANGELOG.md index f56574a4..73a11f33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [6.5.0] - 2023-09-22 + +_Pour les changements détaillés et les discussions associées, consultez la pull request [#184](https://github.com/openfisca/openfisca-france-local/pull/184)_ + +### Added + +- Ajoute la variable `crous_aide_100_repas_gratuits` + ## [6.4.1] - 2023-09-19 _Pour les changements détaillés et les discussions associées, consultez la pull request [#183](https://github.com/openfisca/openfisca-france-local/pull/183)_ diff --git a/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml new file mode 100644 index 00000000..9aa314dc --- /dev/null +++ b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml @@ -0,0 +1,19 @@ +age: + description: Limite d'âge de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers + maximum: + 2023-09-01: + value: 35 + +echelon_boursier: + description: Echelons autorisés pour l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers + minimum: + 2023-09-01: + value: 3 + maximum: + 2023-09-01: + value: 7 + +metadata: + reference: + 2023-09-01: + href: https://www.ij-hdf.fr/actualite/747/100-repas-gratuits-de-nouveau-attribues-aux-etudiants-boursiers-echelon-3-a-7#:~:text=Le%20Conseil%20R%C3%A9gional%20Hauts-de,en%20restos \ No newline at end of file diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py new file mode 100644 index 00000000..3086e2d8 --- /dev/null +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -0,0 +1,40 @@ +from numpy.core.defchararray import startswith +from openfisca_france.model.prestations.education import TypesScolarite, TypesClasse +from openfisca_france.model.base import Individu, MONTH, not_, Variable + +code_departements = [b'59', b'62'] + +class crous_aide_100_repas_gratuits(Variable): + value_type = float + entity = Individu + label = "Éligibilité financière à l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7" + reference = "https://www.ij-hdf.fr/actualite/747/100-repas-gratuits-de-nouveau-attribues-aux-etudiants-boursiers-echelon-3-a-7#:~:text=Le%20Conseil%20R%C3%A9gional%20Hauts-de,en%20restos" + definition_period = MONTH + + def formula(individu, period, parameters): + params = parameters(period).regions.hauts_de_france.crous.aide_100_repas_gratuits + + age = individu('age', period) + handicap = individu('handicap', period) + depcom = individu.menage('depcom', period) + anne_etude = individu('annee_etude', period) + echelon_boursier = individu('bourse_criteres_sociaux_echelon', period) + + + eligibilite_geographique = sum([startswith(depcom, code_departement) for code_departement in code_departements]) + + # Sont éligibles les étudiants ayant moins de 35 ans (limite d’âge non applicable aux étudiants en situation de handicap) + eligibilite_age = not_(handicap) * (age <= params.age.maximum) + handicap + + # Sont éligibles les personnes inscrites dans un établissement d’enseignement supérieur, public ou privé, partenaire de la Région, reconnu par le ministère de l’Enseignement supérieur, + # de la recherche et de l’innovation sur le territoire des Hauts-de-France, ou inscrites dans un établissement dispensant une formation sanitaire ou sociale gérée par la Région. + eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? + + # Sont éligibles les étudiants inscrits en BTS sont exclus de ce dispositif ainsi que tous les étudiants dont l’établissement d’inscription est un lycée, tels que les étudiants en CPGE. + eligibilite_annee_etude = (anne_etude != TypesClasse.cpge_1) * (anne_etude != TypesClasse.bts_1) * (anne_etude != TypesClasse.bts_2) * (anne_etude != TypesClasse.cpge_2) + + # Sont éligibles les étudiants boursiers échelon 3 à 7 + eligiblite_echelon_boursier = (echelon_boursier >= params.echelon_boursier.minimum ) * (echelon_boursier <= params.echelon_boursier.maximum) + + return eligibilite_geographique * eligibilite_age * eligibilite_scolarite * eligibilite_annee_etude * eligiblite_echelon_boursier + \ No newline at end of file diff --git a/setup.py b/setup.py index 2829864f..6f91a445 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ setup( name='OpenFisca-France-Local', - version='6.4.1', + version='6.5.0', author='OpenFisca Team', author_email='contact@openfisca.fr', classifiers=[ diff --git a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml new file mode 100644 index 00000000..4ee6e305 --- /dev/null +++ b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml @@ -0,0 +1,44 @@ + +- name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 + period: 2023-09 + input: + depcom: [59000, 59000, 59000, 59000, 59000, 59000] + age: [22, 22, 22, 22, 22, 22] + scolarite: ["enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] + bourse_criteres_sociaux_echelon: [0, 1, 2, 3, 5, 7] + output: + crous_aide_100_repas_gratuits: [false, false, false, true, true, true] + +- name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de l'âge et de la situation géographique + period: 2023-09 + input: + depcom: [59000, 59000, 59000, 68000] + age: [15, 30, 36, 30] + scolarite: ["enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] + bourse_criteres_sociaux_echelon: [3, 3, 3, 3] + output: + crous_aide_100_repas_gratuits: [true, true, false, false] + +- name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de la situation d'handicap + period: 2023-09 + input: + depcom: [59000, 59000] + age: [38, 38] + scolarite: ["enseignement_superieur", "enseignement_superieur"] + handicap: [true, false] + bourse_criteres_sociaux_echelon: [3, 3] + output: + crous_aide_100_repas_gratuits: [true, false] + +- name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de la scolarité et de l'année d'étude + period: 2023-09 + input: + depcom: [59000, 59000, 59000, 59000, 59000, 59000] + age: [22, 22, 22, 22, 22, 22] + scolarite: ["enseignement_superieur", "lycee", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] + annee_etude: [licence_1, seconde, bts_1, bts_2, cpge_1, cpge_2] + bourse_criteres_sociaux_echelon: [3, 3, 3, 3, 3, 3] + output: + crous_aide_100_repas_gratuits: [true, false, false, false, false, false] + + From 5e520bf4a0d24dbea94f73e292df22d44116abe7 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 12:03:36 +0200 Subject: [PATCH 2/8] Ajout saut de ligne - aide 100 repas gratuits crous hdf --- .../regions/hauts_de_france/crous/aide_100_repas_gratuits.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml index 9aa314dc..f6281c2f 100644 --- a/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml +++ b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml @@ -16,4 +16,5 @@ echelon_boursier: metadata: reference: 2023-09-01: - href: https://www.ij-hdf.fr/actualite/747/100-repas-gratuits-de-nouveau-attribues-aux-etudiants-boursiers-echelon-3-a-7#:~:text=Le%20Conseil%20R%C3%A9gional%20Hauts-de,en%20restos \ No newline at end of file + href: https://www.ij-hdf.fr/actualite/747/100-repas-gratuits-de-nouveau-attribues-aux-etudiants-boursiers-echelon-3-a-7#:~:text=Le%20Conseil%20R%C3%A9gional%20Hauts-de,en%20restos + \ No newline at end of file From 2accecd01d5b23e2d9d943b401026f87e4fd0a23 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 12:19:13 +0200 Subject: [PATCH 3/8] =?UTF-8?q?Condition=20sur=20la=20r=C3=A9gion=20au=20l?= =?UTF-8?q?ieu=20du=20d=C3=A9partement=20-=20aide=20100=20repas=20gratuits?= =?UTF-8?q?=20crous=20hdf=20&=20suppr.=20comments=20superflus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../crous/aide_100_repas_gratuits.py | 17 +++++------------ .../crous/aide_100_repas_gratuits.yml | 8 ++++---- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py index 3086e2d8..1ce7c353 100644 --- a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -1,9 +1,8 @@ from numpy.core.defchararray import startswith from openfisca_france.model.prestations.education import TypesScolarite, TypesClasse +from openfisca_france.model.caracteristiques_socio_demographiques.logement import TypesCodeInseeRegion from openfisca_france.model.base import Individu, MONTH, not_, Variable -code_departements = [b'59', b'62'] - class crous_aide_100_repas_gratuits(Variable): value_type = float entity = Individu @@ -16,24 +15,18 @@ def formula(individu, period, parameters): age = individu('age', period) handicap = individu('handicap', period) - depcom = individu.menage('depcom', period) - anne_etude = individu('annee_etude', period) + region = individu.menage('region', period) + annee_etude = individu('annee_etude', period) echelon_boursier = individu('bourse_criteres_sociaux_echelon', period) - - eligibilite_geographique = sum([startswith(depcom, code_departement) for code_departement in code_departements]) + eligibilite_geographique = (region == TypesCodeInseeRegion.hauts_de_france) - # Sont éligibles les étudiants ayant moins de 35 ans (limite d’âge non applicable aux étudiants en situation de handicap) eligibilite_age = not_(handicap) * (age <= params.age.maximum) + handicap - # Sont éligibles les personnes inscrites dans un établissement d’enseignement supérieur, public ou privé, partenaire de la Région, reconnu par le ministère de l’Enseignement supérieur, - # de la recherche et de l’innovation sur le territoire des Hauts-de-France, ou inscrites dans un établissement dispensant une formation sanitaire ou sociale gérée par la Région. eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? - # Sont éligibles les étudiants inscrits en BTS sont exclus de ce dispositif ainsi que tous les étudiants dont l’établissement d’inscription est un lycée, tels que les étudiants en CPGE. - eligibilite_annee_etude = (anne_etude != TypesClasse.cpge_1) * (anne_etude != TypesClasse.bts_1) * (anne_etude != TypesClasse.bts_2) * (anne_etude != TypesClasse.cpge_2) + eligibilite_annee_etude = (annee_etude != TypesClasse.cpge_1) * (annee_etude != TypesClasse.bts_1) * (annee_etude != TypesClasse.bts_2) * (annee_etude != TypesClasse.cpge_2) - # Sont éligibles les étudiants boursiers échelon 3 à 7 eligiblite_echelon_boursier = (echelon_boursier >= params.echelon_boursier.minimum ) * (echelon_boursier <= params.echelon_boursier.maximum) return eligibilite_geographique * eligibilite_age * eligibilite_scolarite * eligibilite_annee_etude * eligiblite_echelon_boursier diff --git a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml index 4ee6e305..a4726e50 100644 --- a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml +++ b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml @@ -2,7 +2,7 @@ - name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 period: 2023-09 input: - depcom: [59000, 59000, 59000, 59000, 59000, 59000] + region: [hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france] age: [22, 22, 22, 22, 22, 22] scolarite: ["enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] bourse_criteres_sociaux_echelon: [0, 1, 2, 3, 5, 7] @@ -12,7 +12,7 @@ - name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de l'âge et de la situation géographique period: 2023-09 input: - depcom: [59000, 59000, 59000, 68000] + region: [hauts_de_france, hauts_de_france, hauts_de_france, grand_est] age: [15, 30, 36, 30] scolarite: ["enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] bourse_criteres_sociaux_echelon: [3, 3, 3, 3] @@ -22,7 +22,7 @@ - name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de la situation d'handicap period: 2023-09 input: - depcom: [59000, 59000] + region: [hauts_de_france, hauts_de_france] age: [38, 38] scolarite: ["enseignement_superieur", "enseignement_superieur"] handicap: [true, false] @@ -33,7 +33,7 @@ - name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de la scolarité et de l'année d'étude period: 2023-09 input: - depcom: [59000, 59000, 59000, 59000, 59000, 59000] + region: [hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france] age: [22, 22, 22, 22, 22, 22] scolarite: ["enseignement_superieur", "lycee", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] annee_etude: [licence_1, seconde, bts_1, bts_2, cpge_1, cpge_2] From 7811c35078fa8071b7d57b70345863aaaab55af6 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 12:20:21 +0200 Subject: [PATCH 4/8] Refacto condition handicap - aide 100 repas gratuits crous hdf & suppr. comments superflus --- .../regions/hauts_de_france/crous/aide_100_repas_gratuits.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py index 1ce7c353..be6c2888 100644 --- a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -21,7 +21,7 @@ def formula(individu, period, parameters): eligibilite_geographique = (region == TypesCodeInseeRegion.hauts_de_france) - eligibilite_age = not_(handicap) * (age <= params.age.maximum) + handicap + eligibilite_age = (age <= params.age.maximum) + handicap eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? From 8c31878e6a847c4140750370d72ec47029c6f162 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 15:25:36 +0200 Subject: [PATCH 5/8] Refacto final line - aide 100 repas gratuits crous hdf --- .../regions/hauts_de_france/crous/aide_100_repas_gratuits.py | 3 +-- .../regions/hauts-de-france/crous/aide_100_repas_gratuits.yml | 2 -- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py index be6c2888..be28ced6 100644 --- a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -23,11 +23,10 @@ def formula(individu, period, parameters): eligibilite_age = (age <= params.age.maximum) + handicap - eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? + eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? eligibilite_annee_etude = (annee_etude != TypesClasse.cpge_1) * (annee_etude != TypesClasse.bts_1) * (annee_etude != TypesClasse.bts_2) * (annee_etude != TypesClasse.cpge_2) eligiblite_echelon_boursier = (echelon_boursier >= params.echelon_boursier.minimum ) * (echelon_boursier <= params.echelon_boursier.maximum) return eligibilite_geographique * eligibilite_age * eligibilite_scolarite * eligibilite_annee_etude * eligiblite_echelon_boursier - \ No newline at end of file diff --git a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml index a4726e50..32c4008e 100644 --- a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml +++ b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml @@ -40,5 +40,3 @@ bourse_criteres_sociaux_echelon: [3, 3, 3, 3, 3, 3] output: crous_aide_100_repas_gratuits: [true, false, false, false, false, false] - - From e1c6b93bfdd891f02ad719717c4b4bc904211a2f Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 16:41:12 +0200 Subject: [PATCH 6/8] Refacto final line - aide 100 repas gratuits crous hdf --- .../regions/hauts_de_france/crous/aide_100_repas_gratuits.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml index f6281c2f..bfe1360e 100644 --- a/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml +++ b/openfisca_france_local/parameters/regions/hauts_de_france/crous/aide_100_repas_gratuits.yml @@ -5,7 +5,7 @@ age: value: 35 echelon_boursier: - description: Echelons autorisés pour l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers + description: Echelons autorisés pour l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers minimum: 2023-09-01: value: 3 @@ -17,4 +17,3 @@ metadata: reference: 2023-09-01: href: https://www.ij-hdf.fr/actualite/747/100-repas-gratuits-de-nouveau-attribues-aux-etudiants-boursiers-echelon-3-a-7#:~:text=Le%20Conseil%20R%C3%A9gional%20Hauts-de,en%20restos - \ No newline at end of file From 1c6947a1f249b2d045ceea40f9a009a3fb0b4198 Mon Sep 17 00:00:00 2001 From: Shamzic Date: Mon, 25 Sep 2023 18:41:25 +0200 Subject: [PATCH 7/8] Ajoute formation sanitaire ou sociale - aide 100 repas gratuits crous hdf --- .../crous/aide_100_repas_gratuits.py | 5 +++-- .../crous/aide_100_repas_gratuits.yml | 13 +++++++------ 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py index be28ced6..31456584 100644 --- a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -2,7 +2,7 @@ from openfisca_france.model.prestations.education import TypesScolarite, TypesClasse from openfisca_france.model.caracteristiques_socio_demographiques.logement import TypesCodeInseeRegion from openfisca_france.model.base import Individu, MONTH, not_, Variable - +from openfisca_france.model.caracteristiques_socio_demographiques.demographie import GroupeSpecialitesFormation class crous_aide_100_repas_gratuits(Variable): value_type = float entity = Individu @@ -18,12 +18,13 @@ def formula(individu, period, parameters): region = individu.menage('region', period) annee_etude = individu('annee_etude', period) echelon_boursier = individu('bourse_criteres_sociaux_echelon', period) + groupe_specialites_formation = individu('groupe_specialites_formation', period) eligibilite_geographique = (region == TypesCodeInseeRegion.hauts_de_france) eligibilite_age = (age <= params.age.maximum) + handicap - eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) # + (individu('scolarite', period) == TypesScolarite.formation_sanitaire_ou_sociale) @Todo : Ajouter la variable 'formation_sanitaire_ou_sociale' sur sur openfisca-france ? + eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) + (groupe_specialites_formation == GroupeSpecialitesFormation.groupe_330) eligibilite_annee_etude = (annee_etude != TypesClasse.cpge_1) * (annee_etude != TypesClasse.bts_1) * (annee_etude != TypesClasse.bts_2) * (annee_etude != TypesClasse.cpge_2) diff --git a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml index 32c4008e..fe46e4ee 100644 --- a/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml +++ b/tests/regions/hauts-de-france/crous/aide_100_repas_gratuits.yml @@ -33,10 +33,11 @@ - name: Égibilité de l'aide du crous et de la région Hauts-de-France de 100 repas gratuits aux étudiants boursiers échelon 3 à 7 en fonction de la scolarité et de l'année d'étude period: 2023-09 input: - region: [hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france] - age: [22, 22, 22, 22, 22, 22] - scolarite: ["enseignement_superieur", "lycee", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur"] - annee_etude: [licence_1, seconde, bts_1, bts_2, cpge_1, cpge_2] - bourse_criteres_sociaux_echelon: [3, 3, 3, 3, 3, 3] + region: [hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france, hauts_de_france] + age: [22, 22, 22, 22, 22, 22, 22] + groupe_specialites_formation: ["groupe_100", "groupe_200", "groupe_300", "groupe_310", "groupe_311", "groupe_320", "groupe_330"] + scolarite: ["enseignement_superieur", "lycee", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "enseignement_superieur", "inconnue"] + annee_etude: [licence_1, seconde, bts_1, bts_2, cpge_1, cpge_2, autre] + bourse_criteres_sociaux_echelon: [3, 3, 3, 3, 3, 3, 3] output: - crous_aide_100_repas_gratuits: [true, false, false, false, false, false] + crous_aide_100_repas_gratuits: [true, false, false, false, false, false, true] From bd2dff1e441095a21f225beeaa0f1752dcbc1ccb Mon Sep 17 00:00:00 2001 From: Shamzic Date: Wed, 27 Sep 2023 10:56:09 +0200 Subject: [PATCH 8/8] Refacto - aide 100 repas gratuits crous hdf --- .../regions/hauts_de_france/crous/aide_100_repas_gratuits.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py index 31456584..a1d56ee6 100644 --- a/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py +++ b/openfisca_france_local/regions/hauts_de_france/crous/aide_100_repas_gratuits.py @@ -16,6 +16,7 @@ def formula(individu, period, parameters): age = individu('age', period) handicap = individu('handicap', period) region = individu.menage('region', period) + scolarite = individu('scolarite', period) annee_etude = individu('annee_etude', period) echelon_boursier = individu('bourse_criteres_sociaux_echelon', period) groupe_specialites_formation = individu('groupe_specialites_formation', period) @@ -24,10 +25,10 @@ def formula(individu, period, parameters): eligibilite_age = (age <= params.age.maximum) + handicap - eligibilite_scolarite = (individu('scolarite', period) == TypesScolarite.enseignement_superieur) + (groupe_specialites_formation == GroupeSpecialitesFormation.groupe_330) + eligibilite_scolarite_formation = (scolarite == TypesScolarite.enseignement_superieur) + (groupe_specialites_formation == GroupeSpecialitesFormation.groupe_330) eligibilite_annee_etude = (annee_etude != TypesClasse.cpge_1) * (annee_etude != TypesClasse.bts_1) * (annee_etude != TypesClasse.bts_2) * (annee_etude != TypesClasse.cpge_2) eligiblite_echelon_boursier = (echelon_boursier >= params.echelon_boursier.minimum ) * (echelon_boursier <= params.echelon_boursier.maximum) - return eligibilite_geographique * eligibilite_age * eligibilite_scolarite * eligibilite_annee_etude * eligiblite_echelon_boursier + return eligibilite_geographique * eligibilite_age * eligibilite_scolarite_formation * eligibilite_annee_etude * eligiblite_echelon_boursier