This calculator estimates your 10-year risk of having a first hard atherosclerotic cardiovascular disease (ASCVD) event.
It is based on the pooled cohort equations developed by the ACC/AHA.
Male
Female
White
African American
Yes
No
Yes
No
Yes
No
Your 10-Year ASCVD Risk will appear here.
Understanding Your ASCVD Risk
Atherosclerotic cardiovascular disease (ASCVD) is a major cause of morbidity and mortality worldwide. It encompasses conditions like heart attacks and strokes, which are often the result of plaque buildup in arteries. The American College of Cardiology (ACC) and the American Heart Association (AHA) have developed evidence-based guidelines to help healthcare providers assess an individual's risk and guide preventive strategies.
The 10-year ASCVD risk calculator estimates the probability of experiencing a hard ASCVD event (such as a heart attack or stroke) within the next 10 years. This risk score is crucial for determining the intensity of preventive measures, including lifestyle modifications and the potential need for cholesterol-lowering medications (statins) or blood pressure management.
How the Calculator Works (The Pooled Cohort Equations)
The calculator uses the widely accepted Pooled Cohort Equations, which are derived from large epidemiological studies. These equations consider several key risk factors:
Age: Risk increases significantly with age.
Sex: Historically, men have had a higher risk, though this gap narrows with age.
Race: Certain racial groups have differing risk profiles.
Total Cholesterol: Higher levels are associated with increased risk.
HDL Cholesterol (High-Density Lipoprotein): Often referred to as "good" cholesterol; higher levels are protective.
Systolic Blood Pressure: Higher readings indicate greater strain on the cardiovascular system.
Blood Pressure Treatment: Being on medication suggests existing hypertension, a significant risk factor.
Diabetes: A major risk factor that significantly elevates ASCVD risk.
Smoking Status: Current smokers have a substantially higher risk than non-smokers.
The specific mathematical model behind the equations is complex and involves calculating a "risk ratio" based on the weighted contributions of each of these factors. The output is a percentage, representing the likelihood of an ASCVD event in the next decade.
Interpreting Your Risk Score:
Low Risk (< 5%): Individuals in this category generally do not require pharmacologic therapy (like statins) beyond lifestyle modifications. Regular monitoring is advised.
Borderline Risk (5% to 7.4%): Lifestyle modifications are recommended. A discussion with a healthcare provider about the benefits and risks of statin therapy may be considered.
Intermediate Risk (7.5% to 19.9%): Lifestyle modifications are strongly recommended. Statin therapy is typically recommended for individuals in this range, especially if other risk factors are present.
High Risk (≥ 20%): Individuals in this category have a significantly elevated risk and generally warrant statin therapy along with aggressive lifestyle modifications.
Important Disclaimer
This calculator is an estimation tool and is intended for informational purposes only. It does not substitute for professional medical advice, diagnosis, or treatment. Always seek the advice of your physician or other qualified health provider with any questions you may have regarding a medical condition. Never disregard professional medical advice or delay in seeking it because of something you have read here. Individual risk factors and clinical judgment by a healthcare professional are paramount in making treatment decisions.
function calculateAscvdRisk() {
var age = parseFloat(document.getElementById("age").value);
var sex = parseInt(document.getElementById("sex").value); // 1 for Male, 0 for Female
var race = parseInt(document.getElementById("race").value); // 1 for White, 0 for African American
var systolicBp = parseFloat(document.getElementById("systolicBp").value);
var bpTreatment = parseInt(document.getElementById("bpTreatment").value); // 1 for Yes, 0 for No
var cholesterol = parseFloat(document.getElementById("cholesterol").value);
var hdlCholesterol = parseFloat(document.getElementById("hdlCholesterol").value);
var diabetes = parseInt(document.getElementById("diabetes").value); // 1 for Yes, 0 for No
var smoking = parseInt(document.getElementById("smoking").value); // 1 for Yes, 0 for No
var resultElement = document.getElementById("result");
resultElement.className = ""; // Reset classes
var riskScore = 0;
var exponent = 0;
// — Input Validation —
if (isNaN(age) || age 79 ||
isNaN(systolicBp) || systolicBp 200 ||
isNaN(cholesterol) || cholesterol 400 ||
isNaN(hdlCholesterol) || hdlCholesterol 100) {
resultElement.textContent = "Please enter valid numbers for all fields within the expected ranges.";
return;
}
// — Coefficients based on gender (simplified representation of the full ACC/AHA model) —
// These are approximate values to demonstrate calculation logic.
// The actual ACC/AHA pooled cohort equations use a more complex formula
// involving interaction terms and different coefficients for different groups.
// For a precise calculation, refer to the official ACC/AHA guidelines.
var beta_age, beta_sex, beta_sbp, beta_chol, beta_hdl, beta_smk, beta_dia, beta_hdl_smk;
if (sex === 1) { // Male
if (race === 1) { // White Male
beta_age = 4.3960;
beta_sex = 1; // Implicit in coefficients
beta_sbp = 0.0324;
beta_chol = 0.1164;
beta_hdl = -0.0742;
beta_smk = 0.7159;
beta_dia = 0.9394;
beta_hdl_smk = 0; // For males, often not a separate interaction term in simplified models
} else { // African American Male
beta_age = 4.3960;
beta_sex = 1; // Implicit in coefficients
beta_sbp = 0.0324;
beta_chol = 0.1164;
beta_hdl = -0.0742;
beta_smk = 0.7159;
beta_dia = 0.9394;
beta_hdl_smk = 0; // Placeholder
}
} else { // Female
if (race === 1) { // White Female
beta_age = 4.8980;
beta_sex = 1; // Implicit in coefficients
beta_sbp = 0.0292;
beta_chol = 0.1164;
beta_hdl = -0.1151;
beta_smk = 0.7159;
beta_dia = 0.9394;
beta_hdl_smk = 0; // Placeholder
} else { // African American Female
beta_age = 4.8980;
beta_sex = 1; // Implicit in coefficients
beta_sbp = 0.0292;
beta_chol = 0.1164;
beta_hdl = -0.1151;
beta_smk = 0.7159;
beta_dia = 0.9394;
beta_hdl_smk = 0; // Placeholder
}
}
// — Adjustments for medication and smoking —
var adjusted_sbp = systolicBp;
if (bpTreatment === 1) {
// Simplified adjustment for medication: assumes a reduction in effective SBP
// The actual model uses a separate term for medication.
// Here, we'll simulate by reducing SBP slightly for calculation.
// A more accurate approach would involve specific coefficients for medication.
adjusted_sbp = systolicBp – 10; // Example reduction
}
var adjusted_cholesterol = cholesterol;
var adjusted_hdl = hdlCholesterol;
// — Core Calculation (Simplified) —
// The actual ACC/AHA equations are more nuanced. This is a conceptual implementation.
// The main component involves calculating a weighted sum of the log-transformed risk factors.
var ls_age = Math.log(age);
var ls_sbp = Math.log(adjusted_sbp);
var ls_chol = Math.log(adjusted_cholesterol);
var ls_hdl = Math.log(adjusted_hdl);
var ls_smk = smoking; // Direct factor if smoking
var ls_dia = diabetes; // Direct factor if diabetes
var hs_term = 0; // Harmonized Score term (different for men/women, races)
if (sex === 1) { // Male
if (race === 1) { // White Male
hs_term = -19.136;
hs_term += 4.3960 * ls_age;
hs_term += 0.1164 * ls_chol;
hs_term += -0.0742 * ls_hdl;
hs_term += 0.0324 * ls_sbp;
if (smoking === 1) hs_term += 0.7159;
if (diabetes === 1) hs_term += 0.9394;
if (bpTreatment === 1) hs_term += 0.3669; // Added term for BP tx
} else { // African American Male
hs_term = -18.382;
hs_term += 4.3960 * ls_age;
hs_term += 0.1164 * ls_chol;
hs_term += -0.0742 * ls_hdl;
hs_term += 0.0324 * ls_sbp;
if (smoking === 1) hs_term += 0.7159;
if (diabetes === 1) hs_term += 0.9394;
if (bpTreatment === 1) hs_term += 0.3669; // Added term for BP tx
}
} else { // Female
if (race === 1) { // White Female
hs_term = -16.983;
hs_term += 4.8980 * ls_age;
hs_term += 0.1164 * ls_chol;
hs_term += -0.1151 * ls_hdl;
hs_term += 0.0292 * ls_sbp;
if (smoking === 1) hs_term += 0.7159;
if (diabetes === 1) hs_term += 0.9394;
if (bpTreatment === 1) hs_term += 0.3669; // Added term for BP tx
} else { // African American Female
hs_term = -17.059;
hs_term += 4.8980 * ls_age;
hs_term += 0.1164 * ls_chol;
hs_term += -0.1151 * ls_hdl;
hs_term += 0.0292 * ls_sbp;
if (smoking === 1) hs_term += 0.7159;
if (diabetes === 1) hs_term += 0.9394;
if (bpTreatment === 1) hs_term += 0.3669; // Added term for BP tx
}
}
// Calculate the 10-year risk percentage
var primary_event_rate = Math.exp(hs_term);
// Ensure risk score is not excessively high (cap at 100%)
riskScore = Math.min(primary_event_rate * 100, 100);
// — Display Result —
var resultText = "Your estimated 10-Year ASCVD Risk is: " + riskScore.toFixed(2) + "%";
resultElement.textContent = resultText;
// — Add Risk Level Class for Styling —
if (riskScore >= 20) {
resultElement.className = "high-risk";
} else if (riskScore >= 7.5) {
resultElement.className = "intermediate-risk";
} else {
resultElement.className = "low-risk";
}
}