Maternal Mortality [message #8552] |
Fri, 13 November 2015 00:12 |
stellacs
Messages: 5 Registered: November 2015 Location: Australia
|
Member |
|
|
Hi There,
I am trying to replicate the DHS numbers for maternal mortality rate in Indonesia for 2012. I am following the instructions given in the http://dhsprogram.com/pubs/pdf/DHSG1/Guide_to_DHS_Statistics _29Oct2012_DHSG1.pdf However, I am not able to get the same number of maternal deaths by age groups. To calculate the age groups I am using the sister's age at death, while to calculate the period of death I am using the difference between the date of death and date of interview, truncating it to a difference of 60 (given the dates CMC format). Although the total is similar, it should be the same and the age groups distribution as well differs greatly.
| DHS | My calculation
15-19 | 4 | 7
20-24 | 12 | 10
25-29 | 20 | 18
30-34 | 17 | 17
35-39 | 18 | 21
40-44 | 14 | 13
45-49 | 7 | 7
Total | 92 | 93
Is there any rescaling or weight factor I need to use? Is the death period correctly specified?
Thanks for any help.
Stella C
|
|
|
Re: Maternal Mortality [message #8599 is a reply to message #8552] |
Thu, 19 November 2015 21:27 |
Reduced-For(u)m
Messages: 292 Registered: March 2013
|
Senior Member |
|
|
Bump.
Also, did you use any of the survey weights? I'm not sure whether that is advised here or not.
Could you post a bit of the .do file you used here so that maybe the DHS staff can take a look?
|
|
|
|
|
Re: Maternal Mortality [message #8786 is a reply to message #8599] |
Thu, 17 December 2015 21:36 |
stellacs
Messages: 5 Registered: November 2015 Location: Australia
|
Member |
|
|
Hi there, thanks for your answer. Yes once I included the weights I got the same results as in the report. Likewise, for the exposure years. This is the program I used
After reshaping
gen year_5=1 if v008-mm8_<=60
label var year_5 "deaths in the last 5 years"
gen preg_death=1 if mm9_==2 | mm9_==3 | mm9_==6
replace preg_death=0 if mm9_==1
label var preg_death "Death during pregnancy or childbearing"
gen age_range= trunc((mm8_-mm4_)/60)
replace age_range=age_range-2
gen mat_dead=1 if (age_range>=1 & age_range<=7) & preg_death==1 & year_5==1
replace mat_dead=0 if (age_range>=1 & age_range<=7) & (preg_death==0) & mm1_==2
replace mat_dead=0 if mm2_==1 & mm1_==2 & (mm3_>=15 & mm3_<=54)
tab age_range mat_dead if mm1_==2
sum v005
scalar k=r(mean)
tab age_range mat_dead if mm1_==2 [iw=v005/k]
Now I want to calculate the confidence interval. What formula shall I use? Or is there any reference you can point out? I found Hanley, J. A., Hagen, C. A., & Shiferaw, T. (1996). However, this paper is for the direct method.
Thanks for your help.
Stella C
|
|
|
Re: Maternal Mortality [message #8802 is a reply to message #8786] |
Sun, 20 December 2015 17:55 |
stellacs
Messages: 5 Registered: November 2015 Location: Australia
|
Member |
|
|
I have an extra question. I am now trying to reproduce the calculations of maternal mortality in Indonesia for 2007. Using the same code, that give me the same numbers as the report in 2012, I get very different results. This after adjusting some changes in the coding of some variables like mm9_.
Is it possible that the method for calculating maternal mortality changed from 2007 to 2012?
I also noticed the sample is smaller and that the proportion of respondents 15-19 is very small compared to other age ranges. Also, when compared to 2012 is less evenly distributed. Could this having an impact in the results I am finding? Was there an extra adjustment on the weights in 2007?
Thank you for your help!
Stella C
|
|
|
|
Re: Maternal Mortality [message #8851 is a reply to message #8552] |
Sun, 03 January 2016 16:14 |
Trevor-DHS
Messages: 803 Registered: January 2013
|
Senior Member |
|
|
Below I'm giving my code for calculating the numerators and denominators for the maternal mortality rates (not the ratios) for All women samples. This code usually matches the counts given in the reports exactly, however, for Indonesia 2012 the denominators do not match exactly, although the differences are small - I think this is probably because the maternal mortality modules dates and ages were re-imputed since the tabulations for the report were produced. The program below defaults to a 7 year period, but to produce estimates for a five year period, just change the local variable for the period to be 60 (5 years) instead of 84 (7 years):
* Adult and maternal mortality counts - Trevor Croft - April 25, 2015
* This version applied to Indonesia DHS 2012 - Jan 3, 2016
cd "C:\Data\DHS_Stata"
use "IDIR63FL.DTA", clear
* keep only the variables needed
keep caseid v001 v002 v003 v005 v008 v011 v012 v013 awfactt mm* mmc*
* Rename all of the repeating variables to drop the leading 0 to help with reshaping
rename mm*_0* mm*_*
* Reshape the file into a sibling history file
* This will be slow to run and could take several minutes or more.
reshape long mmidx_ mm1_ mm2_ mm3_ mm4_ mm5_ mm6_ mm7_ mm8_ mm9_ mm10_ mm11_ mm12_ mm13_ mm14_ mm15_, i(caseid) j(mmindex)
* Rename to drop the trailing underscore on the end of the reshaped variables
rename mm*_ mm*
* Drop empty entries
drop if mmidx==.
* Check total sisters and brothers - compare total from table 15.1
tab mm1
* Drop siblings without sex or survival status
drop if (mm1 == 8 | mm1 == 9 | mm2 == 8 | mm2 == 9 | mm1 == . | mm2 == .)
* Check counts of sisters and brothers by survival status - compare with living siblings and dead siblings from table 15.1
tab mm2 mm1
* Period to use
* 7 years (84 months) before interview or 5 years (60 months)
local period 60
* Calculate deaths and exposure for each age group. Each woman can contribute to up to 3 different age groups in the past 7 years.
* Calculate upper and lower limits in CMC for inclusion for time period. Exclude month of interview.
gen upplim = v008-1
* replace upper limit with CMC date of death for siblings that died
replace upplim = mm8 if mm2 == 0
* lower limit - 7 years (84 months) before interview or 5 years (60 months)
gen lowlim = v008-`period'
* Total exposure in the time period
gen exposure = upplim-lowlim+1
replace exposure = 0 if exposure < 0
* Oldest age group
gen agegrp1 = int((upplim-mm4)/60)
* Calculate exposure in this age group
gen expo1 = min(exposure,upplim - (mm4 + agegrp1*60) + 1)
* Calculate deaths
gen deaths1 = (mm2==0 & expo1 > 0)
* Calculate remaining exposure time
replace exposure = exposure - expo1
* Middle age group
gen agegrp2 = agegrp1 - 1
* Calculate exposure in this age group
gen expo2 = min(60,exposure)
* Set deaths to 0 - all deaths are in the oldest age group
gen deaths2 = 0
* Calculate remaining exposure time
replace exposure = exposure - expo2
* Youngest age group
gen agegrp3 = agegrp2 - 1
* Calculate exposure in this age group
gen expo3 = min(60,exposure)
* Set deaths to 0 - all deaths are in the oldest age group
gen deaths3 = 0
* Reshape so that there are separate records for each age group with exposure and eaths in those age groups
reshape long agegrp expo deaths, i(caseid mmindex) j(j)
* Only keep the deaths and exposure in age groups 3 (15-19) through 9 (45-49)
keep if agegrp >= 3 & agegrp <= 9
label define agegrp 3 "15-19" 4 "20-24" 5 "25-29" 6 "30-34" 7 "35-39" 8 "40-44" 9 " 45-49"
label values agegrp agegrp
* Sample weight
gen wt = v005/1000000
* Deaths from table 15.3
tab agegrp mm1 [iw=deaths*wt ]
* Exposure from table 15.3 (expo is in months, division by 12 to give years)
tab agegrp mm1 [iw=expo*wt/12]
* Deaths from table 15.4 - restict to maternal deaths
tab agegrp [iw=deaths*wt ] if mm1 == 2 & mm9 >= 2 & mm9 <= 6
* Exposure from table 15.4 (expo is in months, division by 12 to give years) - restrict to women only
tab agegrp [iw=expo*wt/12] if mm1 == 2
The problem you are having is probably that the 2012 Indonesia survey was an All Women sample while the 2007 Indonesia survey was an Ever-Married Women sample. When analyzing ever-married women samples you need to make assumptions about the never-married women. For example in fertility analysis in surveys using ever-married women samples we assume that never-married women had no children. For maternal mortality where we analyze siblings of respondents we would have to make assumptions about the age and survival status of siblings of never-married women. There are two obvious choices we could make: 1) The simplest - just analyse the siblings of the ever-married women (which is presumably what you have tried), 2) Assume that the distribution of the ages and survival statuses of the siblings of never-married women is the same as that for the ever-married women of the same age, and just apply the all women factors to the siblings data. Unfortunately neither of these assumptions is very good. The first is probably biased as it is excluding siblings of never-married women and never-married women tend to be younger, thus the siblings are biased toward older ages. The second is probably biased as it assumes that ages and survival status of the siblings of never-married women of a certain age is the same as that of ever-married women of the same age, and it seems unlikely that this is true, e.g. less educated women women may marry younger, may have more siblings, and more of them may die at younger ages.
To use the second option using the all women factors, you can just multiply the weight by the all women factor. In other words, replace:
with
gen wt = (v005/1000000)*(awfactt/100)
I tried to reproduce the maternal mortality tables in the report with the second option and I come close to what is shown in the report. When I looked further at our archives I found a re-run version of the tables which I am able to match with the current dataset. I checked for an explanation and do not find one, but it appears that the maternal mortality in the dataset or the maternal mortality tabulation program were modified and the tables in the report do not match what is produced with the current version of the dataset.
|
|
|
Re: Maternal Mortality [message #8853 is a reply to message #8851] |
Sun, 03 January 2016 23:31 |
stellacs
Messages: 5 Registered: November 2015 Location: Australia
|
Member |
|
|
Hi Trevor,
Thanks a lot for your reply and your help. All is very clear now. Once I use the awfactt weight I obtain the exact same results as the report in 2007. Also, using the IDIR62FL.DTA I get the exact same results for 2012. Although the reports seem to have different reference periods, both were calculated using a 5 years period.
Stella C
|
|
|
Re: Maternal Mortality [message #8854 is a reply to message #8851] |
Sun, 03 January 2016 23:32 |
stellacs
Messages: 5 Registered: November 2015 Location: Australia
|
Member |
|
|
Hi Trevor,
Thanks a lot for your reply and your help. All is very clear now. Once I use the awfactt weight I obtain the exact same results as the report in 2007. Also, using the IDIR62FL.DTA I get the exact same results for 2012. Although the reports seem to have different reference periods, both were calculated using a 5 years period.
Stella C
|
|
|
|
|
|
|
|
|
|
|
|
Re: Maternal Mortality [message #10274 is a reply to message #8552] |
Mon, 18 July 2016 05:23 |
|
Hi,
I am using IDHS in 2012 to calculate the maternal mortality rate in Indonesia. I've changed the file from wide to long data. However, the number of maternal deaths that I got is 372 while in the Indonesia Demographic Health Survey is 92 (Table 15.4). How could be it different?
thanks
Resty Armis
|
|
|
|
|
|
|
|
|
|
Re: Maternal Mortality [message #11298 is a reply to message #11291] |
Wed, 30 November 2016 09:11 |
Opeyemi
Messages: 6 Registered: November 2016 Location: Nigeria
|
Member |
|
|
Thank you so much for the codes again. It has really helped my analysis. I would like to confirm though, the total maternal death (md) generated for the period of interest summed up to 104. Is that right? How is the 398 from the NHS 2008 report calculated?
[Updated on: Wed, 30 November 2016 09:12] Report message to a moderator
|
|
|
|
Re: Maternal Mortality [message #11410 is a reply to message #8552] |
Thu, 15 December 2016 08:04 |
|
Hi,
I have a question again. I am using IDHS in 2012 to calculate the maternal mortality rate in Indonesia. I've changed the women data set into sibling's record, but I want to know which one is the respondent and which one is the siblings in the long dataset. After reshaping, however, only the respondent has the unique number and as I reshaped the data into long format, the respondent shared the same id number with her siblings. And I want to know how many the respondents have 1, 2, or more siblings?, does each sibling also have unique id number to differ them from the respondent?. I've read about the egen command in many literature, but I need the unique number of the siblings.
many thanks
Resty Armis
[Updated on: Thu, 15 December 2016 08:47] Report message to a moderator
|
|
|
|
|
Re: Maternal Mortality [message #11674 is a reply to message #11639] |
Wed, 25 January 2017 13:37 |
|
Hi again,
I found no guide on how to calculate confidence interval in MMR in Guide to DHS statistics. However, I've read the other papers using sisterhood method as well as the IDHS 2012.
It is said that Jackknife repeated replication method is used for variance estimation of more complex statistics such as fertility and mortality rates.
How can I calculate the Standard Error in Maternal Mortality Ratio using the Jackknife repeated replication method?
I hope anyone can help me since I didn't find the guide to calculate in Stata.
best regard,
Resty
Resty Armis
[Updated on: Thu, 26 January 2017 11:45] Report message to a moderator
|
|
|
|
|
|
|
|
|
|