A SAS Program for the CDC Growth Charts
The purpose of this SAS program is to easily generate a dataset that contains indices of the anthropometric status of children from birth to 20 years of age based on the 2000 CDC growth charts. This updated version of the SAS program includes identifying outlier observations or observations that are considered to be "biologically implausible values (BIVs). It is intended to be easy to use for someone with basic SAS programming skills.
Step by step instructions (Please print this file for later reference):
Step One: Save the SAS programs to your PC.
Windows Internet Explorer users, right-click on each file below and select the Save Target As... option.
Windows Netscape users, right-click on each file below and select the Save Link As... option.
In either case, keep the file names and file extensions as they are — gc-setup.sas and gc-calculate-BIV.sas. Save them in a location where you can access them from your SAS program.
|gc-setup-BIV.sas (4k)||gc-calculate-BIV.sas (227k)|
Note: some browsers may not allow the downloading of .sas files. Try downloading the zip file instead. This contains both files above: SAS_growthchard_files.zip (48k).
Step Two: Prepare your existing dataset.
Your dataset must include the following variables with the same exact name and the given data format before you run the SAS programs:
|AGEMOS||Child's age in month. Numeric variable (you may need to calculate this from the date of measurement and the date of birth).|
|SEX||Child's gender. Numeric variable. 1 for male and 2 for female.|
|HEIGHT||Child's recumbent length or standing height in centimeters. Numeric variable.|
|RECUMBNT||Indicator of child's height measurement. 1 for recumbent length and 0 for standing height. Numeric variable.|
|WEIGHT||Child's weight in kilograms. Numeric variable.|
|HEADCIR||Child's head circumference in centimeters (may be set to missing if not collected).|
Note: Avoid variable names starting with underscore "_" in your dataset, otherwise your data maybe replaced by some data from the SAS program.
Step Three: Modify the gc-setup.sas program.
Open the gc-setup.sas program using your PC SAS PROGRAM EDITOR. Then modify the program as following:
|%let datalib='x:\xxxxxx\';||Insert the subdirectory for your existing input dataset (e.g., 'c:\project1\').|
|%let datain=xxxx;||Insert the name of your existing input dataset (e.g., data1).|
|%let dataout=xxxx;||Insert the name of the file you wish to put the results into. If the file name is the same as the input file name, the original file will be overwritten. All data from the input file will be placed in the output file, with the anthropometric indices (z-scores and percentiles) added to the end of the record.|
|%let saspgm='x:\xxxxxx\gc-calculate-BIV.sas';||Insert the subdirectory where the downloaded program gc-calculate-BIV.sas was saved (e.g., 'c:\growthcharts\gc-calculate-BIV.sas').|
No changes are needed in the gc-calculate-BIV.sas program file.
Step Four: Run the modified gc-setup.sas program.
Submit the modified gc-setup.sas program. The newly created SAS dataset will contain all the original variables as well as the following variables for percentiles and z-scores.
|HTPCT:||percentile for length-for-age or stature-for-age|
|HAZ:||z-score for length-for-age or stature-for-age|
|WTPCT:||percentile for weight-for-age|
|WAZ:||z-score for weight-for-age|
|WHPCT:||percentile for weight-for-length or weight-for-stature|
|WHZ:||z-score for weight-for-length or weight-for-stature|
|BMIPCT:||percentile for body mass index-for-age|
|BMIZ:||z-score for body mass index-for-age|
|BMI:||calculated body mass index value
|HCPCT:||percentile for head circumference-for-age|
|HCZ:||z-score for head circumference-for-age|
|_BIVHT:||outlier variable for height-for-age (0 – acceptable normal range; 1 – too low; 2 – too high)|
|_BIVWT:||outlier variable for weight-for-age (0 – acceptable normal range; 1 – too low; 2 – too high)|
|_BIVWHT:||outlier variable for weight-for-height (0 – acceptable normal range; 1 – too low; 2 – too high)|
|_BIVBMI:||outlier variable for body mass index-for-age (0 – acceptable normal range; 1 – too low; 2 – too high)|
Note: all the outliers defined in this SAS program as too low or too high were based on the World Health Organization fixed exclusion ranges. If researchers prefer to use their own cutoffs to clean their anthropometric data, they can modify the gc-calculate-BIV.sas file and output all the flag variables.
For more, see the BIV cutoffs documentation [PDF-26k].