UNPKG

@leximpact/socio-fiscal-openfisca-json

Version:

JSON & YAML data extracted from OpenFisca-France with Indirect Taxation source code (parameters, variables, etc)

1,491 lines 51.1 kB
{ "default_value": false, "definition_period": "month", "documentation": "\nComplémentaire à la bourse sur critères sociaux, pour les étudiants\nayant eu mention très bien au baccalauréat.\n\nNon modélisé :\n- L'étudiant respecte les conditions d'inscription pédagogique, d'assiduité\net de présentation aux examens (non applicable si nouveau bachelier)\nou redouble pour raisons médicales.\n\n- Un étudiant ne peut bénéficier de plus de 3 fois de l'aide au mérite.\n", "dtype": "bool_", "entity": "individu", "file_path": "openfisca_france/model/prestations/enseignement_superieur/aide_merite.py", "formulas": { "0001-01-01": { "ast": { "args": { "args": [ { "arg": "individu", "ast_class": "arg", "col_offset": 12, "end_col_offset": 20, "end_lineno": 1, "lineno": 1 }, { "arg": "period", "ast_class": "arg", "col_offset": 22, "end_col_offset": 28, "end_lineno": 1, "lineno": 1 } ], "ast_class": "arguments", "defaults": [], "kw_defaults": [], "kwonlyargs": [], "posonlyargs": [] }, "ast_class": "FunctionDef", "body": [ { "args": { "args": [ { "arg": "mois_calcul", "ast_class": "arg", "col_offset": 48, "end_col_offset": 59, "end_lineno": 3, "lineno": 3 } ], "ast_class": "arguments", "defaults": [], "kw_defaults": [], "kwonlyargs": [], "posonlyargs": [] }, "ast_class": "FunctionDef", "body": [ { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 94, "end_lineno": 4, "lineno": 4, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 30, "end_lineno": 4, "id": "nb_mois_annee_courante", "lineno": 4 } ], "value": { "ast_class": "BinOp", "col_offset": 33, "end_col_offset": 94, "end_lineno": 4, "left": { "ast_class": "BinOp", "col_offset": 33, "end_col_offset": 90, "end_lineno": 4, "left": { "ast_class": "Attribute", "attr": "month", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 55, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Attribute", "attr": "date", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Name", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 44, "end_lineno": 4, "id": "mois_calcul", "lineno": 4 } } }, "lineno": 4, "op": { "ast_class": "Sub" }, "right": { "ast_class": "Attribute", "attr": "month", "col_offset": 58, "ctx": { "ast_class": "Load" }, "end_col_offset": 90, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Attribute", "attr": "date", "col_offset": 58, "ctx": { "ast_class": "Load" }, "end_col_offset": 84, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Attribute", "attr": "this_year", "col_offset": 58, "ctx": { "ast_class": "Load" }, "end_col_offset": 79, "end_lineno": 4, "lineno": 4, "value": { "ast_class": "Name", "col_offset": 58, "ctx": { "ast_class": "Load" }, "end_col_offset": 69, "end_lineno": 4, "id": "mois_calcul", "lineno": 4 } } } } }, "lineno": 4, "op": { "ast_class": "Add" }, "right": { "ast_class": "Constant", "col_offset": 93, "end_col_offset": 94, "end_lineno": 4, "lineno": 4, "value": 1 } } }, { "ast_class": "If", "body": [ { "ast_class": "Assign", "col_offset": 12, "end_col_offset": 61, "end_lineno": 8, "lineno": 8, "targets": [ { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Store" }, "end_col_offset": 37, "end_lineno": 8, "id": "annee_de_rentree_courante", "lineno": 8 } ], "value": { "ast_class": "Attribute", "attr": "last_year", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 8, "lineno": 8, "value": { "ast_class": "Name", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 8, "id": "mois_calcul", "lineno": 8 } } } ], "col_offset": 8, "end_col_offset": 61, "end_lineno": 10, "lineno": 7, "orelse": [ { "ast_class": "Assign", "col_offset": 12, "end_col_offset": 61, "end_lineno": 10, "lineno": 10, "targets": [ { "ast_class": "Name", "col_offset": 12, "ctx": { "ast_class": "Store" }, "end_col_offset": 37, "end_lineno": 10, "id": "annee_de_rentree_courante", "lineno": 10 } ], "value": { "ast_class": "Attribute", "attr": "this_year", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 61, "end_lineno": 10, "lineno": 10, "value": { "ast_class": "Name", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 10, "id": "mois_calcul", "lineno": 10 } } } ], "test": { "ast_class": "Compare", "col_offset": 11, "comparators": [ { "ast_class": "Constant", "col_offset": 36, "end_col_offset": 37, "end_lineno": 7, "lineno": 7, "value": 9 } ], "end_col_offset": 37, "end_lineno": 7, "left": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 33, "end_lineno": 7, "id": "nb_mois_annee_courante", "lineno": 7 }, "lineno": 7, "ops": [ { "ast_class": "Lt" } ] } }, { "ast_class": "Assign", "col_offset": 8, "end_col_offset": 77, "end_lineno": 12, "lineno": 12, "targets": [ { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Store" }, "end_col_offset": 25, "end_lineno": 12, "id": "septembre_dernier", "lineno": 12 } ], "value": { "ast_class": "Attribute", "attr": "start", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 77, "end_lineno": 12, "lineno": 12, "value": { "args": [ { "ast_class": "UnaryOp", "col_offset": 61, "end_col_offset": 63, "end_lineno": 12, "lineno": 12, "op": { "ast_class": "USub" }, "operand": { "ast_class": "Constant", "col_offset": 62, "end_col_offset": 63, "end_lineno": 12, "lineno": 12, "value": 4 } }, { "ast_class": "Name", "col_offset": 65, "ctx": { "ast_class": "Load" }, "end_col_offset": 70, "end_lineno": 12, "id": "MONTH", "lineno": 12 } ], "ast_class": "Call", "col_offset": 28, "end_col_offset": 71, "end_lineno": 12, "func": { "ast_class": "Attribute", "attr": "offset", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 60, "end_lineno": 12, "lineno": 12, "value": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 53, "end_lineno": 12, "id": "annee_de_rentree_courante", "lineno": 12 } }, "keywords": [], "lineno": 12 } } }, { "ast_class": "Return", "col_offset": 8, "end_col_offset": 53, "end_lineno": 13, "lineno": 13, "value": { "args": [ { "ast_class": "Tuple", "col_offset": 22, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Name", "col_offset": 23, "ctx": { "ast_class": "Load" }, "end_col_offset": 28, "end_lineno": 13, "id": "MONTH", "lineno": 13 }, { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 47, "end_lineno": 13, "id": "septembre_dernier", "lineno": 13 }, { "ast_class": "Constant", "col_offset": 49, "end_col_offset": 51, "end_lineno": 13, "lineno": 13, "value": 10 } ], "end_col_offset": 52, "end_lineno": 13, "lineno": 13 } ], "ast_class": "Call", "col_offset": 15, "end_col_offset": 53, "end_lineno": 13, "func": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 21, "end_lineno": 13, "id": "Period", "lineno": 13 }, "keywords": [], "lineno": 13 } } ], "col_offset": 4, "decorator_list": [], "end_col_offset": 53, "end_lineno": 13, "lineno": 3, "name": "calcul_periode_universitaire_precedente" }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 43, "end_lineno": 16, "lineno": 16, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 12, "end_lineno": 16, "id": "etudiant", "lineno": 16 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 24, "end_col_offset": 34, "end_lineno": 16, "lineno": 16, "value": "etudiant" }, { "ast_class": "Name", "col_offset": 36, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 16, "id": "period", "lineno": 16 } ], "ast_class": "Call", "col_offset": 15, "end_col_offset": 43, "end_lineno": 16, "func": { "ast_class": "Name", "col_offset": 15, "ctx": { "ast_class": "Load" }, "end_col_offset": 23, "end_lineno": 16, "id": "individu", "lineno": 16 }, "keywords": [], "lineno": 16 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 73, "end_lineno": 18, "lineno": 18, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 27, "end_lineno": 18, "id": "bourse_criteres_sociaux", "lineno": 18 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 39, "end_col_offset": 64, "end_lineno": 18, "lineno": 18, "value": "bourse_criteres_sociaux" }, { "ast_class": "Name", "col_offset": 66, "ctx": { "ast_class": "Load" }, "end_col_offset": 72, "end_lineno": 18, "id": "period", "lineno": 18 } ], "ast_class": "Call", "col_offset": 30, "end_col_offset": 73, "end_lineno": 18, "func": { "ast_class": "Name", "col_offset": 30, "ctx": { "ast_class": "Load" }, "end_col_offset": 38, "end_lineno": 18, "id": "individu", "lineno": 18 }, "keywords": [], "lineno": 18 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 83, "end_lineno": 19, "lineno": 19, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 32, "end_lineno": 19, "id": "allocation_annuelle_etudiant", "lineno": 19 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 44, "end_col_offset": 74, "end_lineno": 19, "lineno": 19, "value": "allocation_annuelle_etudiant" }, { "ast_class": "Name", "col_offset": 76, "ctx": { "ast_class": "Load" }, "end_col_offset": 82, "end_lineno": 19, "id": "period", "lineno": 19 } ], "ast_class": "Call", "col_offset": 35, "end_col_offset": 83, "end_lineno": 19, "func": { "ast_class": "Name", "col_offset": 35, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 19, "id": "individu", "lineno": 19 }, "keywords": [], "lineno": 19 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 87, "end_lineno": 20, "lineno": 20, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 24, "end_lineno": 20, "id": "condition_ressources", "lineno": 20 } ], "value": { "ast_class": "Compare", "col_offset": 27, "comparators": [ { "ast_class": "Constant", "col_offset": 86, "end_col_offset": 87, "end_lineno": 20, "lineno": 20, "value": 0 } ], "end_col_offset": 87, "end_lineno": 20, "left": { "ast_class": "BinOp", "col_offset": 28, "end_col_offset": 82, "end_lineno": 20, "left": { "ast_class": "Name", "col_offset": 28, "ctx": { "ast_class": "Load" }, "end_col_offset": 51, "end_lineno": 20, "id": "bourse_criteres_sociaux", "lineno": 20 }, "lineno": 20, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 54, "ctx": { "ast_class": "Load" }, "end_col_offset": 82, "end_lineno": 20, "id": "allocation_annuelle_etudiant", "lineno": 20 } }, "lineno": 20, "ops": [ { "ast_class": "Gt" } ] } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 67, "end_lineno": 22, "lineno": 22, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 24, "end_lineno": 22, "id": "mention_baccalaureat", "lineno": 22 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 36, "end_col_offset": 58, "end_lineno": 22, "lineno": 22, "value": "mention_baccalaureat" }, { "ast_class": "Name", "col_offset": 60, "ctx": { "ast_class": "Load" }, "end_col_offset": 66, "end_lineno": 22, "id": "period", "lineno": 22 } ], "ast_class": "Call", "col_offset": 27, "end_col_offset": 67, "end_lineno": 22, "func": { "ast_class": "Name", "col_offset": 27, "ctx": { "ast_class": "Load" }, "end_col_offset": 35, "end_lineno": 22, "id": "individu", "lineno": 22 }, "keywords": [], "lineno": 22 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 9, "end_lineno": 26, "lineno": 23, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 21, "end_lineno": 23, "id": "condition_mention", "lineno": 23 } ], "value": { "ast_class": "BinOp", "col_offset": 8, "end_col_offset": 85, "end_lineno": 25, "left": { "ast_class": "Compare", "col_offset": 9, "comparators": [ { "ast_class": "Attribute", "attr": "mention_tres_bien", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 63, "end_lineno": 24, "lineno": 24, "value": { "ast_class": "Name", "col_offset": 33, "ctx": { "ast_class": "Load" }, "end_col_offset": 45, "end_lineno": 24, "id": "TypesMention", "lineno": 24 } } ], "end_col_offset": 63, "end_lineno": 24, "left": { "ast_class": "Name", "col_offset": 9, "ctx": { "ast_class": "Load" }, "end_col_offset": 29, "end_lineno": 24, "id": "mention_baccalaureat", "lineno": 24 }, "lineno": 24, "ops": [ { "ast_class": "Eq" } ] }, "lineno": 24, "op": { "ast_class": "Add" }, "right": { "ast_class": "Compare", "col_offset": 11, "comparators": [ { "ast_class": "Attribute", "attr": "mention_tres_bien_felicitations_jury", "col_offset": 35, "ctx": { "ast_class": "Load" }, "end_col_offset": 84, "end_lineno": 25, "lineno": 25, "value": { "ast_class": "Name", "col_offset": 35, "ctx": { "ast_class": "Load" }, "end_col_offset": 47, "end_lineno": 25, "id": "TypesMention", "lineno": 25 } } ], "end_col_offset": 84, "end_lineno": 25, "left": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 31, "end_lineno": 25, "id": "mention_baccalaureat", "lineno": 25 }, "lineno": 25, "ops": [ { "ast_class": "Eq" } ] } } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 86, "end_lineno": 29, "lineno": 29, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 36, "end_lineno": 29, "id": "periode_universitaire_precedente", "lineno": 29 } ], "value": { "args": [ { "ast_class": "Name", "col_offset": 79, "ctx": { "ast_class": "Load" }, "end_col_offset": 85, "end_lineno": 29, "id": "period", "lineno": 29 } ], "ast_class": "Call", "col_offset": 39, "end_col_offset": 86, "end_lineno": 29, "func": { "ast_class": "Name", "col_offset": 39, "ctx": { "ast_class": "Load" }, "end_col_offset": 78, "end_lineno": 29, "id": "calcul_periode_universitaire_precedente", "lineno": 29 }, "keywords": [], "lineno": 29 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 9, "end_lineno": 34, "lineno": 30, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 38, "end_lineno": 30, "id": "aide_merite_eligibilite_an_dernier", "lineno": 30 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 8, "end_col_offset": 33, "end_lineno": 31, "lineno": 31, "value": "aide_merite_eligibilite" }, { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 40, "end_lineno": 32, "id": "periode_universitaire_precedente", "lineno": 32 } ], "ast_class": "Call", "col_offset": 41, "end_col_offset": 9, "end_lineno": 34, "func": { "ast_class": "Name", "col_offset": 41, "ctx": { "ast_class": "Load" }, "end_col_offset": 49, "end_lineno": 30, "id": "individu", "lineno": 30 }, "keywords": [ { "arg": "options", "ast_class": "keyword", "col_offset": 8, "end_col_offset": 23, "end_lineno": 33, "lineno": 33, "value": { "ast_class": "List", "col_offset": 18, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 33, "id": "ADD", "lineno": 33 } ], "end_col_offset": 23, "end_lineno": 33, "lineno": 33 } } ], "lineno": 30 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 113, "end_lineno": 37, "lineno": 37, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 32, "end_lineno": 37, "id": "service_civique_annee_passee", "lineno": 37 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 44, "end_col_offset": 61, "end_lineno": 37, "lineno": 37, "value": "service_civique" }, { "ast_class": "Name", "col_offset": 63, "ctx": { "ast_class": "Load" }, "end_col_offset": 95, "end_lineno": 37, "id": "periode_universitaire_precedente", "lineno": 37 } ], "ast_class": "Call", "col_offset": 35, "end_col_offset": 113, "end_lineno": 37, "func": { "ast_class": "Name", "col_offset": 35, "ctx": { "ast_class": "Load" }, "end_col_offset": 43, "end_lineno": 37, "id": "individu", "lineno": 37 }, "keywords": [ { "arg": "options", "ast_class": "keyword", "col_offset": 97, "end_col_offset": 112, "end_lineno": 37, "lineno": 37, "value": { "ast_class": "List", "col_offset": 107, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Name", "col_offset": 108, "ctx": { "ast_class": "Load" }, "end_col_offset": 111, "end_lineno": 37, "id": "ADD", "lineno": 37 } ], "end_col_offset": 112, "end_lineno": 37, "lineno": 37 } } ], "lineno": 37 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 91, "end_lineno": 38, "lineno": 38, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 37, "end_lineno": 38, "id": "periode_universitaire_2_ans_avant", "lineno": 38 } ], "value": { "args": [ { "ast_class": "UnaryOp", "col_offset": 80, "end_col_offset": 83, "end_lineno": 38, "lineno": 38, "op": { "ast_class": "USub" }, "operand": { "ast_class": "Constant", "col_offset": 81, "end_col_offset": 83, "end_lineno": 38, "lineno": 38, "value": 12 } }, { "ast_class": "Name", "col_offset": 85, "ctx": { "ast_class": "Load" }, "end_col_offset": 90, "end_lineno": 38, "id": "MONTH", "lineno": 38 } ], "ast_class": "Call", "col_offset": 40, "end_col_offset": 91, "end_lineno": 38, "func": { "ast_class": "Attribute", "attr": "offset", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 79, "end_lineno": 38, "lineno": 38, "value": { "ast_class": "Name", "col_offset": 40, "ctx": { "ast_class": "Load" }, "end_col_offset": 72, "end_lineno": 38, "id": "periode_universitaire_precedente", "lineno": 38 } }, "keywords": [], "lineno": 38 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 24, "end_lineno": 41, "lineno": 39, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 42, "end_lineno": 39, "id": "aide_merite_eligibilite_deux_ans_avant", "lineno": 39 } ], "value": { "args": [ { "ast_class": "Constant", "col_offset": 54, "end_col_offset": 79, "end_lineno": 39, "lineno": 39, "value": "aide_merite_eligibilite" }, { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 41, "end_lineno": 40, "id": "periode_universitaire_2_ans_avant", "lineno": 40 } ], "ast_class": "Call", "col_offset": 45, "end_col_offset": 24, "end_lineno": 41, "func": { "ast_class": "Name", "col_offset": 45, "ctx": { "ast_class": "Load" }, "end_col_offset": 53, "end_lineno": 39, "id": "individu", "lineno": 39 }, "keywords": [ { "arg": "options", "ast_class": "keyword", "col_offset": 8, "end_col_offset": 23, "end_lineno": 41, "lineno": 41, "value": { "ast_class": "List", "col_offset": 18, "ctx": { "ast_class": "Load" }, "elts": [ { "ast_class": "Name", "col_offset": 19, "ctx": { "ast_class": "Load" }, "end_col_offset": 22, "end_lineno": 41, "id": "ADD", "lineno": 41 } ], "end_col_offset": 23, "end_lineno": 41, "lineno": 41 } } ], "lineno": 39 } }, { "ast_class": "Assign", "col_offset": 4, "end_col_offset": 79, "end_lineno": 43, "lineno": 42, "targets": [ { "ast_class": "Name", "col_offset": 4, "ctx": { "ast_class": "Store" }, "end_col_offset": 59, "end_lineno": 42, "id": "aide_merite_eligibile_mais_service_civique_annee_passee", "lineno": 42 } ], "value": { "ast_class": "BinOp", "col_offset": 63, "end_col_offset": 78, "end_lineno": 43, "left": { "ast_class": "Name", "col_offset": 63, "ctx": { "ast_class": "Load" }, "end_col_offset": 101, "end_lineno": 42, "id": "aide_merite_eligibilite_deux_ans_avant", "lineno": 42 }, "lineno": 42, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Name", "col_offset": 50, "ctx": { "ast_class": "Load" }, "end_col_offset": 78, "end_lineno": 43, "id": "service_civique_annee_passee", "lineno": 43 } } }, { "ast_class": "Return", "col_offset": 4, "end_col_offset": 9, "end_lineno": 49, "lineno": 45, "value": { "ast_class": "BinOp", "col_offset": 11, "end_col_offset": 9, "end_lineno": 49, "left": { "ast_class": "BinOp", "col_offset": 11, "end_col_offset": 42, "end_lineno": 45, "left": { "ast_class": "Name", "col_offset": 11, "ctx": { "ast_class": "Load" }, "end_col_offset": 19, "end_lineno": 45, "id": "etudiant", "lineno": 45 }, "lineno": 45, "op": { "ast_class": "Mult" }, "right": { "ast_class": "Name", "col_offset": 22, "ctx": { "ast_class": "Load" }, "end_col_offset": 42, "end_lineno": 45, "id": "condition_ressources", "lineno": 45 } }, "lineno": 45, "op": { "ast_class": "Mult" }, "right": { "ast_class": "BinOp", "col_offset": 8, "end_col_offset": 65, "end_lineno": 48, "left": { "ast_class": "BinOp", "col_offset": 8, "end_col_offset": 44, "end_lineno": 47, "left": { "ast_class": "Name", "col_offset": 8, "ctx": { "ast_class": "Load" }, "end_col_offset": 25, "end_lineno": 46, "id": "condition_mention", "lineno": 46 }, "lineno": 46, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 44, "end_lineno": 47, "id": "aide_merite_eligibilite_an_dernier", "lineno": 47 } }, "lineno": 46, "op": { "ast_class": "Add" }, "right": { "ast_class": "Name", "col_offset": 10, "ctx": { "ast_class": "Load" }, "end_col_offset": 65, "end_lineno": 48, "id": "aide_merite_eligibile_mais_service_civique_annee_passee", "lineno": 48 } } } } ], "col_offset": 0, "decorator_list": [], "end_col_offset": 9, "end_lineno": 49, "lineno": 1, "name": "formula" }, "file_path": "openfisca_france/model/prestations/enseignement_superieur/aide_merite.py", "source_code": "def formula(individu, period):\n\n def calcul_periode_universitaire_precedente(mois_calcul):\n nb_mois_annee_courante = mois_calcul.date.month - mois_calcul.this_year.date.month + 1\n\n # https://www.campusfrance.org/fr/node/2176\n if nb_mois_annee_courante < 9:\n annee_de_rentree_courante = mois_calcul.last_year\n else:\n annee_de_rentree_courante = mois_calcul.this_year\n\n septembre_dernier = annee_de_rentree_courante.offset(-4, MONTH).start\n return Period((MONTH, septembre_dernier, 10))\n\n # l'individu intègre un établissement supérieur à la rentrée\n etudiant = individu('etudiant', period)\n\n bourse_criteres_sociaux = individu('bourse_criteres_sociaux', period)\n allocation_annuelle_etudiant = individu('allocation_annuelle_etudiant', period)\n condition_ressources = (bourse_criteres_sociaux + allocation_annuelle_etudiant) > 0\n\n mention_baccalaureat = individu('mention_baccalaureat', period)\n condition_mention = (\n (mention_baccalaureat == TypesMention.mention_tres_bien)\n + (mention_baccalaureat == TypesMention.mention_tres_bien_felicitations_jury)\n )\n\n # a déjà perçu l'aide l'année [universitaire] précédente\n periode_universitaire_precedente = calcul_periode_universitaire_precedente(period)\n aide_merite_eligibilite_an_dernier = individu(\n 'aide_merite_eligibilite',\n periode_universitaire_precedente,\n options = [ADD]\n )\n\n # éligible accordée en N-2, année N-1 en Service Civique\n service_civique_annee_passee = individu('service_civique', periode_universitaire_precedente, options = [ADD])\n periode_universitaire_2_ans_avant = periode_universitaire_precedente.offset(-12, MONTH)\n aide_merite_eligibilite_deux_ans_avant = individu('aide_merite_eligibilite',\n periode_universitaire_2_ans_avant,\n options = [ADD])\n aide_merite_eligibile_mais_service_civique_annee_passee = (aide_merite_eligibilite_deux_ans_avant\n * service_civique_annee_passee)\n\n return etudiant * condition_ressources * (\n condition_mention\n + aide_merite_eligibilite_an_d