The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » Children immunisation (Complete immunisation by the age of 1 )
Children immunisation [message #15962] Thu, 11 October 2018 07:34 Go to next message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
I am working on complete immunisation of children under 1 year old. I am using Cambodia DHS 2014.

I am currently using KHBR73FL birth recode.dta. Am I analysing it correctly?

I cannot produce the same result as shown in table 14.2 and 14.3 in section 2 of Child Health Report page 153 and 154.

The result of receiving all basic vaccines by the age of 1 from all sources of information are different in table 14.2 is different 14.3.

Re: Children immunisation [message #15971 is a reply to message #15962] Fri, 12 October 2018 08:18 Go to previous messageGo to next message
Mlue
Messages: 92
Registered: February 2017
Location: North West
Senior Member
Hi T.T. Ponlok,

I am only able to fully replicate Table 14.3 Vaccinations by background characteristics

See code below.

Good luck

/*
	Cambodia: Standard DHS, 2014
	BIRTHS RECODE
*/

clear all
set matsize 800
set mem 1g
set maxvar 9000
cd "..."
use "KHBR73FL", clear
set more off

********************************************************************************

** WEIGHT VARIABLE
gen weight = v005/1000000

********************************************************************************

** SURVEY SET
gen psu =    v021
gen strata = v023
svyset psu [pw = weight], strata(strata) vce(linearized)
*svydes

********************************************************************************

// RENAME

rename v013 age
rename v106 education
rename v190 wealth
rename v025 residence
rename v024 region
rename sdist district

////////////////////////////////////////////////////////////////////////////////

** Child_age = 12-23 months old
gen months = v008 - b3
keep if b5 == 1 & months >= 12 & months <=23

gen child_age = months
replace child_age = 1 if b5 == 1 & months >= 12 & months <=13
replace child_age = 2 if b5 == 1 & months >= 14 & months <=15
replace child_age = 3 if b5 == 1 & months >= 16 & months <=17
replace child_age = 4 if b5 == 1 & months >= 18 & months <=19
replace child_age = 5 if b5 == 1 & months >= 20 & months <=21
replace child_age = 6 if b5 == 1 & months >= 22 & months <=23
label define child_age 1"12-13" 2"14-15" 3"16-17" 4"18-19" 5"20-21" 6"22-23"
label var child_age "Child age in months"
label val child_age child_age

svy: tab months, count format(%4.0f) miss
svy: tab child_age, count format(%4.0f) miss

** Recode of vaccination variables

gen	BCG		=	inrange(h2,1,3)

gen Polio0	=	inrange(h0,1,3)

gen DPT		=	inrange(h3,1,3)+inrange(h5,1,3)+inrange(h7,1,3)

gen Polio	=	inrange(h4,1,3)+inrange(h6,1,3)+inrange(h8,1,3)

**gen pv		=	inrange(pv1,1,3)+inrange(pv2,1,3)+inrange(pv3,1,3)

gen ms		=	inrange(h9,1,3)

********************************************************************************

forvalues x = 1/3 {
gen Polio`x'	=	(Polio>=`x')
gen DPT`x'		=	(DPT>=`x')
/*gen Penta`c'	=	(pv>=`x')*/
}
**

** ========================================================================== **
** DEPENDENT VARIABLE
gen vaccination	=	(BCG==1 & Polio==3 & DPT==3 & ms==1) 
label var vaccination "Received all vaccinations"
label define vaccination 0"No" 1"Yes"
label values vaccination vaccination

recode h1 (1=1 "Has card") (else=0 " No card"), gen(vaccine_card)
label var vaccine_card "Vaccination card seen"
label values vaccine_card vaccine_card

*==============================================================================*
** DROP IF NOT WITHIN SAMPLE
keep if vaccination !=.

*==============================================================================*

** CHECK
svy: tab vaccination, count percent format(%4.1f) col
svy: tab vaccination, count format(%4.0f)
svy: tab vaccination, percent format(%4.1f)

********************************************************************************
********************************************************************************

* Mother's age at birth
cap drop agebirth
gen agebirth=(b3-v011)/12
*tab agebirth

cap drop age_at_birth
recode agebirth (min/19.91667=1 "<20") (20/34.91667=2 "20-34") ///
(35/max=3 "35-49"), gen(age_at_birth)
label var age_at_birth "Mother's age at birth"
label val age_at_birth age_at_birth

*****************************************
* Birth order
gen birth_order1		= 	bord
replace birth_order1	=	bord-1 if b0 == 2
replace birth_order1	=	bord-2 if b0 == 3

recode birth_order1 (1=1 "1") (2/3=2 "2-3") (4/5=3 "4-5") ///
(6/20=4 "6+"), gen(birth_order)
label var birth_order "Birth order"
label values birth_order birth_order

*****************************************
*****************************************

********************************************************************************

svy: tab wealth vaccination, percent format(%4.1f) miss row
svy: tab age_at_birth vaccination, percent format(%4.1f) miss row
svy: tab education vaccination, percent format(%4.1f) miss row
svy: tab residence vaccination, percent format(%4.1f) miss row
svy: tab region vaccination, percent format(%4.1f) miss row
svy: tab birth_order vaccination, percent format(%4.1f) miss row

************
************

svy: tab wealth vaccine_card, percent format(%4.1f) miss row
svy: tab age_at_birth vaccine_card, percent format(%4.1f) miss row
svy: tab education vaccine_card, percent format(%4.1f) miss row
svy: tab residence vaccine_card, percent format(%4.1f) miss row
svy: tab region vaccine_card, percent format(%4.1f) miss row
svy: tab birth_order vaccine_card, percent format(%4.1f) miss row

********************************************************************************

exit

tabstat months [aw=weight], by(b4) stat(mean median sd min max) format(%4.1f) long

tabstat months [aw=weight], by(vaccination) stat(mean median sd min max) format(%4.1f) long
tabstat months [aw=weight], by(vaccine_card) stat(mean median sd min max) format(%4.1f) long

Re: Children immunisation [message #15974 is a reply to message #15971] Sat, 13 October 2018 00:04 Go to previous messageGo to next message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
Dear Mlue

I still cannot figure out why result complete all basic vaccines from all sources in table 14.2 (65.3%) is different from table 14.3 (73.4%).
Re: Children immunisation [message #15975 is a reply to message #15974] Sat, 13 October 2018 07:06 Go to previous messageGo to next message
Mlue
Messages: 92
Registered: February 2017
Location: North West
Senior Member
I do not know
Re: Children immunisation [message #15977 is a reply to message #15975] Sat, 13 October 2018 22:01 Go to previous messageGo to next message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
Do you know who I can contact further?
Re: Children immunisation [message #16000 is a reply to message #15977] Wed, 17 October 2018 18:02 Go to previous messageGo to next message
Trevor-DHS is currently offline  Trevor-DHS
Messages: 805
Registered: January 2013
Senior Member
If you look at table 14.2, All basic from either source is 73.4, just as in table 14.3. The figure of 65.3 in table 14.2 is for vaccinations given in the first year life (by age 12 months), not all vaccinations given irrespective of time.

The calculation of vaccinations given in the first year of life is quite complicated. See the updated Guide to DHS Statistics and find Child Health, Vaccination. For vaccinations given by age 12 months, you are interested in indicator 4 (Percentage of children age 12-23 months who received specific vaccines by appropriate age) and in particular the Calculation section.
Re: Children immunisation [message #16004 is a reply to message #16000] Thu, 18 October 2018 22:45 Go to previous messageGo to next message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
Thanks a lot. But I cannot produce the same result as shown in table 14.2
Re: Children immunisation [message #16005 is a reply to message #16004] Fri, 19 October 2018 09:46 Go to previous messageGo to next message
Trevor-DHS is currently offline  Trevor-DHS
Messages: 805
Registered: January 2013
Senior Member
Please share your code and we will try to point you in the right direction.
Re: Children immunisation [message #16038 is a reply to message #16005] Wed, 24 October 2018 22:07 Go to previous messageGo to next message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
Dear Trevor

I cannot calculate vaccination coverage by appropriate age (complete all basic vaccines by the age of 12 months) for children aged 12 to 23 months old.

I am using code given to me by Mr/Ms Mlue.
Re: Children immunisation [message #16044 is a reply to message #16038] Thu, 25 October 2018 09:56 Go to previous messageGo to next message
Trevor-DHS is currently offline  Trevor-DHS
Messages: 805
Registered: January 2013
Senior Member
The code given by Mlue does not calculate vaccinations by appropriate age. It only calculates vaccinations given by any age. We do not have code in Stata for calculating vaccinations by appropriate age, but the Guide to DHS Statistics provides a detailed description of how to calculate vaccinations by appropriate age.
Re: Children immunisation [message #16332 is a reply to message #16044] Fri, 14 December 2018 02:55 Go to previous message
T.T. Ponlok is currently offline  T.T. Ponlok
Messages: 6
Registered: October 2018
Location: Phnom Penh, Cambodia
Member
Thank you very much. Without your help I cannot progress at all
Previous Topic: Immunization [Vaccination in First Year of Life]
Next Topic: Merging Household file to children file
Goto Forum:
  


Current Time: Sun Dec 22 17:06:46 Coordinated Universal Time 2024