The DHS Program User Forum
Discussions regarding The DHS Program data and results
Home » Topics » Child Health » vaccination coverage (Administration of all basic vaccines)
vaccination coverage [message #27431] Mon, 14 August 2023 05:51 Go to next message
Touré is currently offline  Touré
Messages: 2
Registered: August 2023
Member
Hello Dear Experts
I am new to using EDS databases.
I am trying to assess the vaccination status of children from 12 months to 23 months using the Burundi DHS 2016-2017 in order to use it as a covariate. I followed the steps of the STATA code.
However, my results are different from those in the report.
Could you tell me my errors or give an idea.
thank you

*La vaccination concerne les enfants de 12 à 23 mois
*** Two age groups used for reporting.
* choose age group of interest
*
gen agegroup=0
replace agegroup=1 if age_nourrissons>=12 & age_nourrissons<=23

*/

/*
gen agegroup=0
replace agegroup=1 if age>=24 & age<=35
*/

* selecting children
keep if agegroup==1
keep if b5==1
br agegroup age_nourrissons

* Source of vaccination information. We need this variable to code vaccination indicators by source.
recode possessioncartesanté (1=1 "card") (else=2 "mother"), gen(source)
*** BCG ***
//BCG either source
recode BCG (1 2 3=1) (else=0), gen(ch_bcg_either)
//BCG mother's report
gen ch_bcg_moth=ch_bcg_either
replace ch_bcg_moth=0 if source==1
//BCG by card
gen ch_bcg_card=ch_bcg_either
replace ch_bcg_card=0 if source==2
label var ch_bcg_card "vaccination BCG à partir de la carte"
label var ch_bcg_moth "BCG vaccination according to mother"
label var ch_bcg_either "vaccination BCG autre source"
*** Pentavalent ***
//DPT 1, 2, 3 either source
recode PENTA1 (1 2 3=1) (else=0), gen(dpt1)
recode PENTA2 (1 2 3=1) (else=0), gen(dpt2)
recode PENTA3 (1 2 3=1) (else=0), gen(dpt3)
gen somme_penta= dpt1+dpt2+dpt3

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_pent1_either=somme_penta>=1
gen ch_pent2_either=somme_penta>=2
gen ch_pent3_either=somme_penta>=3

//PENTA 1 2 et 3 rapportés par la mère
gen ch_pent1_mère=ch_pent1_either
replace ch_pent1_mère=0 if source==1

gen ch_pent2_mère=ch_pent2_either
replace ch_pent2_mère=0 if source==1

gen ch_pent3_mère=ch_pent3_either
replace ch_pent3_mère=0 if source==1

//PENTA 1 2 ET 3 SELON LA CARTE
gen ch_pent1_carte=ch_pent1_either
replace ch_pent1_carte=0 if source==2

gen ch_pent2_carte=ch_pent2_either
replace ch_pent2_carte=0 if source==2

gen ch_pent3_carte=ch_pent3_either
replace ch_pent3_carte=0 if source==2

drop dpt1 dpt2 dpt3 somme_penta

label var ch_pent1_carte "Pentavalent 1st dose vaccination according to card"
label var ch_pent1_mère "Pentavalent 1st dose vaccination according to mother"
label var ch_pent1_either "Pentavalent 1st dose vaccination according to either source"
label var ch_pent2_carte "Pentavalent 2nd dose vaccination according to card"
label var ch_pent2_mère "Pentavalent 2nd dose vaccination according to mother"
label var ch_pent2_either "Pentavalent 2nd dose vaccination according to either source"
label var ch_pent3_carte "Pentavalent 3rd dose vaccination according to card"
label var ch_pent3_mère "Pentavalent 3rd dose vaccination according to mother"
label var ch_pent3_either "Pentavalent 3rd dose vaccination according to either source"

*** Polio ***

//polio 0, 1, 2, 3 autres sources
recode POLIO0 (1 2 3=1) (else=0), gen(ch_polio0_either)

recode POLIO1 (1 2 3=1) (else=0), gen(polio1)
recode POLIO2 (1 2 3=1) (else=0), gen(polio2)
recode POLIO3 (1 2 3=1) (else=0), gen(polio3)
gen poliosum=polio1 + polio2 + polio3

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_polio1_either=poliosum>=1
gen ch_polio2_either=poliosum>=2
gen ch_polio3_either=poliosum>=3

//polio 0, 1, 2, 3 rapporté par la mère
gen ch_polio0_mère=ch_polio0_either
replace ch_polio0_mère=0 if source==1

gen ch_polio1_mère=ch_polio1_either
replace ch_polio1_mère=0 if source==1

gen ch_polio2_mère=ch_polio2_either
replace ch_polio2_mère=0 if source==1

gen ch_polio3_mère=ch_polio3_either
replace ch_polio3_mère=0 if source==1

//polio 0, 1, 2, 3 selon la carte
gen ch_polio0_carte=ch_polio0_either
replace ch_polio0_carte=0 if source==2

gen ch_polio1_carte=ch_polio1_either
replace ch_polio1_carte=0 if source==2

gen ch_polio2_carte=ch_polio2_either
replace ch_polio2_carte=0 if source==2

gen ch_polio3_carte=ch_polio3_either
replace ch_polio3_carte=0 if source==2

drop poliosum polio1 polio2 polio3

label var ch_polio0_carte "Polio at birth vaccination according to card"
label var ch_polio0_mère "Polio at birth vaccination according to mother"
label var ch_polio0_either "Polio at birth vaccination according to either source"
label var ch_polio1_carte "Polio 1st dose vaccination according to card"
label var ch_polio1_mère "Polio 1st dose vaccination according to mother"
label var ch_polio1_either "Polio 1st dose vaccination according to either source"
label var ch_polio2_carte "Polio 2nd dose vaccination according to card"
label var ch_polio2_mère "Polio 2nd dose vaccination according to mother"
label var ch_polio2_either "Polio 2nd dose vaccination according to either source"
label var ch_polio3_carte "Polio 3rd dose vaccination according to card"
label var ch_polio3_mère "Polio 3rd dose vaccination according to mother"
label var ch_polio3_either "Polio 3rd dose vaccination according to either source"

*** Pneumococcal ***
//Pneumococcal 1, 2, 3 either source
drop pcv13_1 pcv13_2 pcv13_3
recode PCV13_1 (1 2 3=1) (else=0), gen(pcv13_1)
recode PCV13_2 (1 2 3=1) (else=0), gen(pcv13_2)
recode PCV13_3 (1 2 3=1) (else=0), gen(pcv13_3)
gen pcv13sum= pcv13_1+pcv13_2+pcv13_3

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_pneumo1_either=pcv13sum>=1
gen ch_pneumo2_either=pcv13sum>=2
gen ch_pneumo3_either=pcv13sum>=3

//Pneumococcal 1, 2, 3 rapporté par la mère
gen ch_pneumo1_moth=ch_pneumo1_either
replace ch_pneumo1_moth=0 if source==1

gen ch_pneumo2_moth=ch_pneumo2_either
replace ch_pneumo2_moth=0 if source==1

gen ch_pneumo3_moth=ch_pneumo3_either
replace ch_pneumo3_moth=0 if source==1

//Pneumococcal 1, 2, 3 par la carte
gen ch_pneumo1_card=ch_pneumo1_either
replace ch_pneumo1_card=0 if source==2

gen ch_pneumo2_card=ch_pneumo2_either
replace ch_pneumo2_card=0 if source==2

gen ch_pneumo3_card=ch_pneumo3_either
replace ch_pneumo3_card=0 if source==2

drop pcv13_1 pcv13_2 pcv13_3 pcv13sum

label var ch_pneumo1_card "Pneumococcal 1st dose vaccination according to card"
label var ch_pneumo1_moth "Pneumococcal 1st dose vaccination according to mother"
label var ch_pneumo1_either "Pneumococcal 1st dose vaccination according to either source"
label var ch_pneumo2_card "Pneumococcal 2nd dose vaccination according to card"
label var ch_pneumo2_moth "Pneumococcal 2nd dose vaccination according to mother"
label var ch_pneumo2_either "Pneumococcal 2nd dose vaccination according to either source"
label var ch_pneumo3_card "Pneumococcal 3rd dose vaccination according to card"
label var ch_pneumo3_moth "Pneumococcal 3rd dose vaccination according to mother"
label var ch_pneumo3_either "Pneumococcal 3rd dose vaccination according to either source"

*** Rotavirus ****
//Rotavirus 1, 2, either source
drop rotav1 rotav2
recode ROTA1 (1 2 3=1) (else=0), gen(rotav1)
recode ROTA2 (1 2 3=1) (else=0), gen(rotav2)

gen rotavsum= rotav1+rotav2

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_rotav1_either=rotavsum>=1
gen ch_rotav2_either=rotavsum>=2
gen ch_rotav3_either=rotavsum>=3

//Rotavirus 1, 2, 3 mother's report
gen ch_rotav1_moth=ch_rotav1_either
replace ch_rotav1_moth=0 if source==1

gen ch_rotav2_moth=ch_rotav2_either
replace ch_rotav2_moth=0 if source==1

//Rotavirus 1, 2, 3 by card
gen ch_rotav1_card=ch_rotav1_either
replace ch_rotav1_card=0 if source==2

gen ch_rotav2_card=ch_rotav2_either
replace ch_rotav2_card=0 if source==2

drop rotav1 rotav2 rotavsum

label var ch_rotav1_card "Rotavirus 1st dose vaccination according to card"
label var ch_rotav1_moth "Rotavirus 1st dose vaccination according to mother"
label var ch_rotav1_either "Rotavirus 1st dose vaccination according to either source"
label var ch_rotav2_card "Rotavirus 2nd dose vaccination according to card"
label var ch_rotav2_moth "Rotavirus 2nd dose vaccination according to mother"
label var ch_rotav2_either "Rotavirus 2nd dose vaccination according to either source"


*** Hib ****
//hib 1, 2, 3 either source
drop hib1 hib2 hib3
recode HiB1 (1 2 3=1) (else=0), gen(hib1)
recode HiB2 (1 2 3=1) (else=0), gen(hib2)
recode HiB3 (1 2 3=1) (else=0), gen(hib3)
gen hibsum= hib1 + hib2 + hib3

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_hib1_either=hibsum>=1
gen ch_hib2_either=hibsum>=2
gen ch_hib3_either=hibsum>=3

//hib 1, 2, 3 mother's report
gen ch_hib1_moth=ch_hib1_either
replace ch_hib1_moth=0 if source==1

gen ch_hib2_moth=ch_hib2_either
replace ch_hib2_moth=0 if source==1

gen ch_hib3_moth=ch_hib3_either
replace ch_hib3_moth=0 if source==1

//Rotavirus 1, 2, 3 by card
gen ch_hib1_card=ch_hib1_either
replace ch_hib1_card=0 if source==2

gen ch_hib2_card=ch_hib2_either
replace ch_hib2_card=0 if source==2

gen ch_hib3_card=ch_hib3_either
replace ch_hib3_card=0 if source==2

drop hib1 hib2 hib3 hibsum

label var ch_hib1_card "hib 1st dose vaccination according to card"
label var ch_hib1_moth "hib 1st dose vaccination according to mother"
label var ch_hib1_either "hib 1st dose vaccination according to either source"
label var ch_hib2_card "hib 2nd dose vaccination according to card"
label var ch_hib2_moth "hib 2nd dose vaccination according to mother"
label var ch_hib2_either "hib 2nd dose vaccination according to either source"
label var ch_hib3_card "hib third dose vaccination according to card"
label var ch_hib3_moth "hib third dose vaccination according to mother"
label var ch_hib3_either "hib third dose vaccination according to either source"

******VPI*****
//VPI either source
recode VPI (1 2 3=1) (else=0), gen(ch_vpi_either)

//vpi mother's report
gen ch_vpi_moth=ch_vpi_either
replace ch_vpi_moth=0 if source==1

//vpi by card
gen ch_vpi_card=ch_vpi_either
replace ch_vpi_card=0 if source==2

label var ch_vpi_card "vpi vaccination according to card"
label var ch_vpi_moth "vpi vaccination according to mother"
label var ch_vpi_either "vpi vaccination according to either source"

*** ROUGEOLE ***
//rougeole either source
recode ROUGEOLE1 (1 2 3=1) (else=0), gen(meas1)
recode ROUGEOLE2 (1 2 3=1) (else=0), gen(meas2)
gen meassum= meas1 + meas2

* cette étape est réalisée pour les vaccins multidoses afin de combler les éventuelles lacunes dans l'historique des vaccinations
* pour plus d'explication
gen ch_meas1_either=meassum>=1
gen ch_meas2_either=meassum>=2

//rougeole 1, 2, mother's report
gen ch_meas1_moth=ch_meas1_either
replace ch_meas1_moth=0 if source==1

gen ch_meas2_moth=ch_meas2_either
replace ch_meas2_moth=0 if source==1


//rougeole 1, 2, by card
gen ch_meas1_card=ch_meas1_either
replace ch_meas1_card=0 if source==2

gen ch_meas2_card=ch_meas2_either
replace ch_meas2_card=0 if source==2

drop meas1 meas2 meassum

label var ch_meas1_card "rougeole 1st dose vaccination according to card"
label var ch_meas1_moth "rougeole 1st dose vaccination according to mother"
label var ch_meas1_either "rougeole 1st dose vaccination according to either source"
label var ch_meas2_card "rougeole 2nd dose vaccination according to card"
label var ch_meas2_moth "rougeole 2nd dose vaccination according to mother"
label var ch_meas2_either "rougeole 2nd dose vaccination according to either source"


*** All vaccinations *** calcul de 3 couvertures vaccinales
gen ch_allvac_either=ch_bcg_either==1&ch_pent3_either==1& ;ch_polio3_either==1&ch_meas2_either==1
label var ch_allvac_either "All basic vaccinations according to either source"
tab ch_allvac_either [iw= weight_femme_individuel/1000000] //17.87%

gen ch_allvac_moth=ch_allvac_either
replace ch_allvac_moth=0 if source==1
label var ch_allvac_moth "All basic vaccinations according to mother"
tab ch_allvac_moth [iw= weight_femme_individuel/1000000] //5.25%

gen ch_allvac_card=ch_allvac_either
replace ch_allvac_card=0 if source==2
label var ch_allvac_card "All basic vaccinations according to card"
tab ch_allvac_card [iw= weight_femme_individuel/1000000] //12.62%


*** vaccination card possession ***
recode possessioncartesanté(1/3=1) (else=0), gen(ch_card_ever_had)
label var ch_card_ever_had "Ever had a vaccination card"
tab ch_card_ever_had [iw= weight_femme_individuel/1000000] //97.23% des enfants de 12 à 23 mois ont déjà eu un carnet de vaccination.

recode possessioncartesanté (1=1) (else=0), gen(ch_card_seen)
label var ch_card_seen "Vaccination card seen"

tab ch_card_seen [iw= weight_femme_individuel/1000000] //83.77% contre 85% pour le rapport EDS
Re: vaccination coverage [message #27490 is a reply to message #27431] Mon, 21 August 2023 13:14 Go to previous message
Janet-DHS is currently offline  Janet-DHS
Messages: 698
Registered: April 2022
Senior Member
Following is a response from DHS staff member, Tom Pullum:

Did you get this Stata code from the DHS website, for chapter 10 ( https://github.com/DHSProgram/DHS-Indicators-Stata/blob/mast er/Chap10_CH/CH_VAC.do)? It looks similar but I don't have time to review it in detail. If you use the GitHub code for just part of a chapter, you have to be careful. There is usually some setup for the entire chapter that needs to be run first. Can you try running the entire code for chapter 10? That may produce the correct results. Please let us know if that works.
Previous Topic: How to generate day of birth of children (which day in the month)?
Next Topic: Vitamin A
Goto Forum:
  


Current Time: Sat Apr 27 01:27:11 Coordinated Universal Time 2024