This function creates a harmonized adjusted BMI variable. A systematic review of the literature concluded that the use of self-reported data among adults underestimates weight and overestimates height, resulting in lower estimates of obesity than those obtained from measured data. Using data from the 2005 Canadian Community Health Survey (CCHS) subsample, where both measured and self-reported values were collected, correction equations have been developed (Connor Gorber et al. 2008). Differences between corrected estimates of obesity from the CCHS and measured estimates from the Canadian Health Measures Survey is monitored over time to determine if the bias in self-reported values is changing and if new correction equations need to be developed. Adjusted BMI variable is first introduced in the CCHS 2015 cycle.

adjusted_bmi_fun() creates a derived variable (HWTGCOR_der) that is harmonized across all CCHS cycles. This function takes the BMI by dividing weight by the square of height, and adds a correction value based on sex.

adjusted_bmi_fun(DHH_SEX, HWTGHTM, HWTGWTK)

## Arguments

DHH_SEX CCHS variable for sex; 1 = male, 2 = female CCHS variable for height (in meters) CCHS variable for weight (in kilograms)

## Value

numeric value for adjusted BMI in the HWTGCOR_der variable

## Details

For HWTGCOR_der, there are no restrictions to age, height, weight, or pregnancy status. While pregnancy was consistent across all CCHS cycles, its variable (MAM_037) was not available in the PUMF CCHS datasets so it could not be harmonized and included into the function.

HWTGCOR_der uses the CCHS variables for sex, height and weight that have been transformed by cchsflow. In order to generate a value for adjusted BMI across CCHS cycles, sex, height and weight must be transformed and harmonized.

## Note

In earlier CCHS cycles (2001 and 2003), height was collected in inches; while in later CCHS cycles (2005+) it was collected in meters. To harmonize values across cycles, height was converted to meters (to 3 decimal points). Weight was collected in kilograms across all CCHS cycles, so no transformations were required in the harmonization process.

## Examples

# Using adjusted_bmi_fun() to create adjusted BMI values between cycles
# adjusted_bmi_fun() is specified in variable_details.csv along with the
# CCHS variables and cycles included.

# To transform the derived BMI variable, use rec_with_table() for each cycle
# and specify HWTGCOR_der, along with sex (DHH_SEX), height (HWTGHTM) and
# weight (HWTGWTK).Then by using merge_rec_data(), you can combined
# HWTGBMI_der across cycles.

library(cchsflow)
cchs2001_p, c(
"HWTGHTM",
"HWTGWTK",
"DHH_SEX",
"HWTGCOR_der"
)
)
#> No variable_details detected.
#>               Loading cchsflow variable_details#> Using the passed data variable name as database_name#> NOTE for HWTGHTM: 2001 and 2003 CCHS use inches, values converted to meters to 3 decimal points#> NOTE for HWTGHTM: 74+ inches converted to 76 inches
#>   DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der
#> 1       2   1.422   56.25    29.12087
#> 2       2   1.549   51.75    22.55036
#> 3       1   1.803   78.75    24.98813
#> 4       2   1.575   60.75    25.62214
#> 5       2   1.727   63.00    22.08267
#> 6       1   1.829   91.80    28.44961
cchs2011_2012_p, c(
"HWTGHTM",
"HWTGWTK",
"DHH_SEX",
"HWTGCOR_der"
)
)
#> No variable_details detected.
#>               Loading cchsflow variable_details#> Using the passed data variable name as database_name#> NOTE for HWTGHTM: Height is a reported in meters from 2005 CCHS onwards
#>     DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der
#> 195       1   1.600   64.35    25.96935
#> 196       1   1.880   80.10    23.30779
#> 197       1   1.753   78.75    26.49615
#> 198       2   1.651   83.70    32.15777
#> 199       1   1.930   74.25    20.37102
#> 200       2   1.575   76.50    32.29699
#>   DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der
#> 1       2   1.422   56.25    29.12087
#> 2       2   1.549   51.75    22.55036
#> 3       1   1.803   78.75    24.98813
#> 4       2   1.575   60.75    25.62214
#> 5       2   1.727   63.00    22.08267
#> 6       1   1.829   91.80    28.44961tail(combined_bmi)
#>     DHH_SEX HWTGHTM HWTGWTK HWTGCOR_der
#> 395       1   1.600   64.35    25.96935
#> 396       1   1.880   80.10    23.30779
#> 397       1   1.753   78.75    26.49615
#> 398       2   1.651   83.70    32.15777
#> 399       1   1.930   74.25    20.37102
#> 400       2   1.575   76.50    32.29699
# adjusted_bmi_fun() can also generate a value for BMI if you input your sex,
# and a value for height and weight. Let's say your sex is male, height is
# 170cm (1.7m) and your weight is 50kg, your BMI can be calculated as follows:

library(cchsflow)
#> [1] 17.53878