Skip to content

Commit

Permalink
Add amen_social_eligibilite formula
Browse files Browse the repository at this point in the history
  • Loading branch information
benjello committed Dec 2, 2024
1 parent 85f6a3d commit da509dc
Show file tree
Hide file tree
Showing 8 changed files with 134 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,19 @@ description: Montant de l'allocation de base du transfert monétaire permanent d
values:
2024-01-01:
value: 240
2023-01-01:
value: 220
2020-01-01:
value: 180
metadata:
unit: currency
reference:
2024-01-01:
title: Arrêté ministériel n° 2023-456 du 15 décembre 2023
2020-01-01:
2019-01-01:
- title: Loi organique 2019-10 du 30 janvier 2019 relative au programme AMEN social - Article 2 - Définition des allocations de base
- title: Décret 2019-317 du 29 mars 2019 fixant les modalités d'application
- title: Arrêté conjoint 2020-931 du ministère des affaires sociales et du ministère de l’économie et des finances du 20 mai 2020
official_journal_date:
2020-01-01: "2019-01-31"
2019-01-01: "2019-01-31"
2024-01-01: "2024-01-03"
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ values:
2020-01-01:
value: 1
metadata:
short_label: Deux personnes
unit: Smig
reference:
2020-01-01:
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
description: Majoration du seuil de revenu d’exclusion du programme Amen social (en part de Smig) pour un ménage comprenant une personne présentant un handicap lourd
values:
2020-01-01:
value: .5
metadata:
short_label: Handicap lourd
unit: Smig
reference:
2020-01-01:
title: Décret 2020-317 du 19 mai 2020
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ values:
2020-01-01:
value: 2
metadata:
short_label: Plus de cinq personnes
unit: Smig
reference:
2020-01-01:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ values:
2020-01-01:
value: 1.5
metadata:
short_label: Trois ou quatre personnes
unit: Smig
reference:
2020-01-01:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ values:
2020-01-01:
value: .66
metadata:
short_label: Une persone
unit: Smig
reference:
2020-01-01:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,24 @@ class amen_social_eligible(Variable):
label = 'Ménage éligible au programme Amen social'
definition_period = MONTH

def formula(menage, period, parameters):
taille_menage = menage.nb_persons()
revenu_menage = menage.sum(menage.members('salaire_net_a_payer', period)) # Corriger les revenus
seuil_de_revenu = parameters(period).prestations.non_contributives.amen_social.eligibilite
smig_mensuel = smig_40h_mensuel = parameters(period.start).marche_travail.smig_40h_mensuel
condiitons = [
taille_menage == 1,
taille_menage == 2,
(taille_menage == 3) + (taille_menage == 4),
taille_menage >= 5,
]
valeurs_choisies = [
smig_mensuel * seuil_de_revenu.un_membre,
smig_mensuel * seuil_de_revenu.deux_membres,
smig_mensuel * seuil_de_revenu.trois_quatre_membres,
smig_mensuel * seuil_de_revenu.plus_de_cinq_membres,
]
return revenu_menage <= select(condiitons, valeurs_choisies)

class transfert_monetaire_permanent_eligible(Variable):
value_type = bool
Expand Down
98 changes: 98 additions & 0 deletions tests/formulas/amen_social/eligibilite.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
- name: Eligibilité au programe Amen social selon la taille du ménage et le revenu
period: 2022-01
relative_error_margin: 0.01
input:
individus:
parent1:
date_naissance: 1980-01-01
enfant1:
date_naissance: 2017-01-01
eleve:
2022: true
enfant2:
date_naissance: 2016-01-01
eleve:
2022: true
menage:
personne_de_reference: parent1
enfants:
- enfant1
- enfant2
output:
amen_social_enfants_a_charge: 2
amen_social_eligible: true


- name: Eligibilité au programe Amen social 3 enfats 500 DT en 2022
period: 2022-01
relative_error_margin: 0.01
input:
individus:
parent1:
date_naissance: 1980-01-01
salaire_de_base: 500
enfant1:
date_naissance: 2017-01-01
eleve:
2022: true
enfant2:
date_naissance: 2016-01-01
eleve:
2022: true
menage:
personne_de_reference: parent1
enfants:
- enfant1
- enfant2
output:
amen_social_eligible: true


- name: Eligibilité au programe Amen social 3 enfats 500 DT en 2022
period: 2022-01
relative_error_margin: 0.01
input:
individus:
parent1:
date_naissance: 1980-01-01
salaire_de_base: 500
enfant1:
date_naissance: 2017-01-01
eleve:
2022: true
enfant2:
date_naissance: 2016-01-01
eleve:
2022: true
menage:
personne_de_reference: parent1
enfants:
- enfant1
- enfant2
output:
amen_social_eligible: true


- name: Eligibilité au programe Amen social 3 enfants 1000 DT en 2022
period: 2022-01
relative_error_margin: 0.01
input:
individus:
parent1:
date_naissance: 1980-01-01
salaire_de_base: 1000
enfant1:
date_naissance: 2017-01-01
eleve:
2022: true
enfant2:
date_naissance: 2016-01-01
eleve:
2022: true
menage:
personne_de_reference: parent1
enfants:
- enfant1
- enfant2
output:
amen_social_eligible: false

0 comments on commit da509dc

Please sign in to comment.