catala/examples/allocations_familiales/epilogue.catala_fr
2022-05-05 14:00:44 +02:00

137 lines
5.6 KiB
Plaintext

## Épilogue
### Règles diverses
Les textes législatifs et règlementaires contiennent toutes les informations
kécessaires au calcul. Cependant, certaines règles de calcul sont implicites
dans ces textes et doivent être explicitées pour le calcul informatique. C'est
la fonction du bloc de code ci-dessous.
```catala-metadata
champ d'application EnfantLePlusÂgé:
définition le_plus_âgé égal à
contenu maximum entier initial Enfant {
-- identifiant: -1
-- obligation_scolaire: Pendant
-- rémuneration_mensuelle: 0€
-- date_de_naissance: |1900-01-01|
-- âge: 0
-- prise_en_charge: EffectiveEtPermanente
-- a_déjà_ouvert_droit_aux_allocations_familiales: faux
-- bénéficie_titre_personnel_aide_personnelle_logement: faux
}
pour potentiel_plus_âgé dans enfants de potentiel_plus_âgé.âge
champ d'application AllocationsFamiliales:
définition montant_initial_métropole_majoration de enfant sous condition
non (droit_ouvert_majoration de enfant)
conséquence égal à 0 €
règle droit_ouvert_complément rempli
définition enfant_le_plus_âgé.enfants égal à enfants_à_charge
définition est_enfant_le_plus_âgé de enfant égal à
enfant_le_plus_âgé.le_plus_âgé = enfant
définition montant_versé_base égal à
si droit_ouvert_base alors montant_avec_garde_alternée_base sinon 0€
définition montant_versé_majoration égal à
si droit_ouvert_base alors
somme argent pour enfant dans enfants_à_charge de
montant_avec_garde_alternée_majoration de enfant
sinon 0€
définition montant_versé égal à
si droit_ouvert_base alors
montant_versé_base +€
montant_versé_majoration +€
montant_versé_forfaitaire +€
montant_versé_complément_pour_base_et_majoration +€
montant_versé_complément_pour_forfaitaire
sinon 0€
```
### Interface du programme
Le calcul des allocations familiales nécessite un certain nombre d'informations
sur les enfants à charge. Certaines de ces informations sont dépendantes les
unes des autres : par exemple, l'âge de l'enfant se déduit de sa date de
naissance. Le but du block ci-dessous est d'encoder ces dépendances, de telle
sorte que l'utilisateur puisse ne doive saisir que le nombre minimal
d'informations sur les enfants à charge.
```catala-metadata
déclaration structure EnfantEntrée:
donnée d_identifiant contenu entier
donnée d_rémuneration_mensuelle contenu argent
donnée d_date_de_naissance contenu date
donnée d_prise_en_charge contenu PriseEnCharge
donnée d_a_déjà_ouvert_droit_aux_allocations_familiales contenu booléen
donnée d_bénéficie_titre_personnel_aide_personnelle_logement contenu booléen
déclaration champ d'application InterfaceAllocationsFamiliales:
entrée i_date_courante contenu date
entrée i_enfants contenu collection EnfantEntrée
interne enfants_à_charge contenu collection Enfant
allocations_familiales champ d'application AllocationsFamiliales
entrée i_ressources_ménage contenu argent
entrée i_résidence contenu Collectivité
sortie i_montant_versé contenu argent
entrée i_personne_charge_effective_permanente_est_parent condition
entrée i_personne_charge_effective_permanente_remplit_titre_I condition
entrée i_avait_enfant_à_charge_avant_1er_janvier_2012 condition
champ d'application InterfaceAllocationsFamiliales:
définition allocations_familiales.date_courante égal à i_date_courante
définition allocations_familiales.enfants_à_charge égal à enfants_à_charge
définition allocations_familiales.ressources_ménage égal à i_ressources_ménage
définition allocations_familiales.résidence égal à i_résidence
définition i_montant_versé égal à allocations_familiales.montant_versé
règle
allocations_familiales.personne_charge_effective_permanente_est_parent
sous condition i_personne_charge_effective_permanente_est_parent
conséquence rempli
règle
allocations_familiales.personne_charge_effective_permanente_remplit_titre_I
sous condition i_personne_charge_effective_permanente_remplit_titre_I
conséquence rempli
règle
allocations_familiales.avait_enfant_à_charge_avant_1er_janvier_2012
sous condition i_avait_enfant_à_charge_avant_1er_janvier_2012
conséquence rempli
```
#### Code de l'éducation
#### Article L131-1|LEGIARTI000038901859
L'instruction est obligatoire pour chaque enfant dès l'âge de trois ans et
jusqu'à l'âge de seize ans.
La présente disposition ne fait pas obstacle à l'application des prescriptions
particulières imposant une scolarité plus longue.
```catala
champ d'application InterfaceAllocationsFamiliales:
définition enfants_à_charge égal à application pour enfant dans i_enfants de
Enfant {
-- identifiant : enfant.d_identifiant
-- rémuneration_mensuelle : enfant.d_rémuneration_mensuelle
-- date_de_naissance : enfant.d_date_de_naissance
-- prise_en_charge : enfant.d_prise_en_charge
-- âge: accès_année de
(|0000-01-01| +@ (i_date_courante -@ enfant.d_date_de_naissance))
-- obligation_scolaire :
(si enfant.d_date_de_naissance +@ 3 an >=@ i_date_courante alors
Avant
sinon (si enfant.d_date_de_naissance +@ 16 an >=@ i_date_courante alors
Pendant
sinon Après))
-- a_déjà_ouvert_droit_aux_allocations_familiales:
enfant.d_a_déjà_ouvert_droit_aux_allocations_familiales
-- bénéficie_titre_personnel_aide_personnelle_logement:
enfant.d_bénéficie_titre_personnel_aide_personnelle_logement
}
```