Certified Home Health Agencies Episodic Payment System
SAS Code for Revised Medicaid Grouper - 2013 Base Year
(Effective October 1, 2015)
- Medicaid Grouper - SAS Code is also available in Portable Document Format (PDF, 176KB)
/*categorize age*/
if 0<age<60 then age1=1; else age1=0;
if 60=<age=<69 then age2=1; else age2=0;
if 70=<age=<74 then age3=1; else age3=0;
if 75=<age=<79 then age4=1; else age4=0;
if 80=<age=<84 then age5=1; else age5=0;
if 84<age then age6=1; else age6=0;
/*urinary*/
if M1610=´01´ then urinary_01=1; else urinary_01=0;
if M1610=´02´ then urinary_02=1; else urinary_02=0;
/*bowel*/
if M1620=´01´ or M1620=´02´
then bowel_02=1; else bowel_02=0; /*collapse 1 and 2 ;*/
if M1620=´03´ then bowel_03=1; else bowel_03=0;
if M1620=´04´ then bowel_04=1; else bowel_04=0;
if M1620=´05´ then bowel_05=1; else bowel_05=0;
if M1620=´NA´ then bowel_06=1; else bowel_06=0;
if M1620=´UK´ then bowel_07=1; else bowel_07=0;
/*dress Upper*/
if M1810=´01´ then upper_01=1; else upper_01=0;
if M1810=´02´ then upper_02=1; else upper_02=0;
if M1810=´03´ then upper_03=1; else upper_03=0;
/*dress lower*/
if M1820=´01´ then lower_01=1; else lower_01=0;
if M1820=´02´ or M1820=´03´then lower_03=1; else lower_03=0; /* collapse 2 and 3;*/
/*toiletting*/
if M1840_cur_toiltg=´01´ then toilet_01=1; else toilet_01=0;
if M1840_cur_toiltg=´02´ or M1840_cur_toiltg=´03´ or M1840_cur_toiltg=´04´
then toilet_04=1; else toilet_04=0; /*collapse 2,3 and 4;*/
/*xferring*/
if M1850_cur_trnsfrng=´02´ or M1850_cur_trnsfrng=´03´ then xfer_03=1; else xfer_03=0;
if M1850_cur_trnsfrng=´04´ or M1850_cur_trnsfrng=´05´ then xfer_05=1; else xfer_05=0; /* collapse 2 and3, and 4 and 5*/
/*points for each variable in the model*/
if diabetes_dx=1 then diab_pts=3; else diab_pts=0;
if dementia_dx=1 then demen_pts=9;else demen_pts=0;
if hiv_dx=1 then hiv_pts=9; else hiv_pts=0;
if upper_01=1 then dressu_pts=3;else
if upper_02=1 then dressu_pts=8;else
if upper_03=1 then dressu_pts=15;else dressu_pts=0;
if lower_01=1 then dressl_pts=6;else
if lower_03=1 then dressl_pts=10;else dressl_pts=0;
if toilet_01=1 then toilet_pts=3;else
if toilet_04=1 then toilet_pts=7;else toilet_pts=0;
if xfer_03=1 then xfer_pts=2;else
if xfer_05=1 then xfer_pts=10;else xfer_pts=0;
if bowel_02=1 then bowel_pts=4;else
if bowel_03=1 then bowel_pts=7;else
if bowel_04=1 then bowel_pts=12;else
if bowel_05=1 then bowel_pts=28;else bowel_pts=0;
if urinary_01=1 then urinary_pts=1; else urinary_pts=0;
/*Sum up*/
clinical=sum(diab_pts,demen_pts,hiv_pts,bowel_pts, urinary_pts);
func=sum(dressu_pts,dressl_pts,toilet_pts, xfer_pts);
/*categorize*/
if clinical=. then clinical=0;
if 0=<clinical=<1 then clin_grp=´A´;else
if 2=<clinical=<9 then clin_grp=´B´;else
if 10=<clinical then clin_grp=´C´;
if func=. then func=0;
if 0=<func=<9 then func_grp=´E´;else
if 10=<func=<26 then func_grp=´F´;else
if 27=<func then func_grp=´G´;