The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Service Provision Assessment (SPA) » Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 (2014-15 TSPA)
Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23294] Tue, 17 August 2021 12:07 Go to next message
shakim is currently offline  shakim
Messages: 10
Registered: January 2021
Member
Dear DHS Experts and SPA Users,
I am trying to replicate some variables of table 3.3 and table 3.7 from Tanzania SPA 2014-15 in Stata. My code is:
Table 3.3-
*Improved water source:
gen water=0
replace water=1 if q330==1 | q330==2 | q330==3 | q330==4 | q330==5 | q330==7 | q330==9 | q330==10 & q331==2

*Communication equipment
gen commu1=0
replace commu1=1 if q311==1 & q312==1

gen commu2=0
replace commu2=1 if q315==1 & q314==1

gen commun=0
replace commun=1 if commu1==1 | commu2==1

*Emergency transport
gen emergen_transport=0
replace emergen_transport=1 if (q450==1 & q453==1) | q453==1

Table 3.7-
*Liver or renal function test
gen q832 9=.
recode q832 (1=1) (2=0), gen (lrtest)
*X ray machine
gen xrmachine=0
replace xrmachine=1 if q881a_2==1 & q881b_2==1 & q881c_2==1

According to the questionnaire, it looks like I am looking the right variable, but for some reason I am not getting the percentages as of the table. Do I need to consider anything else? I would greatly appreciate any help on this matter.

Many thanks
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23300 is a reply to message #23294] Wed, 18 August 2021 11:13 Go to previous messageGo to next message
SaraDHS is currently offline  SaraDHS
Messages: 44
Registered: December 2020
Member
Hello Shakim,

Recreating the SPA tables can be a challenge, as the construction of variables can change from country to country. If you want to recreate the tables, first make sure you are using the facility weights.

gen wt=facwt/1000000

Your code for the specific items in the tables is close. I have checked the CSPro code that was used to create the tables originally, and recreated it below. These all match within 1%.

*WATER
gen water=0
replace water=1 if inlist(q330,1,2,10) | (inlist(q330,3, 4, 5, 7, 9) & inlist(q331, 1, 2))
tab water [iw=wt]

*COMMUNICATION EQUIPMENT
gen commu1=0
replace commu1=1 if q311==1 & q312==1

gen commu2=0
replace commu2=1 if q315==1 & q314==1

gen commu3=0
replace commu3=1 if q317==1 & q318==1

gen commu4=0
replace commu4=1 if q315a==1

gen commun=0
replace commun=1 if commu1==1 | commu2==1 | commu3==1 | commu4==1

tab commun [iw=wt]

*EMERGENCY TRANSPORT
gen emergen_transport=0
replace emergen_transport=1 if (q450==1 & q453==1) | q452==1
tab emergen_transport [iw=wt]

*LIVER OR RENAL FUNCTION TEST
gen lrt=0
replace lrt =1 if q834==1 & q835==1
tab lrt [iw=wt]

*XRAY MACHINE
gen xray=0
replace xray=1 if (q881a_1==1 & q881b_1==1) | (q881a_2==1 & q881b_2==1)
tab xray [iw=wt]


Best of luck with your work!

Sara


Sara Riese, PhD Senior Demographic and Health Researcher, DHS Program
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23315 is a reply to message #23300] Mon, 23 August 2021 00:21 Go to previous messageGo to next message
shakim is currently offline  shakim
Messages: 10
Registered: January 2021
Member
Dear Sara,

Thanks a lot for your kindest support and I was able to reproduce the tables with your help.
Now, I want create some variables from Nepal SPA 2015 using STATA. I have tried with the following codes-
gen wt=facwt/1000000
Table 3.3:
*Regular electricity
gen elec=0
replace elec=1 if q340==1 & q341==1
replace elec=1 if (q343a==1 | q343b==1) & q345==1 & q346==1
replace elec=1 if q343c==1
tab elec [iw=wt],m
Table 3.5.1:
*Soap and running water or else
alcohol-based hand disinfectant
gen swatrub=0
replace swatrub=1 if (q710_02==1 & q710_01==1) | q710_03==1
tab swatrub [iw=wt]
Table 3.7.3:
*Xray machine
gen xray=0
replace xr=1 if (q881a_2==1 & q881b_2==1)
tab xray [iw=wt]
*Full blood count
gen blood_count=0
replace blood_count=1 if q802a_1==1 & q802b_1==1 & q802c_1==1
tab blood_count [iw=wt]
*Liver or renal function test
gen lrt=0
replace lrt =1 if q834==1 & q835==1
tab lrt [iw=wt]

It looks like I am using the correct variables. Unfortunately, I am not getting the percentages as of the tables in Nepal 2015 report.
Please help me in recreating the above variables in STATA.

Regards,
Shakim
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23317 is a reply to message #23315] Mon, 23 August 2021 13:20 Go to previous messageGo to next message
SaraDHS is currently offline  SaraDHS
Messages: 44
Registered: December 2020
Member
Dear Shakim,
Below is the code to create these variables for Nepal. Please pay special attention to the titles and footnotes provided in these tables, as they provide descriptions for country-specific definitions of the variables. In most, but not all, of the cases, adapting the code to match the provided definition was all that needed to be done.

Best of luck,
Sara


*Regular electricity
gen elec=0
replace elec=1 if q340==1 & q341==1
replace elec=1 if regexm(q343, "A") & q345==1 & q346==1
replace elec=1 if regexm(q343, "B") & q345==1 & q346==1
replace elec=1 if regexm(q343, "C")
replace elec=1 if regexm(q343, "D") & q346b==1
tab elec [iw=wt],m


*Soap and running water or else alcohol-based hand disinfectant
gen swatrub=0
*In Nepal, methylated alcohol was included as an "alcohol-based hand disinfectant"
replace swatrub=1 if (q710_02==1 & q710_01==1) | q710_03==1 | q710_15==1
tab swatrub [iw=wt]


*In the title of Table 3.7.3, it states that this is among PHCCs and hospitals, so you need to limit each to only these types of facilities.

*Xray machine
gen xray=.
replace xray=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace xr=1 if xray==0 & ((q881b_1==1 & q881c_1==1) | (q881b_2==1 & q881c_2==1 & q881b_3==1 & q881c_3==1))
tab xray [iw=wt]

*Full blood count
gen blood_count=.
replace blood_count=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace blood_count=1 if blood_count==0 & ((q834==1 & q835==1) | (q802eb_1==1 & q802ec_1==1 & q802eb_2==1 & q802eb_3==1 & q802ec_3==1))
tab blood_count [iw=wt]

*Liver or renal function test
gen lrt=.
replace lrt=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace lrt =1 if lrt==0 & q833==1 & ((q834==1 & q835==1) |(q835c==1 & q835d==1))
tab lrt [iw=wt]


Sara Riese, PhD Senior Demographic and Health Researcher, DHS Program
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23328 is a reply to message #23317] Tue, 24 August 2021 14:28 Go to previous messageGo to next message
foysal is currently offline  foysal
Messages: 6
Registered: August 2021
Member
Dear Sara,

Thanks for your response and I was able to get the same % as tables except the variable- X ray machine, full blood count, liver or renal function test".

Here is the codes with the output.
gen wt=facwt/1000000
*Xray machine
gen xray=.
replace xray=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace xr=1 if xray==0 & ((q881b_1==1 & q881c_1==1) | (q881b_2==1 & q881c_2==1 & q881b_3==1 & q881c_3==1))
tab xray [iw=wt]


xray | Freq. Percent Cum.
------------+-----------------------------------
0 | 49.745353 37.16 37.16
1 | 84.1219059 62.84 100.00
------------+-----------------------------------
Total | 133.867259 100.00

In the report table the % is 63.0 (table 3.7.3).
*Full blood count
gen blood_count=.
replace blood_count=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace blood_count=1 if blood_count==0 & ((q834==1 & q835==1) | (q802eb_1==1 & q802ec_1==1 & q802eb_2==1 & q802eb_3==1 & q802ec_3==1))
tab blood_count [iw=wt]

blood_count | Freq. Percent Cum.
------------+-----------------------------------
0 | 35.4440796 26.48 26.48
1 | 98.4231793 73.52 100.00
------------+-----------------------------------
Total | 133.867259 100.00
In the final report table the % is 66.9 (table 3.7.3).
**Liver or renal function test
gen lrt=.
replace lrt=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace lrt =1 if lrt==0 & q833==1 & ((q834==1 & q835==1) |(q835c==1 & q835d==1))
tab lrt [iw=wt]

lt | Freq. Percent Cum.
------------+-----------------------------------
0 | 70.8263274 52.91 52.91
1 | 63.0409315 47.09 100.00
------------+-----------------------------------
Total | 133.867259 100.00

In the report the % is 46.5 (table 3.7.3).
How can I get the same % of this variables as the table?

Regards,
Shakim
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23329 is a reply to message #23328] Tue, 24 August 2021 14:34 Go to previous messageGo to next message
shakim is currently offline  shakim
Messages: 10
Registered: January 2021
Member
Dear Sara,

Thanks for your response and I was able to get the same % as tables except the variable- X ray machine, full blood count, liver or renal function test".

Here is the codes with the output.
gen wt=facwt/1000000
*Xray machine
gen xray=.
replace xray=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace xr=1 if xray==0 & ((q881b_1==1 & q881c_1==1) | (q881b_2==1 & q881c_2==1 & q881b_3==1 & q881c_3==1))
tab xray [iw=wt]


xray | Freq. Percent Cum.
------------+-----------------------------------
0 | 49.745353 37.16 37.16
1 | 84.1219059 62.84 100.00
------------+-----------------------------------
Total | 133.867259 100.00

In the report table the % is 63.0 (table 3.7.3).
*Full blood count
gen blood_count=.
replace blood_count=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace blood_count=1 if blood_count==0 & ((q834==1 & q835==1) | (q802eb_1==1 & q802ec_1==1 & q802eb_2==1 & q802eb_3==1 & q802ec_3==1))
tab blood_count [iw=wt]

blood_count | Freq. Percent Cum.
------------+-----------------------------------
0 | 35.4440796 26.48 26.48
1 | 98.4231793 73.52 100.00
------------+-----------------------------------
Total | 133.867259 100.00
In the final report table the % is 66.9 (table 3.7.3).
**Liver or renal function test
gen lrt=.
replace lrt=0 if inrange(factype,1,7) | inrange(factype,12,14)
replace lrt =1 if lrt==0 & q833==1 & ((q834==1 & q835==1) |(q835c==1 & q835d==1))
tab lrt [iw=wt]

lt | Freq. Percent Cum.
------------+-----------------------------------
0 | 70.8263274 52.91 52.91
1 | 63.0409315 47.09 100.00
------------+-----------------------------------
Total | 133.867259 100.00

In the report the % is 46.5 (table 3.7.3).
How can I get the same % of this variables as the table?

Regards,
Shakim
Re: Replicating table 3.3 and 3.7 in Tanzania SPA 2014-15 [message #23344 is a reply to message #23329] Wed, 25 August 2021 14:20 Go to previous message
SaraDHS is currently offline  SaraDHS
Messages: 44
Registered: December 2020
Member
Dear Shakim and Foysal,
Please see my response to another user, who interestingly is looking at the exact same variables as you.

https:// userforum.dhsprogram.com/index.php?t=msg&th=11193&st art=0#msg_num_3

Best,
Sara


Sara Riese, PhD Senior Demographic and Health Researcher, DHS Program

[Updated on: Thu, 26 August 2021 10:27] by Moderator

Report message to a moderator

Previous Topic: Replicating table in DR Congo SPA 2017-18
Next Topic: Creating some variables
Goto Forum:
  


Current Time: Fri Apr 26 10:17:20 Coordinated Universal Time 2024