The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
An R package implementing the 2019 WHO cardiovascular disease (CVD) risk prediction models for 21 global regions.
This package calculates 10-year risk of cardiovascular disease (fatal and non-fatal myocardial infarction and stroke) using the WHO risk charts published in The Lancet Global Health (2019).
Reference: > Kaptoge S, Pennells L, De Bacquer D, et al. World Health Organization cardiovascular disease risk charts: revised models to estimate risk in 21 global regions. Lancet Glob Health. 2019;7(10):e1332-e1345. doi:10.1016/S2214-109X(19)30318-3
# Install from source
install.packages("WHOrisk", repos = NULL, type = "source")
# Or using devtools
devtools::install_local("path/to/WHOrisk")library(WHOrisk)
# Single patient calculation using region
risk <- calculate_who_risk(
age = 55,
sex = "male",
sbp = 140,
cholesterol = 5.5, # mmol/L
smoking = TRUE,
diabetes = FALSE,
region = "western_europe"
)
print(paste0("10-year CVD risk: ", round(risk * 100, 1), "%"))
# Using country code instead of region
risk <- calculate_who_risk(
age = 60,
sex = "female",
sbp = 130,
cholesterol = 6.0,
smoking = FALSE,
diabetes = TRUE,
country = "ITA" # Italy -> western_europe
)
# Vectorized calculation for multiple patients
risks <- calculate_who_risk(
age = c(45, 55, 65, 75),
sex = c("male", "female", "male", "female"),
sbp = c(120, 140, 160, 150),
cholesterol = c(5.0, 6.0, 7.0, 5.5),
smoking = c(FALSE, TRUE, FALSE, FALSE),
diabetes = c(FALSE, FALSE, TRUE, TRUE),
country = c("USA", "GBR", "IND", "JPN")
)For settings where cholesterol measurement is not available:
risk <- calculate_who_risk_nonlab(
age = 55,
sex = "male",
sbp = 140,
bmi = 28,
smoking = TRUE,
region = "south_asia"
)# Get list of valid regions
get_regions()
# Get country code mappings
get_country_codes()
# Look up specific countries
get_country_codes(c("USA", "GBR", "IND"))
# Map country to region
country_to_region(c("FRA", "DEU", "ITA")) # All return "western_europe"| Variable | Laboratory Model | Non-Lab Model | Centered At |
|---|---|---|---|
| Age | ✓ | ✓ | 60 years |
| Systolic BP | ✓ | ✓ | 120 mmHg |
| Total Cholesterol | ✓ | - | 6 mmol/L |
| BMI | - | ✓ | 25 kg/m² |
| Smoking | ✓ | ✓ | - |
| Diabetes | ✓ | - | - |
| Region Code | Description |
|---|---|
north_africa_middle_east |
North Africa and Middle East |
central_subsaharan_africa |
Central Sub-Saharan Africa |
eastern_subsaharan_africa |
Eastern Sub-Saharan Africa |
southern_subsaharan_africa |
Southern Sub-Saharan Africa |
western_subsaharan_africa |
Western Sub-Saharan Africa |
southern_latin_america |
Southern Latin America |
high_income_north_america |
High-income North America |
caribbean |
Caribbean |
andean_latin_america |
Andean Latin America |
central_latin_america |
Central Latin America |
tropical_latin_america |
Tropical Latin America |
east_asia |
East Asia |
south_asia |
South Asia |
southeast_asia |
Southeast Asia |
central_asia |
Central Asia |
high_income_asia_pacific |
High-income Asia Pacific |
western_europe |
Western Europe |
central_europe |
Central Europe |
eastern_europe |
Eastern Europe |
oceania |
Oceania |
australasia |
Australasia |
The model calculates separate 10-year risks for: 1. Myocardial infarction / CHD death 2. Stroke
These are combined assuming independence:
P(CVD) = 1 - (1 - P(MI)) × (1 - P(Stroke))
Risk is calculated using Cox proportional hazards:
P(event) = 1 - S₀^exp(LP)
Where: - S₀ = region-specific baseline survival (from
GBD incidence data) - LP = linear predictor including main
effects and age interactions
The model uses mmol/L. To convert from mg/dL:
cholesterol_mmol <- cholesterol_mg_dl / 38.67Age range: Model was derived for ages 40-80. Extrapolation outside this range is less reliable.
Non-laboratory model: Does not include diabetes, so may underestimate risk in diabetic patients.
Regional calibration: Based on 2017 GBD estimates; actual risk may vary by specific country or population.
Risk factors not included: Family history, ethnicity, HDL cholesterol, triglycerides, etc.
MIT License. See LICENSE file for details.
The underlying risk models are from the WHO CVD Risk Chart Working Group.
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.