The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Mortality » Yearly Under-Five-Mortality Rate (Ghana, 1980-1990)
Yearly Under-Five-Mortality Rate (Ghana, 1980-1990) [message #3655] Fri, 23 January 2015 06:10 Go to next message
user_ha is currently offline  user_ha
Messages: 4
Registered: January 2015
Member
Hello everybody,

For an ongoing research project, I try to estimate the yearly Under-Five-Mortality Rate (U5MR) and the Infant Mortality Rate for Ghana between 1980 - 1990 based on the Demographic and Health Survey of 1988. As recommended by the DHS and the World Bank Institute, I utilize the ltable command in STATA. However, I do not obtain the same (yearly) estimates reported by the STATcompiler or by the Child Mortality Estimates reported by UNICEF for the DHS 1988 in Ghana. Based on the example in the World Bank Institute's report "Analyzing Health Equity Using Household Survey Data", my Stata code to estimate the U5MR & Infant Mortality in the year 1983 (as one example) looks as follows:

* Load Birth Recode, DHS 1988, Ghana
clear
use "GHBR02FL"

* Individual Age in Dec 1983 / CMC Dec 1983: 996
gen age_ref=(996-b3)
replace age_ref=. if age_ref<0

* Surviving time (in years)
gen timeyears=.
replace timemonths=age_ref
replace timemonths=b7 if b5==0
gen dead=(b5==0)

* ltbale command
ltable timemonths dead if age_ref<=60, int(0,12,24,36,48,60) saving("ltable_t.dta", replace)

* Use ltable data
use "ltable_t.dta", clear

* Infant Mortality Rate and U5MR
gen infant_mortality=failure*1000 if t1==12
gen child_mortality=failure*1000 if t1==60
drop if child_mortality==. & infant_mortality==.

Based on this code, my estimates are not accurate. I think that my setting of the individual age for this year (i.e. the CMC for December 1883) as well as the specifications in the ltbale command itself ("if age_ref<=60" / "int(0,12,24,36,48,60)") leave quite some room for variation. I tried different "combiantions" of all these settings, however, never even came close to the reported estaimtes in the DHS STATcomplier and the CME Info by UNICEF. Does anyone has experience with calculating child mortality rates for particular years based on DHS Birth Recodes? Or can anyone tell me what I'm doing wrong? I am very grateful for any help, comments or recommendation. I have also familiarized myself with the procedures as stated in the Guide to DHS Statistics (pp 90-94), which could not really help me with this specific problem.

Thank you very much in advance!
Re: Yearly Under-Five-Mortality Rate (Ghana, 1980-1990) [message #3669 is a reply to message #3655] Sat, 24 January 2015 17:24 Go to previous messageGo to next message
Reduced-For(u)m
Messages: 292
Registered: March 2013
Senior Member


You at least would need to weight these, I think. Maybe try:

ltable time months dead [pw=weight] if age_ref<=60 ...

where "weight" is constructed using the appropriate weighting variable for the birth recode.
Re: Yearly Under-Five-Mortality Rate (Ghana, 1980-1990) [message #3704 is a reply to message #3669] Thu, 29 January 2015 09:44 Go to previous messageGo to next message
user_ha is currently offline  user_ha
Messages: 4
Registered: January 2015
Member
Thanks for the reply!
The ltable command doesn't allow for the pweight option, only for the fweight option. But I don't really see how this should make sense in my context as the fweight simply indicates the number of dublicated observations. What do you think? Thanks in advance!
Re: Yearly Under-Five-Mortality Rate (Ghana, 1980-1990) [message #3765 is a reply to message #3655] Fri, 06 February 2015 11:18 Go to previous message
Trevor-DHS is currently offline  Trevor-DHS
Messages: 805
Registered: January 2013
Senior Member
A quick response on the weights issue. For the Ghana 1988 survey, the survey is self-weighted and the weight is 1 so you don't need to worry about weights.
for other surveys, though, a way around the problem is to use v005 directly as the frequency weight without dividing by 1000000, and then just remember that all numerators and denominators are 1000000 times too big. It is not a great solution, but it does allow you to use the weights.

For your code defining timemonths, there are a couple of problems in your code:
1) Your gen command creates timeyears, not timemonths
2) When you set timemonths for children who have died your code would be ok if you were using the date of interview as the end point, but you are trying to refer to December 1983 and your are not taking that into account when setting timemonths for children who have died. Some of these children may have been born after December 1983, and some may have been born 20 years before.

In the ltable command, the if condition is limiting the life table to all children born in the five years preceding December 1983 (actually this should be <60, not <= 60), plus all children born at any time who died in their first five years. This however does not work to produce the period estimates that DHS reports. Please look at the Guide to DHS Statistics, page 93, and the diagram shown there. What you have is effectively the pieces marked B and C, but you are missing the piece marked A which are children born more than 5 years ago, but who were alive and under five (an d who may have died under age 5) in the five year period of interest. You can see this as the denominator in your life table is much smaller for the age group 48-60, where as the denominators in each age group should be of roughly the same magnitude in the period life table as DHS uses them. I'm looking at how you can resolve this with ltable, but currently I don't have an answer.

Previous Topic: Calculating mortality rates
Next Topic: Indonesia neonatal mortality 2002/2007
Goto Forum:
  


Current Time: Sun Dec 29 14:15:42 Coordinated Universal Time 2024