The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » Penta or DPT (Penta or DPT)
Re: Penta or DPT [message #25038 is a reply to message #24873] Mon, 22 August 2022 13:58 Go to previous message
Bridgette-DHS is currently offline  Bridgette-DHS
Messages: 3199
Registered: February 2013
Senior Member
Following is a response from DHS Senior Analysis & Research Manager, Shireen Assaf:

Most of your code is correct, however for multi-dose vaccines there is an additional step that is needed. You can read about this in our Guide to DHS Statistics here: https://www.dhsprogram.com/Data/Guide-to-DHS-Statistics/inde x.htm#t=Vaccination.htm%23Percentage_of_children9bc-1&rh tocid=_13_1_0

I provided Stata code below, but you can easily see the logic and covert this to SPSS code for your use. The code below matches the final report for the first dose of Penta or DPT but for the second and third dose it is off by 0.2 and 0.3 percentage points, respectively. I could not resolve this difference but it's a very small difference. Also, before running the code below, I used the KR file and dropped children that are not in the 12-23 age group and kept only live children using keep b5==1 .

I also want to point you to our DHS Code Share library on GitHub which produces all DHS indicators listed in the final report. We have the DPT vaccine in this code but the indicators you are trying to match which combines two multi-dose vaccines are not a standard indicators. The code in our library can be used to match standard DHS indicators listed in the Guide to DHS Statistics:
https://github.com/DHSProgram

Stata code:
* DPT vaccine
recode h3 (1 2 3=1) (else=0), gen(dpt1)
recode h5 (1 2 3=1) (else=0), gen(dpt2)
recode h7 (1 2 3=1) (else=0), gen(dpt3)
gen dptsum= dpt1+dpt2+dpt3

*extra step for multi-dose vaccines
gen ch_dpt1_either=dptsum>=1
gen ch_dpt2_either=dptsum>=2
gen ch_dpt3_either=dptsum>=3

* Penta vaccine
recode h51 (1 2 3=1) (else=0) , gen(dpt1p)
recode h52 (1 2 3=1) (else=0) , gen(dpt2p)
recode h53 (1 2 3=1) (else=0) , gen(dpt3p)
gen dptsump= dpt1p+dpt2p+dpt3p

*extra step for multi-dose vaccines
gen ch_pent1_either=dptsump>=1
gen ch_pent2_either=dptsump>=2
gen ch_pent3_either=dptsump>=3

*combining the dpt and penta vaccines
gen zxdpt1=0
gen zxdpt2=0
gen zxdpt3=0
replace  zxdpt1=1 if (ch_dpt1_either==1 | ch_pent1_either==1) 
replace  zxdpt2=1 if (ch_dpt2_either==1 | ch_pent2_either==1) 
replace  zxdpt3=1 if (ch_dpt3_either==1 | ch_pent3_either==1) 
gen dptpentsum= zxdpt1+zxdpt2+zxdpt3

*extra step for multi-dose vaccines
gen ch_dptpent1=dptpentsum>=1
gen ch_dptpent2=dptpentsum>=2
gen ch_dptpent3=dptpentsum>=3

*tabulating to match the final report
gen wt=v005/1000000

tab ch_dptpent1 [iw=wt]
tab ch_dptpent2 [iw=wt]
tab ch_dptpent3 [iw=wt]
 
Read Message
Read Message
Previous Topic: Birth Month
Next Topic: Child mortality variables
Goto Forum:
  


Current Time: Sat Nov 30 00:59:42 Coordinated Universal Time 2024