# É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 minimum date initial Enfant { -- identifiant: -1 -- obligation_scolaire: Pendant -- rémuneration_mensuelle: 0€ -- date_de_naissance: |2999-12-31| -- 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é.date_de_naissance 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 -- 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 } ```