Esempio n. 1
0
def _api(agem, age, smic55, isol, forf_log, br_rmi, af_majo, rsa, _P, _option = {'age': ENFS, 'agem': ENFS, 'smic55': ENFS}):
    '''
    Allocation de parent isolé
    '''
    P = _P
    bmaf = P.fam.af.bmaf;
    # TODO
    benjamin = age_en_mois_benjamin(agem)  
    enceinte = (benjamin<0)*(benjamin>-6)
    # TODO quel mois mettre ?
    # TODO pas complètement exact
    # L'allocataire perçoit l'API :
    # jusqu'à ce que le plus jeune enfant ait 3 ans,
    # ou pendant 12 mois consécutifs si les enfants sont âgés de plus de 3 ans 
    #    et s'il a présenté sa demande dans les 6 mois à partir du moment où il 
    #    assure seul la charge de l'enfant. 
    # TODO: API courte gens pour les gens qui ont divorcés dans l'année
    # Le droit à l'allocation est réétudié tous les 3 mois.
    ## Calcul de l'année et mois de naissance du benjamin 
    
    condition = (floor(benjamin/12) <= P.minim.api.age-1)
    eligib = isol*( (enceinte!=0) | (nb_enf(age, smic55, 0,P.minim.api.age-1)>0) )*condition;

    # moins de 20 ans avant inclusion dans rsa
    # moins de 25 ans après inclusion dans rsa
    api1 = eligib*bmaf*(P.minim.api.base + P.minim.api.enf_sup*nb_enf(age, smic55, P.fam.af.age1,P.minim.api.age_pac-1) )
    rsa = (P.minim.api.age_pac >= 25) # dummy passage au rsa majoré
    br_api = br_rmi + af_majo*not_(rsa)
    # On pourrait mensualiser RMI, BRrmi et forfait logement
    api  = max_(0, api1 - forf_log/12 - br_api/12 - rsa/12) 
    # L'API est exonérée de CRDS
    return 12*api # annualisé
Esempio n. 2
0
def _api(agem,
         age,
         smic55,
         isol,
         forf_log,
         br_rmi,
         af_majo,
         rsa,
         _P,
         _option={
             'age': ENFS,
             'agem': ENFS,
             'smic55': ENFS
         }):
    '''
    Allocation de parent isolé
    '''
    P = _P
    bmaf = P.fam.af.bmaf
    # TODO
    benjamin = age_en_mois_benjamin(agem)
    enceinte = (benjamin < 0) * (benjamin > -6)
    # TODO quel mois mettre ?
    # TODO pas complètement exact
    # L'allocataire perçoit l'API :
    # jusqu'à ce que le plus jeune enfant ait 3 ans,
    # ou pendant 12 mois consécutifs si les enfants sont âgés de plus de 3 ans
    #    et s'il a présenté sa demande dans les 6 mois à partir du moment où il
    #    assure seul la charge de l'enfant.
    # TODO: API courte gens pour les gens qui ont divorcés dans l'année
    # Le droit à l'allocation est réétudié tous les 3 mois.
    ## Calcul de l'année et mois de naissance du benjamin

    condition = (floor(benjamin / 12) <= P.minim.api.age - 1)
    eligib = isol * (
        (enceinte != 0) |
        (nb_enf(age, smic55, 0, P.minim.api.age - 1) > 0)) * condition

    # moins de 20 ans avant inclusion dans rsa
    # moins de 25 ans après inclusion dans rsa
    api1 = eligib * bmaf * (P.minim.api.base + P.minim.api.enf_sup * nb_enf(
        age, smic55, P.fam.af.age1, P.minim.api.age_pac - 1))
    rsa = (P.minim.api.age_pac >= 25)  # dummy passage au rsa majoré
    br_api = br_rmi + af_majo * not_(rsa)
    # On pourrait mensualiser RMI, BRrmi et forfait logement
    api = max_(0, api1 - forf_log / 12 - br_api / 12 - rsa / 12)
    # L'API est exonérée de CRDS
    return 12 * api  # annualisé
Esempio n. 3
0
def _al_pac(age, smic55, nbR, _P, _option = {'age': ENFS, 'smic55': ENFS}):
    '''
    Nombre de personne à charge au sens des allocations logement
    '''
    P = _P
    # site de la CAF en 2011: 
    ## Enfant à charge
    # Vous assurez financièrement l'entretien et asez la responsabilité 
    # affective et éducative d'un enfant, que vous ayez ou non un lien de 
    # parenté avec lui. Il est reconnu à votre charge pour le versement 
    # des aides au logement jusqu'au mois précédent ses 21 ans.
    # Attention, s'il travaille, il doit gagner moins de 836,55 € par mois.
    ## Parents âgés ou infirmes
    # Sont à votre charge s'ils vivent avec vous et si leurs revenus 2009 
    # ne dépassent pas 10 386,59 € :
    #   * vos parents ou grand-parents âgés de plus de 65 ans ou d'au moins
    #     60 ans, inaptes au travail, anciens déportés,
    #   * vos proches parents infirmes âgés de 22 ans ou plus (parents, 
    #     grand-parents, enfants, petits enfants, frères, soeurs, oncles, 
    #     tantes, neveux, nièces).
    # P_AL.D_enfch est une dummy qui vaut 1 si les enfants sont comptés à
    # charge (cas actuel) et zéro sinon.
    al_nbinv = nbR
    age1 = P.fam.af.age1
    age2 = P.fam.cf.age2
    al_nbenf = nb_enf(age, smic55, age1, age2)
    al_pac = P.al.autres.D_enfch*(al_nbenf + al_nbinv) #  manque invalides
    # TODO: il faudrait probablement définir les AL pour un ménage et non 
    # pour une famille
    return al_pac
Esempio n. 4
0
def _aefa(age, smic55, af_nbenf, nb_par, ass ,aer, api, rsa, _P, _option = {'age': ENFS, 'smic55': ENFS}):
    '''
    Aide exceptionelle de fin d'année (prime de Noël)
    '''
    # Insituée en 1998        
    # Apparaît sous le nom de complément de rmi dans les ERF    
    P = _P
    dummy_ass = ass > 0
    dummy_aer = aer > 0
    dummy_api = api > 0
    dummy_rmi = rsa > 0

    # Le montant de l’aide mentionnée à l’article 1er versée aux bénéficiaires de l’allocation de solidarité
    # spécifique à taux majoré servie aux allocataires âgés de cinquante-cinq ans ou plus justifiant de vingt années
    # d’activité salariée, aux allocataires âgés de cinquante-sept ans et demi ou plus justifiant de dix années d’activité
    # salariée ainsi qu’aux allocataires justifiant d’au moins 160 trimestres validés dans les régimes d’assurance
    # vieillesse ou de périodes reconnues équivalentes est égal à        
    maj = 0  # TODO
    
    condition = (dummy_ass+dummy_aer+dummy_api+dummy_rmi > 0)
    
    if hasattr(P.fam.af,"age3"): nbPAC = nb_enf(age, smic55, P.fam.af.age1,P.fam.af.age3)
    else: nbPAC = af_nbenf
    # TODO check nombre de PAC pour une famille
    P = _P.minim
    aefa = condition*P.aefa.mon_seul*(1 + (nb_par==2)*P.aefa.tx_2p
              + nbPAC*P.aefa.tx_supp*(nb_par<=2)
              + nbPAC*P.aefa.tx_3pac*max_(nbPAC-2,0))
    
    if _P.datesim.year==2008: aefa += condition*P.aefa.forf2008
               
    aefa_maj  = P.aefa.mon_seul*maj
    aefa = max_(aefa_maj,aefa)   
    return aefa 
Esempio n. 5
0
def _rmi_nbp(age, smic55, nb_par, _P, _option={'age': ENFS, 'smic55': ENFS}):
    '''
    Nombre de personne à charge au sens du Rmi ou du Rsa
    'fam'
    '''
    return nb_par + nb_enf(age, smic55, 0,
                           24)  # TODO limite d'âge dans paramètres
Esempio n. 6
0
def _al_pac(age, smic55, nbR, _P, _option={'age': ENFS, 'smic55': ENFS}):
    '''
    Nombre de personne à charge au sens des allocations logement
    '''
    P = _P
    # site de la CAF en 2011:
    ## Enfant à charge
    # Vous assurez financièrement l'entretien et asez la responsabilité
    # affective et éducative d'un enfant, que vous ayez ou non un lien de
    # parenté avec lui. Il est reconnu à votre charge pour le versement
    # des aides au logement jusqu'au mois précédent ses 21 ans.
    # Attention, s'il travaille, il doit gagner moins de 836,55 € par mois.
    ## Parents âgés ou infirmes
    # Sont à votre charge s'ils vivent avec vous et si leurs revenus 2009
    # ne dépassent pas 10 386,59 € :
    #   * vos parents ou grand-parents âgés de plus de 65 ans ou d'au moins
    #     60 ans, inaptes au travail, anciens déportés,
    #   * vos proches parents infirmes âgés de 22 ans ou plus (parents,
    #     grand-parents, enfants, petits enfants, frères, soeurs, oncles,
    #     tantes, neveux, nièces).
    # P_AL.D_enfch est une dummy qui vaut 1 si les enfants sont comptés à
    # charge (cas actuel) et zéro sinon.
    al_nbinv = nbR
    age1 = P.fam.af.age1
    age2 = P.fam.cf.age2
    al_nbenf = nb_enf(age, smic55, age1, age2)
    al_pac = P.al.autres.D_enfch * (al_nbenf + al_nbinv)  #  manque invalides
    # TODO: il faudrait probablement définir les AL pour un ménage et non
    # pour une famille
    return al_pac
Esempio n. 7
0
def _aefa(age,
          smic55,
          af_nbenf,
          nb_par,
          ass,
          aer,
          api,
          rsa,
          _P,
          _option={
              'age': ENFS,
              'smic55': ENFS
          }):
    '''
    Aide exceptionelle de fin d'année (prime de Noël)
    '''
    # Insituée en 1998
    # Apparaît sous le nom de complément de rmi dans les ERF
    P = _P
    dummy_ass = ass > 0
    dummy_aer = aer > 0
    dummy_api = api > 0
    dummy_rmi = rsa > 0

    # Le montant de l’aide mentionnée à l’article 1er versée aux bénéficiaires de l’allocation de solidarité
    # spécifique à taux majoré servie aux allocataires âgés de cinquante-cinq ans ou plus justifiant de vingt années
    # d’activité salariée, aux allocataires âgés de cinquante-sept ans et demi ou plus justifiant de dix années d’activité
    # salariée ainsi qu’aux allocataires justifiant d’au moins 160 trimestres validés dans les régimes d’assurance
    # vieillesse ou de périodes reconnues équivalentes est égal à
    maj = 0  # TODO

    condition = (dummy_ass + dummy_aer + dummy_api + dummy_rmi > 0)

    if hasattr(P.fam.af, "age3"):
        nbPAC = nb_enf(age, smic55, P.fam.af.age1, P.fam.af.age3)
    else:
        nbPAC = af_nbenf
    # TODO check nombre de PAC pour une famille
    P = _P.minim
    aefa = condition * P.aefa.mon_seul * (
        1 + (nb_par == 2) * P.aefa.tx_2p + nbPAC * P.aefa.tx_supp *
        (nb_par <= 2) + nbPAC * P.aefa.tx_3pac * max_(nbPAC - 2, 0))

    if _P.datesim.year == 2008: aefa += condition * P.aefa.forf2008

    aefa_maj = P.aefa.mon_seul * maj
    aefa = max_(aefa_maj, aefa)
    return aefa
Esempio n. 8
0
def _rmi_nbp(age, smic55, nb_par , _P, _option = {'age': ENFS, 'smic55': ENFS}):
    '''
    Nombre de personne à charge au sens du Rmi ou du Rsa
    'fam'
    '''
    return nb_par + nb_enf(age, smic55, 0, 24)  # TODO limite d'âge dans paramètres