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]