You are here: Home / Data / Program Code / Body Mass Index

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.