Skip to content

Commit 0ece0c9

Browse files
Ajoute l'aide permis de conduire de region Nouvelle Aquitaine (#181)
* Convertit le ficchier de paramètre de la région nouvelle aquitaine en arborescence * Ajoute et modélise la variable `nouvelle_aquitaine_aide_permis`
1 parent 585a6ad commit 0ece0c9

File tree

8 files changed

+225
-11
lines changed

8 files changed

+225
-11
lines changed

CHANGELOG.md

+16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,21 @@
11
# Changelog
22

3+
## [6.3.0] - 2023-09-11
4+
5+
_Pour les changements détaillés et les discussions associées, consultez la pull request [#181](https://github.com/openfisca/openfisca-france-local/pull/181)_
6+
7+
### Added
8+
9+
- Ajoute la variable `nouvelle_aquitaine_aide_permis`
10+
11+
### Changed
12+
13+
- Créé un dossier pour les pour les paramètres de la `carte solidaire` de la région Nouvelle Aquitaine
14+
15+
### Removed
16+
17+
- Retire la compatibilité avec `openfisca-france` v153.0.1 et inférieur
18+
319
## [6.2.0] - 2023-09-05
420

521
_Pour les changements détaillés et les discussions associées, consultez la pull request [#180](https://github.com/openfisca/openfisca-france-local/pull/180)_

openfisca_france_local/parameters/regions/nouvelle_aquitaine.yml

-9
This file was deleted.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
age:
2+
minimum_inclusif:
3+
values:
4+
2022-01-01:
5+
value: 17
6+
maximum_inclusif:
7+
values:
8+
2022-01-01:
9+
value: 25
10+
11+
montant_en_fonction_du_quotient_familial:
12+
metadata:
13+
type: single_amount
14+
brackets:
15+
- threshold:
16+
2022-01-01:
17+
value: 0
18+
amount:
19+
2022-01-01:
20+
value: 1200
21+
- threshold:
22+
2022-01-01:
23+
value: 9700
24+
amount:
25+
2022-01-01:
26+
value: 800
27+
- threshold:
28+
2022-01-01:
29+
value: 12001
30+
amount:
31+
2022-01-01:
32+
value: 400
33+
- threshold:
34+
2022-01-01:
35+
value: 15001
36+
amount:
37+
2022-01-01:
38+
value: 0
39+
40+
montant_en_fonction_du_quotient_familial_pour_alternants:
41+
metadata:
42+
type: single_amount
43+
brackets:
44+
- threshold:
45+
2022-01-01:
46+
value: 0
47+
amount:
48+
2022-01-01:
49+
value: 700
50+
- threshold:
51+
2022-01-01:
52+
value: 9700
53+
amount:
54+
2022-01-01:
55+
value: 300
56+
- threshold:
57+
2022-01-01:
58+
value: 12001
59+
amount:
60+
2022-01-01:
61+
value: 0
62+
63+
metadata:
64+
reference:
65+
2022-01-01:
66+
href: https://les-aides.nouvelle-aquitaine.fr/amenagement-du-territoire/aide-au-passage-du-permis-de-conduire-b
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
values:
2+
2009-01-01:
3+
value: 870
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
values:
2+
2009-01-01:
3+
value: 80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
2+
from openfisca_france.model.base import (
3+
Variable, Individu, MONTH, TypesActivite, select, not_)
4+
from openfisca_france.model.caracteristiques_socio_demographiques.logement import (TypesCodeInseeRegion)
5+
from openfisca_france.model.prestations.education import TypesScolarite, TypesClasse
6+
7+
8+
class eligibilite_age_nouvelle_aquitaine_aide_permis(Variable):
9+
value_type = float
10+
entity = Individu
11+
definition_period = MONTH
12+
label = "Éligibilité d'âge de l'aide au permis de la région Nouvelle-Aquitaine"
13+
14+
def formula(individu, period, parameters):
15+
modalites_age = parameters(period).regions.nouvelle_aquitaine.aide_permis.age
16+
age = individu('age', period)
17+
age_minimum = modalites_age.minimum_inclusif
18+
age_maximum = modalites_age.maximum_inclusif
19+
return (age >= age_minimum) * (age <= age_maximum)
20+
21+
22+
class eligibilite_profile_nouvelle_aquitaine_aide_permis(Variable):
23+
value_type = float
24+
entity = Individu
25+
definition_period = MONTH
26+
label = "Éligibilité de situation de l'aide au permis de la région Nouvelle-Aquitaine"
27+
28+
def formula(individu, period):
29+
est_chomeur = individu('activite', period) == TypesActivite.chomeur
30+
31+
est_lyceen = individu('scolarite', period) == TypesScolarite.lycee
32+
annee_etude = individu('annee_etude', period)
33+
eligibilite_annee_etude = ((annee_etude == TypesClasse.cap_2) + (annee_etude == TypesClasse.terminale)) * (est_lyceen)
34+
35+
est_alternant = individu('alternant', period)
36+
37+
en_service_civique = individu('service_civique', period)
38+
39+
return est_chomeur + eligibilite_annee_etude + en_service_civique + est_alternant
40+
41+
42+
class montant_nouvelle_aquitaine_aide_permis(Variable):
43+
value_type = float
44+
entity = Individu
45+
definition_period = MONTH
46+
label = "Montant de l'aide au permis de la région Nouvelle-Aquitaine"
47+
48+
def formula(individu, period, parameters):
49+
modalites_montants = parameters(period).regions.nouvelle_aquitaine.aide_permis
50+
rfr = individu.foyer_fiscal('rfr', period.n_2)
51+
nbptr = individu.foyer_fiscal('nbptr', period.n_2)
52+
quotient_familial = rfr / nbptr
53+
54+
est_alternant = individu('alternant', period)
55+
56+
calcul_montant_alternants = modalites_montants.montant_en_fonction_du_quotient_familial_pour_alternants.calc
57+
calcul_montant = modalites_montants.montant_en_fonction_du_quotient_familial.calc
58+
return select([est_alternant, not_(est_alternant)],
59+
[calcul_montant_alternants(quotient_familial), calcul_montant(quotient_familial)])
60+
61+
62+
class nouvelle_aquitaine_aide_permis(Variable):
63+
value_type = float
64+
entity = Individu
65+
definition_period = MONTH
66+
reference = 'https://les-aides.nouvelle-aquitaine.fr/amenagement-du-territoire/aide-au-passage-du-permis-de-conduire-b'
67+
label = "Éligibilité et montant associé de l'aide au permis de la région Nouvelle-Aquitaine"
68+
documentation = '''
69+
La modélisation de cette aide ne correspond pas à la réalité.
70+
Les conditions décrites dans le paragraphe `Diplômé de la filière professionnelle ou agricole en insertion professionnelle` sont modélisées en fonction des profils susceptibles d'être intéressés lors d'une simulation avec Aides-Jeunes.
71+
72+
De plus, les profils décrits dans les paragraphes suivants ne sont pas modélisés :
73+
- En insertion professionnelle suivi par une mission locale
74+
- Scolarisé en établissement régional d’enseignement adapté (EREA)
75+
'''
76+
77+
def formula(individu, period):
78+
region_residence = individu.menage('region', period)
79+
eligibilite_geographique = sum([region_residence == TypesCodeInseeRegion.nouvelle_aquitaine])
80+
81+
eligibilite_age = individu('eligibilite_age_nouvelle_aquitaine_aide_permis', period)
82+
83+
eligibilite_profile = individu('eligibilite_profile_nouvelle_aquitaine_aide_permis', period)
84+
85+
montant = individu('montant_nouvelle_aquitaine_aide_permis', period)
86+
87+
return montant * eligibilite_geographique * eligibilite_age * eligibilite_profile

setup.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
setup(
55
name='OpenFisca-France-Local',
6-
version='6.2.0',
6+
version='6.3.0',
77
author='OpenFisca Team',
88
author_email='[email protected]',
99
classifiers=[
@@ -25,7 +25,7 @@
2525
include_package_data=True,
2626
install_requires=[
2727
'OpenFisca-Core >= 40.0.1, < 42',
28-
'OpenFisca-France >= 149.1.1, < 154',
28+
'OpenFisca-France >= 153.0.1, < 154',
2929
'pandas >= 1.5.3, <2.0'
3030
],
3131
extras_require={
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
- period: 2023-08
2+
name: Éligibilité d'age et de résidence et de profil
3+
input:
4+
age: [16, 17, 25, 26, 17, 17, 17, 17, 17, 17]
5+
depcom: [19272, 19272, 19272, 19272, 38185, 19272, 19272, 19272, 19272, 19272]
6+
scolarite: ['lycee','lycee','lycee','lycee','lycee', 'inconnue', 'inconnue', 'inconnue','inconnue','inconnue']
7+
annee_etude: [cap_2, cap_2, cap_2, cap_2, cap_2, cap_2, cap_2, cap_2, cap_2, cap_2]
8+
activite: ['inactif','inactif','inactif','inactif','inactif','actif', 'chomeur', 'inactif','inactif','inactif']
9+
service_civique: [False, False, False, False, False, False, False, False, True, False]
10+
alternant: [False, False, False, False, False, False, False, False, False, True]
11+
output:
12+
nouvelle_aquitaine_aide_permis: [0, 1200, 1200,0, 0, 0, 1200, 0, 1200, 700]
13+
14+
- period: 2023-08
15+
name: Éligibilité de classe du lycée
16+
input:
17+
age: [18, 18, 18, 18, 18, 18, 18]
18+
depcom: [19272, 19272, 19272, 19272, 19272, 19272, 19272, ]
19+
scolarite: [lycee, lycee, lycee, lycee, lycee, lycee, lycee, ]
20+
annee_etude: [cap_1, cap_2, seconde, premiere, terminale, bts_1, bts_2]
21+
output:
22+
nouvelle_aquitaine_aide_permis: [0, 1200, 0, 0, 1200, 0, 0]
23+
24+
- period: 2023-08
25+
name: Montants
26+
input:
27+
age: [17, 17, 17, 17]
28+
depcom: [19272, 19272, 19272, 19272]
29+
service_civique: [true, true, true, true]
30+
rfr:
31+
2021: [9699, 12000, 12001, 15001]
32+
nbptr:
33+
2021: [1, 1, 1, 1]
34+
output:
35+
nouvelle_aquitaine_aide_permis: [1200, 800, 400, 0]
36+
37+
- period: 2023-08
38+
name: Montants pour alternants
39+
input:
40+
age: [17, 17, 17, 17]
41+
depcom: [19272, 19272, 19272, 19272]
42+
alternant: [True, True, True, True]
43+
rfr:
44+
2021: [9699, 9700, 12000, 12001]
45+
nbptr:
46+
2021: [1, 1, 1, 1]
47+
output:
48+
nouvelle_aquitaine_aide_permis: [700, 300, 300, 0]

0 commit comments

Comments
 (0)