cchsflow supports the use of the Canadian Community Health Survey (CCHS) by transforming variables from each cycle into harmonized, consistent versions that span survey cycles (currently, 2001 to 2018).
The CCHS is a population-based cross-sectional survey of Canadians that has been administered every two years since 2001. There are approximately 130,000 respondents per cycle. Studies use multiple CCHS cycles to examine trends over time and increase sample size to examine sub-groups that are too small to examine in a single cycle.
The CCHS is one of the largest and most robust ongoing population health surveys worldwide. The CCHS, administered by Statistics Canada, is Canada's main general population health survey. Information about the survey is found here. The CCHS has a Statistic Canada Open Licence.
Each cycle of the CCHS contains over 1000 variables that cover the four main topics: sociodemographic measures, health behaviours, health status and health care use. The seemingly consistent questions across CCHS cycles entice you to combine them together to increase sample size; however, you soon realize a challenge...
Imagine you want to use BMI (body mass index) for a study that spans CCHS 2001
to 2018. BMI seems like a straightforward measure that is routinely-collected
worldwide. Indeed, BMI is included in all CCHS cycles. You examine the
documentation and find the variable HWTAGBMI
in the CCHS 2001 corresponds to
body mass index, but that in other cycles, the variable name changes to
HWTCGBMI
, HWTDGBMI
, HWTEGBMI
, etc. On reading the documentation, you
notice that some cycles round the value to one decimal, whereas other cycles
round to two digits. Furthermore, some cycles don't calculate BMI for
respondents < age 20 or > 64 years. Also, some cycles calculate BMI only if
height and weight are within specific ranges. These types of changes occur for
almost all CCHS variables. Sometimes the changes are subtle and difficult to
find in the documentation, even for seemingly straightforward variables such as
BMI. cchsflow
harmonizes the BMI variable across different cycles.
cchsflow
creates harmonized variables (where possible) between CCHS cycles.
Searching BMI in variables
(described in the Introduction section of
variableDetails.csv
vignette)
shows HWTGBMI
calculates BMI with two decimal places for all cycles for all
respondents using the respondents' untruncated height and weight.
Calculate a harmonized BMI variable for CCHS 2001 cycle
# load test cchs data - included in cchsflow
cchs2001_BMI <- rec_with_table(cchs2001_p, "HWTGBMI")
Notes printed to console indicate issues that may affect BMI classification for your study.
Loading cchsflow variable_details
Using the passed data variable name as database_name
NOTE for HWTGBMI : CCHS 2001 restricts BMI to ages 20-64
NOTE for HWTGBMI : CCHS 2001 and 2003 codes not applicable and missing
variables as 999.6 and 999.7-999.9 respectively, while CCHS 2005 onwards codes
not applicable and missing variables as 999.96 and 999.7-999.99 respectively
NOTE for HWTGBMI : Don't know (999.7) and refusal (999.8) not included
in 2001 CCHS"
Combining CCHS across survey cycles will result in misclassification error and other forms of bias that affects studies in different ways. The transformations that are described in this repository have been used in several research projects, but there are no guarantees regarding the accuracy or appropriate uses. Thomas and Wannell describe methodolgy issues when combining CCHS cycles.
Care must be taken to understand how specific variable transformation and
harmonization with cchsflow
affect your study or use of CCHS data. Across
survey cycles, almost all CCHS variables have had at least some change in
wording and category responses. Furthermore, there have been changes in survey
sampling, response rates, weighting methods and other survey design changes that
affect responses.
# Install release version from CRAN
install.packages("cchsflow")
# Install the most recent version from GitHub
devtools::install_github("Big-Life-Lab/cchsflow")
You can download and use the latest version of
variables.csv
and variable_details.csv
from GitHub.
cchsflow
package?cchsflow package includes:
variables.csv
- a list of variables that can be transformed across CCHS
surveys. variable_details.csv
- information that describes how the variables are
recoded.variables.csv
. Transformations are performed
using rec_with_table()
. variables.csv
and variable_details.csv
can be
used with other statistics programs (see issue).cchsflow
includes a random sample of 200
respondents from each CCHS PUMF file from 2001 to 2018. These data are used for
the vignettes.
The CCHS test data is stored in /data as .RData files. They can be read as a
package database.# read the CCHS 2017-2018 PUMF test data
test_data <- cchs2017_2018_p
This repository does not include the full CCHS data. Information on how to access the CCHS data can is here. The Canadian university community can also access the CCHS through ODESI (see health/Canada/Canadian Community Health Survey).
Project on the roadmap can be found on here.
Please follow this guide if you would like to contribute to the cchsflow package.
We encourage PRs for additional variable transformations and derived variables that you believe may be helpful to the broad CCHS community.
Currently, cchsflow supports R through the rec_with_table()
function. The
CCHS community commonly uses SAS, Stata and other statistical packages. Please
feel free to contribute to cchsflow
by making a PR that creates versions of
rec_with_table()
for other statistical and programming languages.
CCHS data used in this library is accessed and adapted in accordance to the Statistics Canada Open Licence Agreement.
Source from Statistics Canada, Canadian Community Health Survey 2001 to 2018 PUMF, accessed March 2022. Reproduced and distributed on an "as is" basis with the permission of Statistics Canada.
Adapted from Statistics Canada, Canadian Community Health Surveys 2001 to 2018 PUMF, accessed March 2022. This does not constitute an endorsement by Statistics Canada of this product.