Following is a response from DHS Lead Nutrition Research Associate, Rukundo Benedict:
Depending on your research question, including adolescent BMI as a determinant may make sense. Others have explored something similar with regards to child undernutrition. For your analysis I would suggest reading the methods section of CR47 available on the DHS website. And to get you started I have provided STATA code to calculate the BMI-for-age z-scores that you will need to categorize adolescent BMI. Note the code uses the KR file (i.e. children's recode file) not the PR file (household recode).
*Note*
*To calculate the BMI-for-age zscore you will need to install the zanthro package OR use WHO's igrow-up package
*DHS collects data on 15-49yrs. An adolescent is anyone with an age <20years
*When using zanthro make sure to use age in months.
********************************************************************************/
* 1) BMI-for-age
*****************
**Using KR file of 2016
gen wgt=v005/1000000
svyset [pw=wgt], psu (v021) strata (v023)
*Drop if woman has had a birth in last two months---*****THIS SHOULD HAPPEN FOR ALL women's BMI****
ta v222
drop if v222<2
ta v222
/*Body mass index (BMI), or Quetelet's index, for the respondent is defined as weight in
kilograms divided by the square of height in meters (W/H2).
Variable has two implied decimal places so divide 100*/
gen bmi=v445/100
replace bmi=. if bmi >50
sum bmi
**INSTALL zanthro package**
findit zanthro
****Age-sex specific BMI-zscore****
*create a sex var first
gen sex=0
replace sex=2 if v213==0| v213==1
*generate age in months for adolescents**
gen age_in_months=v008-v011
label variable age_in_months "Age in months"
*keep those 15-19yrs*
keep if age_in_months<240
*run package*
egen zbaWHO = zanthro(bmi,ba,WHO), xvar(age_in_months) gender(sex) gencode(male=1, female=2) ageunit(month) nocutoff
*Remove if beyond WHO BMI flags <-5SD or >+5SD
drop if zbaWHO<-5
drop if zbaWHO>5
*Adolescent BMI categories
gen adolbmi=0
replace adolbmi =1 if (zbaWHO>=-2) & (zbaWHO<=1)
replace adolbmi =2 if zbaWHO<-2
replace adolbmi =3 if zbaWHO>1
replace adolbmi =. if zbaWHO==.
label define 1 "normal" 2 "thin" 3 "overweight/obese"
label values adolbmi adolbmi