/*Title: Rate of weight gain among children with severe malnutrition in therapeutic feeding programmes: a systematic review and meta-analysis Author: Grace O'Donovan Date: October 2023 Key: WG = weight gain ALOS = average length of stay All = all children from programme included in reporting Rec = only those who recovered were included in reporting SD = standard deviation SE = standard error CI = 95% confidence interval IQR = interquartile range imp = imputed comb = combined Coding: Programmes (variable=prog) 1. Inpatient 2. Hybrid 3. Outpatient (general) 4. Other - daycare 5. Other - simplified & combined 6. Other - simplified 7. Other - combined 8. Other - OTP (outpatient therapeutic programme) and SFP (supplementary feeding programme) 9. Other - SFP 10. Other - Inpatient and outpatient Region (var=region) 1. Africa 2. Asia 3. Carribean Strictly following our inclusion criteria for age and malnutrition (var=strict) 1. Strict 2. Not strict (or unclear in the case of one study) Average used for WG calculation (var=average) 1. Mean 2. Median 3. Both mean and median 4. Assume mean 5. Assume median 6. Mean for all and median for rec only WG sample (var=wg_sample) 1. All 2. Assume all 3. Rec only 4. Assume rec only 5. Both all and rec only */ *IMPORT DATASET ******************************************************************************** *LABEL *Region label define regionlbl 1 "Africa" 2 "Asia" 3 "Carribean" label values region regionlbl *Programme label define proglbl 1 "Inpatient" 2 "Hybrid" 3 "Outpatient" 4 "Daycare" 5 "Simplified/combined" 6 "Simplified" 7 "Combined" 8 "OTP&SFP" 9 "SFP" 10 "Inpt&Outpt" //note that 3 means general outpatient (there are more ouptatient variations in the 'Other' classification, i.e. 4-10) label values prog proglbl *Average label define avlbl 1 "Mean" 2 "Median" 3 "Both" 4 "Assume mean" 5 "Assume median" 6 "Mean4all&med4rec" //6 is a special case where the mean was given for 'all children' and median was given for 'recovered only' label values average avlbl *WG sample label define wg_sample_lbl 1 "All" 2 "Assume all" 3 "Rec only" 4 "Assume rec only" 5 "Both" label values wg_sample wg_sample_lbl *label variables label var wg_all_n_mean "N" label var wg_rec_n_mean "N" label var alos_all_n_mean "N" label var alos_rec_n_mean "N" label var pub_year "Year" ************************************SECTION 1*********************************** ***********************************WEIGHT GAIN********************************** ******************************************************************************** *TRANSFORM DATA *Convert to 95%CIs *SEs to CIs summ wg_all_se_mean wg_rec_se_mean *For mean WG in all children gen wg_all_lci_imp = wg_all_mean - (1.96*wg_all_se_mean) gen wg_all_uci_imp = wg_all_mean + (1.96*wg_all_se_mean) *For mean WG in rec only gen wg_rec_lci_imp = wg_rec_mean - (1.96*wg_rec_se_mean) gen wg_rec_uci_imp = wg_rec_mean + (1.96*wg_rec_se_mean) *SDs to CIs summ wg_all_sd_mean wg_rec_sd_mean *For mean WG in all children gen wg_all_se_imp = wg_all_sd_mean/sqrt(wg_all_n_mean) gen wg_all_lci_imp2 = wg_all_mean - (1.96*wg_all_se_imp) gen wg_all_uci_imp2 = wg_all_mean + (1.96*wg_all_se_imp) *For mean WG in rec only gen wg_rec_se_imp = wg_rec_sd_mean/sqrt(wg_rec_n_mean) gen wg_rec_lci_imp2 = wg_rec_mean - (1.96*wg_rec_se_imp) gen wg_rec_uci_imp2 = wg_rec_mean + (1.96*wg_rec_se_imp) *Combine CIs into one variable (using CI provided preferentially over imputed CI) *For mean WG in all *LCI gen wg_all_lci_comb = wg_all_lci_mean summ wg_all_lci_comb wg_all_lci_mean replace wg_all_lci_comb = wg_all_lci_imp if wg_all_lci_comb==. replace wg_all_lci_comb = wg_all_lci_imp2 if wg_all_lci_comb==. *UCI gen wg_all_uci_comb = wg_all_uci_mean summ wg_all_uci_comb wg_all_uci_mean replace wg_all_uci_comb = wg_all_uci_imp if wg_all_uci_comb==. replace wg_all_uci_comb = wg_all_uci_imp2 if wg_all_uci_comb==. *For mean WG in rec only *LCI gen wg_rec_lci_comb = wg_rec_lci_mean summ wg_rec_lci_comb wg_rec_lci_mean replace wg_rec_lci_comb = wg_rec_lci_imp if wg_rec_lci_comb==. replace wg_rec_lci_comb = wg_rec_lci_imp2 if wg_rec_lci_comb==. *UCI gen wg_rec_uci_comb = wg_rec_uci_mean summ wg_rec_uci_comb wg_rec_uci_mean replace wg_rec_uci_comb = wg_rec_uci_imp if wg_rec_uci_comb==. replace wg_rec_uci_comb = wg_rec_uci_imp2 if wg_rec_uci_comb==. *Combine all children and recovered only (taking all children preferentially) *Combine mean WG into one variable gen wg_mean_comballrec = wg_all_mean replace wg_mean_comballrec = wg_rec_mean if wg_mean_comb==. br if wg_all_mean!=. & wg_all_lci_mean==. & wg_all_uci_mean==. & wg_all_sd_mean==. & wg_all_se_mean==. //no measure of uncertainty under another parameter for any br if wg_rec_mean!=. & wg_rec_lci_mean==. & wg_rec_uci_mean==. & wg_rec_sd_mean==. & wg_rec_se_mean==. //no measure of uncertainty under another parameter for any *Combine CIs for all children and rec only *LCI gen wg_mean_comballrec_lci = wg_all_lci_comb replace wg_mean_comballrec_lci = wg_rec_lci_comb if wg_all_lci_comb==. *UCI gen wg_mean_comballrec_uci = wg_all_uci_comb replace wg_mean_comballrec_uci = wg_rec_uci_comb if wg_all_uci_comb==. *Combine sample size into one var gen wg_mean_comballrec_n = wg_all_n_mean replace wg_mean_comballrec_n = wg_rec_n_mean if wg_all_n_mean==. label var wg_mean_comballrec_n "N" *Convert medians to means (for sensitivity analyses) *Use Wan et al 2014 method for imputing mean *Use Cochrane method for imputed SD from IQR, i.e. SD = (q3-q1)/1.35 *For all *Imputing means from medians tab wg_all_med if wg_all_mean==. br if wg_all_med!=. & wg_all_mean==. gen wg_all_mean_impmed = (wg_all_iqr1_med + wg_all_med + wg_all_iqr3_med)/3 if wg_all_mean==. order wg_all_mean_impmed, after(wg_all_n_med) *Imputing CIs from IQRs *Get SD gen wg_all_sd_impmed = (wg_all_iqr3_med - wg_all_iqr1_med)/1.35 if wg_all_mean_impmed!=. *Then get CIs gen wg_all_se_impmed = wg_all_sd_impmed/sqrt(wg_all_n_med) gen wg_all_lci_impmed = wg_all_mean_impmed - (1.96*wg_all_se_impmed) gen wg_all_uci_impmed = wg_all_mean_impmed + (1.96*wg_all_se_impmed) *For rec only *Imputing means from medians count if wg_rec_mean==. & wg_rec_med!=. br if wg_rec_mean==. & wg_rec_med!=. gen wg_rec_mean_impmed = (wg_rec_iqr1_med + wg_rec_med + wg_rec_iqr3_med)/3 if wg_rec_mean==. order wg_rec_mean_impmed, after(wg_rec_n_med) *Imputing CIs from IQRs *Get SD gen wg_rec_sd_impmed = (wg_rec_iqr3_med - wg_rec_iqr1_med)/1.35 if wg_rec_mean_impmed!=. *SD to CI gen wg_rec_se_impmed = wg_rec_sd_impmed/sqrt(wg_rec_n_med) gen wg_rec_lci_impmed = wg_rec_mean_impmed - (1.96*wg_rec_se_impmed) gen wg_rec_uci_impmed = wg_rec_mean_impmed + (1.96*wg_rec_se_impmed) *Combine imputed means and CIs with those that were provided (for sensitivity analyses) *For all *Add imputed means to original means gen wg_all_mean_impcomb = wg_all_mean replace wg_all_mean_impcomb = wg_all_mean_impmed if wg_all_mean==. *Adding imputed CIs *LCI gen wg_all_lci_impcomb = wg_all_lci_comb replace wg_all_lci_impcomb = wg_all_lci_impmed if wg_all_lci_comb==. *UCI gen wg_all_uci_impcomb = wg_all_uci_comb replace wg_all_uci_impcomb = wg_all_uci_impmed if wg_all_uci_comb==. *n gen wg_all_n_impcomb = wg_all_n_mean replace wg_all_n_impcomb = wg_all_n_med if wg_all_n_impcomb==. *For rec only *Add imputed means to original means gen wg_rec_mean_impcomb = wg_rec_mean replace wg_rec_mean_impcomb = wg_rec_mean_impmed if wg_rec_mean==. *Adding imputed CIs *LCI gen wg_rec_lci_impcomb = wg_rec_lci_comb replace wg_rec_lci_impcomb = wg_rec_lci_impmed if wg_rec_lci_comb==. *UCI gen wg_rec_uci_impcomb = wg_rec_uci_comb replace wg_rec_uci_impcomb = wg_rec_uci_impmed if wg_rec_uci_comb==. *n gen wg_rec_n_impcomb = wg_rec_n_mean replace wg_rec_n_impcomb = wg_rec_n_med if wg_rec_n_impcomb==. *Combining mean & imputed means as well as all children and rec only *WG gen wg_comballrec_impcomb = wg_all_mean_impcomb replace wg_comballrec_impcomb = wg_rec_mean_impcomb if wg_all_mean_impcomb==. *LCI gen wg_comballrec_impcomb_lci = wg_all_lci_impcomb replace wg_comballrec_impcomb_lci = wg_rec_lci_impcomb if wg_all_lci_impcomb==. *UCI gen wg_comballrec_impcomb_uci = wg_all_uci_impcomb replace wg_comballrec_impcomb_uci = wg_rec_uci_impcomb if wg_all_uci_impcomb==. *sample size gen wg_comballrec_impcomb_n = wg_all_n_impcomb replace wg_comballrec_impcomb_n = wg_rec_n_impcomb if wg_comballrec_impcomb_n==. ******************************************************************************** *META-ANALYSIS OF WG graph set graph set window fontface "Times New Roman" gen spacer = "" *ALL AND REC COMBINED sort wg_mean_comballrec *FIGURE 2 MAIN TEXT - All & rec combined - inpatient, hybrid, outpatient metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog<4, random by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(100) astext(30) scheme(s1mono) sgweight nobetween nooverall *All programmes (for annex) S1a-b metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci, random by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //random metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci, fixed by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //fixed *Overall WG metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci, random by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(120) astext(30) scheme(s1mono) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci, fixed by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(120) astext(30) scheme(s1mono) *Inpt, hybrid, outpt programmes by region (for annex) - S3a-c metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==1, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //inpt by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==2, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //hybrid by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==3, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(100) astext(75) scheme(s1mono) //outpt by region (both rand and fixed effects) *Figures S2a-d *ALL sort wg_all_mean metan wg_all_mean wg_all_lci_comb wg_all_uci_comb, random by(prog) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) metan wg_all_mean wg_all_lci_comb wg_all_uci_comb, fixed by(prog) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) *REC ONLY sort wg_rec_mean metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb, random by(prog) lcols(author pub_year wg_rec_n_mean spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb, fixed by(prog) lcols(author pub_year wg_rec_n_mean spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) ******************************************************************************** *OEDEMA SUBGROUPS *Transform data *Convert to 95%CIs *SE to CIs *Oedema summ wg_oed_se_mean gen wg_oed_lci_mean_imp = wg_oed_mean - (1.96*wg_oed_se_mean) gen wg_oed_uci_mean_imp = wg_oed_mean + (1.96*wg_oed_se_mean) *Nonoed gen wg_nonoed_lci_mean_imp = wg_nonoed_mean - (1.96*wg_nonoed_se_mean) gen wg_nonoed_uci_mean_imp = wg_nonoed_mean + (1.96*wg_nonoed_se_mean) *SDs to CIs *Oed summ wg_oed_sd_mean gen wg_oed_se_mean_imp = wg_oed_sd_mean/sqrt(wg_oed_n_mean) gen wg_oed_lci_mean_imp2 = wg_oed_mean - (1.96*wg_oed_se_mean_imp) gen wg_oed_uci_mean_imp2 = wg_oed_mean + (1.96*wg_oed_se_mean_imp) *Nonoed summ wg_nonoed_sd_mean gen wg_nonoed_se_mean_imp = wg_nonoed_sd_mean/sqrt(wg_nonoed_n_mean) gen wg_nonoed_lci_mean_imp2 = wg_nonoed_mean - (1.96*wg_nonoed_se_mean_imp) gen wg_nonoed_uci_mean_imp2 = wg_nonoed_mean + (1.96*wg_nonoed_se_mean_imp) *Combine CIs *Oed *LCI gen wg_oed_lci_mean_comb = wg_oed_lci_mean replace wg_oed_lci_mean_comb = wg_oed_lci_mean_imp if wg_oed_lci_mean_comb==. replace wg_oed_lci_mean_comb = wg_oed_lci_mean_imp2 if wg_oed_lci_mean_comb==. *UCI gen wg_oed_uci_mean_comb = wg_oed_uci_mean replace wg_oed_uci_mean_comb = wg_oed_uci_mean_imp if wg_oed_uci_mean_comb==. replace wg_oed_uci_mean_comb = wg_oed_uci_mean_imp2 if wg_oed_uci_mean_comb==. *Nonoed *LCI gen wg_nonoed_lci_mean_comb = wg_nonoed_lci_mean replace wg_nonoed_lci_mean_comb = wg_nonoed_lci_mean_imp if wg_nonoed_lci_mean_comb==. replace wg_nonoed_lci_mean_comb = wg_nonoed_lci_mean_imp2 if wg_nonoed_lci_mean_comb==. *UCI gen wg_nonoed_uci_mean_comb = wg_nonoed_uci_mean replace wg_nonoed_uci_mean_comb = wg_nonoed_uci_mean_imp if wg_nonoed_uci_mean_comb==. replace wg_nonoed_uci_mean_comb = wg_nonoed_uci_mean_imp2 if wg_nonoed_uci_mean_comb==. *Meta analysis *Oed sort wg_oed_mean label var wg_oed_n_mean "N" metan wg_oed_mean wg_oed_lci_mean_comb wg_oed_uci_mean_comb, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_oed_n_mean spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) *Nonoed sort wg_nonoed_mean label var wg_nonoed_n_mean "N" metan wg_nonoed_mean wg_nonoed_lci_mean_comb wg_nonoed_uci_mean_comb, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_nonoed_n_mean spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) ************************************SECTION 2*********************************** **************************************ALOS************************************** ******************************************************************************** *TRANSFORM DATA *Convert to 95%CIs *SE to CI summ alos_all_se_mean alos_rec_se_mean //0 for all and 4 for rec *For mean ALOS in rec only gen alos_rec_lci_imp = alos_rec_mean - (1.96*alos_rec_se_mean) gen alos_rec_uci_imp = alos_rec_mean + (1.96*alos_rec_se_mean) *SDs to CIs summ alos_all_sd_mean alos_rec_sd_mean *For mean ALOS in all children gen alos_all_se_imp = alos_all_sd_mean/sqrt(alos_all_n_mean) gen alos_all_lci_imp2 = alos_all_mean - (1.96*alos_all_se_imp) gen alos_all_uci_imp2 = alos_all_mean + (1.96*alos_all_se_imp) *For mean ALOS in rec only gen alos_rec_se_imp = alos_rec_sd_mean/sqrt(alos_rec_n_mean) gen alos_rec_lci_imp2 = alos_rec_mean - (1.96*alos_rec_se_imp) gen alos_rec_uci_imp2 = alos_rec_mean + (1.96*alos_rec_se_imp) *Combine CIs into one var *For mean ALOS in all *LCI gen alos_all_lci_comb = alos_all_lci_mean summ alos_all_lci_comb alos_all_lci_mean replace alos_all_lci_comb = alos_all_lci_imp if alos_all_lci_comb==. replace alos_all_lci_comb = alos_all_lci_imp2 if alos_all_lci_comb==. *UCI gen alos_all_uci_comb = alos_all_uci_mean summ alos_all_uci_comb alos_all_uci_mean replace alos_all_uci_comb = alos_all_uci_imp if alos_all_uci_comb==. replace alos_all_uci_comb = alos_all_uci_imp2 if alos_all_uci_comb==. *For mean ALOS in rec *LCI gen alos_rec_lci_comb = alos_rec_lci_mean summ alos_rec_lci_comb alos_rec_lci_mean replace alos_rec_lci_comb = alos_rec_lci_imp if alos_rec_lci_comb==. replace alos_rec_lci_comb = alos_rec_lci_imp2 if alos_rec_lci_comb==. *UCI gen alos_rec_uci_comb = alos_rec_uci_mean summ alos_rec_uci_comb alos_rec_uci_mean replace alos_rec_uci_comb = alos_rec_uci_imp if alos_rec_uci_comb ==. replace alos_rec_uci_comb = alos_rec_uci_imp2 if alos_rec_uci_comb==. *Combine all and rec *Mean gen alos_mean_comballrec = alos_all_mean replace alos_mean_comballrec = alos_rec_mean if alos_mean_comballrec==. summ alos_mean_comballrec *LCI gen alos_mean_comballrec_lci = alos_all_lci_comb replace alos_mean_comballrec_lci = alos_rec_lci_comb if alos_mean_comballrec_lci==. *UCI gen alos_mean_comballrec_uci = alos_all_uci_comb replace alos_mean_comballrec_uci = alos_rec_uci_comb if alos_mean_comballrec_uci==. *Sample size gen alos_mean_comballrec_n = alos_all_n_mean replace alos_mean_comballrec_n = alos_rec_n_mean if alos_mean_comballrec_n==. label var alos_mean_comballrec_n "N" ******************************************************************************** *META-ANALYSIS *ALL AND REC COMBINED sort alos_mean_comballrec *FIGURE 3 MAIN TEXT - inpatient, hybrid, outpatient metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog<4, by(prog) random lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall scheme(s1mono) *Fixed effects for annex - S5 metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog<4, by(prog) fixed lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall scheme(s1mono) *All progs for annex metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci, by(prog) random lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //random metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci, by(prog) fixed lcols(author alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //fixed *Inpt and outpt by region (for annex) - S7a-b metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==1, random second(fixed) by(region) lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //inpt by region (rand and fixed effects) metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==3, random second(fixed) by(region) lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //outpt by region (rand and fixed effects) *ALL - S6a and c sort alos_all_mean *Inpt and outpt metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==1 | prog==3, by(prog) random lcols(author pub_year alos_all_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==1 | prog==3, by(prog) fixed lcols(author pub_year alos_all_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed *REC - S6b and d sort alos_rec_mean *Inpt and outpt metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==1 | prog==3, by(prog) random lcols(author pub_year alos_rec_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==1 | prog==3, by(prog) fixed lcols(author pub_year alos_rec_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed ************************************SECTION 3*********************************** ***************************ASSOC with ALOS/PROG OUTCOMES************************ *WG and ALOS twoway scatter alos_mean_comballrec wg_mean_comballrec meta set alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci, civartolerance(166.1690) meta regress wg_mean_comballrec meta regress wg_mean_comballrec i.prog, base //exclude simplified and exclude combined meta regress wg_mean_comballrec i.prog if prog!=6 & prog!=7, base **Sensitivity analyses** *Sens 1 meta regress wg_comballrec_impcomb *Sens 2 meta regress wg_mean_comballrec if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 & prog!=4 & prog!=5 & prog!=6 *Sens 3 meta regress wg_mean_comballrec if group==1 meta regress wg_mean_comballrec i.prog if group==1 meta regress wg_mean_comballrec i.prog if group==1 & prog!=4 & prog!=6 & prog!=7 *WG and PROG OUTCOMES *MORTALITY twoway (scatter mort wg_mean_comballrec) (lfitci mort wg_mean_comballrec) if prog==3 twoway (scatter mort wg_mean_comballrec) if prog==3 twoway scatter mort wg_mean_comballrec if prog==3, mlabel(id) *FIGURE 4 MAIN TEXT twoway scatter mort wg_mean_comballrec if prog==3, ytitle("Mortality (%)") xtitle("Programme mean weight gain (g/kg/d)") scatter mort wg_mean_comballrec, mlabel(id) *Convert to proportion and get SE from CI unless CI not given, then estimate SE of proportion using this formula: SEP = sqrt(p(1-p)/n) *convert to prop gen mort_p = mort/100 summ mort mort_p count if mort_p==0 //23 are zero and we cannot use this so I have changed to a very small number that should not bias results and will allow analysis replace mort_p = 0.00001 if mort_p==0 *get se from ci gen mort_lci_p = mort_lci/100 gen mort_uci_p = mort_uci/100 summ mort_lci mort_lci_p mort_uci mort_uci_p gen mort_se = (mort_uci_p - mort_lci_p)/(2*1.96) br mort mort_p mort_lci_p mort_uci_p mort_se mort_n *estimate SE of prop replace mort_se = sqrt((mort_p*(1 - mort_p))/mort_n) if mort_se==. br mort mort_p mort_lci_p mort_uci_p mort_se mort_n *Meta regression meta set mort_p mort_se meta regress wg_mean_comballrec meta regress wg_mean_comballrec i.prog, base meta regress wg_mean_comballrec i.prog if prog!=6, base **Sensitivity analyses** *Sens 1 meta regress wg_comballrec_impcomb meta regress wg_comballrec_impcomb i.prog, base meta regress wg_comballrec_impcomb i.prog default_p, base *Sens 2 meta regress wg_mean_comballrec if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 & prog!=5 & prog!=6 *Sens 3 meta regress wg_mean_comballrec if group==1 meta regress wg_mean_comballrec i.prog if group==1 meta regress wg_mean_comballrec i.prog if group==1 & prog!=4 & prog!=6 gen default_p = default/100 meta regress c.default_p meta regress wg_mean_comballrec i.prog default_p *RECOVERY twoway (scatter recovery wg_mean_comballrec) (lfitci recovery wg_mean_comballrec) scatter recovery wg_mean_comballrec, mlabel(id) *convert to proportions gen recovery_p = recovery/100 summ recovery recovery_p count if recovery_p==0 gen recovery_lci_p = recovery_lci/100 gen recovery_uci_p = recovery_uci/100 summ recovery_lci recovery_lci_p recovery_uci recovery_uci_p gen recovery_se = (recovery_uci_p - recovery_lci_p)/(2*1.96) br recovery recovery_p recovery_lci_p recovery_uci_p recovery_se recovery_n *convert ci to se replace recovery_se = sqrt((recovery_p*(1 - recovery_p))/recovery_n) if recovery_se==. br recovery recovery_p recovery_lci_p recovery_uci_p recovery_se recovery_n *meta regression meta set recovery_p recovery_se meta regress wg_mean_comballrec meta regress wg_mean_comballrec i.prog meta regress wg_mean_comballrec i.prog default_p meta regress wg_mean_comballrec i.prog default_p if prog!=6 **Sensitivity analyses** *Sens 1 meta regress wg_comballrec_impcomb meta regress wg_comballrec_impcomb i.prog, base meta regress wg_comballrec_impcomb i.prog default_p *Sens 2 meta regress wg_mean_comballrec if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 meta regress wg_mean_comballrec i.prog default_p if strict==1 *Sens 3 meta regress wg_mean_comballrec if group==1 meta regress wg_mean_comballrec i.prog if group==1 meta regress wg_mean_comballrec i.prog default_p if group==1 *DEFAULT twoway (scatter default wg_mean_comballrec) (lfitci default wg_mean_comballrec) *convert cis to props (default % already converted) *but do need to convert any zeros count if default_p==0 replace default_p = 0.00001 if default_p==0 gen def_lci_p = def_lci/100 gen def_uci_p = def_uci/100 summ default default_p def_lci def_lci_p def_uci def_uci_p *convert ci to se gen def_se = (def_uci_p - def_lci_p)/(2*1.96) br default default_p def_lci_p def_uci_p def_se def_n *estimate se of prop replace def_se = sqrt((default_p*(1 - default_p))/def_n) if def_se==. br default default_p def_lci_p def_uci_p def_se def_n *meta regression meta set default_p def_se meta regress wg_mean_comballrec meta regress wg_mean_comballrec i.prog **Sensitivity analyses** *Sens 1 meta regress wg_comballrec_impcomb meta regress wg_comballrec_impcomb i.prog, base *Sens 2 meta regress wg_mean_comballrec if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 & prog!=4 & prog!=5 & prog!=6 *Sens 3 meta regress wg_mean_comballrec if group==1 meta regress wg_mean_comballrec i.prog if group==1 *RELAPSE twoway (scatter relapse wg_mean_comballrec) (lfitci relapse wg_mean_comballrec) scatter relapse wg_mean_comballrec, mlabel(id) *convert to props gen relapse_p = relapse/100 summ relapse relapse_p count if relapse_p==0 replace relapse_p = 0.00001 if relapse_p==0 *note no cis given *estimate se of prop gen relapse_se = sqrt((relapse_p*(1 - relapse_p))/relapse_n) br relapse relapse_p relapse_se relapse_n *meta regression meta set relapse_p relapse_se meta regress wg_mean_comballrec meta regress wg_mean_comballrec i.prog **Sensitivity analyses** *Sens 1 meta regress wg_comballrec_impcomb meta regress wg_comballrec_impcomb i.prog if prog<6, base *Sens 2 meta regress wg_mean_comballrec if strict==1 meta regress wg_mean_comballrec i.prog if strict==1 *Sens 3 meta regress wg_mean_comballrec if group==1 meta regress wg_mean_comballrec i.prog if group==1 & prog<4 ************************************SECTION 4*********************************** *****************************SESNSITIVITY ANALYSES****************************** *Including imputed vars *ALL AND REC COMBINED sort wg_comballrec_impcomb *All prog metan wg_comballrec_impcomb wg_comballrec_impcomb_lci wg_comballrec_impcomb_uci, random by(prog) labtitle(Programme) lcols(author pub_year wg_comballrec_impcomb_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //random metan wg_comballrec_impcomb wg_comballrec_impcomb_lci wg_comballrec_impcomb_uci, fixed by(prog) labtitle(Programme) lcols(author pub_year wg_comballrec_impcomb_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //fixed *Inpt, hybrid, outpt by region metan wg_comballrec_impcomb wg_comballrec_impcomb_lci wg_comballrec_impcomb_uci if prog==1, random second(fixed) by(region) lcols(author pub_year wg_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //inpt by region (both rand and fixed effects) metan wg_comballrec_impcomb wg_comballrec_impcomb_lci wg_comballrec_impcomb_uci if prog==2, random second(fixed) by(region) lcols(author pub_year wg_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //hybrid by region (both rand and fixed effects) metan wg_comballrec_impcomb wg_comballrec_impcomb_lci wg_comballrec_impcomb_uci if prog==3, random second(fixed) by(region) lcols(author pub_year wg_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(5)20) textsize(100) astext(75) scheme(s1mono) //outpt by region (both rand and fixed effects) *ALL CHILDREN sort wg_all_mean_impcomb metan wg_all_mean_impcomb wg_all_lci_impcomb wg_all_uci_impcomb, random by(prog) lcols(author pub_year wg_all_n_impcomb spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) metan wg_all_mean_impcomb wg_all_lci_impcomb wg_all_uci_impcomb, fixed by(prog) lcols(author pub_year wg_all_n_impcomb spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) *REC ONLY sort wg_rec_mean_impcomb metan wg_rec_mean_impcomb wg_rec_lci_impcomb wg_rec_uci_impcomb, random by(prog) lcols(author pub_year wg_rec_n_impcomb spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) metan wg_rec_mean_impcomb wg_rec_lci_impcomb wg_rec_uci_impcomb, fixed by(prog) lcols(author pub_year wg_rec_n_impcomb spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) *OEDEMATOUS and NON_OEDEMATOUS *Convert medians to means *Oed gen wg_oed_mean_impmed = (wg_oed_iqr1_med + wg_oed_med + wg_oed_iqr3_med)/3 if wg_oed_mean==. *Nonoed gen wg_nonoed_mean_impmed = (wg_nonoed_iqr1_med + wg_nonoed_med + wg_nonoed_iqr3_med)/3 if wg_nonoed_mean==. *Combine with means provided *Oed gen wg_oed_mean_impcomb = wg_oed_mean replace wg_oed_mean_impcomb = wg_oed_mean_impmed if wg_oed_mean_impcomb==. *Nonoed gen wg_nonoed_mean_impcomb = wg_nonoed_mean replace wg_nonoed_mean_impcomb = wg_nonoed_mean_impmed if wg_nonoed_mean_impcomb==. *Convert IQRs to CIs *Oed gen wg_oed_sd_impmed = (wg_oed_iqr3_med - wg_oed_iqr1_med)/1.35 if wg_oed_mean_impcomb!=. gen wg_oed_se_impmed = wg_oed_sd_impmed/sqrt(wg_oed_n_med) gen wg_oed_lci_impmed = wg_oed_mean_impmed - (1.96*wg_oed_se_impmed) gen wg_oed_uci_impmed = wg_oed_mean_impmed + (1.96*wg_oed_se_impmed) *Nonoed gen wg_nonoed_sd_impmed = (wg_nonoed_iqr3_med - wg_nonoed_iqr1_med)/1.35 if wg_nonoed_mean_impcomb!=. gen wg_nonoed_se_impmed = wg_nonoed_sd_impmed/sqrt(wg_nonoed_n_med) gen wg_nonoed_lci_impmed = wg_nonoed_mean_impmed - (1.96*wg_nonoed_se_impmed) gen wg_nonoed_uci_impmed = wg_nonoed_mean_impmed + (1.96*wg_nonoed_se_impmed) *Combine with CIs we already have *Oed *LCI gen wg_oed_lci_impcomb = wg_oed_lci_mean_comb replace wg_oed_lci_impcomb = wg_oed_lci_impmed if wg_oed_lci_impcomb==. *UCI gen wg_oed_uci_impcomb = wg_oed_uci_mean_comb replace wg_oed_uci_impcomb = wg_oed_uci_impmed if wg_oed_uci_impcomb==. *Nonoed *LCI gen wg_nonoed_lci_impcomb = wg_nonoed_lci_mean_comb replace wg_nonoed_lci_impcomb = wg_nonoed_lci_impmed if wg_nonoed_lci_impcomb==. *UCI gen wg_nonoed_uci_impcomb = wg_nonoed_uci_mean_comb replace wg_nonoed_uci_impcomb = wg_nonoed_uci_impmed if wg_nonoed_uci_impcomb==. *Combine sample sizes *Oed gen wg_oed_n_impcomb = wg_oed_n_mean replace wg_oed_n_impcomb = wg_oed_n_med if wg_oed_n_impcomb==. *Nonoed gen wg_nonoed_n_impcomb = wg_nonoed_n_mean replace wg_nonoed_n_impcomb = wg_nonoed_n_med if wg_nonoed_n_impcomb==. *Rerun meta analysis including the imputed variables *Oed sort wg_oed_mean_impcomb label var wg_oed_n_impcomb "N" metan wg_oed_mean_impcomb wg_oed_lci_impcomb wg_oed_uci_impcomb, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_oed_n_impcomb spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) *Nonoed sort wg_nonoed_mean_impcomb label var wg_nonoed_n_impcomb "N" metan wg_nonoed_mean_impcomb wg_nonoed_lci_impcomb wg_nonoed_uci_impcomb, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_nonoed_n_impcomb spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) *ALOS br if alos_all_mean!=. & alos_all_lci_mean==. & alos_all_sd_mean==. & alos_all_se_mean==. //one where a median is provided with IQR and sample size that could be used br if alos_rec_mean!=. & alos_rec_lci_mean==. & alos_rec_sd_mean==. & alos_rec_se_mean==. //one where a median is provided with ci and sample *Transform data *ALL children *Convert medians to means tab alos_all_med if alos_all_mean==. br if alos_all_med!=. & alos_all_mean==. gen alos_all_mean_impmed = (alos_all_iqr1_med + alos_all_med + alos_all_iqr3_med)/3 if alos_all_mean==. *exclude the one that gives ci as measure of uncertainty *Impute CIs from IQRs gen alos_all_sd_impmed = (alos_all_iqr3_med - alos_all_iqr1_med)/1.35 gen alos_all_se_impmed = alos_all_sd_impmed/sqrt(alos_all_n_med) gen alos_all_lci_impmed = alos_all_mean_impmed - (1.96*alos_all_se_impmed) gen alos_all_uci_impmed = alos_all_mean_impmed + (1.96*alos_all_se_impmed) *Add to original *Add means gen alos_all_mean_impcomb = alos_all_mean replace alos_all_mean_impcomb = alos_all_mean_impmed if alos_all_mean==. *Add CIs *LCI gen alos_all_lci_impcomb = alos_all_lci_comb replace alos_all_lci_impcomb = alos_all_lci_impmed if alos_all_lci_comb==. *UCI gen alos_all_uci_impcomb = alos_all_uci_comb replace alos_all_uci_impcomb = alos_all_uci_impmed if alos_all_uci_comb==. *n gen alos_all_n_impcomb = alos_all_n_mean replace alos_all_n_impcomb = alos_all_n_med if alos_all_n_mean==. *REC only *Convert medians to means tab alos_rec_med if alos_rec_mean==. br if alos_rec_med!=. & alos_rec_mean==. gen alos_rec_mean_impmed = (alos_rec_iqr1_med + alos_rec_med + alos_rec_iqr3_med)/3 if alos_rec_mean==. *exclude ones that gives ci as measure of uncertainty *Impute CIs from IQRs gen alos_rec_sd_impmed = (alos_rec_iqr3_med - alos_rec_iqr1_med)/1.35 gen alos_rec_se_impmed = alos_rec_sd_impmed/sqrt(alos_rec_n_med) gen alos_rec_lci_impmed = alos_rec_mean_impmed - (1.96*alos_rec_se_impmed) gen alos_rec_uci_impmed = alos_rec_mean_impmed + (1.96*alos_rec_se_impmed) *Add to original *Add means gen alos_rec_mean_impcomb = alos_rec_mean replace alos_rec_mean_impcomb = alos_rec_mean_impmed if alos_rec_mean==. *Add CIs *LCI gen alos_rec_lci_impcomb = alos_rec_lci_comb replace alos_rec_lci_impcomb = alos_rec_lci_impmed if alos_rec_lci_comb==. *UCI gen alos_rec_uci_impcomb = alos_rec_uci_comb replace alos_rec_uci_impcomb = alos_rec_uci_impmed if alos_rec_uci_comb==. *n gen alos_rec_n_impcomb = alos_rec_n_mean replace alos_rec_n_impcomb = alos_rec_n_med if alos_rec_n_mean==. *Combine all and rec only *ALOS gen alos_comballrec_impcomb = alos_all_mean_impcomb replace alos_comballrec_impcomb = alos_rec_mean_impcomb if alos_all_mean_impcomb==. *LCI gen alos_comballrec_impcomb_lci = alos_all_lci_impcomb replace alos_comballrec_impcomb_lci = alos_rec_lci_impcomb if alos_all_lci_impcomb==. & alos_all_mean_impcomb==. *UCI gen alos_comballrec_impcomb_uci = alos_all_uci_impcomb replace alos_comballrec_impcomb_uci = alos_rec_uci_impcomb if alos_all_uci_impcomb==. & alos_all_mean_impcomb==. *Sample size gen alos_comballrec_impcomb_n = alos_all_n_impcomb replace alos_comballrec_impcomb_n = alos_rec_n_impcomb if alos_comballrec_impcomb_n==. *Rerun meta *All and rec combined sort alos_comballrec_impcomb *All prog metan alos_comballrec_impcomb alos_comballrec_impcomb_lci alos_comballrec_impcomb_uci, by(prog) random lcols(author pub_year alos_comballrec_impcomb_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //random metan alos_comballrec_impcomb alos_comballrec_impcomb_lci alos_comballrec_impcomb_uci, by(prog) fixed lcols(author alos_comballrec_impcomb_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //fixed *Inpt, hyb, outpt by region metan alos_comballrec_impcomb alos_comballrec_impcomb_lci alos_comballrec_impcomb_uci if prog==1, random second(fixed) by(region) lcols(author pub_year alos_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //inpt by region (rand and fixed effects) metan alos_comballrec_impcomb alos_comballrec_impcomb_lci alos_comballrec_impcomb_uci if prog==2, random second(fixed) by(region) lcols(author pub_year alos_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //hyb by region (rand and fixed effects) metan alos_comballrec_impcomb alos_comballrec_impcomb_lci alos_comballrec_impcomb_uci if prog==3, random second(fixed) by(region) lcols(author pub_year alos_comballrec_impcomb_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //outpt by region (rand and fixed effects) *All sort alos_all_mean_impcomb *Inpt and outpt metan alos_all_mean_impcomb alos_all_lci_impcomb alos_all_uci_impcomb if prog==1 | prog==3, by(prog) random lcols(author pub_year alos_all_n_impcomb spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_all_mean_impcomb alos_all_lci_impcomb alos_all_uci_impcomb if prog==1 | prog==3, by(prog) fixed lcols(author pub_year alos_all_n_impcomb spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed *Rec sort alos_rec_mean_impcomb *Inpt and outpt metan alos_rec_mean_impcomb alos_rec_lci_impcomb alos_rec_uci_impcomb if prog==1 | prog==3, by(prog) random lcols(author pub_year alos_rec_n_impcomb spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_rec_mean_impcomb alos_rec_lci_impcomb alos_rec_uci_impcomb if prog==1 | prog==3, by(prog) fixed lcols(author pub_year alos_rec_n_impcomb spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed ******************************************************************************** *Excluding those not strictly meeting our inclusion criteria *WG *ALL AND REC COMBINED sort wg_mean_comballrec *All programmes metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if strict==1, random by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //random metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if strict==1, fixed by(prog) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) sgweight nobetween nooverall //fixed *Inpt, hybrid, outpt programmes by region (for annex) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==1 & strict==1, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //inpt by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==2 & strict==1, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(120) astext(75) scheme(s1mono) //hybrid by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==3 & strict==1, random second(fixed) by(region) lcols(author pub_year wg_mean_comballrec_n spacer) labtitle(Study) xlabel(0(5)20) textsize(100) astext(75) scheme(s1mono) //outpt by region (both rand and fixed effects) *ALL sort wg_all_mean metan wg_all_mean wg_all_lci_comb wg_all_uci_comb if strict==1, random by(prog) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) metan wg_all_mean wg_all_lci_comb wg_all_uci_comb if strict==1, fixed by(prog) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) nobetween sgweight nooverall textsize(80) astext(75) scheme(s1mono) *REC ONLY sort wg_rec_mean metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb if strict==1, random by(prog) lcols(author pub_year wg_rec_n_mean spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb if strict==1, fixed by(prog) lcols(author pub_year wg_rec_n_mean spacer) labtitle(Programme) textsize(85) astext(75) scheme(s1mono) sgweight nobetween nooverall xlabel(0(5)20) *OEDEMATOUS and NON-OEDEMATOUS *Oed sort wg_oed_mean metan wg_oed_mean wg_oed_lci_mean_comb wg_oed_uci_mean_comb if strict==1, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_oed_n_mean spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) *Nonoed sort wg_nonoed_mean metan wg_nonoed_mean wg_nonoed_lci_mean_comb wg_nonoed_uci_mean_comb if strict==1, by(prog) random second(fixed) labtitle(Programme) lcols(author pub_year wg_nonoed_n_mean spacer) xlabel(0(5)20) textsize(85) astext(75) scheme(s1mono) *ALOS *All progs sort alos_mean_comballrec metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if strict==1, by(prog) random lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //random metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if strict==1, by(prog) fixed lcols(author alos_mean_comballrec_n spacer) labtitle(Programme) xlabel(0(50)200) sgweight nobetween nooverall textsize(110) astext(80) scheme(s1mono) //fixed *Inpt, hyb, outpt by region metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==1 & strict==1, random second(fixed) by(region) lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //inpt by region (rand and fixed effects) metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==2 & strict==1, random second(fixed) by(region) lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //hyb by region (rand and fixed effects) metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==3 & strict==1, random second(fixed) by(region) lcols(author pub_year alos_mean_comballrec_n spacer) labtitle(Study) xlabel(0(50)200) textsize(110) astext(80) scheme(s1mono) //outpt by region (rand and fixed effects) *All children - Inpt and outpt sort alos_all_mean metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==1 | prog==3 & strict==1, by(prog) random lcols(author pub_year alos_all_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==1 | prog==3 & strict==1, by(prog) fixed lcols(author pub_year alos_all_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed *Rec only - inpt and outpt sort alos_rec_mean metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==1 | prog==3 & strict==1, by(prog) random lcols(author pub_year alos_rec_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //random metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==1 | prog==3 & strict==1, by(prog) fixed lcols(author pub_year alos_rec_n_mean spacer) labtitle(Programme) nobetween sgweight nooverall xlabel(0(50)200) textsize(100) astext(70) scheme(s1mono) //fixed ****************************************************************************** *Only including one programme *WG *all and rec combined metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if group==1 & prog==10, random second(fixed) labtitle(Programme) lcols(author pub_year wg_mean_comballrec_n spacer) xlabel(0(5)20) textsize(90) astext(70) scheme(s1mono) *all metan wg_all_mean wg_all_lci_comb wg_all_uci_comb if group==1 & prog==10, random second(fixed) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) nodraw *rec only metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb if group==1 & prog==10, random second(fixed) nodraw *region metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==1 & group==1, random second(fixed) by(region) nodraw //inpt by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==2 & group==1, random second(fixed) by(region) nodraw //hybrid by region (both rand and fixed effects) metan wg_mean_comballrec wg_mean_comballrec_lci wg_mean_comballrec_uci if prog==3 & group==1, random second(fixed) by(region) nodraw //outpt by region (both rand and fixed effects) *oed/nonoed metan wg_oed_mean wg_oed_lci_mean_comb wg_oed_uci_mean_comb if group==1, by(prog) random second(fixed) nodraw metan wg_nonoed_mean wg_nonoed_lci_mean_comb wg_nonoed_uci_mean_comb if group==1, by(prog) random second(fixed) nodraw *ALOS metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if group==1 & prog==1, second(fixed) random *Inpt, hyb, outpt by region metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==1 & group==1, random second(fixed) by(region) nodraw //inpt by region (rand and fixed effects) metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==2 & group==1, random second(fixed) by(region) nodraw //hyb by region (rand and fixed effects) metan alos_mean_comballrec alos_mean_comballrec_lci alos_mean_comballrec_uci if prog==3 & group==1, random second(fixed) by(region) nodraw //outpt by region (rand and fixed effects) *All children - Inpt and outpt metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==1 & group==1, second(fixed) random nodraw metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==3 & group==1, by(prog) random second(fixed) nodraw *Rec only - inpt and outpt metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==1 & group==1, second(fixed) random nodraw metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==3 & group==1, random second(fixed) nodraw *Do another sensitivity analysis, just for all children vs rec only (without assumed) tab wg_sample //exclude 2 and 4 *WG metan wg_all_mean wg_all_lci_comb wg_all_uci_comb if wg_sample!=2 & wg_sample!=4 & prog==3, random second(fixed) lcols(author pub_year wg_all_n_mean spacer) labtitle(Programme) xlabel(0(5)20) metan wg_rec_mean wg_rec_lci_comb wg_rec_uci_comb if wg_sample!=2 & wg_sample!=4 & prog==3, random second(fixed) *ALOS metan alos_all_mean alos_all_lci_comb alos_all_uci_comb if prog==3 & wg_sample!=2 & wg_sample!=4, second(fixed) random metan alos_rec_mean alos_rec_lci_comb alos_rec_uci_comb if prog==3 & wg_sample!=2 & wg_sample!=4, second(fixed) random ************************************SECTION 5*********************************** **************************FUNNEL PLOTS AND EGGER TEST*************************** *Work backwards to get SEs for as many as possible gen wg_se_comballrec = (wg_mean_comballrec_uci - wg_mean_comballrec_lci)/(2*1.96) metafunnel wg_mean_comballrec wg_se_comballrec, xtitle(Mean weight gain (g/kg/d)) ytitle(Standard error of weight gain) *Egger test meta set wg_mean_comballrec wg_se_comballrec meta bias, egger meta bias i.prog, egger ***************************************END************************************** ********************************************************************************