Bonjour,
Je cherche à retrouver à partir du DCIR les prestations versées par la branche AT-MP telles que décrites ici : Synthèse AT-MP.
J’utilise les filtres suivants :
where RGO_ASU_NAT = 40 /* Sélection des presta ATMP */
and ((PRS_NAT_REF between 6110 and 6120) or (PRS_NAT_REF between 8111 and 8116) or (PRS_NAT_REF = 8226))
Je n’arrive toutefois pas à retrouver les ordres de grandeurs notamment sur les rentes d’incapacité permanente (sont-elles même disponibles sur le DCIR ?).
Auriez-vous des éléments sur ces prestations ? Je vous remercie par avance pour votre aide.
Bien à vous,
Clément
Le code de la requête :
proc format;
value age_fmt
2 - 5 = '02 - 5 ans'
6 - 10 = '06 - 10 ans'
11 - 15 = '11 - 15 ans'
16 - 20 = '16 - 20 ans'
21 - 25 = '21 - 25 ans'
26 - 30 = '26 - 30 ans'
31 - 35 = '31 - 35 ans'
36 - 40 = '36 - 40 ans'
41 - 45 = '41 - 45 ans'
46 - 50 = '46 - 50 ans'
51 - 55 = '51 - 55 ans'
56 - 60 = '56 - 60 ans'
61 - 65 = '61 - 65 ans'
66 - 70 = '66 - 70 ans'
71 - 75 = '71 - 75 ans'
76 - 80 = '76 - 80 ans'
81 - 85 = '81 - 85 ans'
86 - high = 'plus de 85 ans';
run;
%MACRO LOOP_ANNEE;
%DO ANNEE = 2021 %TO 2024; /* On définit les années sur lesquelles répéter la magic_loop */
/* On lance la magic_loop pour obtenir les presta ATMP par classe d'âge et par département */
%MACRO MA_REQUETE;
proc sql;
/* Création de la table finale WORK.CONSO avec décomposition par classes d'âge ajustées et par type d'actes */
create table WORK.CONSO as
select
t1.BEN_RES_DPT,
t1.PRS_NAT_REF,
t2.PRS_NAT_LIB,
/* Décomposition par classes d'âge */
put(t1.BEN_AMA_COD, age_fmt.) as CLASSE_AGE, /* Optimisation avec format */
/* Dépenses totales */
sum(t1.BSE_REM_MNT) format=13.2 as DEP_TOT
from ORAVAL.IR_NAT_V t2
inner join (
/* Sous-requête pour sélectionner les données de ORAVUE.ER_PRS_F avec conditions */
select BEN_RES_DPT,
BEN_NIR_PSA,
BEN_RNG_GEM,
PRS_NAT_REF,
BSE_REM_MNT,
BEN_AMA_COD, /* Âge du bénéficiaire à la date des soins */
EXE_SOI_DTD,
EXE_SOI_DTF,
FLX_DIS_DTD
from ORAVUE.ER_PRS_F
where RGO_ASU_NAT = 40 /* Sélection des presta AT-MP */
and ((PRS_NAT_REF between 6110 and 6120) or (PRS_NAT_REF between 8111 and 8116) or (PRS_NAT_REF = 8226))
and FLX_DIS_DTD = &DFLUX
and EXE_SOI_DTD between &DEBSOIN and &FINSOIN
and 2 <= BEN_AMA_COD <= 110 /* Exclusion des nourrissons et des personnes > 110 ans */
) t1
on t2.PRS_NAT = t1.PRS_NAT_REF
group by
t1.BEN_RES_DPT,
t1.PRS_NAT_REF,
t2.PRS_NAT_LIB,
CLASSE_AGE
order by
t1.BEN_RES_DPT,
CLASSE_AGE,
t2.PRS_NAT_LIB;
quit;
%MEND MA_REQUETE;
/**Etape 3 : PARAMETRES EN ENTREE***/
%LET BORNE = 1; /* 1 : Oui 0 : Non. Indique si on a une Date de fin soins en paramètre de la requete. Si 0 La date de fin de soins sera celle du dernier mois dispo**/
%LET DEBUT = &ANNEE.0101; /*Date de Début de Soins sous la forme AAAAMMJJ **/
%LET FIN = &ANNEE.1231; /*Date de Fin de Soins sous la forme AAAAMMJJ. Modification du Paramètre non nécessaire si BORNE=0 **/
%LET NBFLUX = 6; /* Indique le Nombre de mois de Flux prix en compte après Date de Fin de Soins Modification du Paramètre non nécessaire si BORNE=0 **/
/**FIN DES PARAMETRES **/
/** MACRO MAGIC_LOOP **/
%m_magic_loop;
proc sql;
create table WORK.RENTES_ATMP_&ANNEE as
select BEN_RES_DPT,
CLASSE_AGE,
PRS_NAT_LIB,
sum(DEP_TOT) format 13.2 as depenses
from WORK.COMPIL_CONSO
group by BEN_RES_DPT,
CLASSE_AGE,
PRS_NAT_LIB
order by BEN_RES_DPT,
CLASSE_AGE;
quit;
proc datasets library=work nolist;
delete COMPIL_CONSO VERIF_MAGIC_LOOP;
quit;
%END; /* fin de la boucle */
%MEND LOOP_ANNEE;
%LOOP_ANNEE;