The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » Reproducing Kenya 2014 DHS immunisation coverage data
Reproducing Kenya 2014 DHS immunisation coverage data [message #11077] Mon, 24 October 2016 19:32
soniwe is currently offline  soniwe
Messages: 7
Registered: October 2016
Location: Auckland

I am doing some analysis looking at immunisation coverage equity, and before looking at coverage in population sub-groups I am trying to reproduce the immunisation coverage estimates reported in the Kenya 2014 DHS. I have two main questions:

1. The KR ad BR data files contain the variables spn1 spn2 spn3 srv1 srv2 and syf for pneumococcal, rotavirus and yellow fever vaccines, and these questions are included in the questionnaires. Data for pneumococcal vaccination coverage is included in DHS tables (e.g Table 10.3), but the datasets I downloaded have no data in them, all values are missing. Does anyone know why these data are not included in the download datasets?

2. I have managed to reproduce coverage estimates for BCG, DPT and measles, using the code below, but the estimates for polio are a little bit out. There is a footnote to Table 10.3 that mentions adjusting for "a likely misinterpretation of polio 0 and polio 1; for children whose mothers reported that they received three doses of DPT-HepB-Hib and polio 0, polio 1, and polio 2, it was assumed that polio 0 was in fact polio 1, polio 1 was polio 2 and polio 2 was polio 3." Does anyone know how this was done? I haven't been able to reproduce the figures in the table for children aged 12-23 months.



generate weight = v005/1000000
svyset [pweight=weight], psu(v021) strata(v023)

*Sub-population - children aged 12-23 months
recode b8 (0 2/4 = 0 "Not aged 12-23 months") (1=1 "Aged 12-23 months"), generate(c_age1yr)

*bcg dpt1 polio1 dpt2 polio2 dpt3 polio3 mcv polio0
foreach var of varlist h2 h3 h4 h5 h6 h7 h8 h9 h0 {
generate bin`var' = `var'
recode bin`var' (2=1) (3=1) (8=0) (9=0) (.=0) if b5==1 /*Codes as 1 if reported received with or without seeing health card or date*/

foreach var of varlist binh2 binh3 binh4 binh5 binh6 binh7 binh8 binh9 binh0 {
label value `var' yesno

rename binh2 bcg
label variable bcg "Received BCG"
rename binh3 dpt1
label variable dpt1 "Received DPT1"
rename binh4 polio1
label variable polio1 "Received Polio 1"
rename binh5 dpt2
label variable dpt2 "Received DPT2"
rename binh6 polio2
label variable polio2 "Received Polio 2"
rename binh7 dpt3
label variable dpt3 "Received DPT3"
rename binh8 polio3
label variable polio3 "Received Polio 3"
rename binh9 mcv
label variable mcv "Received measles vaccine"
rename binh0 polio0
label variable polio0 "Received Polio 0"

*Adjust for likely misinterpretation of polio0 and polio1*
egen dptnum = rowtotal(dpt1 dpt2 dpt3), missing /*Coded as missing if all observations are missing*/
egen polionum = rowtotal(polio0 polio1 polio2 polio3), missing /*Coded as missing if all observations are missing*/
recode polio3 (0=1) if dptnum==3 & polio0==1 & polio1==1 & polio2==1
recode polio0 (1=0) if dptnum==3 & polionum==3 & polio0==1 & polio1==1 & polio2==1

*Adjust DPT according to number of doses received
recode dpt1 (0=1) if dptnum>0
recode dpt2 (1=0) if dptnum<2
recode dpt2 (0=1) if dptnum>1
recode dpt3 (1=0) if dptnum<3

*Adjust polio according to number of doses received
recode polio1 (0=1) if polionum>1
recode polio2 (0=1) if polionum>2
recode polio2 (1=0) if polionum<2
recode polio3 (1=0) if polionum<3

svy, subpop(c_age1yr): tab polio0, percent
Previous Topic: Timeliness of measles vaccination
Next Topic: Mothers Education on children's health
Goto Forum:

Current Time: Fri Jan 15 19:00:09 Coordinated Universal Time 2021