Program Code for Body Mass Index
Variables used to construct Body Mass Index (BMI_W1R)
| IMONTH | Interview month |
| IDAY | Interview day |
| IYEAR | Interview year |
| H1GI1M | What is your birth date? [month] |
| H1GI1Y | What is your birth date? [year] |
| H1GH59A | What is your height [in feet]? |
| H1GH59B | What is your height [in inches]? |
| H1GH60 | What is your weight? |
Body Mass Index for Wave I was constructed for all respondents with valid age, height, and weight. Age is calculated at the time of interview using month and year of birth, with all respondents assigned 15 as the day of birth. Note that age is not rounded in this code.
Body Mass Index is calculated as follows:
height in meters = height in inches*.0254
weight in kilos = weight in pounds * .454
BMI = (kilos)/(meters2)
| Body Mass Index (BMI) Construction Map | |||||||
|---|---|---|---|---|---|---|---|
| Wave | Feet Data Source | Inches Data Source
(feet*12)+inches ((feet*12)+inches)2 |
Height - Height2 | Meters - Meters2 | Weight Data Source | Weight | BMI |
| W1 (R) | H1GH59A | H1GH59B | H_W1R H_SQW1R | M_W1R MSQ_W1R | H1GH60 | W_W1R | BMI_W1R |
/* Calculate Age at Wave 1 */
if h1gi1m = 96 then h1gi1m = .;
if h1gi1y = 96 then h1gi1y = .;
intdt = mdy(imonth,iday,iyear);
birthdt = mdy(h1gi1m,15,h1gi1y);
age = int((intdt-birthdt)/365.25);
/* calculate bmi_w1r Wave1 recalled BMI */
if h1gh59a lt 95 and h1gh59b lt 95 then do;
feetw1r = h1gh59a;
inchw1r = h1gh59b;
h_w1r = (12*feetw1r) + (inchw1r);
end;
attrib h_w1r label = 'height in inches';
if h1gh60 lt 995 then do;
w_w1r = h1gh60;
end;
attrib w_w1r label = 'weight in pounds';
if h1gh59a lt 95 and h1gh59b lt 95 then do;
if h1gh60 lt 995 then do;
/* weight in kilos wave 1 recall */
k_w1r = w_w1r * .454;
/* height in meters wave 1 recall */
m_w1r = h_w1r * .0254;
/* meters squared wave 1 recall */
msq_w1r = m_w1r * m_w1r;
/* BMI wave 1 recall */
bmi_w1r = k_w1r/msq_w1r;
attrib bmi_w1r label = "Body Mass Index Wave 1 Recall";
end;
end;
The information provided in the program code repository by the Add Health team is a service to the Add Health research community. It is provided "as is" with no guarantees as to suitability for a particular purpose.
