Formule de calcul
Allocation de solidarité aux personnes âgées (Aspa)
Conditions d'ouverture du droit à l'allocation
Source : Articles L815-1 à L815-6 du Code de la sécurité sociale (consulté le lundi 1 janvier 1)
Ce dispositif est à jour !
La dernière date de relecture du dispositif est lundi 15 janvier 2024.
Formule de calcul OpenFisca à compter du 2020-04-01 :
def formula_2020_04_01(famille, period, parameters): maries = famille('maries', period) en_couple = famille('en_couple', period) asi_aspa_nb_alloc = famille('asi_aspa_nb_alloc', period) base_ressources = famille('asi_aspa_base_ressources', period) P = parameters(period).prestations_sociales.solidarite_insertion.minimum_vieillesse demandeur_eligible_asi = famille.demandeur('asi_eligibilite', period) demandeur_eligible_aspa = famille.demandeur('aspa_eligibilite', period) conjoint_eligible_asi = famille.conjoint('asi_eligibilite', period) conjoint_eligible_aspa = famille.conjoint('aspa_eligibilite', period) # Un seul éligible elig1 = ((asi_aspa_nb_alloc == 1) & (demandeur_eligible_aspa | conjoint_eligible_aspa)) # Couple d'éligibles elig2 = (demandeur_eligible_aspa & conjoint_eligible_aspa) # Un seul éligible et époux éligible ASI elig3 = ((demandeur_eligible_asi & conjoint_eligible_aspa) | (conjoint_eligible_asi & demandeur_eligible_aspa)) & maries # Un seul éligible et conjoint non marié éligible ASI elig4 = ((demandeur_eligible_asi & conjoint_eligible_aspa) | (conjoint_eligible_asi & demandeur_eligible_aspa)) & not_(maries) elig = elig1 | elig2 | elig3 | elig4 montant_asi_demandeur = famille.demandeur('asi', period) montant_asi_conjoint = famille.conjoint('asi', period) montant_max = ( elig1 * P.aspa.montant_maximum_annuel.personnes_seules + elig2 * P.aspa.montant_maximum_annuel.couples + elig3 * (montant_asi_demandeur + P.aspa.montant_maximum_annuel.couples / 2) + elig4 * (montant_asi_conjoint + P.aspa.montant_maximum_annuel.couples / 2) ) / 12 ressources = base_ressources + montant_max plafond_ressources = ( elig1 * (P.aspa.plafond_ressources.personnes_seules * not_(en_couple) + P.aspa.plafond_ressources.couples * en_couple) + (elig2 | elig3 | elig4) * P.aspa.plafond_ressources.couples ) / 12 depassement = max_(ressources - plafond_ressources, 0) diff = ( (elig1 | elig2) * (montant_max - depassement) + (elig3 | elig4) * (P.aspa.montant_maximum_annuel.couples / 12 / 2 - depassement / 2) ) # Montant mensuel servi (sous réserve d'éligibilité) montant_servi_aspa = max_(diff, 0) # TODO: Faute de mieux, on verse l'aspa à la famille plutôt qu'aux individus # aspa[CHEF] = demandeur_eligible_aspa*montant_servi_aspa*(elig1 + elig2/2) # aspa[PART] = conjoint_eligible_aspa*montant_servi_aspa*(elig1 + elig2/2) return elig * montant_servi_aspa
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.montant_maximum_annuel.couples
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.montant_maximum_annuel.personnes_seules
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.plafond_ressources.couples
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.plafond_ressources.personnes_seules
Variables utilisées par le cas type :
Formule de calcul OpenFisca à compter du 2006-01-01 :
def formula_2006_01_01(famille, period, parameters): maries = famille('maries', period) en_couple = famille('en_couple', period) asi_aspa_nb_alloc = famille('asi_aspa_nb_alloc', period) base_ressources = famille('asi_aspa_base_ressources', period) asi = parameters(period).prestations_sociales.prestations_etat_de_sante.invalidite.asi aspa = parameters(period).prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa demandeur_eligible_asi = famille.demandeur('asi_eligibilite', period) demandeur_eligible_aspa = famille.demandeur('aspa_eligibilite', period) conjoint_eligible_asi = famille.conjoint('asi_eligibilite', period) conjoint_eligible_aspa = famille.conjoint('aspa_eligibilite', period) # Un seul éligible elig1 = ((asi_aspa_nb_alloc == 1) & (demandeur_eligible_aspa | conjoint_eligible_aspa)) # Couple d'éligibles elig2 = (demandeur_eligible_aspa & conjoint_eligible_aspa) # Un seul éligible et époux éligible ASI elig3 = ((demandeur_eligible_asi & conjoint_eligible_aspa) | (conjoint_eligible_asi & demandeur_eligible_aspa)) & maries # Un seul éligible et conjoint non marié éligible ASI elig4 = ((demandeur_eligible_asi & conjoint_eligible_aspa) | (conjoint_eligible_asi & demandeur_eligible_aspa)) & not_(maries) elig = elig1 | elig2 | elig3 | elig4 montant_max = ( elig1 * aspa.montant_maximum_annuel.personnes_seules + elig2 * aspa.montant_maximum_annuel.couples + elig3 * (asi.montant_couple / 2 + aspa.montant_maximum_annuel.couples / 2) + elig4 * (asi.montant_seul + aspa.montant_maximum_annuel.couples / 2) ) / 12 ressources = base_ressources + montant_max plafond_ressources = ( elig1 * (aspa.plafond_ressources.personnes_seules * not_(en_couple) + aspa.plafond_ressources.couples * en_couple) + (elig2 | elig3 | elig4) * aspa.plafond_ressources.couples ) / 12 depassement = max_(ressources - plafond_ressources, 0) diff = ( (elig1 | elig2) * (montant_max - depassement) + (elig3 | elig4) * (aspa.montant_maximum_annuel.couples / 12 / 2 - depassement / 2) ) # Montant mensuel servi (sous réserve d'éligibilité) montant_servi_aspa = max_(diff, 0) # TODO: Faute de mieux, on verse l'aspa à la famille plutôt qu'aux individus # aspa[CHEF] = demandeur_eligible_aspa*montant_servi_aspa*(elig1 + elig2/2) # aspa[PART] = conjoint_eligible_aspa*montant_servi_aspa*(elig1 + elig2/2) return elig * montant_servi_aspa
Formule OpenFisca sur GithubVariables et paramètres inscrits dans la formule :
Paramètres :
- prestations_sociales.prestations_etat_de_sante.invalidite.asi.montant_couple
- prestations_sociales.prestations_etat_de_sante.invalidite.asi.montant_seul
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.montant_maximum_annuel.couples
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.montant_maximum_annuel.personnes_seules
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.plafond_ressources.couples
- prestations_sociales.solidarite_insertion.minimum_vieillesse.aspa.plafond_ressources.personnes_seules
Variables utilisées par le cas type :
Variables et dispositifs influencés par la formule :
La formule du dispositif "Alloc. solidarité personnes âgées (Aspa)" peut avoir une influence sur d'autres dispositifs et variables :