Re: Categories of BMI in Ghana 2022 [message #30428 is a reply to message #30412] |
Wed, 27 November 2024 11:50 |
Janet-DHS
Messages: 911 Registered: April 2022
|
Senior Member |
|
|
Following is a response from DHS staff member, Tom Pullum:
First, the cases in the GR file are pregnancies. The v variables in this file refer to the mother at the time of the survey. It's possible that you want to use the IR file, in which women (whether or not they were ever pregnancy) are the cases.
BMI (v445) is based on the woman's weight (v437) and height (v438), which are measured in the metric system. BMI is calculated as weight divided by height squared. However, DHS has various multipliers by powers of 10 to get rid of digits to the right of a decimal point, and there are special codes such as 9994-9998 for illegal or inconsistent values. Apart from those special codes, v445 = (10^7)*v437/(v438^2). Then the continuous form of the BMI is obtained from v445 by dividing v445 by 100. For example, the first woman in the IR file for this survey has v445=2814, so her BMI is 28.14.
Women who are currently pregnant (v213=1) and women whose last birth was in the last two months (p19_01<2 & p32_01=1) are dropped because their BMI is spuriously raised by the pregnancy.
Finally, for the table in the report, the four categories are Underweight (<18.5), Normal (>=18.5 & <25), Overweight (>=25 & <30), Obese (>=30)
Hope this answers your question. In Stata, the following lines will reproduce the totals row at the bottom of your table.
* Open the Ghana IR file
use "...GHIR8BFL.DTA" , clear
* Confirm the calculation of v445
gen wt=v437 if v437<9994
gen ht=v438 if v438<9994
gen test=(10^7)*wt/(ht^2)
replace test=9998 if v437>=9994 | v438>=9994
* Correlate test and v445 to confirm
* Calculate the categorical version of the BMI from v445
label define BMI 1 "Underweight" 2 "Normal" 3 "Overweight" 4 "Obese"
gen BMI=1
replace BMI=2 if v445>=1850
replace BMI=3 if v445>=2500
replace BMI=4 if v445>=3000
replace BMI=. if v445>=9998
* NA for women whose most recent live birth or stillbirth was within the past two months
replace BMI=. if (p19_01<2 & p32_01==1)
* NA for pregnant women
replace BMI=. if v213==1
label values BMI BMI
tab BMI
* Match the totals row in the table, which excludes age 15-19
tab BMI [iweight=v005/1000000] if v013>1
|
|
|