The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Countries » Bangladesh » Slight Deviation from Reported Value: BDHS 2014 place of delivery and assistance during delivery
Re: Slight Deviation from Reported Value: BDHS 2014 place of delivery and assistance during delivery [message #15685 is a reply to message #15684] Thu, 30 August 2018 04:02 Go to previous messageGo to previous message
Mlue
Messages: 92
Registered: February 2017
Location: North West
Senior Member
Hello Mahmudul,

The issue is the Stata datafile. It does not have the category for missing "99", hence it seems impossible to get these results. The SAS datafile also does not have category 99 for variable "m15".
You may request the DHS Program to check this issue. While you wait for this to be resolved, you can try the following options:

1. Download the SPSS version (if you have access to SPSS) and save the data as Stata from this software package.
2. Download and use the ASCII file in Stata
3. Download the SPSS file, and try the code below. It will work ONLY if your PC is 32-bit
4. DO NOTHING, and wait for the DHS team to resolve the issue.

/*

	DOWNLOAD "SPSS" VERSION OF THE DATASET AND USE IT
	BECAUSE THE Stata VERSION DOES NOT HAVE CATEGORY "99"

*/

ssc install usespss // will work on a 32-bit system

clear all
set matsize 800
set mem 1g
set maxvar 9000
cd "..." // PATH
usespss "BDKR72FL.SAV", clear // SPSS VERSION OF THE DATASET. usespss will work only on 32-bit system
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)

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

rename V013 age
rename V106 education
rename V190 wealth
rename V025 residence
rename V024 region

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

*keep if V238 >=1 & V238 <=3 // births in the last THREE years

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

** DELIVERY CARE = Place of delivery
cap drop delivery_place
recode M15 (20/29=1 "Public sector") (30/39=2 "Private sector") ///
(40/41=3 "NGO") (46=4 "Birthing hut") (10/19=5 "Home") ///
(96/99=6 "Other/missing"), gen(delivery_place)
*tab delivery_place [iw=weight]
*svy: tab delivery_place, count format(%4.0f)
*svy: tab delivery_place, percent format(%4.1f)

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

** FACILITY DELIVERY
cap drop facility_deliveries
recode delivery_place (1/3=1 "Facility births") (4/6=0 "Non-facility"), gen(facility_deliveries)
label var facility_deliveries "Facility-based deliveries"
label val facility_deliveries facility_deliveries
*tab facility_deliveries [iw=weight], m
*svy: tab facility_deliveries, count format(%4.0f)
*svy: tab facility_deliveries, percent format(%4.1f)

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

** SKILLED BIRTH ATTENDANT

cap drop skilled_birth
gen skilled_birth=0
replace skilled_birth = 1 if M3A==1 | M3B==1 | M3C==1 | M3D==1
replace skilled_birth = 0 if M3A==0 & M3B==0 & M3C==0 & M3D==0
label define skilled_birth 0"Unskilled" 1"Skilled"
label var skilled_birth "Birth delivered by skilled birth attendant"
label val skilled_birth skilled_birth
*tab skilled_birth [iw=weight], m
*svy: tab skilled_birth, percent format(%4.1f)
*svy: tab wealth skilled_birth, percent format(%4.1f) row

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

** ANTENATAL CARE
cap drop antental_visits
recode M14 (0=0 "None") (1/3=1 "1-3") (4/20=2 "4+") (else=9 "Other/missing"), gen(antental_visits)
label var antental_visits "Antenatal visits"
label val antental_visits antental_visits

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

** C-SECTION
cap drop c_section
recode M17 (1=1 "C-section") (else=0 "Not C-section"), gen(c_section)
label var c_section "Births delivered by a C-section"
label val c_section c_section

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

/*
cap drop skilled_births
gen skilled_births	=	0
label define skilled_births 0"Unskilled" 1"Skilled"
label var skilled_births "Birth delivered by skilled birth attendant"
label val skilled_births skilled_births

** SKILLED BIRTH ATTENDANTS RECODE

foreach xvar of varlist M3A M3B M3C M3D {
replace skilled_births=1 if `xvar'==1
}
*
tab skilled_births [iw=weight], m
svy: tab wealth skilled_births, percent format(%4.1f) row
*/

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

keep if delivery_place !=.

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

** CHECK
tab delivery_place [iw=weight], m
tab facility_deliveries [iw=weight], m
tab skilled_birth [iw=weight], m
tab c_section [iw=weight], m


svy: tab delivery_place, count format(%4.0f)
svy: tab facility_deliveries, count format(%4.0f)
svy: tab skilled_birth, count format(%4.0f)
svy: tab c_section, count format(%4.0f)


svy: tab delivery_place, percent format(%4.1f)
svy: tab facility_deliveries, percent format(%4.1f)
svy: tab skilled_birth, percent format(%4.1f)
svy: tab c_section, percent format(%4.1f)

exit

svy: tab wealth delivery_place, percent format(%4.1f) row
svy: tab wealth facility_deliveries, percent format(%4.1f) row
svy: tab wealth skilled_birth, percent format(%4.1f) row
svy: tab wealth c_section, percent format(%4.1f) row

 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Values don't match with reported values/Antenatal care by medically trained professionals
Next Topic: To perform anova for count data in stata with survey weight
Goto Forum:
  


Current Time: Sat Apr 27 17:51:36 Coordinated Universal Time 2024