Association of the Healthy, Hunger-Free Kids Act of 2010 With Body Mass Trajectories of Children in Low-Income Families

Key Points Question Has the Healthy, Hunger-Free Kids Act of 2010 (HHFKA) improved body mass trajectories of children in low-income families? Findings In this cohort study evaluating 3388 children before HHFKA implementation and 2570 children after HHFKA implementation, kindergarteners in low-income families who did not participate in the free or reduced-price National School Lunch Program before the HHFKA had steeper decreases in body mass index (BMI) difference from obesity threshold between grades 1 and 5 than their participating peers. After HHFKA implementation, this obesogenic association between the National School Lunch Program and BMI difference change was no longer observed. Meaning These findings suggest that implementation of the HHFKA may have helped curb obesogenic increase in BMI among low-income children.


Latent time invariant variable (ηi) covariance with time varying variables
Free or reduced-price NSLP   Abbreviations: BMID, BMI difference from 95th percentile, NSLP, National School Lunch Participation, NA, Not applicable 1 American Indian or Alaska Native, Asian, Native Hawaiian or Pacific Islander, or more than 1 race eMethods.

Structural equation model
We used structural equation modelling (SEM) to evaluate alternative model specifications in which we tested assumptions about covariances between and and about the time-invariance of coefficients. SEM allows estimation of multiple regressions simultaneously, modeling of time-varying associations and of unmeasured (or latent) variables. SEM estimates a latent variable as a continuous factor using observed variables as indicators of the underlying construct. 1 We tested model fit for a fixed effects model, a random effects model, and a model with time varying and time-invariant coefficients, with and without lagged outcomes. Lagged BMID outcomes are estimated by auto-regression (i.e., current on previous wave).
We identified the preferred model using goodness of model fit along with estimate precision of parameters that distinguished between the model assumptions. A Root Mean Square Error of Approximation (RMSEA) <0.06, 2 Tucker-Lewis Index (TLI) 3 and Comparative Fit Index (CFI) values > .95 2 , minimized sample-size adjusted Bayesian information criteria 4 imply the model fits the data well. The modeling commands and illustrative output are provided below. The random and fixed effects models fit poorly (eTable2), and their assumptions were invalid as model estimates show in eTables 3a-3d. The significant covariance between the latent time-invariant variable and the time-varying covariates in the fixed effects model suggests the random effects model is biased because it does not allow such covariance. Similar to the random effects model, the fixed effects model assumes all coefficients and error variances are equal over time. We find this assumption invalid because we observe different associations between time-varying covariates and BMID in our hybrid model, suggesting the fixed effect model is also biased. Indeed, the fixed effects model failed to identify an association between BMID and free or reducedprice NSLP participation in the pre-HHFKA cohort. The fact that free or reduced-price NSLP doesn't often vary over time within child may have contributed to this failure. A good fitting model included time-invariant coefficients for time-invariant variables (e.g., gender), and time-varying coefficients for time-varying covariates (eTable 3c). The best fitting model improved the model fit with lagged outcomes (eTable 3d). We modelled the outcome for each child i observed at each age t (t=0 for kindergarten, t=1 for grade 1, t=5 at grade 5) in cohort j (j=0 for ECLS-K:1999 or j=1 for ECLS-K:2011). The covariate of interest NSLPijt and is the age-by-cohort varying association between NSLP and BMID. = The model included the lagged effect of ( −1) to account for BMID tracking over age. This autoregressive association is denoted with the coefficient . The model adjusts for the vector of age-varying covariates (e.g., income) observed at time t=1 and t=5 and of age-invariant covariates (e.g., birthweight) for each child i in their respective cohort j. Finally, the model adjusts for a scalar which is defined as the latent, unobserved variables with an age-and cohort-varying coefficient λ . Our three null hypotheses were: Hypothesis 1: 01 = 05 = 11 = 15 = 0 Hypothesis 2: ( 01 -05 ) = 0 ( 11 -15 ) =0 Hypothesis 3: 05 = 15 We acknowledge the "sharp" null hypothesis criticism around a specific value. Accordingly, we prioritized the uncertainty around our parameter estimates that our confidence provided and how well competing models fit the data. Hypothesis 3 assessed whether the association between free or reduced-price NSLP and BMID change at grade 5 differed pre-versus post-HHFKA. We assessed whether the associations were different using Wald's test and because effect modification tests are often under-powered 5 , we chose an α≤0.10.

Entropy balancing and covariate imputation
The purpose of entropy balancing, which is closely related to the widely used propensity score weighting, 6 is both to make the results of downstream analyses less sensitive to model misspecification and reduce the bias of causal estimates. 7,8 This process is related to propensity score weighting 6 and we chose entropy weighting over propensity score balancing because of its ability to balance groups across a large number of variables.
In this work, entropy balancing is applied to reweight individuals such that the ECLS-K:1999 and ECLS:K-2011 samples are comparable on child, family and school characteristics. We have balanced both first and second moments of all baseline and time-varying covariates included in the SEM model. Entropy balancing and balance measures are computed using the R package entbal (https://github.com/bvegetabile/entbal). Missing covariate data (reported in Table 1) were handled through multiple imputation by chained equations (MICE). 9, 10 We produced 10 imputed datasets of entropy-balancing weights, which then served as inputs to weighted SEM models. The core functions described above were executed using the following R commands: # obtain entropy balanced weights for each imputed dataset for(i in 1:m){ ecls_mice <-complete(imputed, i) weights <-entbal(treatment ~ agemos0 + childrace + female + bwgt + momeduK + inc0 + inc1 + inc5 + famdin0 + famdin1 + famdin5 + tvhrs0 + tvhrs1 + urb0 + urb1 + urb5 + mjob0 + mjob1 + mjob5, data = ecls_mice, eb_pars = ebp) } Pooled parameter estimates and their variances were then obtained using Rubin's Rules. 11 Supplement eTable 4 summarizes the balance characteristics of the sample before and after entropy balance weights are applied. The computed measures are the mean and standard deviations in each cohort, the standardized difference in means, and the log of the ratio of standard deviations. For binary variables, the standard deviation is defined as √ (1 − ), where is the proportion of individuals with the positive level. We note that, for binary variables, the standard deviation is a deterministic function of the mean. Therefore, balance of the first moment ensures balance of the second moment (and all higher moments). The mother's education variablewhich was originally encoded as a sixlevel ordinal variablewas treated as a continuous variable for the purposes of balancing. This was done to reduce the number of distinct variables requiring balancing. In general, increasing the number of balanced variables increases the design effect incurred due to balancing, which reduces the precision of parameter estimates. Moderate magnitudes of the standardized difference in means or log ratio of standard deviations >0.1 6 indicate disparities in the covariate distributions between ECLS-K:1999 and ECLS-K:2011 cohorts. As can be seen in Panel B, both of these metrics are numerically zero (up to two decimal places) after entropy balancing weights are applied for all measured covariates. These tables represent a single imputed dataset: each of the multiply imputed datasets achieved similar balanced after entropy weights were applied.

SEM modeling commands and illustrative output
In Mplus, we used TYPE=IMPUTATION and weight commands to include the entropy balancing weights. We used the command 'grouping' to estimate the multi-group model by cohort. In the Analysis section of the code, we set iterations to 10,000 and specified 'estimator is mlr'. Convergence criterion was the default value of 0.5 x10 -4 . To test whether associations differed across cohorts we used the 'Model constraint' and 'Model test' commands. Specifically, we named parameters of interest in the two cohort groups (e.g., BMID at grade 5 on free or reducedprice NSLP at grade 5 (a5) in ECLS-K:1999 and BMID at grade 5 on free or reduced-price NSLP at grade 5 (aa5) in ECLS-K:2011). Then we created new variables of the difference between the two parameters and tested whether the difference variable was equal to zero. Example code and output is below: Wald test (e.g., moderation) that association between NSLP and BMID at grade 5 is the same in both cohorts: χ 2 = 4.29, df=1, p = 0.04

Imputation of ECLS-K:2011 grade 5 full price NSLP
To address unknown full price NSLP participation in ECLS-K:2011, we used imputation to predict grade 5 NSLP participation in ECLS-K:2011 that includes full price. In all years of the ECLS-K cohort and in the kindergarten and grade 1 years of the ECLS-K:2011 cohort, both free or reduced price NSLP participation as well as any NSLP participation (whether full price, free, or reduced) is measured. However, in grade 5 for the ECLS-K:2011 cohort, only free or reduced price NSLP participation is measured. Because grade 5 NSLP participation that included full price lunches was not measured in the ECLS-K:2011 cohort, we imputed grade 5 NSLP participation (whether full price, free, or reduced price) using a model built from the ECLS-K:1999 cohort. We created 100 multiply imputed datasets, and for each we performed the following steps: 1) We fit a logistic regression model on ECLS-K:1999 data to predict a binary indicator of any grade 5 NSLP participation (full price, free, or reduced price) from all model variables observed in both the ECLS-K:1999 and ECLS-K: 2011 cohorts. We note that all grade 5 variables (including grade 5 free or reduced-price NSLP participation) that are observed in both models are included in this predictive model for any NSLP participation. 2) Using this model fit, we then estimate the probability of any grade 5 NSLP participation (full price, free, or reduced price) for each individual in the ECLS-K:2011 cohort. 3) For each individual, any grade 5 NSLP participation (full price, free, or reduced price) is then imputed by drawing a single binary indicator from the distribution Bernoulli( ). We will refer to the above-described procedure as the full imputation model (to be contrasted with two simpler imputation used for comparison purposes below). The purpose of the full imputation model procedure was to leverage data from the ECLS-K:1999 cohort to predict grade 5 full, free/reduced NSLP participation in the ECLS-K:2011 cohort, while appropriately accounting for uncertainty in these estimates by producing multiple imputations of this variable. This procedure is executed using the following commands in R. In this code, the ecls dataset includes data from both cohorts, with the binary variable ec2011 equal to 1 if the individual belongs to the 2011 cohort. Example code is below: # number of imputed datasets m <-100 # remove fifth grade lunch (which is missing in 2011) from # imputation m0 <-mice(ecls, maxit = 0) meth <-m0$method meth[names(meth) %in% c("lunch5")] <-"" pred <-m0$predictorMatrix pred[, colnames(pred) %in% c("lunch5")] <-0 # multiply impute m complete datasets ecls_mice <-mice(ecls, m = m, predictorMatrix = pred, method = meth) # initialize matrices for for lunch imputations lunch5_2011 <-matrix(NA, nrow = dim(filter(ecls, ec2011 == 1)) [1], ncol = n_mice) # predict fifth grade lunch for each imputed dataset for(i in 1:m){ # separate data from the 1999 and 2011 cohort temp_1999 <-filter(complete(ecls_mice, i), ec2011 == 0) temp_2011 <-filter(complete(ecls_mice, i), ec2011 == 1) # fit a logistic regression model for fifth grade lunch using 1999 data fit <-glm(lunch5 ~ female + bwgt + momeduK + inc0 + inc1 + inc5 + famdin0 + famdin1 + famdin5 + tvhrs0 + tvhrs1 + urb0 + urb1 + urb5 + mjob0 + mjob1 + mjob5 + ec2011 + lunch0 + lunch1 +_lunch5 + frp0 + frp1 + frp5 + bd950 + bd951 + bd955 + black + hisp + ot, family = binomial(link = "logit"), data = temp_1999)  Wald test (e.g., moderation) that association between NSLP and BMIZ at grade 5 is the same in both cohorts: χ 2 = 1.57, df=1, P = 0.21