Bonjour,
Je me pose la question sur le calcul du cout des actes de biologies à partir de la table affinée.
On calcule la base de remboursement selon le calcul ci-dessous extrait de la documentation.
coef (BTF_TAR_COF) x prix de l'acte (BSE_REM_PRU) x quantité affinée de l'acte de bio (BIO_ACT_QSN).
La majorité du temps j’obtiens des valeurs cohérentes néanmoins j’ai parfois des BSE_REM_PRU très important (~81.81) entrainant des valorisations de plus de 2000€ pour un simple acte de biologie.
Or j’ai pour un même jour j’ai par exemple 12 actes de biologie. Donc on va répète l’opération 81.81 * BTF_TAR_COF` * BIO_ACT_QSN pour les 12 codes ce qui me donne 12 lignes aberrantes.
Un grand merci pour vos éclairages ![]()
Bien à vous,
/************ Exemple ************/
Pour illustrer mon propos, soit le code suivant ou j’isole l’acte de biologie identifié. Je garde les clefs de jointure pour ensuite fusionner av la table biologie affinée.
proc sql; create table orauser.tmp as select BEN_NIR_PSA, exe_soi_dtd, prs_nat_ref, BSE_REM_PRU, BSE_REM_BSE, DCT_ORD_NUM, FLX_DIS_DTD, FLX_EMT_NUM, FLX_EMT_ORD, FLX_EMT_TYP, FLX_TRT_DTD, ORG_CLE_NUM, prs_ORD_NUM, REM_TYP_AFF
from oravue.er_prs_f where BEN_NIR_PSA="BvZHUlmC1PZZcDIkO" and exe_soi_dtd="11JAN2016:00:00:00"dt and BSE_REM_PRU=81.81000; quit;
==> 1 ligne
Je fusionne av la table bio
%MACRO CLE_TEC ( t1, t2 ) ;
&t1..DCT_ORD_NUM = &t2..DCT_ORD_NUM and &t1..FLX_DIS_DTD = &t2..FLX_DIS_DTD and &t1..FLX_EMT_NUM = &t2..FLX_EMT_NUM and &t1..FLX_EMT_ORD = &t2..FLX_EMT_ORD and
&t1..FLX_EMT_TYP = &t2..FLX_EMT_TYP and &t1..FLX_TRT_DTD = &t2..FLX_TRT_DTD and &t1..ORG_CLE_NUM = &t2..ORG_CLE_NUM and &t1..prs_ORD_NUM = &t2..prs_ORD_NUM and
&t1..REM_TYP_AFF = &t2..REM_TYP_AFF
%MEND ;
proc sql; create table orauser.tmp2 as select t1.*, t2.*
from orauser.tmp t1 left join oravue.er_bio_f t2 on %CLE_TEC(t1,t2); quit;
==> 12 lignes (car 12 actes de biologie)
Je fusionne avec la table référentiel bio
proc sql; create table tmp2 as select t1.*, t2.*
from orauser.tmp2 t1 left join oraref.ir_btf_r t2 on (t1.BIO_PRS_IDE = t2.BTF_PRS_IDE)
where NOT (exe_soi_dtd<=BTF_HIS_DTD or exe_soi_dtd>=BTF_HIS_DTF); quit;
le where not est pour sélectionner seulement les bonnes dates des valeurs des codifications de biologie
Je recalcule le cout final :
data tmp2; set tmp2;
CoutRecalculer= BTF_TAR_COF * BSE_REM_PRU *BIO_ACT_QSN; run;
J’obtiens mes 12 lignes d’actes bio affinées associées à la remontée unique dans ER_PRS_F. Lorsque je recalcule le cout, j’obtiens 12 valeurs entre 400 et 4500€ …
Je vous laisse lancer ces codes <1 minute si vous voulez tester.
Y a t il une erreur quelque part? Ou j’ai mal compris comment recalculer le cout des actes de biologie?
Un grand merci,
