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.

Nous reproduisons ici la spécification du gabarit. Il est basé sur le programme en vigueur en 2016.
(Cliquez sur le nom pour afficher les détails)

- 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()

srd.oas.template.template.eligibility(self, p, hh)

Fonction qui évalue l’admissibilité de la personne à chacun des 4 volets du programme.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- compute_net_income()

srd.oas.template.template.compute_net_income(self, p, hh)

Fonction qui calcule le revenu net (sans la PSV).

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

- 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()

srd.oas.template.template.compute_pension(self, p, hh)

Fonction qui calcule la prestation de PSV.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de la PSV.

Type renvoyé

float

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de la récupération de la PSV.

Type renvoyé

float

- 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
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • income (float) – revenu aux fins du calcul de la récupération du SRG

  • low_high (string) – “low”/”high” pour calcul du bonus de SRG pour très faible revenu

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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Prestation effective d’Allocation au survivant, incluant bonus et récupération.

Type renvoyé

float

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Prestation effective d’Allocation au conjoint, ajustée en fonction du revenu.

Type renvoyé

float

- 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.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • supp_max (float) – prestation maximale de SRG

Renvoie

Montant maximal de l’Allocation.

Type renvoyé

float


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()

srd.oas.programs.program_2021.compute_pension(self, p, hh)

Fonction qui calcule la prestation de PSV.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de la PSV.

Type renvoyé

float

- 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
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

  • income (float) – revenu aux fins du calcul de la récupération du SRG

  • low_high (string) – “low”/”high” pour calcul du bonus de SRG pour très faible revenu

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()

srd.oas.programs.program_2022.compute_pension(self, p, hh)

Fonction qui calcule la prestation de PSV.

Paramètres
  • p (Person) – instance de la classe Person

  • hh (Hhold) – instance de la classe Hhold

Renvoie

Montant de la PSV.

Type renvoyé

float