Skip to content

Commit 8350861

Browse files
baptou12Allan-CodeWorks
authored andcommitted
feat: ajout de l'aide au permis des yvelines
1 parent 6241194 commit 8350861

File tree

4 files changed

+91
-0
lines changed

4 files changed

+91
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from openfisca_france.model.base import Variable, Individu, MONTH
2+
3+
4+
class yvelines_aide_permis(Variable):
5+
value_type = float
6+
entity = Individu
7+
definition_period = MONTH
8+
label = "Montant de l'aide au permis de conduire pour le département des Yvelines"
9+
reference = 'https://www.78-92.fr/annuaire/aides-et-services/detail/laide-au-financement-du-permis-de-conduire'
10+
11+
def formula(individu, period, parameters):
12+
params = parameters(period).departements.yvelines.aide_permis
13+
14+
individus_age = individu('age', period)
15+
16+
age_maximum = params.age.maximum_inclusif
17+
age_minimum = params.age.minimum_inclusif
18+
eligibilites_age = (individus_age >= age_minimum) * (individus_age <= age_maximum)
19+
20+
eligibilite_residentielle = individu.menage('yvelines_eligibilite_residence', period)
21+
22+
rbg = individu.foyer_fiscal('rbg', period.last_year)
23+
nb_pac = individu.foyer_fiscal('nb_pac', period.last_year)
24+
25+
eligibilite_revenu = (
26+
(rbg - params.revenu_global_brut.deduction_fixe) / nb_pac
27+
) <= params.revenu_global_brut.marginal_par_personne
28+
29+
montant = params.montant
30+
31+
return eligibilites_age * eligibilite_residentielle * eligibilite_revenu * montant
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
from openfisca_france.model.base import Variable, Menage, MONTH
2+
3+
from numpy.core.defchararray import startswith
4+
5+
6+
class yvelines_eligibilite_residence(Variable):
7+
value_type = bool
8+
entity = Menage
9+
definition_period = MONTH
10+
label = "Éligibilité résidentielle d'un ménage aux dipositifs dans les Yvelines"
11+
12+
def formula(menage, period):
13+
return startswith(menage('depcom', period), str.encode('78'))
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
age:
2+
maximum_inclusif:
3+
values:
4+
2010-01-01:
5+
value: 25
6+
minimum_inclusif:
7+
values:
8+
2010-01-01:
9+
value: 18
10+
11+
revenu_global_brut:
12+
deduction_fixe:
13+
values:
14+
2010-01-01:
15+
value: 6400
16+
marginal_par_personne:
17+
values:
18+
2010-01-01:
19+
value: 3200
20+
21+
montant:
22+
values:
23+
2010-01-01:
24+
value: 500
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
- period: 2023-02
2+
name: Éligibilité d'age et de résidence
3+
input:
4+
age: [17, 18, 25, 32, 22]
5+
depcom: ['78000', '78000', '78000', '78000', '13000']
6+
rbg:
7+
2022: ['9000','9000','9000','9000', '9000']
8+
nb_pac:
9+
2022: ['1', '1','1','1', '1']
10+
output:
11+
yvelines_aide_permis: [0, 500, 500, 0, 0]
12+
13+
- period: 2023-02
14+
name: Montant en fonction du quotient familial
15+
input:
16+
age: [18, 18, 18, 18, 18, 18]
17+
depcom: ['78000','78000','78000','78000','78000', '78000']
18+
rbg:
19+
2022: ['9600', '12800', '16000', '19200', '22400', '12800']
20+
nb_pac:
21+
2022: ['1', '2', '3', '4', '3', '1']
22+
output:
23+
yvelines_aide_permis: [500, 500, 500, 500, 0, 0]

0 commit comments

Comments
 (0)