Mortality rate attributed to unintentional poisoning (per 100,000 population)

Source: worldbank.org, 03.09.2025

Year: 2021

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 2.5 -13.2% 9
Angola Angola 0.99 -1% 44
Albania Albania 0.21 -25% 92
United Arab Emirates United Arab Emirates 0.15 -25% 98
Argentina Argentina 0.27 -20.6% 87
Armenia Armenia 0.9 +100% 47
Antigua & Barbuda Antigua & Barbuda 0.52 +67.7% 67
Australia Australia 0.12 -20% 101
Austria Austria 0.18 +28.6% 95
Azerbaijan Azerbaijan 0.41 -40.6% 74
Burundi Burundi 2.26 +5.12% 10
Belgium Belgium 0.42 +20% 73
Benin Benin 1.08 -2.7% 40
Burkina Faso Burkina Faso 1.58 +1.28% 18
Bangladesh Bangladesh 0.12 -7.69% 101
Bulgaria Bulgaria 0.73 -5.19% 56
Bahrain Bahrain 0.2 -13% 93
Bahamas Bahamas 0.16 +6.67% 97
Bosnia & Herzegovina Bosnia & Herzegovina 1.87 -5.08% 14
Belarus Belarus 1.58 -2.47% 18
Belize Belize 0.21 +10.5% 92
Bolivia Bolivia 0.39 -11.4% 76
Brazil Brazil 0.14 -17.6% 99
Barbados Barbados 0.11 -15.4% 102
Brunei Brunei 0.002 0% 113
Bhutan Bhutan 0.076 -5% 107
Botswana Botswana 1.05 -1.87% 42
Central African Republic Central African Republic 1.36 -9.33% 27
Canada Canada 0.3 +25% 84
Switzerland Switzerland 0.12 -29.4% 101
Chile Chile 0.42 +5% 73
China China 1.47 -3.29% 23
Côte d’Ivoire Côte d’Ivoire 0.97 0% 45
Cameroon Cameroon 1.07 +1.9% 41
Congo - Kinshasa Congo - Kinshasa 1.31 +5.65% 28
Congo - Brazzaville Congo - Brazzaville 0.6 -1.64% 62
Colombia Colombia 0.19 +11.8% 94
Comoros Comoros 1.38 -6.12% 25
Cape Verde Cape Verde 0.29 +3.57% 85
Costa Rica Costa Rica 0.13 -18.8% 100
Cuba Cuba 0.12 +37.9% 101
Cyprus Cyprus 0.29 +14,400% 85
Czechia Czechia 0.57 +42.5% 64
Germany Germany 0.4 +2.56% 75
Djibouti Djibouti 1.51 -5.03% 21
Denmark Denmark 0.0005 -99.4% 114
Dominican Republic Dominican Republic 0.27 +3.85% 87
Algeria Algeria 0.51 +18.6% 68
Ecuador Ecuador 1.03 -8.04% 43
Egypt Egypt 0.21 -12.5% 92
Eritrea Eritrea 2.1 +0.478% 11
Spain Spain 0.34 -5.56% 80
Estonia Estonia 1.42 +4.41% 24
Ethiopia Ethiopia 1.16 -4.92% 35
Finland Finland 0.38 -28.3% 77
Fiji Fiji 0.2 -13% 93
France France 0.34 +17.2% 80
Micronesia (Federated States of) Micronesia (Federated States of) 0.51 0% 68
Gabon Gabon 0.64 0% 60
United Kingdom United Kingdom 0.33 0% 81
Georgia Georgia 1.11 -39.3% 38
Ghana Ghana 0.87 +2.35% 50
Guinea Guinea 0.99 -4.81% 44
Gambia Gambia 0.83 -6.74% 51
Guinea-Bissau Guinea-Bissau 1.03 -3.74% 43
Equatorial Guinea Equatorial Guinea 0.64 -11.1% 60
Greece Greece 0.19 -36.7% 94
Grenada Grenada 1.69 +47% 16
Guatemala Guatemala 0.82 -3.53% 52
Guyana Guyana 0.074 -14.9% 108
Honduras Honduras 0.51 0% 68
Croatia Croatia 0.29 -19.4% 85
Haiti Haiti 0.49 -14% 70
Hungary Hungary 0.46 -2.13% 71
Indonesia Indonesia 0.23 -14.8% 90
India India 0.12 -7.69% 101
Ireland Ireland 0.26 -25.7% 88
Iran Iran 0.62 +14.8% 61
Iraq Iraq 0.19 0% 94
Iceland Iceland 0.002 -98.9% 113
Israel Israel 0.042 -8.7% 110
Italy Italy 0.31 +6.9% 83
Jamaica Jamaica 0.099 +8.79% 103
Jordan Jordan 0.32 -13.5% 82
Japan Japan 0.18 +12.5% 95
Kazakhstan Kazakhstan 1.42 -12.3% 24
Kenya Kenya 1.49 -8.59% 22
Kyrgyzstan Kyrgyzstan 0.7 -10.3% 58
Cambodia Cambodia 0.41 +2.5% 74
Kiribati Kiribati 1.72 -11.3% 15
South Korea South Korea 0.25 -3.85% 89
Kuwait Kuwait 0.37 0% 78
Laos Laos 0.35 +12.9% 79
Lebanon Lebanon 0.16 -5.88% 97
Liberia Liberia 0.83 -9.78% 51
Libya Libya 0.88 +1.15% 49
St. Lucia St. Lucia 0.14 -17.6% 99
Sri Lanka Sri Lanka 0.17 +13.3% 96
Lesotho Lesotho 3.49 -11.9% 3
Lithuania Lithuania 1.17 -41.2% 34
Luxembourg Luxembourg 0.081 +47.3% 105
Latvia Latvia 0.8 -21.6% 54
Morocco Morocco 0.71 -1.39% 57
Moldova Moldova 4.15 -1.66% 1
Madagascar Madagascar 1.37 -10.5% 26
Maldives Maldives 0.072 -25.8% 109
Mexico Mexico 0.39 -29.1% 76
North Macedonia North Macedonia 1.09 +221% 39
Mali Mali 1.24 +5.08% 31
Malta Malta 0.093 +36.8% 104
Myanmar (Burma) Myanmar (Burma) 0.93 -2.11% 46
Montenegro Montenegro 0.32 -25.6% 82
Mongolia Mongolia 2.99 +1.7% 5
Mozambique Mozambique 1.47 -8.7% 23
Mauritania Mauritania 0.5 -3.85% 69
Mauritius Mauritius 0.82 -36.9% 52
Malawi Malawi 1.13 +0.893% 37
Malaysia Malaysia 0.65 +27.5% 59
Namibia Namibia 1.38 +2.99% 25
Niger Niger 1.56 -0.637% 19
Nigeria Nigeria 1.07 +2.88% 41
Nicaragua Nicaragua 0.14 +40% 99
Netherlands Netherlands 0.08 +17.6% 106
Norway Norway 0.29 -6.45% 85
Nepal Nepal 2.93 +0.687% 7
New Zealand New Zealand 0.2 +5.26% 93
Oman Oman 0.037 -19.6% 111
Pakistan Pakistan 0.12 0% 101
Panama Panama 0.2 +127% 93
Peru Peru 0.77 -14.4% 55
Philippines Philippines 0.23 +27.8% 90
Papua New Guinea Papua New Guinea 0.44 +25.7% 72
Poland Poland 1.22 -20.8% 32
Puerto Rico Puerto Rico 0.27 +17.4% 87
North Korea North Korea 1.26 0% 30
Portugal Portugal 0.33 -2.94% 81
Paraguay Paraguay 0.17 -10.5% 96
Palestinian Territories Palestinian Territories 0.14 -6.67% 99
Qatar Qatar 0.41 -10.9% 74
Romania Romania 1.92 +2.13% 13
Russia Russia 2.75 +1.48% 8
Rwanda Rwanda 1.3 +3.17% 29
Saudi Arabia Saudi Arabia 0.3 -14.3% 84
Sudan Sudan 1.16 -8.66% 35
Senegal Senegal 0.81 -4.71% 53
Singapore Singapore 0.0001 -99.7% 115
Solomon Islands Solomon Islands 0.64 -4.48% 60
Sierra Leone Sierra Leone 1.24 +9.73% 31
El Salvador El Salvador 0.77 0% 55
Somalia Somalia 3.17 +1.93% 4
Serbia Serbia 0.32 +60% 82
South Sudan South Sudan 1.61 +4.55% 17
São Tomé & Príncipe São Tomé & Príncipe 0.31 -11.4% 83
Suriname Suriname 0.21 -16% 92
Slovakia Slovakia 0.58 -14.7% 63
Slovenia Slovenia 0.22 +15.8% 91
Sweden Sweden 0.15 +50% 98
Eswatini Eswatini 2.96 +15.2% 6
Seychelles Seychelles 0.34 -24.4% 80
Syria Syria 0.28 -3.45% 86
Chad Chad 1.17 0% 34
Togo Togo 1.11 -1.77% 38
Thailand Thailand 0.38 +5.56% 77
Tajikistan Tajikistan 0.89 +8.54% 48
Turkmenistan Turkmenistan 0.31 +3.33% 83
Timor-Leste Timor-Leste 0.3 +7.14% 84
Tonga Tonga 1.26 +1.61% 30
Trinidad & Tobago Trinidad & Tobago 0.12 0% 101
Tunisia Tunisia 0.4 -9.09% 75
Turkey Turkey 0.34 -8.11% 80
Tanzania Tanzania 1.03 0% 43
Uganda Uganda 1.14 +9.62% 36
Ukraine Ukraine 2.05 -3.3% 12
Uruguay Uruguay 0.46 -4.17% 71
United States United States 0.53 +6% 66
Uzbekistan Uzbekistan 0.58 -6.45% 63
St. Vincent & Grenadines St. Vincent & Grenadines 0.004 -20% 112
Venezuela Venezuela 0.4 +17.6% 75
Vietnam Vietnam 0.88 +4.76% 49
Vanuatu Vanuatu 0.55 +1.85% 65
Samoa Samoa 0.3 -3.23% 84
Yemen Yemen 1.55 +21.1% 20
South Africa South Africa 1.69 +4.32% 16
Zambia Zambia 1.18 +5.36% 33
Zimbabwe Zimbabwe 3.5 +10.1% 2

The mortality rate attributed to unintentional poisoning, expressed per 100,000 population, is a crucial health indicator that reflects the number of deaths that occur as a result of accidental poisoning. This indicator includes incidents involving the ingestion of toxic substances, including chemicals, drugs, and other hazardous materials, and is an important measure of public health, safety, and effective regulation of toxic substances.

Understanding the mortality rate associated with unintentional poisoning is vital for several reasons. First, it serves as a barometer for assessing the effectiveness of health policies, educational campaigns, and regulations designed to prevent poisonings. A higher mortality rate can indicate a public health crisis or inefficiencies in prevention measures, while a lower rate could reflect successful intervention strategies. Additionally, it can help healthcare providers and policymakers identify at-risk populations or communities, enabling targeted efforts for better outcomes.

This indicator is closely interconnected with several other health metrics. For instance, it often correlates with substance misuse rates, particularly with alcohol and drug-related poisonings. Countries with higher rates of substance abuse typically experience increased unintentional poisoning rates, highlighting the need for comprehensive strategies that address both preventative health care and substance abuse interventions. Furthermore, this indicator intertwines with socio-economic factors, as low-income communities might face higher risks due to limited access to education, healthcare, and safe living environments.

Several factors influence the mortality rate attributed to unintentional poisoning. These factors include socioeconomic status, access to healthcare, educational attainments about toxic substances, regulatory enforcement on hazardous materials, and community support systems. For instance, a lack of proper education regarding the proper use and storage of household chemicals can lead to unintentional poisonings, especially among children. Various studies have shown that higher literacy rates and access to health resources align with lower mortality rates attributed to poisoning. Furthermore, the regulatory environment, which ensures safe production and labeling of substances, plays a crucial role in minimizing these incidents.

Strategies to reduce mortality rates from unintentional poisonings should be comprehensive and involve multiple sectors. Public health campaigns that advocate for safe storage and use of toxic substances can be particularly effective. Creating educational programs in schools, communities, and healthcare facilities would help to raise awareness about the dangers of unintentional poisoning. Additionally, legislative measures increasing regulations surrounding hazardous materials can contribute to a decrease in incidents. Expanding access to mental health and substance abuse treatment is also essential, as it addresses one of the root causes of excess mortality rates from poisoning.

In terms of the 2019 data, the median value of mortality rates attributed to unintentional poisoning was recorded at 0.6 per 100,000 population. This suggests that while this figure is relatively low in comparison to some historical data, it still underscores the persistent challenge faced by certain regions with higher prevalence. Among the top five areas displaying significant mortality rates, Moldova stands out with a rate of 5.5, followed closely by Lesotho at 5.2, Somalia at 4.9, Russia at 3.8, and Mozambique at 3.7. These rates indicate a critical public health concern in these regions, suggesting that there may be underlying issues related to access to healthcare, public education, and effective regulation of hazardous substances.

Conversely, certain areas demonstrate zero mortality rates attributed to unintentional poisoning, including Brunei, Israel, Maldives, Singapore, and St. Vincent & Grenadines. This absence of poison-related mortality could be reflective of effective health policies, stringent regulations, and high levels of public awareness regarding toxic substances. It presents a benchmark that other regions can aspire to, illustrating the potential for mitigating unintentional poisoning through efficient public health strategies.

A historical perspective on global figures indicates a gradual decline in mortality rates from unintentional poisoning, with a world value of 1.11 in 2019 down from 1.52 in 2000. This overall downward trend is encouraging, showcasing the impact of preventive measures and educational initiatives over the years. Although progress has been made, the targeted reduction of poisoning incidents remains a critical public health goal, especially in regions that continue to struggle with elevated mortality rates.

However, there are flaws in solely relying on mortality data to assess the full extent of unintentional poisoning. Many poisoning incidents may not lead to death but can result in severe health issues and complications. Additionally, discrepancies in reporting and data collection across different countries can lead to underestimations or inaccuracies. Factors such as cultural stigmas surrounding substance abuse or the underreporting of accidents can further obscure the real picture. It is essential to combine mortality data with comprehensive surveillance of non-fatal poisoning incidents to obtain a clearer understanding of the public health landscape related to unintentional poisoning.

In summary, the mortality rate attributed to unintentional poisoning serves as a vital health indicator reflecting broader societal and health-related issues. By understanding its implications and the multitude of factors affecting it, stakeholders can design more effective strategies to mitigate risks, protect vulnerable populations, and promote general public health.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'SH.STA.POIS.P5'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'SH.STA.POIS.P5'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))