The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » Penta or DPT (Penta or DPT)
Penta or DPT [message #24873] Sun, 24 July 2022 06:50 Go to next message
kclakhara is currently offline  kclakhara
Messages: 26
Registered: June 2016
Location: New Delhi
Dear Sir/Madam,

Please help to get reported figures of "Penta or DPT" in the table 9.4 NFHS-5, India.

My computation is (SPSS):
***********DPT 1, 2, 3 either source******************
recode h3 (1,2,3=1) (else=0) into dpt1.
recode h5 (1,2,3=1) (else=0) into dpt2.
recode h7 (1,2,3=1) (else=0) into dpt3.
compute dptsum= dpt1+dpt2+dpt3.
fre dptsum.

recode h51 (1,2,3=1) (else=0) into dpt1p.
recode h52 (1,2,3=1) (else=0) into dpt2p.
recode h53 (1,2,3=1) (else=0) into dpt3p.
compute dptsump= dpt1p+dpt2p+dpt3p.
fre dptsump.

comp zxdpt1=0.
comp zxdpt2=0.
comp zxdpt3=0.
if (dpt1=1 or dpt1p=1) zxdpt1=1.
if (dpt2=1 or dpt2p=1) zxdpt2=1.
if (dpt3=1 or dpt3p=1) zxdpt3=1.
compute dptsumpp=zxdpt1+zxdpt2+zxdpt3.
fre dptsumpp.



Kailash Chandra Lakhara
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: 3036
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: 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:

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]
Previous Topic: Birth Month
Next Topic: Child mortality variables
Goto Forum:

Current Time: Mon Apr 22 08:18:54 Coordinated Universal Time 2024