barChartData = await FileAttachment("data/coverage_country.csv").csv({ typed: true })
// Extract unique antigens for the dropdown
barChartAntigens = Array.from(new Set(barChartData.map(d => d.antigen)))
// Create a dropdown menu for antigen selection
viewof selectedBarChartAntigen = Inputs.select(barChartAntigens, { label: "Select Antigen" })
// Filter data based on selected antigen and sort by coverage
filteredBarChartData = barChartData
.filter(d => d.year === 2023 && d.country !== "Kenya") // Apply filtering
.sort((a, b) => b.coverage - a.coverage) // Sort by descending coverage
// Further filter based on the selected antigen
finalBarChartData = filteredBarChartData.filter(d => d.antigen === selectedBarChartAntigen)
// Create the bar chart
Plot.plot({
marks: [
// Bars for coverage
Plot.barX(finalBarChartData, {
y: "country",
x: "coverage",
fill: "#05688b",
inset: 1, // Add gap between bars
title: d => `${d.country}: ${d.coverage}%` // Tooltip shows the value in percentage
}),
// Target line at 90%
Plot.ruleX([90], {
stroke: "red",
strokeWidth: 2,
strokeDasharray: "4 4",
label: "Target >= 90%"
})
],
x: {
tickFormat: d => `${d}%`, // Ensure x-axis ticks are displayed as percentages
ticks: 10, // Set tick increments to 10
label: null, // Remove x-axis label
labelFontSize: 26, // Increase font size of x-axis label
tickLabelFontSize: 26 // Increase font size of y-axis labels
},
y: {
tickSize: 5,
label: null, // Remove y-axis title
labelFontSize: 26, // Increase font size of x-axis label
tickLabelFontSize: 26 // Increase font size of y-axis labels
},
legend: {
position: "right",
align: "center", // Center the legend vertically
marginRight: 200 // Add space for the legend
},
marginLeft: 150, // Increase left margin for long country names
marginRight: 250, // Add margin for narrative information
width: 1200, // Increase width to fit narrative information
height: 500 // Increase height to fit all countries
})Exploring the data
Summary of Routine Immunization Coverage by Antigens in Africa 2024
Immunization is a global health success story, saving millions of lives every year. Vaccines reduce risks of getting a disease by working with your body’s natural defenses to build protection. When you get a vaccine, your immune system responds.
The Immunization Vaccine Coverage is calculated using population data for respective countries, including live births, population under 1 year, and other relevant demographic age groups.
Data Source:
Data are based on submissions received from member states through the Country offices and ISTs via DHIS2.
that includes monthly aggregate routine immunization summaries.
Annual Immunization Coverage inter-conected Antigens
OPV, OPV1, OPV3, MCV1, MCV2 vaccines are part of the Expanded Program on Immunization (EPI) implemented globally to reduce childhood mortality from vaccine-preventable diseases.
The doses are strategically scheduled at specific intervals (e.g., birth, 6 weeks, 14 weeks, 9 months) to maximize immune response and provide comprehensive protection.
Data Source:
Data are based on submissions received from member states through the Country offices and ISTs via DHIS2.
The data includes monthly aggregate routine immunization summaries shared by country offices through the ISTs.
Coverage and Total of District target for PCV1 and PCV2
The visual present the coverage and total of district that participated in the PCV1 and PCV2 vaccination campaign and the treshold archived in total of district. This visual analysis focus only in Angola country.
Data Source:
Data are based on submissions received from member states through the Country offices and ISTs via DHIS2.
The data includes monthly aggregate routine immunization summaries shared by country offices through the ISTs.