The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Unmet Need » Matching unmet need for family planning in India_2019/21 (Matching unmet need for family planning rate calculated from 2019/21 DHS survey data with that in the report of India)
Matching unmet need for family planning in India_2019/21 [message #24816] Fri, 15 July 2022 08:47 Go to next message
mahfuz.ru.pops@gmail.com is currently offline  mahfuz.ru.pops@gmail.com
Messages: 12
Registered: July 2022
Member
I have used following SPSS code to calculate the rate of total unmet need for family planning from the 2019/21 survey data of India. But my result does not match with that published in the report. The report shows that the rate of total unmet need is 9.4%. Bu my one is different. Can anyone please give me the SPSS code to find the rate that will match with the value published in the report. Thanks in advance

*Finding the women who were currently married or sexually active

COMPUTE marr_active=0.
IF v502 = 1 marr_active=1.
IF (v502 ~= 1 & v528 <= 30) marr_active=1.
VARIABLE LABELS marr_active 'Currently married or sexually active (had sex within last 30 days)'.
VALUE LABELS marr_active 1 'Yes' 0 'No'.
EXECUTE.

*Computing and applying weights
compute wgt=v005/1000000.
weight by wgt.

*I calculated the no. of women who had unmet need for spacing and limiting from the following frequencies

FREQUENCIES VARIABLES=V626A
/ORDER=ANALYSIS.

*I calculated the no. of women who had unmet need for spacing and limiting from the following frequencies

FREQUENCIES VARIABLES=marr_active
/ORDER=ANALYSIS.

* Calculation of the percentage of had unmet need for family planning
I divided the weighted no. of women had unmet need (derived by adding all had unmet need for limiting and spacing) calculated from readily available V626A (=1 & 2) by the weighted no. of currently married or sexually active women (marr_active=1).
Re: Matching unmet need for family planning in India_2019/21 [message #24821 is a reply to message #24816] Sat, 16 July 2022 02:44 Go to previous messageGo to next message
mahfuz.ru.pops@gmail.com is currently offline  mahfuz.ru.pops@gmail.com
Messages: 12
Registered: July 2022
Member
I've been able to solve this problem with the help of previous codes shared in this forum. Thanks everybody.
India 2021 v626a unmet not matching published numbers [message #24835 is a reply to message #24816] Mon, 18 July 2022 12:32 Go to previous messageGo to next message
DHSuser_NY is currently offline  DHSuser_NY
Messages: 7
Registered: November 2019
Member
Hi,

Using the usual source variable(v626a) for unmet need yields < 1% of married women for the India 2021 survey. Based on Mahfuz' message below it needs to be reconstructed. Can anyone share Stata code for the India 2021 unmet need construction?

Thanks much
Re: India 2021 v626a unmet not matching published numbers [message #24840 is a reply to message #24835] Tue, 19 July 2022 04:06 Go to previous messageGo to next message
mahfuz.ru.pops@gmail.com is currently offline  mahfuz.ru.pops@gmail.com
Messages: 12
Registered: July 2022
Member
Following could be the correct code of Stata:

g unmet=.
**Set unmet need to NA for unmarried women if survey only included ever-married women or only collected necessary data for married women
replace unmet=98 if v502!=1 & (v020==1 | substr(v000,3,1)=="2" | v000=="IA4" )

** CONTRACEPTIVE USERS - GROUP 1
* using to limit if wants no more, sterilized, or declared infecund
recode unmet .=4 if v312!=0 & (v605>=5 & v605<=7)
* using to space - all other contraceptive users
recode unmet .=3 if v312!=0

**PREGNANT or POSTPARTUM AMENORRHEIC (PPA) WOMEN - GROUP 2
* Determine who should be in Group 2
* generate time since last birth
g tsinceb=v222
* generate time since last period in months from v215
g tsincep=int((v215-100)/30) if v215>=100 & v215<=190
replace tsincep = int((v215-200)/4.3) if v215>=200 & v215<=290
replace tsincep = (v215-300) if v215>=300 & v215<=390
replace tsincep =(v215-400)*12 if v215>=400 & v215<=490
* initialize pregnant or postpartum amenorrheic (PPA) women
g pregPPA=1 if v213==1 | m6_1==96
* For women with missing data or "period not returned" on date of last menstrual period, use information from time since last period
* if last period is before last birth in last 5 years
replace pregPPA=1 if (m6_1==. | m6_1==99 | m6_1==97) & tsincep>tsinceb & tsinceb<60 & tsincep!=. & tsinceb!=.
* or if said "before last birth" to time since last period in the last 5 years
replace pregPPA=1 if (m6_1==. | m6_1==99 | m6_1==97) & v215==995 & tsinceb<60 & tsinceb!=.
* select only women who are pregnant or PPA for <24 months
g pregPPA24=1 if v213==1 | (pregPPA==1 & tsinceb<24)

* Classify based on wantedness of current pregnancy/last birth
* current pregnancy
g wantedlast = v225
* last birth
replace wantedlast = m10_1 if (wantedlast==. | wantedlast==9) & v213!=1
* no unmet need if wanted current pregnancy/last birth then/at that time
recode unmet .=7 if pregPPA24==1 & wantedlast==1
* unmet need for spacing if wanted current pregnancy/last birth later
recode unmet .=1 if pregPPA24==1 & wantedlast==2
* unmet need for limiting if wanted current pregnancy/last birth not at all
recode unmet .=2 if pregPPA24==1 & wantedlast==3
* missing=missing
recode unmet .=99 if pregPPA24==1 & (wantedlast==. | wantedlast==9)

**NO NEED FOR UNMARRIED WOMEN WHO ARE NOT SEXUALLY ACTIVE
* determine if sexually active in last 30 days
g sexact=1 if v528>=0 & v528<=30
* older surveys used code 95 for sex in the last 4 weeks
recode sexact .=1 if v528==95
* if unmarried and not sexually active in last 30 days, assume no need
recode unmet .=97 if v502!=1 & sexact!=1

**DETERMINE FECUNDITY - GROUP 3 (Boxes refer to Figure 2 flowchart in report)
**Box 1 - applicable only to currently married
* married 5+ years ago, no children in past 5 years, never used contraception, excluding pregnant and PPA <24 months
g infec=1 if v502==1 & v512>=5 & v512!=. & (tsinceb>59 | tsinceb==.) & v302a==0 & pregPPA24!=1
cap replace infec=1 if v502==1 & v512>=5 & v512!=. & (tsinceb>59 | tsinceb==.) & v302a==0 & pregPPA24!=1 & (substr(v000,3,1)=="6" | substr(v000,3,1)=="7")
* declared infecund on future desires for children
replace infec=1 if v605==7
**Box 3
* menopausal/hysterectomy on reason not using contraception
cap replace infec=1 if v3a08d==1 & (substr(v000,3,1)=="4" | substr(v000,3,1)=="5" | substr(v000,3,1)=="6" | substr(v000,3,1)=="7")
**Box 4
* Time since last period is >=6 months and not PPA
replace infec=1 if tsincep>=6 & tsincep!=. & pregPPA!=1
**Box 5
* menopausal/hysterectomy on time since last period
replace infec=1 if v215==994
* hysterectomy has different code for some surveys
replace infec=1 if v215==993
* never menstruated on time since last period, unless had a birth in the last 5 years
replace infec=1 if v215==996 & (tsinceb>59 | tsinceb==.)
**Box 6
*time since last birth>= 60 months and last period was before last birth
replace infec=1 if v215==995 & tsinceb>=60 & tsinceb!=.
* Never had a birth, but last period reported as before last birth - assume code should have been 994 or 996
replace infec=1 if v215==995 & tsinceb==.
* exclude pregnant and PP amenorrheic < 24 months
replace infec=. if pregPPA24==1
recode unmet .=9 if infec==1

**FECUND WOMEN - GROUP 4
* wants within 2 years
recode unmet .=7 if v605==1
* wants in 2+ years, wants undecided timing, or unsure if wants
recode v605 .=4 if v000=="IA4"
recode unmet .=1 if v605>=2 & v605<=4
* wants no more
recode unmet .=2 if v605==5
recode unmet .=99

la def unmet ///
1 "unmet need for spacing" ///
2 "unmet need for limiting" ///
3 "using for spacing" ///
4 "using for limiting" ///
7 "no unmet need" ///
9 "infecund or menopausal" ///
97 "not sexually active" ///
98 "unmarried - EM sample or no data" ///
99 "missing"
la val unmet unmet


recode unmet (1/2=1 "unmet need") (else=0 "no unmet need"), g(unmettot)
* generate sampling weight
g wgt=v005/1000000
* tabulate for currently married women
ta unmet if v502==1 [iw=wgt], m
ta unmettot if v502==1 [iw=wgt]
* all women
ta unmet [iw=wgt]
ta unmettot [iw=wgt]
* sexually active unmarried
ta unmet if v502!=1 & sexact==1 [iw=wgt]
ta unmettot if v502!=1 & sexact==1 [iw=wgt]

ta v626 if v502==1 [iw=wgt], m

Re: India 2021 v626a unmet not matching published numbers [message #24883 is a reply to message #24840] Tue, 26 July 2022 18:09 Go to previous messageGo to next message
Trevor-DHS is currently offline  Trevor-DHS
Messages: 776
Registered: January 2013
Senior Member
The recode file has been corrected to resolve the error here and using the IAIR7B?? files (not IAIR7A??) you should now be able to match the estimates in the report.
Re: India 2021 v626a unmet not matching published numbers [message #24913 is a reply to message #24883] Mon, 01 August 2022 14:43 Go to previous message
DHSuser_NY is currently offline  DHSuser_NY
Messages: 7
Registered: November 2019
Member
Thanks for this Trevor. Indeed I needed to download the corrected dataset.

Suzette
Previous Topic: Unmet need
Next Topic: District level estimation
Goto Forum:
  


Current Time: Fri Jan 27 22:03:11 Coordinated Universal Time 2023