Current health expenditure per capita (current US$)

Source: worldbank.org, 03.09.2025

Year: 2022

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 80.7 -1.07% 152
Angola Angola 101 +51% 140
Albania Albania 414 -11% 96
Andorra Andorra 3,192 -9.72% 25
United Arab Emirates United Arab Emirates 2,315 +2.88% 34
Argentina Argentina 1,371 +26.8% 48
Armenia Armenia 675 +13.3% 69
Antigua & Barbuda Antigua & Barbuda 1,085 +28.6% 58
Australia Australia 6,731 -4.38% 7
Austria Austria 5,852 -10.3% 13
Azerbaijan Azerbaijan 304 +21.2% 108
Burundi Burundi 24.7 +6.33% 187
Belgium Belgium 5,405 -5.9% 15
Benin Benin 33.9 -0.459% 180
Burkina Faso Burkina Faso 56.8 -0.816% 163
Bangladesh Bangladesh 61.1 +4.36% 161
Bulgaria Bulgaria 1,011 -3.47% 61
Bahrain Bahrain 1,111 -5.5% 56
Bahamas Bahamas 2,341 +14.9% 33
Bosnia & Herzegovina Bosnia & Herzegovina 667 -4.27% 71
Belarus Belarus 529 +9.29% 81
Belize Belize 297 -4.12% 109
Bolivia Bolivia 307 +11.2% 107
Brazil Brazil 849 +10.5% 65
Barbados Barbados 1,302 -6.43% 50
Brunei Brunei 666 +0.0491% 72
Bhutan Bhutan 154 +49% 133
Botswana Botswana 478 -2.91% 87
Central African Republic Central African Republic 47.9 +3.61% 170
Canada Canada 6,255 -3.52% 10
Switzerland Switzerland 10,963 -2.65% 2
Chile Chile 1,547 -1.86% 46
China China 672 +0.327% 70
Côte d’Ivoire Côte d’Ivoire 86.2 -6.76% 147
Cameroon Cameroon 72 -0.816% 157
Congo - Kinshasa Congo - Kinshasa 24.4 +13% 188
Congo - Brazzaville Congo - Brazzaville 50.6 -36.2% 167
Colombia Colombia 506 -9.91% 83
Comoros Comoros 123 +22.9% 138
Cape Verde Cape Verde 286 +1.07% 111
Costa Rica Costa Rica 979 +0.173% 62
Cyprus Cyprus 2,864 -8.15% 29
Czechia Czechia 2,431 -4.21% 32
Germany Germany 6,182 -6.87% 11
Djibouti Djibouti 81.8 -6.15% 150
Dominica Dominica 574 +10.1% 77
Denmark Denmark 6,456 -13.5% 8
Dominican Republic Dominican Republic 462 +10.9% 90
Algeria Algeria 180 -13.8% 129
Ecuador Ecuador 493 -1.16% 85
Egypt Egypt 171 -3.37% 131
Eritrea Eritrea 27.1 -1.83% 184
Spain Spain 2,911 -7.42% 28
Estonia Estonia 1,999 -4.41% 36
Ethiopia Ethiopia 27.1 +3.83% 185
Finland Finland 4,902 -6.84% 17
Fiji Fiji 217 -34.5% 121
France France 4,865 -9.51% 18
Micronesia (Federated States of) Micronesia (Federated States of) 397 -0.502% 99
Gabon Gabon 247 +7.97% 117
United Kingdom United Kingdom 5,036 -10.3% 16
Georgia Georgia 478 +15.5% 88
Ghana Ghana 82.3 -12.8% 149
Guinea Guinea 55 +24.8% 164
Gambia Gambia 28.9 +13.8% 183
Guinea-Bissau Guinea-Bissau 66.1 -3.4% 159
Equatorial Guinea Equatorial Guinea 190 -19.7% 125
Greece Greece 1,768 -4.24% 41
Grenada Grenada 521 +1.34% 82
Guatemala Guatemala 396 +16.1% 100
Guyana Guyana 532 +14.9% 80
Honduras Honduras 251 -1.02% 116
Croatia Croatia 1,344 -2.88% 49
Haiti Haiti 52.3 -9.25% 166
Hungary Hungary 1,224 -11.4% 52
Indonesia Indonesia 127 -19.8% 137
India India 79.5 +5.25% 153
Ireland Ireland 6,448 -4.68% 9
Iran Iran 238 +1.74% 118
Iraq Iraq 255 +1.2% 115
Iceland Iceland 6,852 +1.92% 6
Israel Israel 4,224 +0.794% 21
Italy Italy 3,135 -7.8% 26
Jamaica Jamaica 468 +26.2% 89
Jordan Jordan 295 -2.04% 110
Japan Japan 3,889 -13.2% 22
Kazakhstan Kazakhstan 421 +7.44% 95
Kenya Kenya 90.4 -3.9% 144
Kyrgyzstan Kyrgyzstan 85.9 +18.3% 148
Cambodia Cambodia 110 -8.45% 139
Kiribati Kiribati 218 -17.1% 120
St. Kitts & Nevis St. Kitts & Nevis 1,160 +2.27% 54
South Korea South Korea 3,050 -2.92% 27
Kuwait Kuwait 1,700 -4.95% 42
Laos Laos 41.3 -39.7% 172
Lebanon Lebanon 392 +25.8% 101
Liberia Liberia 99.7 +7.93% 141
Libya Libya 278 -9.23% 113
St. Lucia St. Lucia 645 +9.59% 74
Sri Lanka Sri Lanka 146 -7.37% 134
Lesotho Lesotho 134 +14.7% 136
Lithuania Lithuania 1,830 -1.33% 39
Luxembourg Luxembourg 7,023 -7.99% 5
Latvia Latvia 1,642 -13.5% 43
Morocco Morocco 199 -6.01% 124
Monaco Monaco 7,656 -6.89% 4
Moldova Moldova 398 -2.92% 98
Madagascar Madagascar 16.3 -4.99% 189
Maldives Maldives 1,151 +8.83% 55
Mexico Mexico 651 +7.4% 73
Marshall Islands Marshall Islands 758 -3.03% 66
North Macedonia North Macedonia 562 -11.8% 79
Mali Mali 29.7 -2.86% 182
Malta Malta 3,353 -7.93% 24
Myanmar (Burma) Myanmar (Burma) 58 -18.5% 162
Montenegro Montenegro 1,107 +8.08% 57
Mongolia Mongolia 448 +35.8% 92
Mozambique Mozambique 49.5 +9.39% 168
Mauritania Mauritania 90.4 +22.8% 145
Mauritius Mauritius 591 -0.479% 75
Malawi Malawi 39.7 -16.7% 174
Malaysia Malaysia 458 -3.93% 91
Namibia Namibia 406 -1.91% 97
Niger Niger 26.5 -25.1% 186
Nigeria Nigeria 90.9 +11.1% 143
Nicaragua Nicaragua 208 +2.09% 123
Netherlands Netherlands 5,796 -11.6% 14
Norway Norway 8,693 -5.14% 3
Nepal Nepal 88.3 +32.6% 146
Nauru Nauru 2,264 +25.1% 35
New Zealand New Zealand 4,804 -3.28% 19
Oman Oman 707 -17.5% 67
Pakistan Pakistan 38.8 -9.42% 176
Panama Panama 1,472 +3.87% 47
Peru Peru 446 -2.16% 93
Philippines Philippines 183 -12.1% 127
Palau Palau 1,979 +3.25% 37
Papua New Guinea Papua New Guinea 81.1 +32.9% 151
Poland Poland 1,193 +0.831% 53
Portugal Portugal 2,581 -6.5% 31
Paraguay Paraguay 480 +0.0168% 86
Palestinian Territories Palestinian Territories 351 -3.78% 105
Qatar Qatar 1,782 -3.54% 40
Romania Romania 902 -6.31% 64
Russia Russia 1,078 +22.3% 60
Rwanda Rwanda 76.8 +27.1% 155
Saudi Arabia Saudi Arabia 1,593 -3.71% 45
Sudan Sudan 31.6 +54% 181
Senegal Senegal 63.7 -10.4% 160
Singapore Singapore 4,321 +6.83% 20
Solomon Islands Solomon Islands 96.7 -2.08% 142
Sierra Leone Sierra Leone 39.3 -12.4% 175
El Salvador El Salvador 501 +6.62% 84
San Marino San Marino 3,875 -3.92% 23
Somalia Somalia 15.3 +4.87% 190
Serbia Serbia 903 -1.75% 63
South Sudan South Sudan 49.4 +43.1% 169
São Tomé & Príncipe São Tomé & Príncipe 180 -3.6% 128
Suriname Suriname 344 +16.9% 106
Slovakia Slovakia 1,642 -2.5% 44
Slovenia Slovenia 2,738 -1.5% 30
Sweden Sweden 5,943 -13.1% 12
Eswatini Eswatini 284 -4.36% 112
Seychelles Seychelles 695 +10.4% 68
Syria Syria 34.4 +33.2% 179
Chad Chad 40.2 +6.86% 173
Togo Togo 54 +2.44% 165
Thailand Thailand 370 +1.72% 104
Tajikistan Tajikistan 78.6 +4.67% 154
Turkmenistan Turkmenistan 579 +22.7% 76
Timor-Leste Timor-Leste 175 +32.4% 130
Tonga Tonga 378 +10.8% 103
Trinidad & Tobago Trinidad & Tobago 1,292 +10.1% 51
Tunisia Tunisia 266 -1.66% 114
Turkey Turkey 386 -10.5% 102
Tuvalu Tuvalu 1,085 -5.87% 59
Tanzania Tanzania 35.6 -5.1% 178
Uganda Uganda 44.1 -13.5% 171
Uruguay Uruguay 1,851 +16% 38
United States United States 12,434 +3.63% 1
Uzbekistan Uzbekistan 169 +8.3% 132
St. Vincent & Grenadines St. Vincent & Grenadines 435 -4.38% 94
Venezuela Venezuela 209 +28.3% 122
Vietnam Vietnam 189 +12.4% 126
Vanuatu Vanuatu 135 -4.14% 135
Samoa Samoa 236 -12.6% 119
Yemen Yemen 38.1 +19% 177
South Africa South Africa 570 -3.83% 78
Zambia Zambia 76.1 +1.63% 156
Zimbabwe Zimbabwe 70.7 +11.3% 158

The indicator 'Current health expenditure per capita (current US$)' serves as a crucial measure of a country's investment in health care relative to its population size. This metric is calculated by dividing the total health expenditures of a nation by its population, providing a clear insight into how much each individual is spending or is allocated for health-related services. In 2022, the median value for this indicator across countries was recorded at approximately $4,131.29, highlighting a significant variation in health care investment globally.

The importance of current health expenditure per capita cannot be overstated. It reflects not merely a government's commitment to health but also serves as a proxy for the quality of the healthcare system, and ultimately, the health outcomes of the population. Higher spending in this area typically indicates better access to essential health services, advanced medical technology, and a robust health care infrastructure. It is an essential component in evaluating how health systems respond to the needs of their populations and how effectively they can address public health challenges.

This indicator is closely related to several other health and economic indicators. For instance, it can be correlated with life expectancy, infant mortality rates, and overall population health metrics. Countries that allocate more resources to health typically exhibit higher life expectancy and lower rates of preventable diseases. Moreover, economic indicators such as GDP per capita also impact health expenditures; wealthier nations often allocate more funds to health care, as they can afford better health services for their citizens.

A multitude of factors influence current health expenditure per capita. These include demographic transitions, epidemiological changes, and health system efficiencies. For instance, countries with aging populations often experience increased health care costs due to higher demands for medical services, given that older individuals typically require more frequent and complex health interventions. Additionally, rising chronic diseases prevalence in many nations leads to higher expenditures on long-term care and treatment.

Socioeconomic factors also play a significant role. Nations with lower income levels, such as the Philippines, which reported an expenditure of only $178.00 per capita, struggle to fund comprehensive health care systems. The lack of financial resources not only limits the availability of medical services but also restricts investments in health care infrastructure and workforce development, ultimately affecting health outcomes.

In contrast, the top 5 areas with the highest current health expenditure per capita demonstrate how substantial public and private investments in health care can improve health outcomes. The United States leads the world with $12,473.79, a figure that substantiates its reputation for advanced health technology and extensive health services, albeit shadowed by discussions of access, affordability, and disparities in health outcomes among different population groups. Following the U.S. are Norway ($8,693.00), Luxembourg ($6,956.00), Iceland ($6,400.00), and Ireland ($6,349.48), all of which showcase the correlation between high spending and health outcomes, albeit within the context of each country’s unique health care policies and systems.

Addressing the disparities in health expenditure requires comprehensive and multifaceted strategies. Low-to-middle-income countries need to strengthen their health financing mechanisms by increasing public health budget allocations. Implementing universal health coverage can reduce out-of-pocket spending and protect vulnerable populations. Additionally, investing in health promotion and preventive care can help curb the rising costs associated with chronic diseases, thus improving both public health outcomes and overall expenditure efficiency.

Moreover, international cooperation and guidance are essential for countries struggling with low health expenditure. By establishing partnerships with higher-income nations, lower-income communities can gain access to resources, knowledge, and support systems necessary for improving their healthcare infrastructure and practices.

However, there are inherent flaws in relying solely on current health expenditure per capita as an indicator of health system performance. For one, merely increasing expenditure does not guarantee improved health outcomes. Factors such as healthcare accessibility, quality of care, and socioeconomic disparities must also be addressed to genuinely impact public health positively. Without focusing on the efficiency of how resources are allocated and utilized, there is a risk of wasting funds on ineffective treatments or systems that fail to meet the community's actual health needs.

In summary, the current health expenditure per capita is a vital measure illustrating the commitment of nations to healthcare. It encompasses economic, governmental, and social frameworks shaping health systems globally. As health challenges continue to evolve, so must the strategies to address them, ensuring that every individual has access to optimal health resources for a better quality of life.

                    
# 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.XPD.CHEX.PC.CD'

# 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.XPD.CHEX.PC.CD'

# 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))