| Reproducing Kenya 2014 DHS immunisation coverage data [message #11077] | 
			Mon, 24 October 2016 19:32  | 
		 
		
			
				
				
				
					
						  
						soniwe
						 Messages: 7 Registered: October 2016  Location: Auckland
						
					 | 
					Member  | 
					 | 
		 
		 
	 | 
 
	
		Hello, 
 
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. 
 
Thanks, 
 
Sonia 
 
 
 
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
		
		
		
 |  
	| 
		
	 | 
 
 
 |