ForHosting KIT · Health & fitness

TIMI STEMI risk score

A 72-year-old with low blood pressure, a fast pulse, Killip class II and anterior ST elevation scores 13 of 14 points, a published 30-day mortality of 35.9%. Eight bedside findings after an ST-elevation heart attack, for teaching. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Age
72
Systolic bp
92
Heart rate
108
Killip class
2
Weight
64
Time to treatment
5
You get
Score
13
Score max
14
Estimated mortality percent
35.9
Mortality horizon
30_day

The TIMI risk score for STEMI estimates thirty-day mortality after ST-elevation myocardial infarction from bedside findings a coronary-care team already records: age, history of diabetes hypertension or angina, systolic blood pressure, heart rate, Killip class, body weight, anterior ST elevation or left bundle-branch block, and hours to reperfusion. This calculator implements the published Morrow 2000 point table used in the InTIME-II trial, returning an integer score from zero to fourteen and the matching estimated thirty-day mortality percentage. The score is educational risk stratification, not a diagnosis, not a reperfusion decision, and not a substitute for a cardiologist.

What the TIMI STEMI score measures and which inputs you send

The TIMI risk score for ST-elevation myocardial infarction is an eight-item bedside score published by Morrow and colleagues in Circulation in 2000 from the InTIME-II fibrinolytic trial. It was designed so an emergency or coronary-care team could estimate thirty-day mortality from findings available at first medical contact, without waiting for laboratory panels or angiographic anatomy. Send eight required fields.

Age is years and must be a positive finite number; that is the contracted validation. Systolic blood pressure is millimetres of mercury at presentation. Heart rate is beats per minute.

Killip class is the integer 1, 2, 3, or 4, covering uncomplicated infarction, rales or a third heart sound, pulmonary oedema, and cardiogenic shock. Weight is kilograms. Time to treatment is hours from symptom onset to reperfusion therapy.

Identical inputs always yield the same integer score because the path is pure comparison with no network, no model, no random seed, and no wall clock.

How points add up and how thirty-day mortality is assigned

Each item contributes a published integer; the TIMI STEMI total is their sum, from zero in a young uncomplicated presentation without anterior elevation to a maximum of fourteen. Age under sixty-five scores zero, sixty-five through seventy-four scores two, and seventy-five or older scores three. History of diabetes, hypertension, or angina adds one point when true.

Systolic blood pressure strictly below one hundred millimetres of mercury adds three points. Heart rate strictly above one hundred beats per minute adds two points. Killip class two, three, or four adds two points; class one adds zero.

Weight strictly below sixty-seven kilograms adds one point. Anterior ST elevation or left bundle-branch block adds one point when true. Time to treatment strictly greater than four hours adds one point.

The published thirty-day mortality percentages are 0.8 at score zero, 1.6 at one, 2.2 at two, 4.4 at three, 7.3 at four, 12.4 at five, 16.1 at six, 23.4 at seven, 26.8 at eight, and 35.9 at scores above eight. Do not treat a high total as a diagnosis, a reason to withhold reperfusion, or a substitute for GRACE, angiography, or a clinician.

Practical bounds keep classroom numbers sane: age up to one hundred twenty years, systolic pressure forty to three hundred, heart rate one to three hundred, weight twenty to four hundred kilograms, and time to treatment up to one hundred sixty-eight hours.

Research eCRF and quality dashboards

Registries store a deterministic TIMI STEMI total next to presentation vitals so high-score rows can be filtered without re-coding the Morrow 2000 table in every extract.

Cardiology homework and LMS plugins

Students enter a STEMI vignette and compare their hand-scored points with the oracle; invalid age never looks like a successful screen.

What happens if age is zero, negative, or not a number?

Age must be a positive number (years); missing, non-finite, zero, and negative values are rejected and are not charged.

How is estimated mortality derived from the score?

The integer total 0–14 is looked up on the InTIME-II thirty-day mortality table: 0.8, 1.6, 2.2, 4.4, 7.3, 12.4, 16.1, 23.4, 26.8 percent for scores 0 through 8, and 35.9 percent for scores above 8. The horizon field is always 30_day.

Is a TIMI STEMI score a diagnosis or a treatment recommendation?

No. It is an educational risk-stratification score with published thirty-day mortality bands. It does not diagnose infarction, choose fibrinolysis versus PCI, or replace a cardiologist.

Is the TIMI STEMI risk score free?

The browser tool runs free on your device.

Which findings add the most points?

Systolic pressure below 100 mmHg and age 75 or over add 3 points each. A heart rate above 100 and Killip class II to IV add 2 each, as does age 65 to 74. Every other item adds 1 point.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/health/timi-stemi

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/health/timi-stemi \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"age":72,"history_dm_htn_angina":true,"systolic_bp":92,"heart_rate":108,"killip_class":2,"weight":64,"anterior_ste_or_lbbb":true,"time_to_treatment":5}'
{
  "age": 72,
  "history_dm_htn_angina": true,
  "systolic_bp": 92,
  "heart_rate": 108,
  "killip_class": 2,
  "weight": 64,
  "anterior_ste_or_lbbb": true,
  "time_to_treatment": 5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.timi_stemi",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Age must be a positive number; missing, non-finite, zero, or negative age fails with invalid_input and is not charged.

What the TIMI STEMI score measures and which inputs you send

This endpoint implements that table only: it does not compute the separate TIMI unstable-angina or NSTEMI score, GRACE, HEART, CRUSADE, or Zwolle scores, and it does not recommend fibrinolysis versus primary PCI. History of diabetes, hypertension, or angina is a boolean that scores one point when any of those three diagnoses is present. Anterior ST elevation or left bundle-branch block is a boolean for the electrocardiographic item. Aliases exist for each canonical name so older forms can map without renaming columns. Missing fields, non-finite numbers, unknown Killip values, malformed booleans, and any age that is not a positive number fail with invalid_input naming the field.

How points add up and how thirty-day mortality is assigned

On success the body echoes the eight parsed inputs with stable rounding, lists per-item points in breakdown, and returns score as the integer total, score_max of fourteen, estimated_mortality_percent from the InTIME-II table, mortality_horizon as 30_day, method timi_stemi, score_name TIMI STEMI, and a formula string restating the 2000 table. Use score for a single chip, estimated_mortality_percent for a caption, and breakdown for an audit trail.

API usage, pricing, product workflows, and educational limits

Call the free in-browser TIMI STEMI risk score for cardiology homework, simulation labs, and chart-review teaching without reimplementing the 2000 bands in every spreadsheet. Prefer consistent units: years, millimetres of mercury, beats per minute, Killip integers, kilograms, and hours. Keep expectations educational: a hypotensive, tachycardic, Killip-III anterior STEMI in an elderly patient needs a cardiologist and a reperfusion pathway, not an automated label alone. POST a JSON body with required age, history_dm_htn_angina, systolic_bp, heart_rate, killip_class, weight, anterior_ste_or_lbbb, and time_to_treatment. Aliases such as age_years, history, sbp, hr, killip, weight_kg, anterior_st, and hours_to_treatment are accepted when documented. Use the prepaid API when a health-education SaaS, electronic worksheet, research eCRF, or school LMS needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Store score and estimated_mortality_percent alongside the raw presentation vitals for dashboards, and export columns for the eight inputs, each point band, and the total. Authors shipping SDKs can map score into a badge and estimated_mortality_percent into a caption that quotes the formula string. The product never contacts a laboratory, never invents a random score, and never stamps a clock into the payload. Age that is not a positive number is rejected with invalid_input and is not billed.

Emergency and coronary-care teaching cases

Simulation labs submit age, history, vitals, Killip class, weight, ECG finding, and hours to treatment, then pin expected score and thirty-day mortality JSON in automated checkers.

What scoring system does this TIMI STEMI calculator use?

The TIMI risk score for STEMI published by Morrow and colleagues in 2000 from InTIME-II: integer points from age, diabetes/hypertension/angina history, systolic blood pressure, heart rate, Killip class, weight, anterior ST elevation or LBBB, and time to treatment, mapped to thirty-day mortality percentages.

Read the full KIT documentation →