Programme de calcul de l'indicateur résumé du module HID sur les
incapacités (langage SAS)
/*************************************************/
/* Calcul de l'indicateur synthétique module B */
/* HID en domicile ordinaire */
/*************************************************/
/* Remarque : pour un travail sur le fichier en */
/* institution, il faudra adapter ce programme */
/* au questionnement qui est différent */
/*********************************************** */
data t1 ;merge hid99.mindiv_c hid99.modb_c (in=x);
by ident numind;
if x ;
length chapit1-chapit7 3;
array chapit(7) chapit1-chapit7;
array incap(32) btoi1 bhab1 bali1-bali3
beli1 beli2
bmob1 btra1 btra2 bdpi1-bdpi3 bdpe1 bach1 bach2
btel bcoh1 bori1 bori2
bsen1-bsen4
bsou1 bsou2 bsou4
bmen1-bmen5;
if bali1='0' and bali3=' ' then bali3='a' ;
if (beli2 in ('0','3','4','5')) and (beli3 not in ('4','5')) then beli2='a' ;
if (beli2 in ('0','3','4','5')) and (beli3 in ('4','5')) then beli2='b';
if btra1=' ' and age >=5 then btra1='a' ;
if btra2=' ' and age >=5 then btra2='a' ;
if bdpi1=' ' and age >=5 then bdpi1='a' ;
if bdpi2=' ' and age >=5 then bdpi2='a' ;
if bdpi3=' ' and age >=5 then bdpi3='a' ;
if bdpe1=' ' and age >=5 then bdpe1='a' ;
if bach1=' ' and age >=15 then bach1='a' ;
if bach2=' ' and age >=15 then bach2='a' ;
if bmen1=' ' and age >=15 then bmen1='b' ;
if bmen2=' ' and age >=15 then bmen2='b' ;
if bmen3=' ' and age >=15 then bmen3='b' ;
if bmen4=' ' and age >=15 then bmen4='b' ;
if bmen5=' ' and age >=15 then bmen5='b' ;
do i=1 to 7;
chapit(i)=0;
end;
if btoi1 in ('3','4') then chapit1=chapit1+1;
else if btoi1 in ('0','5','6') then chapit1=chapit1+2;
if bhab1='3' then chapit1=chapit1+1;
else if bhab1 in ('0','4','5','6') then chapit1=chapit1+2;
if bali1='3' then chapit1=chapit1+1;
else if bali1 in ('0','4','5') then chapit1=chapit1+2;
if bali2='3' then chapit1=chapit1+1;
else if bali2 in ('0','4') then chapit1=chapit1+2;
if bali3='3' then chapit1=chapit1+1;
else if bali3 in ('a','4') then chapit1=chapit1+2;
if beli1='3' then chapit2=chapit2+1;
else if beli1 in ('0','4','5') then chapit2=chapit2+2;
if beli2='a' then chapit2=chapit2+1;
else if beli2='b' then chapit2=chapit2+2;
if bmob1='3' then chapit3=chapit3+1;
else if bmob1 in ('1','2') then chapit3=chapit3+2;
if btra1='3' then chapit3=chapit3+1;
else if btra1 in ('a','4') then chapit3=chapit3+2;
if btra2='3' then chapit3=chapit3+1;
else if btra2 in ('a','0','4') then chapit3=chapit3+2;
if bdpi1='2' then chapit3=chapit3+1;
else if bdpi1 in ('a','3') then chapit3=chapit3+2;
if bdpi2='3' then chapit3=chapit3+1;
else if bdpi2 in ('a','4','5') then chapit3=chapit3+2;
if bdpi3='3' then chapit3=chapit3+1;
else if bdpi3 in ('a','4') then chapit3=chapit3+2;
if bdpe1 in ('a','3','4','5') then chapit3=chapit3+2;
if bach1='3' then chapit3=chapit3+1;
else if bach1 in ('a','4','5') then chapit3=chapit3+2;
if bach2='3' then chapit3=chapit3+1;
else if bach2 in ('a','4') then chapit3=chapit3+2;
if btel='3' then chapit4=chapit4+1 ;
else if btel='4' then chapit4=chapit4+2 ;
if bcoh1='3' then chapit4=chapit4+1;
else if bcoh1 in ('0','4') then chapit4=chapit4+2;
if bori1='3' then chapit4=chapit4+2;
if bori2 in ('2','3') then chapit4=chapit4+1;
else if bcoh1='4' then chapit4=chapit4+2;
if bsen1='3' then chapit5=chapit5+1;
else if bsen1 in (' ','4') then chapit5=chapit5+2;
if bsen2='3' then chapit5=chapit5+1;
else if bsen2 in (' ','4') then chapit5=chapit5+2;
if bsen3='3' then chapit5=chapit5+1;
else if bsen3 in (' ','4') then chapit5=chapit5+2;
if bsen4='3' then chapit5=chapit5+1;
else if bsen4 in ('0','4') then chapit5=chapit5+2;
if bsou1='3' then chapit6=chapit6+1;
else if bsou1 in (' ','4') then chapit6=chapit6+2;
if bsou2='3' then chapit6=chapit6+1;
else if bsou2 in (' ','0','4') then chapit6=chapit6+2;
if bsou4='3' then chapit6=chapit6+1;
else if bsou4='4' then chapit6=chapit6+2;
if bmen1='3' then chapit7=chapit7+1 ;
else if bmen1 in ('b','4','5','6','7') then chapit7=chapit7+2 ;
if bmen2='3' then chapit7=chapit7+1 ;
else if bmen2 in ('b','4','5','6','7') then chapit7=chapit7+2 ;
if bmen3='3' then chapit7=chapit7+1 ;
else if bmen3 in ('b','4','5','6') then chapit7=chapit7+2 ;
if bmen4='3' then chapit7=chapit7+1 ;
else if bmen4 in ('b','4','5','6') then chapit7=chapit7+2 ;
if bmen5='3' then chapit7=chapit7+1 ;
else if bmen5 in ('b','4','5') then chapit7=chapit7+2 ;
data t2 ; set t1 ;
if traged > '08' then traged='rr' ;
tx1=chapit1/10 ;
tx2=chapit2/4 ;
tx3=chapit3/18 ;
tx4=chapit4/8 ;
tx5=chapit5/8 ;
tx6=chapit6/6 ;
tx7=chapit7/10 ;
tot=sum(tx1,tx2,tx3,tx4,tx5,tx6,tx7) ; run ;