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 ;
 Retrour page d'accueil de l'enquête