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 )
Re: Children immunisation [message #15971 is a reply to message #15962] Fri, 12 October 2018 08:18 Go to previous messageGo to previous 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

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Immunization [Vaccination in First Year of Life]
Next Topic: Merging Household file to children file
Goto Forum:
  


Current Time: Sun Dec 22 12:23:33 Coordinated Universal Time 2024