catala/examples/aides_logement/prologue.catala_fr
Louis Gesbert 47502335aa Refactor the parser to use priorities
Define a single expression rule with disambiguation using token priorities
instead of the many layers of intermediate rules with explicit sub-terms.

Also replaces `in` for collection operations (`x+1 for foo in [1;2]`) with
`among` which helps a lot.
2022-12-19 15:12:53 +01:00

1179 lines
45 KiB
Plaintext

# Prologue : aides au logement
Avant de présenter les textes réglementaires qui régissent le calcul des
aides au logement, il est nécessaire de définir les structures de données
informatiques qui modélisent la situation dont parlent ces textes législatifs.
Vous pouvez passer cette section pour aller directement au textes législatifs
dans les sections suivantes.
## Types de données manipulées par le programme
### Calcul et éligibilité des aides personnelles au logement
#### Calcul et éligibilité pour le secteur locatif
```catala-metadata
déclaration structure ConventionBailleurSocial:
donnée conventionné_livre_III_titre_V_chap_III contenu booléen
donnée réduction_loyer_solidarité_perçue contenu argent
déclaration structure ConventionANHA:
donnée conventionné_livre_III_titre_II_chap_I_sec_3 contenu booléen
déclaration énumération TypeBailleur:
-- BailleurSocial contenu ConventionBailleurSocial
-- BailleurPrivéAvecConventionnementSocial contenu
ConventionANHA
-- BailleurPrivé
déclaration structure Location:
donnée bailleur contenu TypeBailleur
donnée loyer_principal contenu argent
donnée bénéficiaire_aide_adulte_ou_enfant_handicapés contenu booléen
donnée logement_est_chambre contenu booléen
donnée colocation contenu booléen
donnée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers
contenu booléen
donnée logement_meublé_d842_2 contenu booléen
donnée changement_logement_d842_4 contenu ChangementLogementD842_4
```
#### Calcul et éligibilité pour le secteur accession à la propriété
```catala-metadata
déclaration énumération TypePrêt:
-- D331_32
-- D331_63_64
-- D331_59_8
-- D331_76_1
-- Autre
déclaration énumération TitulairePrêt:
-- Demandeur
-- VendeurQuandDemandeurAContratLocationAccession
déclaration structure Prêt:
donnée type_prêt contenu TypePrêt
donnée date_signature contenu date
donnée titulaire_prêt contenu TitulairePrêt
déclaration structure Propriétaire:
donnée logement_situé_commune_déséquilibre_l831_2 contenu booléen
donnée mensualité_principale contenu argent
donnée charges_mensuelles_prêt contenu argent
donnée date_entrée_logement contenu date
donnée type_travaux_logement_d832_15 contenu TypeTravauxLogementD832_15
donnée type_travaux_logement_r842_5 contenu TypeTravauxLogementR842_5
donnée local_habité_première_fois_bénéficiaire contenu booléen
donnée copropriété contenu booléen
donnée situation_r822_11_13_17 contenu booléen
donnée ancienneté_logement contenu NeufOuAncien
donnée prêt contenu Prêt
déclaration énumération TypeTravauxLogementD832_15:
-- TravauxPourAcquisitionD832_15_1
-- TravauxSurLogementDéjàAcquisD832_15_2
-- PasDeTravaux
déclaration énumération TypeTravauxLogementR842_5:
-- ObjectifDécenceLogement
-- PrévuDansListeR321_15
-- AgrandirOuRendreHabitableD331_63
-- PasDeTravaux
déclaration énumération AmélioréParOccupant:
-- Oui
-- Non
déclaration énumération NeufOuAncien:
-- Neuf
-- Ancien contenu AmélioréParOccupant
```
#### Calcul et éligibilité pour le secteur logement-foyer
```catala-metadata
déclaration énumération LimiteTranche:
-- Revenu contenu argent
-- Infini
déclaration structure TrancheRevenu:
donnée haut contenu LimiteTranche
donnée bas contenu argent
donnée taux contenu décimal
déclaration énumération LimiteTrancheDécimal:
-- Revenu contenu décimal
-- Infini
déclaration structure TrancheRevenuDécimal:
donnée haut contenu LimiteTrancheDécimal
donnée bas contenu décimal
donnée taux contenu décimal
déclaration structure LogementFoyer:
donnée type contenu TypeLogementFoyer
donnée remplit_conditions_r832_21 contenu booléen
donnée conventionné_livre_III_titre_V_chap_III contenu booléen
donnée date_conventionnement contenu date
donnée construit_application_loi_1957_12_III contenu booléen
donnée redevance contenu argent
donnée catégorie_équivalence_loyer_d842_16 contenu
CatégorieÉquivalenceLoyerAllocationLogementFoyer
```
#### Calcul et éligibilité pour tous les secteurs
```catala-metadata
déclaration énumération PrestationReçue:
-- AllocationsFamiliales
-- ComplémentFamilial
-- AllocationJeuneEnfant
-- AllocationSoutienFamilial
-- AllocationSoutienEnfantHandicapé
-- AllocationAdulteHandicapé
déclaration énumération ModeOccupation:
-- Locataire contenu Location
-- RésidentLogementFoyer contenu LogementFoyer
-- AccessionPropriétéLocalUsageExclusifHabitation
contenu Propriétaire
-- SousLocataire contenu Location
-- LocationAccession contenu Propriétaire
déclaration énumération ParentOuAutre:
-- DemandeurOuConjointOuParentOuViaPartsSociétés contenu décimal
-- Autre
déclaration structure PersonneSousLocation:
donnée date_naissance_personne_sous_location contenu date
donnée conforme_article_l442_1 contenu booléen
déclaration énumération LouéOuSousLouéÀDesTiers:
-- Non
-- Oui contenu PersonneSousLocation
déclaration structure Logement:
donnée résidence_principale contenu booléen
donnée est_ehpad_ou_maison_autonomie_l313_12_asf contenu booléen
donnée mode_occupation contenu ModeOccupation
donnée propriétaire contenu ParentOuAutre
donnée loué_ou_sous_loué_à_des_tiers contenu LouéOuSousLouéÀDesTiers
donnée usufruit contenu ParentOuAutre
donnée logement_decent_l89_462 contenu booléen
donnée surface_m_carrés contenu entier
donnée zone contenu ZoneDHabitation
déclaration énumération SituationGardeAlternée:
-- PasDeGardeAlternée
-- GardeAlternéeCoefficientPriseEnCharge contenu décimal
déclaration structure EnfantÀCharge:
donnée identifiant contenu entier
donnée bénéficie_titre_personnel_aide_personnelle_logement
contenu booléen
donnée a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen
donnée date_de_naissance contenu date
donnée rémuneration_mensuelle contenu argent
donnée obligation_scolaire contenu SituationObligationScolaire
donnée situation_garde_alternée contenu SituationGardeAlternée
déclaration énumération Parenté:
-- Ascendant
-- Descendant
-- CollatéralDeuxièmeTroisièmeDegré
déclaration structure AutrePersonneÀCharge:
donnée date_naissance contenu date
donnée ressources contenu argent
donnée ascendant_descendant_collatéral_deuxième_troisième_degré
contenu booléen
donnée parenté contenu Parenté
donnée incapacité_80_pourcent_ou_restriction_emploi contenu booléen
donnée bénéficiaire_l161_19_l351_8_l643_3_sécu contenu booléen
donnée titulaire_allocation_personne_âgée contenu booléen
déclaration énumération PersonneÀCharge:
-- EnfantÀCharge contenu EnfantÀCharge
-- AutrePersonneÀCharge contenu AutrePersonneÀCharge
déclaration énumération DateDeNaissanceOuMoisDeGrossesse:
-- DateDeNaissance contenu date
-- AvantPremierJourMoisCivilTroisièmeMoisDeGrossesse
-- AprèsPremierJourMoisCivilTroisièmeMoisDeGrossesse
déclaration énumération DateNaissanceTroisièmeOuDernierPlusEnfant:
-- MoinsDeTroisEnfants
-- PlusDeTroisEnfants contenu DateDeNaissanceOuMoisDeGrossesse
déclaration structure Ménage:
donnée prestations_reçues contenu collection PrestationReçue
donnée logement contenu Logement
donnée personnes_à_charge contenu collection PersonneÀCharge
donnée nombre_autres_occupants_logement contenu entier
donnée situation_familiale contenu SituationFamiliale
donnée condition_rattaché_foyer_fiscal_parent_ifi contenu booléen
donnée enfant_à_naître_après_quatrième_mois_grossesse contenu booléen
déclaration structure Patrimoine:
donnée produisant_revenu_période_r822_3_3_r822_4 contenu argent
donnée ne_produisant_pas_revenu_période_r822_3_3_r822_4 contenu argent
déclaration structure Demandeur:
donnée date_naissance contenu date
donnée nationalité contenu Nationalité
donnée patrimoine contenu Patrimoine
donnée personne_hébergée_centre_soin_l_L162_22_3_sécurité_sociale
contenu booléen
déclaration structure ConditionsÉtrangers:
donnée satisfait_conditions_l512_2_code_sécurité_sociale
contenu booléen
déclaration énumération Nationalité:
-- Française
-- Étrangère contenu ConditionsÉtrangers
déclaration énumération ZoneDHabitation:
-- Zone1
-- Zone2
-- Zone3
déclaration énumération CatégorieCalculAPL:
-- Location contenu Location
-- AccessionPropriété contenu Propriétaire
-- LogementFoyer contenu LogementFoyer
```
### Informations concernant l'évaluation des ressources du ménage
```catala-metadata
déclaration structure PersonneVivantHabituellementAuFoyer:
donnée durée_résidence_durant_période_r_822_3_1_supérieure_à_6_mois
contenu booléen
donnée ressources contenu argent
déclaration énumération PaiementLogementDistinctProfessionnel:
-- OuiAvecLoyerOuCharges contenu argent
-- Non
```
### Informations relatives aux impayés de dépense de logement
```catala-metadata
déclaration énumération VersementÀ:
-- Bailleur
-- Bénéficiaire
-- ÉtablissementHabilité
déclaration énumération DépenseLogement:
-- TotalAnnuelÉchéances contenu argent
-- Mensualité contenu argent
-- Loyer contenu argent
déclaration énumération ModeOccupationImpayé:
-- ImpayéLoyer
-- ImpayéPrêt
```
## Déclarations des champs d'application
### Éligibilité aux aides personnelles au logement
```catala-metadata
déclaration champ d'application ÉligibilitéAidesPersonnelleLogement:
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée résultat date_courante contenu date
# Différentes conditions pour l'éligibilité
interne condition_prêt condition dépend de Prêt
interne condition_nationalité condition
contexte condition_logement_résidence_principale condition
interne condition_logement_mode_occupation condition
interne condition_logement_location_tiers condition
contexte condition_logement_surface condition
interne condition_non_ouverture_l822_8 condition
interne condition_non_ouverture_l822_9_decence_logement condition
interne condition_ouverture_l822_10_peuplement_logement condition
interne condition_peuplement_logement_l822_10 condition
interne éligibilité_logement condition
interne prise_en_compte_personne_à_charge condition
dépend de PersonneÀCharge
interne personnes_à_charge_prises_en_compte
contenu collection PersonneÀCharge
# Autres variables
interne patrimoine_total_demandeur contenu argent
interne usufruit_ou_propriété_famille contenu booléen
interne seuil_l822_3_parts_propriété contenu décimal
interne seuil_l822_3_parts_usufruit contenu décimal
interne seuil_l822_5_patrimoine contenu argent
interne patrimoine_pris_en_compte contenu argent
interne âge_l351_8_1_sécu contenu durée
interne âge_l161_17_2_sécu contenu durée
interne plafond_individuel_l815_9_sécu contenu argent
ouverture_droits_retraite champ d'application OuvertureDroitsRetraite
résultat éligibilité condition
résultat nombre_personnes_à_charge_prises_en_compte contenu entier
résultat coefficents_enfants_garde_alternée_pris_en_compte contenu
collection décimal
résultat condition_2_r823_4 condition dépend de PersonneÀCharge
champ d'application ÉligibilitéAidesPersonnelleLogement:
# TODO informatique et juridique: trouver une meilleur place pour mettre
# cette conjonction.
règle éligibilité sous condition
condition_nationalité et
condition_logement_mode_occupation et
éligibilité_logement
conséquence rempli
définition nombre_personnes_à_charge_prises_en_compte égal à
nombre de personnes_à_charge_prises_en_compte
définition coefficents_enfants_garde_alternée_pris_en_compte égal à
((selon personne_à_charge sous forme
-- AutrePersonneÀCharge: 0,0
-- EnfantÀCharge de enfant: (
selon enfant.situation_garde_alternée sous forme
-- GardeAlternéeCoefficientPriseEnCharge de coeff: coeff
-- PasDeGardeAlternée: 0,0
))
pour personne_à_charge parmi (
personne_à_charge parmi personnes_à_charge_prises_en_compte
tel que
(selon personne_à_charge sous forme
-- AutrePersonneÀCharge: faux
-- EnfantÀCharge de enfant: (
selon enfant.situation_garde_alternée sous forme
-- GardeAlternéeCoefficientPriseEnCharge: vrai
-- PasDeGardeAlternée: faux
))))
```
### Éligibilité à l'aide personnalisée au logement
```catala-metadata
déclaration champ d'application ÉligibilitéAidePersonnaliséeLogement:
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée résultat date_courante contenu date
interne condition_logement_bailleur condition
interne condition_logement_prêt condition
interne caractéristiques_prêt_l831_1_1 condition dépend de Prêt
interne caractéristiques_prêt_l831_1_6 condition dépend de Prêt
éligibilité_commune champ d'application ÉligibilitéAidesPersonnelleLogement
résultat éligibilité condition
résultat nombre_personnes_à_charge_prises_en_compte contenu entier
résultat coefficents_enfants_garde_alternée_pris_en_compte contenu
collection décimal
champ d'application ÉligibilitéAidePersonnaliséeLogement:
définition éligibilité_commune.ménage égal à ménage
définition éligibilité_commune.demandeur égal à demandeur
définition éligibilité_commune.date_courante égal à
date_courante
définition nombre_personnes_à_charge_prises_en_compte égal à
éligibilité_commune.nombre_personnes_à_charge_prises_en_compte
définition coefficents_enfants_garde_alternée_pris_en_compte égal à
éligibilité_commune.coefficents_enfants_garde_alternée_pris_en_compte
```
### Éligibilité aux allocations de logement
```catala-metadata
déclaration énumération TypeÉligibilitéAllocationLogement:
-- PasÉligible
-- AllocationLogementFamiliale
-- AllocationLogementSociale
déclaration champ d'application ÉligibilitéAllocationLogement:
entrée date_courante contenu date
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée bénéficie_aide_personnalisée_logement contenu booléen
interne condition_accession_propriété condition
interne éligibilité_allocation_logement_familiale condition
interne durée_l841_1_3 contenu durée
prestations_familiales champ d'application ÉligibilitéPrestationsFamiliales
éligibilité_commune champ d'application ÉligibilitéAidesPersonnelleLogement
résultat éligibilité contenu TypeÉligibilitéAllocationLogement
état dispositions_communes
état l841_2
résultat nombre_personnes_à_charge_prises_en_compte contenu entier
résultat coefficents_enfants_garde_alternée_pris_en_compte contenu
collection décimal
champ d'application ÉligibilitéAllocationLogement:
# Ici nous instancions le champ d'application d'éligibilité aux prestations
# familiales pour les besoins de L841-1.
définition prestations_familiales.date_courante égal à date_courante
définition prestations_familiales.prestation_courante égal à
ÉlémentPrestationsFamiliales.AllocationsFamiliales
# TODO juridique et informatique : adapter quand le code gèrera les outre-
# mer.
définition prestations_familiales.résidence égal à Métropole
définition éligibilité_commune.ménage égal à ménage
définition éligibilité_commune.demandeur égal à demandeur
définition éligibilité_commune.date_courante égal à
date_courante
définition nombre_personnes_à_charge_prises_en_compte égal à
éligibilité_commune.nombre_personnes_à_charge_prises_en_compte
définition coefficents_enfants_garde_alternée_pris_en_compte égal à
éligibilité_commune.coefficents_enfants_garde_alternée_pris_en_compte
```
### Éligibilité à la prime de déménagement
```catala-metadata
déclaration structure InformationsPrimeDeDéménagement:
donnée nombre_enfants_à_naître_après_troisième_mois_grossesse
contenu entier
donnée date_naissance_troisième_enfant_ou_dernier_si_plus
contenu DateNaissanceTroisièmeOuDernierPlusEnfant
déclaration champ d'application ÉligibilitéPrimeDeDéménagement:
entrée informations contenu InformationsPrimeDeDéménagement
entrée date_emménagement contenu date
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée date_courante contenu date
entrée dépenses_justifiées_réellement_engagées contenu argent
interne condition_rang_enfant condition
interne condition_période_déménagement condition
interne éligibilité_logement condition
interne délai_après_emménagement_l823_8_2 contenu durée
interne plafond_d823_22 contenu argent
éligibilité_apl champ d'application ÉligibilitéAidesPersonnelleLogement
base_mensuelle_allocations_familiales champ d'application
BaseMensuelleAllocationsFamiliales
résultat montant_prime_déménagement contenu argent
champ d'application ÉligibilitéPrimeDeDéménagement:
définition éligibilité_apl.ménage égal à ménage
définition éligibilité_apl.demandeur égal à demandeur
définition éligibilité_apl.date_courante égal à
date_courante
définition base_mensuelle_allocations_familiales.date_courante égal à
date_courante
```
### Prise en compte des ressources pour les aides personnelles au logement
```catala-metadata
déclaration champ d'application RessourcesAidesPersonnelleLogement:
entrée ressources_demandeur contenu argent
entrée ressources_conjoint contenu argent
entrée personnes_vivant_habituellement_foyer contenu
collection PersonneVivantHabituellementAuFoyer
entrée demandeur_exerce_activité_rémunérée contenu booléen
entrée conjoint_exerce_activité_rémunérée contenu booléen
entrée personnes_à_charge contenu collection PersonneÀCharge
entrée situation_familiale contenu SituationFamiliale
entrée mode_occupation contenu ModeOccupation
entrée condition_âge_bourse_enseignement_supérieur condition
entrée demandeur_poursuit_des_études condition
entrée date_demande_ou_reexamen_droit contenu date
entrée paiement_logement_distinct_professionnel contenu
PaiementLogementDistinctProfessionnel
entrée ressources_ménage_arrondies contenu argent
état base
état seuil
interne ressources_personnes_vivant_habituellement_foyer contenu argent
interne abattement_r_822_8 contenu argent
interne montant_forfaitaire_r_822_8 contenu argent
interne abattement_r_822_7 contenu argent
interne montant_forfaitaire_r_822_7 contenu argent
interne abattement_r_822_10 contenu argent
interne ressources_forfaitaires_r822_20 contenu argent
base_mensuelle_allocations_familiales champ d'application
BaseMensuelleAllocationsFamiliales
résultat ressources_prises_en_compte contenu argent
```
### Calcul des contributions sociales s'appliquant aux aides personnelles au logement
```catala-metadata
déclaration champ d'application ContributionsSocialesAidesPersonnelleLogement:
entrée date_courante contenu date
interne taux_crds contenu décimal
interne exonéré_csg condition
résultat montant contenu argent dépend de argent
```
### Calcul du montant de l'aide personnalisée au logement
#### Secteur locatif
```catala-metadata
déclaration champ d'application CalculAidePersonnaliséeLogementLocatif:
entrée loyer_principal contenu argent
état base
état avec_réduction_meublé
entrée ressources_ménage_arrondies contenu argent
entrée bénéficiaire_aide_adulte_ou_enfant_handicapés
contenu booléen
entrée date_courante contenu date
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée zone contenu ZoneDHabitation
entrée logement_est_chambre contenu booléen
entrée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers
contenu booléen
entrée type_aide contenu TypeAidesPersonnelleLogement
entrée colocation contenu booléen
entrée réduction_loyer_solidarité contenu argent
entrée logement_meublé_d842_2 contenu booléen
interne loyer_éligible contenu argent
interne taux_loyer_éligible contenu décimal
état formule
état taux_arrondi
interne rapport_loyers contenu décimal
interne loyer_référence contenu argent
interne fraction_l832_3 contenu décimal
interne plafond_dégressivité_d823_16 contenu argent
interne plafond_suppression_d823_16 contenu argent
interne montant_forfaitaire_d823_16 contenu argent
interne montant_minimal_aide_d823_16 contenu argent
interne abattement_forfaitaire_d823_17 contenu argent
interne taux_prise_compte_ressources contenu décimal
résultat montant_forfaitaire_charges_d823_16 contenu argent
résultat plafond_loyer_d823_16_2 contenu argent
résultat participation_minimale contenu argent
résultat taux_composition_familiale contenu décimal
résultat participation_personnelle contenu argent
contributions_sociales champ d'application
ContributionsSocialesAidesPersonnelleLogement
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
état diminué
état minoration_forfaitaire
état contributions_sociales_arrondi
état réduction_loyer_solidarité
état montant_minimal
champ d'application CalculAidePersonnaliséeLogementLocatif:
définition contributions_sociales.date_courante égal à date_courante
```
#### Secteur logement-foyer
```catala-metadata
déclaration champ d'application CalculÉquivalenceLoyerMinimale:
entrée ressources_ménage_arrondies contenu argent
entrée condition_2_du_832_25 contenu booléen
entrée n_nombre_parts_d832_25 contenu décimal
interne tranches_revenus_d832_26 contenu collection TrancheRevenu
interne tranches_revenus_d832_26_multipliées contenu
collection TrancheRevenuDécimal
interne montant_forfaitaire_d832_26 contenu argent
résultat montant contenu argent
déclaration champ d'application CalculNombrePartLogementFoyer:
entrée condition_2_du_832_25 contenu booléen
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
résultat n_nombre_parts_d832_25 contenu décimal
déclaration champ d'application CalculAidePersonnaliséeLogementFoyer:
entrée type_logement_foyer contenu TypeLogementFoyer
entrée date_conventionnement contenu date
entrée ressources_ménage_arrondies contenu argent
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée zone contenu ZoneDHabitation
entrée date_courante contenu date
entrée redevance contenu argent
contexte condition_2_du_832_25 contenu booléen
résultat coefficient_multiplicateur_d832_25 contenu argent
résultat coefficient_r_d832_25 contenu argent
contexte résultat n_nombre_parts_d832_25 contenu décimal
résultat équivalence_loyer_éligible contenu argent
résultat plafond_équivalence_loyer_éligible contenu argent
interne abattement_dépense_nette_minimale_d832_27
contenu argent dépend de argent
interne dépense_nette_minimale_d832_27 contenu argent dépend de argent
interne montant_forfaitaire_d832_24 contenu argent
interne montant_forfaitaire_d832_27 contenu argent
interne montant_minimal_aide_d823_24 contenu argent
résultat équivalence_loyer_minimale contenu argent
calcul_nombre_parts champ d'application CalculNombrePartLogementFoyer
calcul_équivalence_loyer_minimale champ d'application
CalculÉquivalenceLoyerMinimale
contributions_sociales champ d'application
ContributionsSocialesAidesPersonnelleLogement
résultat coefficient_prise_en_charge_d832_25 contenu décimal
état formule
état coeff_arrondi
état seuil
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
état minoration_forfaitaire
état abattement
état contributions_sociales_arrondi
état montant_minimal
champ d'application CalculAidePersonnaliséeLogementFoyer:
définition contributions_sociales.date_courante égal à date_courante
```
#### Secteur accession à la propriété
```catala-metadata
déclaration champ d'application CalculNombrePartsAccessionPropriété:
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
résultat n_nombre_parts_d832_11 contenu décimal
déclaration champ d'application
CalculAidePersonnaliséeLogementAccessionPropriété:
entrée mensualité_principale contenu argent
entrée ressources_ménage_arrondies contenu argent
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée type_travaux_logement contenu TypeTravauxLogementD832_15
entrée date_signature_prêt contenu date
entrée local_habité_première_fois_bénéficiaire contenu booléen
entrée date_entrée_logement contenu date
entrée copropriété contenu booléen
entrée situation_r822_11_13_17 contenu booléen
entrée zone contenu ZoneDHabitation
entrée type_prêt contenu TypePrêt
entrée ancienneté_logement contenu NeufOuAncien
entrée date_courante contenu date
résultat mensualité_éligible contenu argent
résultat mensualité_minimale contenu argent
interne plafond_mensualité_d832_10_3 contenu argent
état base
état copropriétaires
interne calcul_plafond_mensualité_d832_10_3 contenu argent dépend de date
interne n_nombre_parts_d832_11 contenu décimal
résultat coefficient_prise_en_charge_d832_10 contenu décimal
état formule
état coeff_arrondi
état seuil
interne dépense_nette_minimale_d832_10 contenu argent dépend de argent
interne abattement_dépense_nette_minimale_d832_10
contenu argent dépend de argent
interne ressources_ménage_avec_d832_18 contenu argent
interne montant_forfaitaire_charges_d832_10 contenu argent
interne montant_forfaitaire_d832_10 contenu argent
interne montant_minimal_aide_d832_10 contenu argent
interne coefficient_multiplicateur_d832_17_3 contenu décimal
interne coefficient_multiplicateur_d832_11 contenu argent
interne coefficient_multiplicateur_d832_18 contenu décimal
interne montant_limite_tranches_d832_15_1 contenu argent
interne taux_tranche_inférieure_d832_15_1 contenu décimal
interne taux_tranche_supérieure_d832_15_1 contenu décimal
interne taux_francs_vers_euros contenu décimal
calcul_nombre_parts champ d'application CalculNombrePartsAccessionPropriété
calcul_équivalence_loyer_minimale champ d'application
CalculÉquivalenceLoyerMinimale
contributions_sociales champ d'application
ContributionsSocialesAidesPersonnelleLogement
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
état minoration_forfaitaire
état abattement
état contributions_sociales_arrondi
état montant_minimal
champ d'application CalculAidePersonnaliséeLogementAccessionPropriété:
définition contributions_sociales.date_courante égal à date_courante
```
#### Tous secteurs
```catala-metadata
déclaration structure Traitement_formule_aide_finale:
donnée aide_finale_formule contenu argent
donnée traitement_aide_finale contenu argent dépend de argent
déclaration champ d'application CalculAidePersonnaliséeLogement:
entrée mode_occupation contenu ModeOccupation
entrée type_aide contenu TypeAidesPersonnelleLogement
entrée ressources_ménage contenu argent
état sans_arrondi
état avec_arrondi
entrée situation_familiale contenu SituationFamiliale
entrée nombre_personnes_à_charge contenu entier
entrée zone contenu ZoneDHabitation
entrée date_courante contenu date
interne catégorie_calcul_apl contenu CatégorieCalculAPL
interne situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
interne sous_calcul_traitement contenu Traitement_formule_aide_finale
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
```
## Calcul du montant de l'allocation logement
### Secteur locatif
```catala-metadata
déclaration structure InfosChangementLogementD842_4:
donnée ancien_loyer_principal contenu argent
donnée ancienne_allocation_logement contenu argent
déclaration énumération ChangementLogementD842_4:
-- Changement contenu InfosChangementLogementD842_4
-- PasDeChangement
déclaration champ d'application CalculAllocationLogementLocatif:
# Entrée du sous-champ
entrée loyer_principal contenu argent
entrée ressources_ménage_arrondies contenu argent
entrée bénéficiaire_aide_adulte_ou_enfant_handicapés
contenu booléen
entrée date_courante contenu date
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée zone contenu ZoneDHabitation
entrée logement_est_chambre contenu booléen
entrée âgées_ou_handicap_adultes_hébergées_onéreux_particuliers
contenu booléen
entrée type_aide contenu TypeAidesPersonnelleLogement
entrée colocation contenu booléen
entrée réduction_loyer_solidarité contenu argent
entrée logement_meublé_d842_2 contenu booléen
# Entrées spécifiques
entrée changement_logement_d842_4 contenu ChangementLogementD842_4
calcul_apl_locatif champ d'application CalculAidePersonnaliséeLogementLocatif
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
champ d'application CalculAllocationLogementLocatif:
définition calcul_apl_locatif.loyer_principal égal à
loyer_principal
définition calcul_apl_locatif.ressources_ménage_arrondies égal à
ressources_ménage_arrondies
définition calcul_apl_locatif.bénéficiaire_aide_adulte_ou_enfant_handicapés
égal à
bénéficiaire_aide_adulte_ou_enfant_handicapés
définition calcul_apl_locatif.date_courante égal à
date_courante
définition calcul_apl_locatif.nombre_personnes_à_charge égal à
nombre_personnes_à_charge
définition calcul_apl_locatif.situation_familiale_calcul_apl égal à
situation_familiale_calcul_apl
définition calcul_apl_locatif.zone égal à
zone
définition calcul_apl_locatif.logement_est_chambre égal à
logement_est_chambre
définition
calcul_apl_locatif.
âgées_ou_handicap_adultes_hébergées_onéreux_particuliers
égal à
âgées_ou_handicap_adultes_hébergées_onéreux_particuliers
définition calcul_apl_locatif.type_aide égal à
type_aide
définition calcul_apl_locatif.colocation égal à
colocation
définition calcul_apl_locatif.réduction_loyer_solidarité égal à
réduction_loyer_solidarité
définition calcul_apl_locatif.logement_meublé_d842_2 égal à
logement_meublé_d842_2
définition aide_finale_formule égal à calcul_apl_locatif.aide_finale_formule
définition traitement_aide_finale de aide_finale égal à
calcul_apl_locatif.traitement_aide_finale de aide_finale
```
### Secteur accession à la propriété
```catala-metadata
déclaration champ d'application CalculAllocationLogementAccessionPropriété:
entrée ressources_ménage_arrondies contenu argent
état base
état seuil
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée zone contenu ZoneDHabitation
entrée date_courante contenu date
entrée mensualité_principale contenu argent
entrée situation_r822_11_13_17 contenu booléen
entrée date_signature_prêt contenu date
entrée type_travaux_logement contenu TypeTravauxLogementR842_5
entrée local_habité_première_fois_bénéficiaire contenu booléen
entrée date_entrée_logement contenu date
entrée charges_mensuelles_prêt contenu argent
entrée copropriété contenu booléen
interne mensualité_éligible contenu argent
interne montant_forfaitaire_charges contenu argent
interne mensualité_minimale contenu argent
interne coefficient_prise_en_charge contenu décimal
interne plafond_mensualité_d842_6 contenu argent
interne calcul_plafond_mensualité_d842_6 contenu argent dépend de date
état base
état avec_copropriété
interne montant_forfaitaire_d842_6 contenu argent
interne seuil_minimal_dépense_nette_minimale contenu argent
interne seuil_minimal_ressources_ménage contenu argent
interne taux_francs_vers_euros contenu décimal
interne dépense_nette_minimale contenu argent dépend de argent
interne abattement_dépense_nette_minimale contenu argent dépend de argent
interne montant_minimal_aide_d842_6 contenu argent
interne montant_forfaitaire_d842_11 contenu argent
interne montant_forfaitaire_d842_12 contenu argent
interne coefficient_d842_11 contenu décimal
interne coefficient_d842_12 contenu décimal
calcul_nombre_parts champ d'application CalculNombrePartsAccessionPropriété
calcul_apl_logement_foyer champ d'application
CalculAidePersonnaliséeLogementFoyer
contributions_sociales champ d'application
ContributionsSocialesAidesPersonnelleLogement
calcul_équivalence_loyer_minimale champ d'application
CalculÉquivalenceLoyerMinimale
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
état minoration_forfaitaire
état dépense_nette_minimale
état contributions_sociales_arrondi
état montant_minimal
champ d'application CalculAllocationLogementAccessionPropriété:
# Ici la valeur du type de foyer et de la date de conventionnement
# n'a pas de sens puisque l'on est
# dans le cas d'une accession à la propriété mais on nous demande de
# calculer des quantités comme si on était en logement foyer. Or il nous
# faut donner un argument au sous-champ d'application donc on met ici une
# valeur bidon.
définition calcul_apl_logement_foyer.type_logement_foyer égal à
TypeLogementFoyer.Autre # Valeur par défaut
définition calcul_apl_logement_foyer.date_conventionnement égal à
|1970-01-01| # Valeur par défaut
définition calcul_apl_logement_foyer.redevance égal à
0 € # Valeur par défaut
définition calcul_apl_logement_foyer.ressources_ménage_arrondies égal à
ressources_ménage_arrondies
définition calcul_apl_logement_foyer.nombre_personnes_à_charge égal à
nombre_personnes_à_charge
définition calcul_apl_logement_foyer.situation_familiale_calcul_apl égal à
situation_familiale_calcul_apl
définition calcul_apl_logement_foyer.zone égal à
zone
définition calcul_apl_logement_foyer.date_courante égal à
date_courante
définition contributions_sociales.date_courante égal à date_courante
```
### Secteur logement-foyer
```catala-metadata
déclaration champ d'application CalculAllocationLogementFoyer:
entrée type_logement_foyer contenu TypeLogementFoyer
entrée date_conventionnement contenu date
entrée redevance contenu argent
entrée ressources_ménage_arrondies contenu argent
entrée nombre_personnes_à_charge contenu entier
entrée situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
entrée zone contenu ZoneDHabitation
entrée date_courante contenu date
entrée catégorie_équivalence_loyer_d842_16 contenu
CatégorieÉquivalenceLoyerAllocationLogementFoyer
interne dépense_nette_minimale contenu argent dépend de argent
interne abattement_dépense_nette_minimale contenu argent dépend de argent
interne montant_minimal_aide_d842_15 contenu argent
interne montant_forfaitaire_d842_15 contenu argent
interne montant_minimal_dépense_nette_d842_17 contenu argent
résultat coefficient_prise_en_charge contenu décimal
résultat équivalence_loyer contenu argent
résultat montant_forfaitaire_charges contenu argent
résultat loyer_minimal contenu argent
calcul_nombre_parts champ d'application CalculNombrePartLogementFoyer
calcul_apl_logement_foyer champ d'application
CalculAidePersonnaliséeLogementFoyer
contributions_sociales champ d'application
ContributionsSocialesAidesPersonnelleLogement
calcul_équivalence_loyer_minimale champ d'application
CalculÉquivalenceLoyerMinimale
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
état minoration_forfaitaire
état dépense_nette_minimale
état redevance
état contributions_sociales_arrondi
état montant_minimal
champ d'application CalculAllocationLogementFoyer:
définition calcul_apl_logement_foyer.type_logement_foyer égal à
type_logement_foyer
définition calcul_apl_logement_foyer.date_conventionnement égal à
date_conventionnement
définition calcul_apl_logement_foyer.redevance égal à
redevance
définition calcul_apl_logement_foyer.ressources_ménage_arrondies égal à
ressources_ménage_arrondies
définition calcul_apl_logement_foyer.nombre_personnes_à_charge égal à
nombre_personnes_à_charge
définition calcul_apl_logement_foyer.situation_familiale_calcul_apl égal à
situation_familiale_calcul_apl
définition calcul_apl_logement_foyer.zone égal à
zone
définition calcul_apl_logement_foyer.date_courante égal à
date_courante
définition contributions_sociales.date_courante égal à date_courante
```
#### Tous secteurs
```catala-metadata
déclaration champ d'application CalculAllocationLogement:
entrée mode_occupation contenu ModeOccupation
entrée ressources_ménage contenu argent
état sans_arrondi
état avec_arrondi
entrée situation_familiale contenu SituationFamiliale
entrée nombre_personnes_à_charge contenu entier
entrée zone contenu ZoneDHabitation
entrée date_courante contenu date
entrée type_aide contenu TypeAidesPersonnelleLogement
interne catégorie_calcul_apl contenu CatégorieCalculAPL
interne situation_familiale_calcul_apl contenu SituationFamilialeCalculAPL
interne sous_calcul_traitement contenu Traitement_formule_aide_finale
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
```
### Date d'ouverture des droits à la retraite
```catala-metadata
déclaration champ d'application OuvertureDroitsRetraite:
résultat âge_ouverture_droit contenu durée
entrée date_naissance_assuré contenu date
```
### Quantification des impayés de dépense de logement
```catala-metadata
déclaration champ d'application ImpayéDépenseLogement:
entrée mode_occupation contenu ModeOccupation
entrée aide_versée contenu VersementÀ
entrée montant_apl contenu argent
entrée montant_charges contenu argent
entrée dépense_logement contenu DépenseLogement
entrée montant_dette contenu argent
interne seuil_impayé_dépense_de_logement contenu argent
interne mode_occupation_impayé contenu ModeOccupationImpayé
interne dépense_logement_brute contenu DépenseLogement
interne dépense_logement_nette contenu DépenseLogement
résultat montant_impayé contenu argent
```
## Calcul de l'aide au logement effective
## Calculette globale
Le but de ce champ d'application est de réaliser le calcul automatique
de l'éligibilité et du montant de l'aide au logement pour un ménage, en fonction
de toutes les aides disponibles : APL, ALS, ALF.
```catala-metadata
déclaration champ d'application CalculetteAidesAuLogement:
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée date_courante contenu date
# TODO informatique et juridique: brancher le champ d'application de prise en
# compte des ressources. Pour l'instant on ne fait pas calcul de prise en
# compte des ressources qui doit être fait manuellement par l'utilisateur
# et mis en entrée ici.
entrée ressources_ménage_prises_en_compte contenu argent
éligibilité_aide_personnalisée_logement champ d'application
ÉligibilitéAidePersonnaliséeLogement
éligibilité_allocation_logement champ d'application
ÉligibilitéAllocationLogement
calcul_aide_personnalisée_logement champ d'application
CalculAidePersonnaliséeLogement
calcul_allocation_logement champ d'application
CalculAllocationLogement
résultat éligibilité contenu booléen
résultat aide_finale_formule contenu argent
résultat traitement_aide_finale contenu argent dépend de argent
résultat coefficents_enfants_garde_alternée_pris_en_compte contenu
collection décimal
champ d'application CalculetteAidesAuLogement:
définition éligibilité_aide_personnalisée_logement.ménage égal à
ménage
définition éligibilité_allocation_logement.ménage égal à
ménage
définition éligibilité_aide_personnalisée_logement.demandeur égal à
demandeur
définition éligibilité_allocation_logement.demandeur égal à
demandeur
définition éligibilité_aide_personnalisée_logement.date_courante égal à
date_courante
définition éligibilité_allocation_logement.date_courante égal à
date_courante
définition calcul_aide_personnalisée_logement.mode_occupation égal à
ménage.logement.mode_occupation
définition calcul_allocation_logement.mode_occupation égal à
ménage.logement.mode_occupation
définition calcul_aide_personnalisée_logement.ressources_ménage égal à
ressources_ménage_prises_en_compte
définition calcul_allocation_logement.ressources_ménage égal à
ressources_ménage_prises_en_compte
définition calcul_aide_personnalisée_logement.situation_familiale égal à
ménage.situation_familiale
définition calcul_allocation_logement.situation_familiale égal à
ménage.situation_familiale
définition
calcul_aide_personnalisée_logement.nombre_personnes_à_charge
égal à
éligibilité_aide_personnalisée_logement.
nombre_personnes_à_charge_prises_en_compte
définition calcul_allocation_logement.nombre_personnes_à_charge égal à
éligibilité_allocation_logement.nombre_personnes_à_charge_prises_en_compte
définition calcul_aide_personnalisée_logement.zone égal à
ménage.logement.zone
définition calcul_allocation_logement.zone égal à
ménage.logement.zone
définition calcul_aide_personnalisée_logement.date_courante égal à
date_courante
définition calcul_allocation_logement.date_courante égal à
date_courante
définition coefficents_enfants_garde_alternée_pris_en_compte égal à
éligibilité_aide_personnalisée_logement.
coefficents_enfants_garde_alternée_pris_en_compte
```
## Calculette avec garde alternée
Afin de calculer l'impact de la garde alternée sur les aides au logement,
il est nécessaire de réaliser une double liquidation du calcul des aides
au logement. Voir le code Catala attaché à la décision n°398563 du conseil
d'État.
```catala-metadata
déclaration champ d'application CalculetteAidesAuLogementGardeAlternée:
entrée ménage contenu Ménage
entrée demandeur contenu Demandeur
entrée date_courante contenu date
entrée ressources_ménage_prises_en_compte contenu argent
interne ménage_sans_enfants_garde_alternée contenu Ménage
interne coefficents_enfants_garde_alternée_pris_en_compte contenu
collection décimal
calculette champ d'application CalculetteAidesAuLogement
calculette_sans_garde_alternée champ d'application CalculetteAidesAuLogement
résultat éligibilité contenu booléen
résultat aide_finale contenu argent
champ d'application CalculetteAidesAuLogementGardeAlternée:
définition calculette.ménage égal à
ménage
définition calculette.demandeur égal à
demandeur
définition calculette.date_courante égal à
date_courante
définition calculette.ressources_ménage_prises_en_compte égal à
ressources_ménage_prises_en_compte
définition calculette_sans_garde_alternée.ménage égal à
ménage_sans_enfants_garde_alternée
définition calculette_sans_garde_alternée.demandeur égal à
demandeur
définition calculette_sans_garde_alternée.date_courante égal à
date_courante
définition
calculette_sans_garde_alternée.ressources_ménage_prises_en_compte
égal à
ressources_ménage_prises_en_compte
définition coefficents_enfants_garde_alternée_pris_en_compte égal à
calculette.coefficents_enfants_garde_alternée_pris_en_compte
définition ménage_sans_enfants_garde_alternée égal à
Ménage {
# TODO informatique: syntaxe OCaml { ... with foo = bar} ?
-- prestations_reçues :
ménage.prestations_reçues
-- logement :
ménage.logement
-- personnes_à_charge :
(personne_à_charge parmi ménage.personnes_à_charge
tel que
(selon personne_à_charge sous forme
-- AutrePersonneÀCharge: vrai
-- EnfantÀCharge de enfant: (
selon enfant.situation_garde_alternée sous forme
-- GardeAlternéeCoefficientPriseEnCharge: faux
-- PasDeGardeAlternée: vrai
)))
-- nombre_autres_occupants_logement :
ménage.nombre_autres_occupants_logement
-- situation_familiale :
ménage.situation_familiale
-- condition_rattaché_foyer_fiscal_parent_ifi :
ménage.condition_rattaché_foyer_fiscal_parent_ifi
-- enfant_à_naître_après_quatrième_mois_grossesse:
ménage.enfant_à_naître_après_quatrième_mois_grossesse
}
définition éligibilité égal à calculette.éligibilité
```