******___________***************** ******___________PAPER -TABLES: Binyaruka P, Patouillard E, Powell-Jackson T, Greco G, Maestad O, Borghi J. **Effect of paying for performance on utilisation, quality, and user costs of health services in Tanzania: a controlled before and after study.** ******___________***************** *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the USE of targeted services [Table 2] use "Household_women.dta", clear ***Table 2: Baseline service utilization across arms foreach var in wm_malaria_2doses wm_hivtreat wm_fbd wm_fbd_public OPV0 wm_pnc_7days wm_anc wm_anc4 wm_pnc_hf { reg `var' p4p if time==0 & wm_targeted==1, cluster(facility_id) /*targeted women */ } reg wm_measles_vc p4p if time==0 & wm_targeted==1 & wm_child_age_12>=9 & wm_child_age_12<=11, cluster(facility_id) /* 9-11months for Measles */ reg wm_dpt_3_vc p4p if time==0 & wm_targeted==1 & wm_child_age_12>=6 & wm_child_age_12<=11, cluster(facility_id) /* 6-11months for DPT */ reg wm_fp_any p4p if time==0, cluster(facility_id) /*for FP vars all women */ ***Table 2: DID effects on utilization foreach var in wm_malaria_2doses wm_hivtreat wm_fbd wm_fbd_public OPV0 wm_pnc_7days wm_anc wm_anc4 wm_pnc_hf { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov' if wm_targeted==1, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } ***Table 2: DID effects on -MEASLES [9-11months] foreach var in wm_measles_vc { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov' if wm_targeted==1 & wm_child_age_12>=9 & wm_child_age_12<=11, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } ***Table 2: DID effects on -DPT [6-11months] foreach var in wm_dpt_3_vc { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov' if wm_targeted==1 & wm_child_age_12>=6 & wm_child_age_12<=11, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } ***Table 2: DID effects on -ANY FP METHOD [All women] foreach var in wm_fp_any { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov', fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } *__________From -FACILITY SURVEY *__________Effect of P4P on the USE of non-targeted services [Table 3] use "Facility_Module3.dta", clear * For every outcome calculate number of data points per facility foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { qui xtreg `var' p4p_tjuly11 mnth_2- mnth_36, fe i(facility_id) g ok=e(sample) egen sample_`var'=total(ok), by(facility_id) drop ok } * Deal with implausibly high values by generating sample limit at 99th centile for each outcome foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { centile `var', centile(99) scalar threshold = r(c_1) g `var'_99=(`var'=30, by(p4p) stat(mean sd n) long col(stat) qui estpost ttest `var' if time_july11==0 & `var'_99==1 & sample_`var'>=30, by(p4p) /* all */ esttab ., wide b(a1) p(a3) star(* 0.10 ** 0.05 *** 0.01) nopar } foreach var in OPO5MONTH OPU5MONTH { eststo clear tabstat `var' if time_july11==0 & `var'_99==1 & sample_`var'>=30 & Disp==1, by(p4p) stat(mean sd n) long col(stat) qui estpost ttest `var' if time_july11==0 & `var'_99==1 & sample_`var'>=30 & Disp==1, by(p4p) /* dispensary */ esttab ., wide b(a1) p(a3) star(* 0.10 ** 0.05 *** 0.01) nopar } ***Table 3: Effect on Outpatient [O5 & U5] foreach var in OPO5MONTH OPU5MONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1, fe i(facility_id) cluster(facility_id) /* all */ esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } foreach var in OPO5MONTH OPU5MONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1 & Disp==1, fe i(facility_id) cluster(facility_id) /* dispensary */ esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } *__________From -EXIT interview *__________Effect of P4P on the QUALITY OF CARE (QOC) [Table 4] use "ExitInterview.dta", clear ***Table 4: Baseline QOC across arms [ANC content/ interpersonal care/ waiting/ consultation time] foreach var in anc_index { reg `var' p4p if time==0 & eligible==1 & target3==1, cluster(facility_id) /*targeted women */ tabstat `var' if time==0 & eligible==1 & target3==1, by(p4p) stat(mean sd n) long col(stat) } foreach var in staff_index waitmin consultmin { reg `var' p4p if time==0 & eligible==1 & target3==1, cluster(facility_id) /*targeted women */ tabstat `var' if time==0 & eligible==1 & target3==1, by(p4p) stat(mean sd n) long col(stat) reg `var' p4p if time==0 & eligible==1 & target3==0, cluster(facility_id) /*non-targeted women */ tabstat `var' if time==0 & eligible==1 & target3==0, by(p4p) stat(mean sd n) long col(stat) } ***Table 4: DID effects on QOC -Targeted foreach var in anc_index staff_index waitmin consultmin { eststo clear local cov age INSURED hhsize no_school primary primary_hh secondary_hh formal formal_hh /// not_employed not_employed_hh relig_2 relig_3 relig_4 married gender married_hh pca brought_child gender_provider qui eststo: xtreg `var' p4p_t time `cov' if eligible==1 & target3==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } ***Table 4: DID effects on QOC -Non-targeted foreach var in staff_index waitmin consultmin { eststo clear local cov age INSURED hhsize no_school primary primary_hh secondary_hh formal formal_hh /// not_employed not_employed_hh relig_2 relig_3 relig_4 married gender married_hh pca brought_child gender_provider qui eststo: xtreg `var' p4p_t time `cov' if eligible==1 & target3==0, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } *__________From -HOUSEHOLD survey *__________Effect of P4P on the QUALITY OF CARE (QOC) [Table 4] use "Household_women.dta", clear ***Table 4: Baseline QOC across arms [interpersonal, kindness] foreach var in wm_staff_index wm_kindnesshf { reg `var' p4p if time==0 & wm_targeted==1, cluster(facility_id) /*targeted women */ tabstat `var' if time==0 & wm_targeted==1, by(p4p) stat(mean sd n) long col(stat) } ***Table 4: DID effects on QOC foreach var in wm_staff_index wm_kindnesshf { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov' if wm_targeted==1, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the COST of services [Table 5] use "Household_women.dta", clear ***Table 5: Baseline costs/gifts on public facilities -across arms foreach var in wm_payanc_pub wm_paydel_pub wm_paypnc_pub /// wm_payancUSD_pub wm_paydelUSD_pub wm_paypncUSD_pub /// wm_giftanc_pub wm_giftdel_pub wm_giftpnc_pub /// wm_giftancUSD_pub wm_giftdelUSD_pub wm_giftpncUSD_pub { reg `var' p4p if time==0 & wm_targeted==1, cluster(facility_id) tabstat `var' if time==0 & wm_targeted==1, by(p4p) stat(mean sd n) long col(stat) } ***Table 5: DID effects on costs/ gifts foreach var in wm_payanc_pub wm_paydel_pub wm_paypnc_pub /// wm_payancUSD_pub wm_paydelUSD_pub wm_paypncUSD_pub /// wm_giftanc_pub wm_giftdel_pub wm_giftpnc_pub /// wm_giftancUSD_pub wm_giftdelUSD_pub wm_giftpncUSD_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age qui eststo: xtreg `var' p4p_t time `cov' if wm_targeted==1, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress } ******___________WEB ANNEX TABLES_________***** *************************************** S2 File: Figure 1 (pre-trends) ***************************************************************** *__________Check for pre-trends [Household outcomes] -S2 File *__________From -HOUSEHOLD SURVEY use "Household_women.dta", clear * gen baseline months g month1=0 if wm_child_age_12!=. & time==0 // *Baseline: Jan- March,2012 replace month1=2 if wm_child_age_12==0 & time==0 //feb replace month1=2 if wm_child_age_12==1 & time==0 //feb replace month1=1 if wm_child_age_12==2 & time==0 //jan replace month1=12 if wm_child_age_12==3 & time==0 //dec replace month1=11 if wm_child_age_12==4 & time==0 replace month1=10 if wm_child_age_12==5 & time==0 replace month1=9 if wm_child_age_12==6 & time==0 replace month1=8 if wm_child_age_12==7 & time==0 replace month1=7 if wm_child_age_12==8 & time==0 replace month1=6 if wm_child_age_12==9 & time==0 replace month1=5 if wm_child_age_12==10 & time==0 replace month1=4 if wm_child_age_12==11 & time==0 replace month1=3 if wm_child_age_12==12 & time==0 replace month1=2 if wm_child_age_12==13 & time==0 g year1=2011 if wm_child_age_12!=. & time==0 //gen baseline years replace year1=2012 if wm_child_age_12==0 & time==0 replace year1=2012 if wm_child_age_12==1 & time==0 replace year1=2012 if wm_child_age_12==2 & time==0 gen birthdate1 = mdy(month1, 1, year1) //gen baseline birthdates * gen endline months g month2=0 if wm_child_age_12!=. & time==1 // *Endline: March -April,2013 replace month2=3 if wm_child_age_12==0 & time==1 //march replace month2=3 if wm_child_age_12==1 & time==1 //march replace month2=2 if wm_child_age_12==2 & time==1 //feb replace month2=1 if wm_child_age_12==3 & time==1 //jan replace month2=12 if wm_child_age_12==4 & time==1 //dec replace month2=11 if wm_child_age_12==5 & time==1 replace month2=10 if wm_child_age_12==6 & time==1 replace month2=9 if wm_child_age_12==7 & time==1 replace month2=8 if wm_child_age_12==8 & time==1 replace month2=7 if wm_child_age_12==9 & time==1 replace month2=6 if wm_child_age_12==10 & time==1 replace month2=5 if wm_child_age_12==11 & time==1 replace month2=4 if wm_child_age_12==12 & time==1 replace month2=3 if wm_child_age_12==13 & time==1 g year2=2012 if wm_child_age_12!=. & time==1 //gen endline years replace year2=2013 if wm_child_age_12==0 & time==1 replace year2=2013 if wm_child_age_12==1 & time==1 replace year2=2013 if wm_child_age_12==2 & time==1 replace year2=2013 if wm_child_age_12==3 & time==1 gen birthdate2 = mdy(month2, 1, year2) //gen endline birthdates *general birthdate g birthdate=birthdate1 replace birthdate=birthdate2 if birthdate==. & wm_child_age_12!=. format birthdate* %tdmonCCYY g p4p_trend=p4p*birthdate label var birthdate "Year and month of delivery" **__divergence in pre-trends foreach var in wm_fbd wm_csection wm_early_bf wm_paydel_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age eststo: xtreg `var' p4p_trend birthdate `cov' if wm_targeted==1 & time==0, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_trend) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) p(a3) r2 compress } ** Figure (S2 File): Robustness check on pre-trends for intrapartum care outcomes (for which we know month) ** preserve collapse wm_fbd wm_csection wm_early_bf wm_paydel_pub if wm_targeted==1 & time==0, by (birthdate p4p) graph drop _all twoway (line wm_fbd birthdate if p4p==1, legend(lab(1 "Intervention")) ysc(range(0 1)) ylabel(0(0.2)1)) /// (line wm_fbd birthdate if p4p==0, legend(lab(2 "Comparison")) lp(dash) name(a)) /// , ytitle(Facility based delivery, size(medsmall)) twoway (line wm_csection birthdate if p4p==1, legend(lab(1 "Intervention")) ysc(range(0 1)) ylabel(0(0.2)1)) /// (line wm_csection birthdate if p4p==0, legend(lab(2 "Comparison")) lp(dash) name(b)) /// , ytitle(Caesarian section, size(medsmall)) twoway (line wm_early_bf birthdate if p4p==1, legend(lab(1 "Intervention")) ysc(range(0 1)) ylabel(0(0.2)1)) /// (line wm_early_bf birthdate if p4p==0, legend(lab(2 "Comparison")) lp(dash) name(c)) /// , ytitle(Early breastfeeding, size(medsmall)) twoway (line wm_paydel_pub birthdate if p4p==1, legend(lab(1 "Intervention")) ysc(range(0 1)) ylabel(0(0.2)1)) /// (line wm_paydel_pub birthdate if p4p==0, legend(lab(2 "Comparison")) lp(dash) name(d)) /// , ytitle(Pay for delivery, size(medsmall)) gr combine a b c d restore *__________Check for pre-trends [Facility outcomes] *__________From -FACILITY SURVEY use "Facility_Module3.dta", clear * For every outcome calculate number of data points per facility foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { qui xtreg `var' p4p_tjuly11 mnth_2- mnth_36, fe i(facility_id) g ok=e(sample) egen sample_`var'=total(ok), by(facility_id) drop ok } * Deal with implausibly high values by generating sample limit at 99th centile for each outcome foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { centile `var', centile(99) scalar threshold = r(c_1) g `var'_99=(`var'=30 & `var'_99==1 & time_july11==0 , fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_month) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 sca(N_clust) compress } * Excluding hospitals foreach var in NDMONTH { eststo clear eststo: xtreg `var' p4p_month month if sample_`var'>=30 & `var'_99==1 & time_july11==0 & no_bed_sample==1 & Hospital!=1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_month) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 sca(N_clust) compress } * Dispensaries only foreach var in OPU5MONTH OPO5MONTH { eststo clear eststo: xtreg `var' p4p_month month if sample_`var'>=30 & `var'_99==1 & time_july11==0 & Disp==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_month) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 sca(N_clust) compress } *************************************** S3 File: Table A ***************************************************************** *__________From -FACILITY SURVEY *__________Effect of P4P on service utilization [S3 File -Table A] * use "Facility_Module3.dta", clear //from above ***S3 File, Table A: Effect on service utilization (facility survey) * Normal deliveries [inc. hospitals] foreach var in NDMONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1 & no_bed_sample==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } * Normal deliveries [exc. hospitals] foreach var in NDMONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1 & no_bed_sample==1 & Hospital!=1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } * Vaccination/ Family planning/ ANC foreach var in POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { eststo clear mean `var' if time_july11==0 & sample_`var'>=30 & `var'_99==1 qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } * Outpatient [O5 & U5] -all foreach var in OPO5MONTH OPU5MONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } * Outpatient [O5 & U5] -dispensary only foreach var in OPO5MONTH OPU5MONTH { eststo clear qui eststo: xtreg `var' p4p_tjuly11 mnth_2- mnth_36 if sample_`var'>=30 & `var'_99==1 & Disp==1, fe i(facility_id) cluster(facility_id) esttab , replace keep(p4p_tjuly11) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a1) ci(a1) r2 sca(N_clust) compress } *************************************** S4 File: Table A -D ***************************************************************** *__________From -FACILITY SURVEY *__________Baseline facility characteristics [S4 File: Table A + B] use "Facility_Module1.dta", clear *** S4 File, Table A: Facility x-tics baseline [all] foreach var in hf_manage3_1 hf_manage3_3 hf_manage3_2 hf_tot_clinician hf_tot_nurse /// hf_tot_paramed hf_bed hf_electric hf_water hf_24delivery { eststo clear tabstat `var' if time==0, by(p4p) stat(mean sd n) long col(stat) qui estpost ttest `var' if time==0, by(p4p) esttab ., wide b(a2) p(a3) star(* 0.10 ** 0.05 *** 0.01) nopar } *** S4 File, Table B: Facility x-tics baseline [OPU5 for dispensaries] foreach var in hf_manage3_1 hf_manage3_3 hf_manage3_2 hf_tot_clinician hf_tot_nurse /// hf_tot_paramed hf_bed hf_electric hf_water hf_24delivery { eststo clear tabstat `var' if time==0 & sample_opu5disp==1, by(p4p) stat(mean sd n) long col(stat) qui estpost ttest `var' if time==0 & sample_opu5disp==1, by(p4p) esttab ., wide b(a2) p(a3) star(* 0.10 ** 0.05 *** 0.01) nopar } *__________From -HOUSEHOLD SURVEY *__________Baseline women/household characteristics [S4 File: Table C] use "Household_women.dta", clear *** S4 File, Table C: Baseline Household x-tics across arms foreach var in wm_relig_1 wm_relig_2 wm_relig_3 wm_relig_4 wm_married wm_age wm_educ_1 wm_educ_2 wm_educ_3 wm_educ_4 /// wm_occ_1 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity wm_child_age_12 /// wm_insured hh_members hh_asset hh_educ_1 hh_educ_2 hh_educ_3 hh_educ_4 { reg `var' p4p if time==0 & wm_targeted==1, cluster(facility_id) tabstat `var' if time==0 & wm_targeted==1, by(p4p) stat(mean sd n) long col(stat) } *__________From -EXIT INTERVIEW *__________Baseline patients characteristics [S4 File: Table D] use "ExitInterview.dta", clear *** S4 File, Table D: Baseline characteristics [EXIT interview] foreach var in age INSURED no_school primary secondary above_secondary formal informal not_employed relig_1 relig_2 relig_3 relig_4 married /// childage gender_child hhsize pca primary_hh secondary_hh above_secondary_hh { reg `var' p4p if time==0 & eligible==1, cluster(facility_id) tabstat `var' if time==0 & eligible==1, by(p4p) stat(mean sd n) long col(stat) } *************************************** S5 File: Table S5 ************************************************************************ *__________From -HOUSEHOLD SURVEY *__________Equity effects of P4P [S5 Table] use "Household_women.dta", clear *** S5 File: Table: DID effects on EQUITY (With terciles) foreach var in wm_malaria_2doses wm_fbd wm_fbd_public OPV0 wm_kindnesshf wm_paydel_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset_1_1 hh_asset_1_2 wm_age qui eststo: xtreg `var' time p4p_t p4p_t_q11 p4p_t_q12 t_q11 t_q12 p4p_q11 p4p_q12 `cov' if wm_targeted==1, fe i(facility_id) cluster(facility_id) /* Covariates and fixed effects */ esttab , replace keep(p4p_t_q11 p4p_t_q12) nogap label star(* 0.10 ** 0.05 *** 0.01) b(a3) p(a3) r2 compress /// addnotes("(p4p_t_q11) is for poorest SES" "(p4p_t_q12) is for middle SES" "(Reference) is richest SES") } *************************************** S6 File: Table A-E ************************************************************************ *************************************** S6 File: BOOTSTRAP ************************************************************************ ** Adjusting for covariates ** Facility fixed effects ** District level clustering -BOOTSTRAP APPROACH [Cameron et al.(2008)] ** OLS regression ******___________*********************** ******___________ S6 FILE -TABLES A - E -BOOTSTRAP ******___________*********************** **BOOTSTRAP on sig vars only *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the USE of targeted services [S6 File, Table A] use "Household_women.dta", clear *** S6 File, Table A: DID effects on utilization foreach var in wm_malaria_2doses wm_fbd wm_fbd_public OPV0 wm_anc { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age xi: cgmwildboot `var' p4p_t p4p time `cov' i.facility_id if wm_targeted==1, cluster(district) bootcluster(district) reps(400) seed(10101) } *__________From -FACILITY SURVEY *__________Effect of P4P on the USE of non-targeted services [S6 File, Table B] use "Facility_Module3.dta", clear * For every outcome calculate number of data points per facility foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { xtreg `var' p4p_tjuly11 mnth_2- mnth_36, fe i(facility_id) g ok=e(sample) egen sample_`var'=total(ok), by(facility_id) drop ok } * Deal with implausibly high values by generating sample limit at 99th centile for each outcome foreach var in OPO5MONTH OPU5MONTH NDMONTH POLIOU1MONTH MEASLESU1MONTH DPTU1MONTH FPMONTH ANCMONTH ANC1MONTH { centile `var', centile(99) scalar threshold = r(c_1) g `var'_99=(`var'=30 & OPO5MONTH_99==1, cluster(district) bootcluster(district) reps(400) seed(10101) xi: cgmwildboot OPU5MONTH p4p p4p_tjuly11 mnth_2-mnth_36 i.facility_id if sample_OPU5MONTH>=30 & OPU5MONTH_99==1, cluster(district) bootcluster(district) reps(400) seed(10101) xi: cgmwildboot OPO5MONTH p4p p4p_tjuly11 mnth_2-mnth_36 i.facility_id if sample_OPO5MONTH>=30 & OPO5MONTH_99==1 & Disp==1, cluster(district) bootcluster(district) reps(400) seed(10101) xi: cgmwildboot OPU5MONTH p4p p4p_tjuly11 mnth_2-mnth_36 i.facility_id if sample_OPU5MONTH>=30 & OPU5MONTH_99==1 & Disp==1, cluster(district) bootcluster(district) reps(400) seed(10101) *__________From -HOUSEHOLD survey *__________Effect of P4P on the QUALITY OF CARE (QOC) [S6 File, Table C] use "Household_women.dta", clear *** S6 File, Table C: DID effects on QOC -Targeted foreach var in wm_kindnesshf { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age xi: cgmwildboot `var' p4p_t p4p time `cov' i.facility_id if wm_targeted==1, cluster(district) bootcluster(district) reps(400) seed(10101) } *__________From -EXIT interview *__________Effect of P4P on the QUALITY OF CARE (QOC) [S6 File, Table C] use "ExitInterview.dta", clear *** S6 File, Table C: DID effects on QOC -Non-targeted foreach var in staff_index { eststo clear local cov age INSURED hhsize no_school primary primary_hh secondary_hh formal formal_hh /// not_employed not_employed_hh relig_2 relig_3 relig_4 married gender married_hh pca brought_child gender_provider xi: cgmwildboot `var' p4p_t p4p time `cov' i.facility_id if eligible==1 & target3==0, cluster(district) bootcluster(district) reps(400) seed(10101) } *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the COST of services [S6 File, Table D] use "Household_women.dta", clear *** S6 File, Table D: DID effects on costs foreach var in wm_paydel_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age xi: cgmwildboot `var' p4p_t p4p time `cov' i.facility_id if wm_targeted==1, cluster(district) bootcluster(district) reps(400) seed(10101) } *__________From -HOUSEHOLD SURVEY *__________Equity effects of P4P [S6 File, Table E] use "Household_women.dta", clear *** S6 File, Table E: DID effects on EQUITY (With terciles) foreach var in wm_fbd wm_fbd_public wm_paydel_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset_1_1 hh_asset_1_2 wm_age xi: cgmwildboot `var' time p4p p4p_t p4p_t_q11 p4p_t_q12 t_q11 t_q12 p4p_q11 p4p_q12 `cov' i.facility_id if wm_targeted==1, cluster(district) bootcluster(district) reps(400) seed(10101) } *************************************** S7 File: Table A-C ****************************************************************************** *************************************** S7 File: LOGIT MODEL ****************************************************************************** ** Adjusting for covariates ** Facility fixed effects ** Facility level clustering ** LOGIT model -on binary outcomes [marginal effects] ******___________*********************** ******___________ S7 FILE -TABLES A -C -LOGIT MODEL ******___________*********************** *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the USE of targeted services [S7 File, Table A] use "Household_women.dta", clear *** S7 File, Table A: DID effects on utilization foreach var in wm_malaria_2doses wm_hivtreat wm_fbd wm_fbd_public OPV0 wm_pnc_7days wm_anc wm_anc4 wm_pnc_hf { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age i.facility_id qui eststo, ti("`var'"): logit `var' p4p_t p4p time `cov' if wm_ed==1, or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress /// addnotes("(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") } *** S7 File, Table A: DID effects on -MEASLES [9-11months] foreach var in wm_measles_vc { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age i.facility_id qui eststo, ti("`var'"): logit `var' p4p_t p4p time `cov' if wm_targeted==1 & wm_child_age_12>=9 & wm_child_age_12<=11, or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress /// addnotes("(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") } *** S7 File, Table A: DID effects on -DPT [6-11months] foreach var in wm_dpt_3_vc { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age i.facility_id qui eststo, ti("`var'"): logit `var' p4p_t p4p time `cov' if wm_targeted==1 & wm_child_age_12>=6 & wm_child_age_12<=11, or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress /// addnotes("(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") } *** S7 File, Table A: DID effects on -ANY FP METHOD [All women] foreach var in wm_fp_any { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age i.facility_id qui eststo, ti("`var'"): logit `var' p4p_t p4p time `cov', or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress /// addnotes("(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") } *__________From -HOUSEHOLD SURVEY *__________Effect of P4P on the COST of services [S7 File, Table B] use "Household_women.dta", clear *** S7 File, Table B: DID effects on costs/ gifts foreach var in wm_payanc_pub wm_paydel_pub wm_paypnc_pub /// wm_giftanc_pub wm_giftdel_pub wm_giftpnc_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset wm_age i.facility_id qui eststo, ti("`var'"): logit `var' p4p_t p4p time `cov' if wm_targeted==1, or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) ci(a3) r2 compress /// addnotes("(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") } *__________From -HOUSEHOLD SURVEY *__________Equity effects of P4P [S7 File, Table C] use "Household_women.dta", clear *** S7 File, Table C: DID effects on EQUITY (With terciles) foreach var in wm_malaria_2doses wm_fbd wm_fbd_public OPV0 wm_paydel_pub { eststo clear local cov wm_married wm_insured wm_relig_2 wm_relig_3 wm_relig_4 wm_educ_2 wm_educ_3 /// wm_educ_4 wm_occ_2 wm_occ_3 wm_occ_4 wm_occ_5 wm_parity_2 wm_parity_3 wm_parity_4 /// wm_parity_5 wm_parity_6 hh_educ_2 hh_educ_3 hh_educ_4 hh_members hh_asset_1_1 hh_asset_1_2 wm_age i.facility_id qui eststo, ti("`var'"): logit `var' time p4p_t p4p_t_q11 p4p_t_q12 t_q11 t_q12 p4p_q11 p4p_q12 `cov' if wm_targeted==1, or cluster(facility_id) /* Odd ratio */ qui eststo, ti("dy/dx"): margins, dydx(*) post /* Average marginal effects */ esttab , replace keep(p4p_t_q11 p4p_t_q12) nogap mtitles label star(* 0.10 ** 0.05 *** 0.01) b(a3) p(a3) r2 compress /// addnotes("(p4p_t_q11) is for poorest SES" "(p4p_t_q12) is for middle SES" "(Reference) is richest SES" "(Model 1) is for Odd Ratio" "(Model 2) is for Marginal effects") }