Following is a response from Senior DHS staff member, Tom Pullum:
Users are asked to specify the number and table in the final report that they are trying to match. You are probably talking about tables 2.29-2.31 in the NFHS-5 final report.
Below I will paste a Stata program that produces estimates of the prevalence of each type of impairment for children age 5-17. The estimates appear to be consistent with the report, although I have not checked them carefully. You will have to change the paths.
use "... IAPR7EFL.DTA", clear
gen dis_hearing =9
gen dis_speech =9
gen dis_visual =9
gen dis_mental =9
gen dis_locomotor=9
gen dis_other =9
local letters "a b c d"
foreach ll of local letters {
replace dis_hearing =sh33`ll'1a if sh33`ll'==hvidx
replace dis_speech =sh33`ll'1b if sh33`ll'==hvidx
replace dis_visual =sh33`ll'1c if sh33`ll'==hvidx
replace dis_mental =sh33`ll'1d if sh33`ll'==hvidx
replace dis_locomotor=sh33`ll'1e if sh33`ll'==hvidx
replace dis_other =sh33`ll'1x if sh33`ll'==hvidx
}
label define dis 0 "No" 1 "Yes" 8 "DK" 9 "No one in hh has a disability"
label values dis_hearing dis
label values dis_speech dis
label values dis_visual dis
label values dis_mental dis
label values dis_locomotor dis
label values dis_other dis
keep hv024 hv001 hv002 hvidx dis*
gen state=hv024
gen cluster=hv001
gen hh=hv002
gen line=hvidx
cd e:\DHS\DHS_data\scratch
save IAtemp.dta, replace
use "...IAPR7EFL.DTA", clear
gen state=hv024
gen cluster=hv001
gen hh=hv002
gen line=hvidx
merge 1:1 state cluster hh line using IAtemp.dta
tab1 dis_* if hv105>=5 & hv105<=17
tab1 dis_* if hv105>=5 & hv105<=17 [iweight=hv005/1000000]