The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » child immunization
child immunization Thu, 05 May 2022 15:46
 adis Messages: 20Registered: May 2022 Member
We are trying to analyze the child immunization to explore the determinants of Pentavalent and Measles dropout using Ethiopian 2019 mini DHS. We have used b19 (current age of child in months) and the target age group is from 12 to 23 months.The total number we got and the number in the report somehow differ. Would you please help us manage the problem?

How can we make the drop out rate calculation in stata?

we just tried in the following way

********for Penta and Measles dropout*****Dependent variable********

gen DPT_1 = inrange(h3,1,3)

gen DPT_2 = inrange(h5,1,3)

gen DPT_3 = inrange(h7,1,3)

gen DPT_dropout= DPT_1-DPT_3

gen ms_dropout = DPT_1-ms

gen Penta_drop_rate= (DPT_1-DPT_3/DPT_1)*100

gen ms_drop_rate= (DPT_1-ms/DPT_1)*100

************dropout is a binary variable for both Pentavalent and Measles

we have also come up with different number of children in the individual record and the child re-code data set. Even though the target group is children; we thought that it was the women who was interviewed. so please would you mind if you make this things clear?

since we will use few variables from individual re-code and some other from child re-code; how do we merge this two data sets. or is that possible to use child re-code data set for all maternal characteristics?

[Updated on: Sat, 07 May 2022 05:06]

Report message to a moderator

Re: child immunization [message #24402 is a reply to message #24386] Tue, 10 May 2022 10:22
 Janet-DHS Messages: 720Registered: April 2022 Senior Member
Following is response from DHS Research & Data Analysis Director, Tom Pullum:

All the numbers in DHS reports are weighted by v005. Are you using weights? If you cannot match a number in a report, please tell us which number in which table in which report.

I have not worked with a DPT dropout variable before but I assume your DPT_dropout variable should would be calculated as follows:

gen DPT_dropout=0 if inrange(h3,1,3)==1
replace DPT_dropout=1 if DPT_dropout==0 & inrange(h,1,3)==0

I don't know what your "ms" variable is (it must be related to h9) but the logic would be the same. The dropout variable should be a binary variable that is conditional on having received DPT1, and it is NA (a dot in Stata) if the child did not receive DPT1. That is, it is NA if the did not receive DPT1, 0 if it received DPT1 but not DPT3, and 1 if it received DPT1 AND DPT3. That's what the two Stata lines would construct.

The woman is interviewed. In the KR file there is one record for each child born in the past five years. The file includes children who have died. The child's record includes most of the mother's variables, and there is hardly ever a reason to merge the KR and IR files.
Re: child immunization [message #24470 is a reply to message #24402] Thu, 19 May 2022 09:48
 adis Messages: 20Registered: May 2022 Member
Thank you for the support

following the Mini EDHS report given figure 8.1 childhood vaccination

we did analysis and we failed to complement with the result given in this section(figure 8.1 ; page 76) with its narratives

how this could be handled

second question

Regarding the Pentavalent and Measles dropout

Pentavalen dropout can be calculated using the difference between (DPT1-DPT3) and dropout rate (DPT1-DPT3/DPT1*100)

Measles dropout can also be calculated using the difference between (DPT1-Measles1) and dropout rate (DPT1-Measles/DPT1*100)

we generated dropout var and we did as per the above formula on stata

for the rest of the vaccination the result reported and our analysis result differ. This also includes the drop out which we generated using the following stata command

gen penta_drop= (DPT1-DPT3)
gen penta_droprate=( DPT1-DPT3)/DPT1*100

gen Measles_drop= (DPT1-Measles)
gen Measles_droprate=( DPT1-Measles)/DPT1*100

our result didn't complement with the finding reported under childhood vaccination
figure 8.1

the following is copied from the report for clearity

*****Coverage rates decline for subsequent doses of these vaccines, with 61% of children age 12-23 months
receiving the recommended three doses of DPT-HepB-Hib vaccine and 60% receiving all three doses of
the polio vaccine. There is a 15 percentage-point dropout rate within this age group from the first to the
third dose of the DPT-HepB-Hib vaccine and an 18 percentage-point dropout rate from the first to the third
dose of the polio vaccine.

thank you
Re: child immunization [message #24479 is a reply to message #24470] Fri, 20 May 2022 15:45
 Janet-DHS Messages: 720Registered: April 2022 Senior Member
Following is response from DHS Research & Data Analysis Director, Tom Pullum:

You seem to have ignored the earlier response. A difference such as "DPT1-DPT3" is not part of the calculation of a dropout rate.

Figure 8.1 is based on table 8.1, on page 80 of the final report. That table does not include dropout rates. Please tell us a specific number in table 8.1 that you are unable to match.
Re: child immunization [message #24482 is a reply to message #24479] Fri, 20 May 2022 16:49
 adis Messages: 20Registered: May 2022 Member
Ok; thank you again Janet

The drop out report was actually described below the bar graph (figure 8.1).

Re: child immunization [message #24515 is a reply to message #24482] Wed, 25 May 2022 11:53
 Janet-DHS Messages: 720Registered: April 2022 Senior Member
Following is response from DHS Research & Data Analysis Director, Tom Pullum:

I thought you were asking about something in the individual-level data files, and misinterpreted your question. Looking at figure 8.1 in the final report, the percentage receiving polio 1 was 78% and the percentage receiving polio 3 was 60%. The report is incorrect in saying that there was a dropout rate of 18%. It would have been correct to say that there was a decline of 18 percentage points. However, as you say, the dropout rate would be (78-60)/78 = 23%. Thank you for noting this. I will try to make sure that this type of mistake is avoided in future reports.
Re: child immunization [message #24558 is a reply to message #24515] Tue, 31 May 2022 10:46
 adis Messages: 20Registered: May 2022 Member
Thank you Janet again for your kind response.

I was trying to exclude unvaccinated children from the analysis but don't know the stata code.

I am using the KR data

Thank you
Re: child immunization [message #24563 is a reply to message #24558] Wed, 01 June 2022 09:04
 Janet-DHS Messages: 720Registered: April 2022 Senior Member
Following is response from DHS Research & Data Analysis Director, Tom Pullum:

Here is the location of the Stata code for all indicators in the final reports: https://github.com/DHSProgram/DHS-Indicators-Stata. Be sure to read the documentation. If you have a question for the forum, please be more specific about what you want to do.
Re: child immunization [message #24567 is a reply to message #24563] Wed, 01 June 2022 11:07
 adis Messages: 20Registered: May 2022 Member
Thank you Janet
You gave me a very useful link and it was very helpful.

In Ethiopia mini dhs 2019 report page 76, Figure 8.1 the percentage of unvaccinated children 19% (the none category on the graph). I was trying to get that 19% using stata code. So my question was what was the stata command that brings this 19%?

Thanks again
Re: child immunization [message #24583 is a reply to message #24567] Fri, 03 June 2022 09:23
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

The required code you need is found here: https://github.com/DHSProgram/DHS-Indicators-Stata/tree/mast er/Chap10_CH

Please first open the main do file to compute the age variable then you can run the CH_VAC.do file . The indicator you are looking for is ch_novac_either

tab ch_novac_either [iw=v005/1000000]

This will match the final report with 19.2%.

Thank you.

Best,
Shireen Assaf
The DHS Program
Re: child immunization [message #24585 is a reply to message #24583] Fri, 03 June 2022 15:52
 adis Messages: 20Registered: May 2022 Member
Thank you so much
Shireen
Re: child immunization [message #24591 is a reply to message #24583] Sat, 04 June 2022 15:59
 adis Messages: 20Registered: May 2022 Member
Thank you Janet and Shireen for your continuous support and assistance
We have two more questions
** We are confused how to exclude the unvaccinated children from the analysis (because our aim is to calculate the number of children drop out/not drop out and also calculating the dropout rate)

According WHO and Ethiopia EPI guideline

The percentage of children aged 12-23 months who dropped out from pentavalent and measles vaccination can be calculated by
(1) Subtracting the third dose of pentavalent vaccine from the first dose of pentavalent vaccine, (The difference between DPT1-DPT3)
(2) (2) subtracting the first dose of measles vaccine from the first dose pentavalent vaccine (the difference between DPT1 Measles1)
(3) Dropout rate could be calculated using
I. Penta = (dpt1- dpt3)/dpt1*100
II. Measles= (dpt1-Measles)/dpt1*100

We faced the following challenge
For calculating the drop outs or dropout rate; we have to exclude the number of unvaccinated children . However: when we try to do that using the following stata command ; the total number of children in the data set decreases and becomes equal for all (DPT1,DPT2 and Measles) (it becomes 587 for all)
(When we try to drop the unvaccinated children from dpt1 and dpt3 separately; the sample size drops)

Stata command: Drop if dpt1==0 & drop if dpt3==0 & drop if measlea==0
What should be the command?

The other challenge was the difference in sample size
In EDHS 2019 report, the sample size for children aged 12 to 23 months was 1028. In our data set we get 1008 using the following stata code. We couldn't figure out where the 20 children are lost? Would you please help us address this problem

Stata command used;
Child_age = 12-23 months old
gen months = b19
keep if b5 == 1 & months >= 12 & months <=23

Thanks

[Updated on: Sat, 04 June 2022 16:04]

Report message to a moderator

Re: child immunization [message #24593 is a reply to message #24591] Mon, 06 June 2022 10:00
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

Although I am not familiar with this indicator, I don't believe you need to drop any children. The vaccination variables are binary variables with zeros and ones so we know who did not get the vaccine.

After running the correct do file (CH_VAC.do) and selecting live children from the correct age group as you have done, you can use the following variables for the calculation in the formula you show:

gen penta= ((ch_pent1_either - ch_pent3_either)/ch_pent1_either)*100
gen measles= ((ch_pent1_either-ch_meas_either)/ch_pent1_either)*100

This gives an unweighted number of children of 727 which is the number of children that had the dpt1 (ch_pent1_either) vaccine.

For your question on the number of children, you need to apply sample weights to get the correct number. This is for all estimates including the above. To do this you first calculate the weight variable as follows:

gen wt=v005/1000000

Then apply it to your tabulations, all tabulations:
*this gives the weighted number of 1028
tab b5 [iw=wt]

*this gives the weighted number of 785
tab penta [iw=wt]

Thank you.

Best,
Shireen Assaf
The DHS Program
Re: child immunization [message #24594 is a reply to message #24593] Mon, 06 June 2022 11:30
 adis Messages: 20Registered: May 2022 Member
I really appreciate your swift response

Now we are clear with all our questions

Thank you so much shireen
Re: child immunization [message #24595 is a reply to message #24594] Mon, 06 June 2022 11:32
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

You are welcome

Shireen
Re: child immunization [message #24596 is a reply to message #24595] Mon, 06 June 2022 11:39
 adis Messages: 20Registered: May 2022 Member
Dear shireen

I am sorry I came back

The caseid is a string var and we need id for our analysis. so, is that possible to use the alternative v002 /v003 which are numeric as an ID? or is there a mechanism to destring the caseid(we tried and failed)

thanks
Re: child immunization [message #24597 is a reply to message #24596] Mon, 06 June 2022 12:29
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member
Hello,

Yes you cannot destring the caseid because it contains spaces (i.e. characters).

The case ID is made up of v001 , v002, and v003. See the attached file which is a screenshot of your data before dropping any children and after sorting as follows:

sort v001 v002 v003
br caseid v001 v002 v003 b16 b5

As you can see in the highlighted rows, these are three children with the same mother (v003=2) and in the same household (v002=73). b16 is the child's line number which is missing for one child because they are not living.

So a unique ID for the child should include v001, v002, and b16.

Hope this helps.

Best,
Shireen Assaf
The DHS Program
Re: child immunization [message #24598 is a reply to message #24597] Mon, 06 June 2022 13:30
 adis Messages: 20Registered: May 2022 Member
how can we produce numeric and composite ID from this three

v002, v003, b16

thanks
Re: child immunization [message #24599 is a reply to message #24598] Mon, 06 June 2022 13:41
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

You can use the following command. For the KR file you should actually use bidx not b16.

egen ID=group(v001 v002 v003 bidx)

This will just number the children from 1 to N.
The following would give you the same ID.

gen ID2 = _n

Best,
Shireen
Re: child immunization [message #24600 is a reply to message #24599] Mon, 06 June 2022 13:53
 adis Messages: 20Registered: May 2022 Member
Dear shireen, we don't have words to express our thanks

Thank you for your time, timely response and continuous support. We really get a chance to learn a lot from you and your team.

God bless you!!
Re: child immunization [message #24610 is a reply to message #24599] Tue, 07 June 2022 14:46
 adis Messages: 20Registered: May 2022 Member
Dear shireen,

After selecting the appropriate age group and excluding died children; we have to also exclude the unvaaccinated children from our data set.

But we failed to exclude these unvaccinated children from the data set?

we tried to do the exclusion after sorting the vars but it wasn't worked?

So what do you advise us?

[Updated on: Tue, 07 June 2022 14:48]

Report message to a moderator

Re: child immunization [message #24611 is a reply to message #24610] Tue, 07 June 2022 15:22
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

Please read my message from June 6th, you do not need to exclude unvaccinated children. The calculation of the ratio for your indicator will take care of this.

Best,
Shireen
Re: child immunization [message #24616 is a reply to message #24611] Wed, 08 June 2022 11:13
 adis Messages: 20Registered: May 2022 Member
Thank you shireen

we actually checked the information you gave us on June 6.

From the definition of our dropout : there are dropout and dropout rates

to know the number of children drop out from the Vaccination we either use the difference between (Penta1 and Penta3) or (penta1 -Measles). When we do this, the expectation is those unvaccinated children shouldn't be part of the analysis. When we use rate/ratio; the previous formula you gave us worked but when it is simply the difference between the above mentioned vars the values reported are completely different.

I don't know where we made a mistake

I know we are taking your time but we really got interesting information that guides our analysis.

I hope you will have a finale say

Thanks

[Updated on: Wed, 08 June 2022 11:14]

Report message to a moderator

Re: child immunization [message #24617 is a reply to message #24616] Wed, 08 June 2022 11:30
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member

I am not familiar with these indicators and would not be able to answer your questions further.

If you need to drop any children , you would use the drop command in Stata. ex: drop if penta1==0

However, I still don't think you need to drop anyone. The difference would have a different number of children then the ratio due to the nature of the calculation.
In the end I would think you only care about the ratio estimate. This is already among those that are vaccinated for penta1. Check how many were vaccinated for penta 1 and the total for the ratio, they are the same.

Thanks.
Best,
Shireen

Re: child immunization [message #24618 is a reply to message #24617] Wed, 08 June 2022 11:39
 adis Messages: 20Registered: May 2022 Member
Thank you Shireen

We have learned a lot from you. Thank you so much for your time.

We will keep in touch for any different tittle in the future

God bless You!
Re: child immunization [message #24625 is a reply to message #24617] Thu, 09 June 2022 08:10
 adis Messages: 20Registered: May 2022 Member
Dear shireen,

when I tried to generate var with a difference between (dpt1- measles)...the I got the following output.

it become 3 category and one of which is -1

what could be the problem here

• Attachment: Doc6.docx
Re: child immunization [message #24628 is a reply to message #24625] Thu, 09 June 2022 09:16
 Shireen-DHS Messages: 140Registered: August 2020 Location: USA Senior Member
Hello,

That is possible yes if the child has taken the measles vaccine but not the dpt1 vaccine.

You can see this in the data file by running the following in Stata:
br ch_pent1_either ch_meas_either diff if diff==-1

The ratio however from the following formula:
gen measles= ((ch_pent1_either-ch_meas_either)/ch_pent1_either)

Gives two categories, 0 and 1 with 23.7% with this ratio.

I am not familiar with these indicators so I have not seen two vaccines estimates subtracted in this way. Can you also check if you are supposed to take the absolute value of the difference? At DHS we can mainly give guidance on DHS indicators and variables.

Thank you.
Best,
Shireen
Re: child immunization [message #29028 is a reply to message #24628] Fri, 12 April 2024 07:19
 coldbluts Messages: 1Registered: April 2024 Member
I don't know what your "ms" variable is (it must be related to h9) but the logic would be the same. The dropout variable should be a binary variable that is conditional on having received DPT1, and it is NA (a dot in Stata) if the child did not receive DPT1. That is, it is NA if the did not receive DPT1, 0 if it received DPT1 but not DPT3, and 1 if it received DPT1 AND DPT3. That's what the two Stata lines would construct.
Re: child immunization [message #29062 is a reply to message #29028] Thu, 18 April 2024 16:28
 Janet-DHS Messages: 720Registered: April 2022 Senior Member
Thank you for submitting your question. Could you please provide some more detailed information so we can better advise you?
Can you let us know:
• Which survey you are using (Include country name and year)?
• Which data files you are referring to?
• Which software you are using (Stata, SPSS, R, etc.)?
If you are trying to match a Table in a final report, please also indicate which table and which estimate you are trying to match.
 Previous Topic: questionnaire and dataset Next Topic: Child vaccination
Goto Forum:

Current Time: Sat May 18 19:47:28 Coordinated Universal Time 2024