Pension de la sécurité de la vieillesse¶
Survol¶
Le programme de la Sécurité à la vieillesse est pris en charge par le module oas et comprend la Pension de la sécurité à la vieillesse (PSV), le Supplément de revenu garanti (SRG), l’Allocation (au conjoint) et l’Allocation au survivant. Ce module contient un gabarit que nous documentons ci-dessous ainsi que des classes dérivées spécifiques pour chaque année.
La fonction program permet de choisir l’année du programme et ira tirer une instance du programme pour cette année. L’instance est retournée par la fonction suivante:
- srd.oas.program(year, federal)¶
Fonction qui permet de sélectionner le programme par année.
- Paramètres
year (int) – année (présentement entre 2016 et 2022)
federal ({srd.federal.form_2016, ..., srd.federal.form_2022}) – instance de la classe srd.federal.form_xxxx (pour l’année xxxx) du module federal
- Renvoie
Une instance de la classe de l’année sélectionnée.
- Type renvoyé
class instance
Gabarit du programme¶
Nous utilisons un gabarit afin de créer les programmes chaque année. Quand le programme change seulement au niveau des paramètres d’une année à l’autre, nous irons chercher seulement les nouveaux paramètres. Quand des fonctions changent, l’utilisateur n’a qu’à modifier les fonctions touchées (ou à en ajouter de nouvelles). L’avantage des classes dérivées est de ne pas avoir à répéter toutes les fonctions d’une année à l’autre si celles-ci n’ont pas changé.
- srd.oas.template()¶
Classe qui contient un gabarit du programme de la Sécurité de la vieillesse (PSV, SRG, Allocation et Allocation au survivant), tel qu’il existait en 2016.
- file()
- srd.oas.template.template.file(self, hh)¶
Fonction pour faire une demande au programme et recevoir une prestation, en faisant appel à toutes les fonctions qui suivent.
Ceci calcule les prestations pour la PSV, le SRG, l’Allocation et l’Allocation au survivant.
- Paramètres
hh (Hhold) – instance de la classe Hhold
- eligibility()
- compute_net_income()
- compute_net_inc_exemption()
- srd.oas.template.template.compute_net_inc_exemption(self, hh)¶
Fonction qui calcule le revenu en sus de l’exemption aux fins du SRG sur les revenus du travail salarié.
- Paramètres
hh (Hhold) – instance de la classe Hhold
- Renvoie
Revenu en sus de l’exemption sur les revenus du travail aux fins du calcul du SRG.
- Type renvoyé
float
- compute_pension()
- pension_clawback()
- srd.oas.template.template.pension_clawback(self, p, hh)¶
Fonction qui calcule la récupération de la PSV, basée sur le revenu net qui inclut la PSV.
- gis()
- srd.oas.template.template.gis(self, p, hh, income, low_high)¶
Fonction qui calcule la prestation de Supplément de revenu garanti.
- Paramètres
- Renvoie
Montant du SRG (après récupération).
- Type renvoyé
float
- survivor_allowance()
- srd.oas.template.template.survivor_allowance(self, p, hh)¶
Fonction qui calcule la prestation effective d’Allocation au survivant, incluant la récupération.
- couple_allowance()
- srd.oas.template.template.couple_allowance(self, p, hh)¶
Fonction qui calcule la prestation effective d’Allocation au conjoint, en tenant compte du revenu.
- compute_allowance()
- srd.oas.template.template.compute_allowance(self, p, hh, supp_max)¶
Fonction qui calcule le montant maximal de l’Allocation au survivant ou de l’Allocation au conjoint.
Fonctions spécifiques ou modifiées par année¶
2016
- class srd.oas.programs.program_2016(federal)¶
Version du programme de 2016.
- Paramètres
federal (srd.federal.form_2016) – instance de la classe srd.federal.form_2016 du module federal
2017
- class srd.oas.programs.program_2017(federal)¶
Version du programme de 2017.
- Paramètres
federal (srd.federal.form_2017) – instance de la classe srd.federal.form_2017 du module federal
2018
- class srd.oas.programs.program_2018(federal)¶
Version du programme de 2018.
- Paramètres
federal (srd.federal.form_2018) – instance de la classe srd.federal.form_2018 du module federal
2019
- class srd.oas.programs.program_2019(federal)¶
Version du programme de 2019.
- Paramètres
federal (srd.federal.form_2019) – instance de la classe srd.federal.form_2019 du module federal
2020
- class srd.oas.programs.program_2020(federal)¶
Version du programme de 2020.
- Paramètres
federal (srd.federal.form_2020) – instance de la classe srd.federal.form_2020 du module federal
- compute_net_inc_exemption()
- srd.oas.programs.program_2020.compute_net_inc_exemption(self, hh)¶
Fonction qui remplace dans le gabarit (classe srd.oas.template) la fonction du même nom, et calcule le revenu net incluant l’exemption sur les revenus du travail salarié.
À partir de 2020-2021, les revenus de travail autonome bénéficient également de l’exemption. Les revenus du travail entre 5 000 $ et 10 000 $ bénéficient d’une nouvelle exemption partielle de 50%.
- Paramètres
hh (Hhold) – instance de la classe Hhold
- Renvoie
Revenu net de l’exemption sur les revenus du travail.
- Type renvoyé
float
2021
- class srd.oas.programs.program_2021(federal)¶
Version du programme de 2021.
- Paramètres
federal (srd.federal.form_2021) – instance de la classe srd.federal.form_2021 du module federal
- compute_pension()
- gis()
- srd.oas.programs.program_2021.gis(self, p, hh, income, low_high)¶
Fonction qui calcule la prestation de Supplément de revenu garanti.
- Paramètres
- Renvoie
Montant du SRG (après récupération).
- Type renvoyé
float
2022
- class srd.oas.programs.program_2022(federal)¶
Version du programme de 2022.
- Paramètres
federal (srd.federal.form_2022) – instance de la classe srd.federal.form_2022 du module Federal
- compute_pension()