# CHA₂DS₂-VASc Score Calculator

> Scores stroke risk in non-valvular atrial fibrillation from age, sex, heart failure, hypertension, diabetes, prior stroke/TIA and vascular disease, and reports the adjusted annual stroke rate from the Euro Heart Survey (Lip 2010) plus the sex-free CHA₂DS₂-VA score.

- Calculator id: `cha2ds2-vasc-score` · Category: Medical & Clinical (`medical`) · Tool name: `calculate_cha2ds2_vasc_score`
- Canonical page: https://tttkmbb.com/medical/cha2ds2-vasc-score · This document: https://tttkmbb.com/medical/cha2ds2-vasc-score.md · JSON definition: https://tttkmbb.com/medical/cha2ds2-vasc-score.json

## Purpose

Scores stroke risk in non-valvular atrial fibrillation from age, sex, heart failure, hypertension, diabetes, prior stroke/TIA and vascular disease, and reports the adjusted annual stroke rate from the Euro Heart Survey (Lip 2010) plus the sex-free CHA₂DS₂-VA score.

**Use when:** You need the CHA₂DS₂-VASc (or CHA₂DS₂-VA) score and the associated published annual stroke risk for a person with atrial fibrillation.

**Do not use when:** The atrial fibrillation is valvular (moderate-to-severe mitral stenosis or mechanical valve), where anticoagulation is indicated regardless of score, or for bleeding risk (HAS-BLED is a different score).

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `age_years` | number | years | required | Age in years (65–74 scores 1, 75 and over scores 2). (min 18, max 120) |
| `sex` | enum: male \| female |  | required | Sex (female scores 1 point in CHA₂DS₂-VASc). |
| `congestive_heart_failure` | boolean |  | optional, default false | Clinical heart failure or reduced ejection fraction (1 point). |
| `hypertension` | boolean |  | optional, default false | Diagnosed hypertension or on treatment (1 point). |
| `diabetes` | boolean |  | optional, default false | Diabetes on diet or medication (1 point). |
| `stroke_tia_thromboembolism` | boolean |  | optional, default false | Any previous stroke, TIA or systemic embolism (2 points). |
| `vascular_disease` | boolean |  | optional, default false | Prior myocardial infarction, peripheral artery disease or aortic plaque (1 point). |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `score` | integer |  | Total points, 0–9. |
| `cha2ds2_va_score` | integer |  | Same score without the female-sex point (ESC 2024 variant), 0–8. |
| `annual_stroke_risk_percent` | number | %/year | Lip 2010 adjusted stroke/thromboembolism rate for the CHA₂DS₂-VASc score. |
| `risk_category` | string |  | Low (no non-sex risk factors), intermediate (one) or high (two or more). |
| `components` | string_list |  | Each criterion that contributed points. |

## Formula

`score = CHF (1) + hypertension (1) + age ≥ 75 (2) + diabetes (1) + stroke/TIA/thromboembolism (2) + vascular disease (1) + age 65–74 (1) + female sex (1); annual risk from the Lip 2010 table: 0 → 0, 1 → 1.3, 2 → 2.2, 3 → 3.2, 4 → 4.0, 5 → 6.7, 6 → 9.8, 7 → 9.6, 8 → 6.7, 9 → 15.2 %/year`

The Lip 2010 rates are adjusted theoretical rates from 1,084 Euro Heart Survey patients not on anticoagulation; the non-monotonic values at scores 7–8 reflect small numbers, and later cohorts (Friberg 2012) give different absolute rates. Results are informational only and not a substitute for clinical judgement or medical advice.

## Data Sources

- Lip GY et al. (2010) Refining clinical risk stratification for predicting stroke and thromboembolism in atrial fibrillation using a novel risk factor-based approach: the Euro Heart Survey on atrial fibrillation, Chest 137:263-272 — https://pubmed.ncbi.nlm.nih.gov/19762550/ (peer_reviewed, retrieved 2026-09-24)
- Wikipedia – CHA2DS2–VASc score — https://en.wikipedia.org/wiki/CHA2DS2%E2%80%93VASc_score (reference, retrieved 2026-09-24)

Data freshness: `static`. Deterministic formula with fixed constants; results never go stale. Inputs supplied by the caller determine the output.

## API

- `GET https://tttkmbb.com/api/v1/calculate/cha2ds2-vasc-score?age_years=…&sex=…`
- `POST https://tttkmbb.com/api/v1/calculate/cha2ds2-vasc-score` with JSON body `{"inputs": {…}}`
- Response: unified envelope (`success`, `request`, `result.values`, `result.units`, `sources`, `freshness`, `timestamp`, `next_actions`, `links`); see https://tttkmbb.com/docs/response-format.md
- Schema: https://tttkmbb.com/api/v1/calculators/cha2ds2-vasc-score · OpenAPI operationId `calculate_cha2ds2_vasc_score` in https://tttkmbb.com/openapi.json
- Authentication: none. Rate limit: fair use, see https://tttkmbb.com/docs/rate-limits.md.

## MCP

- Server: `https://tttkmbb.com/mcp` (Streamable HTTP, JSON-RPC 2.0, no auth)
- Tool:  `run_calculator` with `{"calculator_id": "cha2ds2-vasc-score", "inputs": {…}}`

## Example

- 70-year-old woman with hypertension: inputs `{"age_years":70,"sex":"female","hypertension":true}` → `{"score":3,"cha2ds2_va_score":2,"annual_stroke_risk_percent":3.2,"risk_category":"High (2 or more non-sex risk factors)"}`
- 80-year-old man with diabetes and prior stroke: inputs `{"age_years":80,"sex":"male","diabetes":true,"stroke_tia_thromboembolism":true}` → `{"score":5,"annual_stroke_risk_percent":6.7,"risk_category":"High (2 or more non-sex risk factors)"}`
- 50-year-old man, no risk factors: inputs `{"age_years":50,"sex":"male"}` → `{"score":0,"annual_stroke_risk_percent":0,"risk_category":"Low (no non-sex risk factors)"}`

```
GET https://tttkmbb.com/api/v1/calculate/cha2ds2-vasc-score?age_years=70&sex=female&hypertension=true
```

## Limitations

The atrial fibrillation is valvular (moderate-to-severe mitral stenosis or mechanical valve), where anticoagulation is indicated regardless of score, or for bleeding risk (HAS-BLED is a different score). The Lip 2010 rates are adjusted theoretical rates from 1,084 Euro Heart Survey patients not on anticoagulation; the non-monotonic values at scores 7–8 reflect small numbers, and later cohorts (Friberg 2012) give different absolute rates. Results are informational only and not a substitute for clinical judgement or medical advice. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Why does female sex count?**

In the original cohorts women had higher stroke rates, but sex is a risk modifier rather than an independent factor; the 2024 ESC guideline therefore recommends the CHA₂DS₂-VA score, which is also reported.

**Does the score decide anticoagulation?**

Guidelines use it as a threshold (generally offered at ≥2 non-sex points, considered at 1), balanced against bleeding risk and patient preference; that decision is clinical.

## Related

- [Blood Pressure Category Calculator](https://tttkmbb.com/health/blood-pressure.md) — Classify the hypertension criterion.
- [Age Calculator](https://tttkmbb.com/everyday/age.md) — Compute age from a birth date.
