# Blood Pressure Category Calculator

> Classifies a systolic/diastolic blood pressure reading into the ACC/AHA 2017 categories (normal, elevated, stage 1, stage 2, hypertensive crisis) and reports mean arterial and pulse pressure.

- Calculator id: `blood-pressure` · Category: Health (`health`) · Tool name: `classify_blood_pressure`
- Canonical page: https://tttkmbb.com/health/blood-pressure · This document: https://tttkmbb.com/health/blood-pressure.md · JSON definition: https://tttkmbb.com/health/blood-pressure.json

## Purpose

Classifies a systolic/diastolic blood pressure reading into the ACC/AHA 2017 categories (normal, elevated, stage 1, stage 2, hypertensive crisis) and reports mean arterial and pulse pressure.

**Use when:** You have a resting blood-pressure reading and want the standard adult category plus MAP and pulse pressure.

**Do not use when:** Diagnosing hypertension (requires repeated readings over time) or for children and pregnant women, who use different thresholds.

## Input

| Parameter | Type | Unit | Required | Description |
| --- | --- | --- | --- | --- |
| `systolic_mmhg` | number | mmHg | required | Upper reading. (min 50, max 300) |
| `diastolic_mmhg` | number | mmHg | required | Lower reading. (min 20, max 200) |

## Output

| Field | Type | Unit | Description |
| --- | --- | --- | --- |
| `category` | string |  | ACC/AHA 2017 blood pressure category. |
| `mean_arterial_pressure_mmhg` | number | mmHg | MAP ≈ diastolic + (systolic − diastolic) / 3. |
| `pulse_pressure_mmhg` | number | mmHg | Systolic − diastolic. |

## Formula

`Normal <120 and <80; Elevated 120–129 and <80; Stage 1: 130–139 or 80–89; Stage 2: ≥140 or ≥90; Crisis: >180 and/or >120. MAP = DBP + (SBP − DBP)/3.`

## Data Sources

- Whelton PK et al. (2018) 2017 ACC/AHA Guideline for High Blood Pressure in Adults, Hypertension 71:e13-e115 — https://www.ahajournals.org/doi/10.1161/HYP.0000000000000065 (standard, retrieved 2026-09-23)

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/blood-pressure?systolic_mmhg=…&diastolic_mmhg=…`
- `POST https://tttkmbb.com/api/v1/calculate/blood-pressure` 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/blood-pressure · OpenAPI operationId `classify_blood_pressure` 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": "blood-pressure", "inputs": {…}}`

## Example

- 118/76: inputs `{"systolic_mmhg":118,"diastolic_mmhg":76}` → `{"category":"Normal","mean_arterial_pressure_mmhg":90,"pulse_pressure_mmhg":42}`
- 135/85: inputs `{"systolic_mmhg":135,"diastolic_mmhg":85}` → `{"category":"Hypertension stage 1"}`
- 185/95: inputs `{"systolic_mmhg":185,"diastolic_mmhg":95}` → `{"category":"Hypertensive crisis (seek care immediately)"}`

```
GET https://tttkmbb.com/api/v1/calculate/blood-pressure?systolic_mmhg=118&diastolic_mmhg=76
```

## Limitations

Diagnosing hypertension (requires repeated readings over time) or for children and pregnant women, who use different thresholds. All values are computed from the formula above; no measurement or live data is involved.

## FAQ

**Do European guidelines differ?**

Yes. ESC/ESH define hypertension from 140/90 mmHg and use 'high-normal' for 130–139/85–89; this calculator uses the US ACC/AHA 2017 scheme.

## Related

- [Heart Rate Zone Calculator](https://tttkmbb.com/health/heart-rate-zones.md) — Related cardiovascular training metric.
