| 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: 808 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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: Maternal Mortality [message #19765 is a reply to message #19764] |
Wed, 12 August 2020 11:03   |
Trevor-DHS
Messages: 808 Registered: January 2013
|
Senior Member |
|
|
Hi Placid
First I should note that DHS no longer calls this the maternal mortality ratio, but rather the pregnancy-related mortality ratio. In newer surveys we calculate both the pregnancy-related mortality ratio, and an updated calculation of the maternal mortality ratio. Please see the Guide to DHS Statistics chapter 16 for more information about the calculation of both the pregnancy-related mortality ratio and the maternal mortality ratio. In particular, the calculation of the numerator differs between the two:
Numerators:
1) Pregnancy-related mortality: Number of female siblings of respondents who died during pregnancy, delivery or within two months of delivery (mm1 = 2 & mm2 = 0 & mm9 in 2:6) in the period 0-6 years prior to the interview by five-year age group at time of death (this is what you have currently)
2) Maternal mortality: Number of female siblings of respondents who died during pregnancy, delivery or within 42 days of delivery (mm1 = 2 & mm2 = 0 & mm9 in 2:6 & mm12 in 100:141,198,199), excluding due to accidents or violence (mm16 ≠1 & mm16 ≠2), in the period 0-6 years prior to the interview by five-year age group at time of death.
Older surveys do not include variables mm12 and mm16 and it is only possible to calculate the pregnancy-related mortality ratio.
For more information on the difference between pregnancy-related mortality and maternal mortality, see the Youtube video
To answer your questions, you get the unweighted numbers by using the same commands, but without the sample weight (wt), as follows:
* Deaths from table 15.4 - restrict to pregnancy-related deaths
tab agegrp [iw=deaths] 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/12] if mm1 == 2
For the pregnancy-related (or the maternal) mortality ratio, this is presented per 100,000 live births, so in the example here, the 357 means 357 women per 100,000 live births. So actually a relatively small (but important) number.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: MMR & PRMRatio (pregnancy related mortality ratio) [message #20458 is a reply to message #20455] |
Thu, 05 November 2020 10:48   |
Trevor-DHS
Messages: 808 Registered: January 2013
|
Senior Member |
|
|
Hi Placid
AM_gfr.do appears to run ok because all it is doing is defining up the 'program's that are being called by AM_rates.do. When AM_rates.do is running it calls the programs that are defined in AM_gfr.do, and it is n the code defined in AM_gfr.do that the error appears. The message about using the old merge syntax is not important - it is using older syntax, but that part still works properly, as you can see by the tab _merge output that follows. We need to find the actual command that it is failing on, which is buried in the code.
Line 1346 is main_adult_mm_mortality, which calls several other programs, and it is in these programs, many of which are in AM_gfr.do that the problem occurs. For example, you can see in your output that temp1.dta is saved. This happens in line 330 of AM_gfr.do. After this the programs setup_GFR, make_exposure_and_births, and calc_rates are run. Setup_gfr is fairly simple and seems to have run. I think the issue is in the make_exposure_and_births program. Can you try commenting out the recast command on line 202? I think it is possible that the recast command does not exist in your version of Stata, and it also looks like it is not needed. Please send me your output after trying this. Good luck.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: MMR & PRMRatio (pregnancy related mortality ratio) [message #20478 is a reply to message #20471] |
Mon, 09 November 2020 07:41   |
Bridgette-DHS
Messages: 3230 Registered: February 2013
|
Senior Member |
|
|
Following is a response from DHS Research & Data Analysis Director, Tom Pullum:
The "micro.dta" file has one record for each sibling in the sibling histories. It's analogous to the BR file, which has one record for each child in the birth histories. It's built into the program mainly for data quality checking and simple tabulations. If you want to use it for data analysis, you need to take into account that there tends to be some rounding (and probably displacement) in ages of siblings, years since death, and age at death (for those who died). There may be some omission, especially for siblings who were much older than the respondent and died when young. And characteristics of the respondent, such as level of education and use of health services, cannot safely be attributed to the sibling. These are the reasons why DHS doesn't recommend estimating adult and maternal mortality for earlier time periods and subpopulations. Even so, you may find the file useful. You can add the respondent's IR variables onto micro.dta using v001 v002 v003 and a normal merge command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Re: Maternal Mortality [message #25164 is a reply to message #25163] |
Thu, 08 September 2022 11:21  |
Bridgette-DHS
Messages: 3230 Registered: February 2013
|
Senior Member |
|
|
Following is a response from DHS staff member, Tom Pullum:
All of the demographic rates in DHS reports and on STATcompiler--fertility, under-5 mortality, adult and maternal mortality--are calculated for aggregates of women, or children, or siblings, and for exposure + events that occur in an interval of time, such as the last 3 years or the last 5 years or the last 7 years. There are some differences but basically they are based on a pooling of exposure or risk, and events, for an aggregate. The calculations can be repeated within aggregates or subpopulations such as the wealth quintiles, but cannot control for other potential covariates unless you go down to smaller and smaller subpopulations.
The GitHub programs to calculate the rates do include logit or poisson regressions with no covariates but basically as a shortcut to calculate proportions or means and to get standard errors.
If you want to do multivariate (multivariable?) analysis with controls, interactions, etc., you need to shift to a statistical framework that gives results in terms of coefficients rather than rates. You can do logit regressions that adjust for exposure, e.g. with hazard models, or poisson regressions, etc., depending on the outcome. Bridging demographic and statistical approaches is a methodological challenge.
|
|
|
|