ForHosting KIT · Health & fitness

SOFA score calculator

Grade six organ systems from 0 to 4 and add them up: ratio 250, platelets 80, bilirubin 2.4, mean pressure under 70, Glasgow 14 and creatinine 1.5 give a SOFA total of 9 out of 24. 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
Pao2 fio2
250
Platelets
80
Bilirubin
2.4
Hypotension
map_lt_70
Gcs
14
Creatinine
1.5
You get
Respiration points
2
Coagulation points
2
Liver points
2
Cardiovascular points
1

The Sequential Organ Failure Assessment score, known as SOFA, grades six organ systems from zero to four and adds those integers to a total from zero to twenty-four. Intensive-care teaching, sepsis research, and worksheet authors use it to summarise respiration, coagulation, liver, cardiovascular, central-nervous-system, and renal status from a short panel of bedside and laboratory values. This capability implements the published Vincent tables as a pure function: you send a PaO2/FiO2 ratio, a platelet count, a bilirubin, a cardiovascular hypotension category, a Glasgow Coma Scale, and a creatinine, and you receive each organ subscore together with the summed total. A value outside its clinical range is rejected with invalid input rather than being clipped or guessed.

How the SOFA score is defined

SOFA is the Sequential Organ Failure Assessment published by Vincent and colleagues and later adopted as the organ-dysfunction limb of the Sepsis-3 definitions. The published rule grades six systems independently from zero to four and sums them, with no age term, no weighting, and no lactate. Respiration uses the PaO2/FiO2 ratio in millimetres of mercury: four hundred or greater scores zero, below four hundred scores one, below three hundred scores two, below two hundred scores three, and below one hundred scores four.

Coagulation uses the platelet count in thousands per microlitre, with cutoffs at one hundred fifty, one hundred, fifty, and twenty. Liver uses total bilirubin in milligrams per decilitre, with cutoffs at 1.2, 2.0, 6.0, and 12.0.

Cardiovascular uses the published hypotension ladder rather than mean arterial pressure alone: no hypotension scores zero, mean arterial pressure below seventy millimetres of mercury scores one, dopamine at five micrograms per kilogram per minute or less or any dobutamine scores two, dopamine above five or epinephrine or norepinephrine at 0.1 or less scores three, and dopamine above fifteen or epinephrine or norepinephrine above 0.1 scores four.

Central nervous system uses the Glasgow Coma Scale: fifteen scores zero, thirteen to fourteen scores one, ten to twelve scores two, six to nine scores three, and three to five scores four. Renal uses serum creatinine in milligrams per decilitre, with cutoffs at 1.2, 2.0, 3.5, and 5.0. Adding the six integers produces a total from zero through twenty-four.

A total of two or greater is commonly taught as organ dysfunction in the Sepsis-3 sense, not as a diagnosis and not as a replacement for qSOFA, NEWS2, or a clinician. This capability implements those inclusive published thresholds exactly. It does not convert bilirubin to micromoles, does not ingest urine output, and does not apply SIRS heart-rate or white-cell criteria.

Inputs must be finite and inside the clinical range declared for each field. A Glasgow Coma Scale of sixteen cannot represent that scale and fails with invalid input rather than being silently clipped to fifteen. Always frame outputs as educational scores from the published SOFA tables, not as a clinical diagnosis or a substitute for professional judgment, continuous monitoring, or local treatment protocols.

Where SOFA calculators show up in real work

Critical-care education, nursing orientation, and physician-assistant courses constantly assign SOFA drills from textbook laboratory panels, so a single trusted oracle that returns the integer beside each organ subscore speeds grading and demo setup. Simulation centres and electronic worksheet products want a documented six-parameter path that clients can audit by hand rather than a black-box risk model that mixes lactate, white cells, and urine output without disclosure.

Research assistants preparing synthetic ICU datasets need stable SOFA labels from known panels without network calls or model drift, and they need a hard reject when a Glasgow Coma Scale arrives outside three to fifteen so dirty extracts cannot masquerade as scores. If you later need the three-point qSOFA bedside screen, NEWS2, SIRS, APACHE, or a urine-output renal limb, treat those as separate search intents and landings rather than overloading this Sequential Organ Failure Assessment page.

Always present results as educational estimates from the published six-system tables; clinical decisions require qualified professionals, a suspected-infection context this tool does not collect, and protocols that may escalate care when the score is two or greater. Keep requests small, pin the integer score and the six component points in tests, and you get reproducible SOFA figures for homework, LMS plugins, and edge workers without standing up a clinical information system of your own.

Classroom SOFA answer keys

Generate the 0–24 total and six organ subscores from textbook PaO2/FiO2, platelets, bilirubin, hypotension category, GCS, and creatinine so instructors and auto-graders share one transparent ground truth.

Sepsis-3 organ-dysfunction drills

Show the six Vincent SOFA tables in teaching labs without mixing qSOFA, NEWS2, or APACHE on the same landing.

What is the SOFA score?

SOFA is the Sequential Organ Failure Assessment. It grades six organ systems (respiration, coagulation, liver, cardiovascular, CNS, and renal) from 0 to 4 each and adds them to an integer total from 0 to 24.

What formula do you use?

SOFA = respiration + coagulation + liver + cardiovascular + CNS + renal, each 0–4 from the published Vincent cutoffs.

What happens if a parameter is out of clinical range?

Values are never clipped: PaO2/FiO2 must be 0–800 mmHg, platelets 0–2000 ×10^3/μL, bilirubin 0–60 mg/dL, GCS an integer 3–15, and creatinine 0–30 mg/dL.

What does it cost?

The browser tool is free and runs locally.

What SOFA score counts as organ dysfunction?

A total of 2 or more is commonly taught as organ dysfunction in the Sepsis-3 sense. It is a teaching threshold, not a diagnosis, and it does not replace a clinician's assessment of the patient.

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/sofa-score

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/sofa-score \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"pao2_fio2":250,"platelets":80,"bilirubin":2.4,"hypotension":"map_lt_70","gcs":14,"creatinine":1.5}'
{
  "pao2_fio2": 250,
  "platelets": 80,
  "bilirubin": 2.4,
  "hypotension": "map_lt_70",
  "gcs": 14,
  "creatinine": 1.5
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "health.sofa_score",
  "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.

Successful API calls use the published $0.002 per item; invalid input is not billed.

How the SOFA score is defined

The computation is pure comparison and addition with no network calls, no random seeds, no wall-clock timestamps, and no model drift, so identical panels always yield identical JSON.

What you send and what you get back

Send six required fields, one for each organ system. Inclusive cutoffs matter at the edges: a ratio of four hundred scores respiratory zero, and a creatinine of 1.2 scores renal one. The field pao2_fio2 is the PaO2/FiO2 ratio in millimetres of mercury and must be a finite number from zero through eight hundred; aliases pf_ratio, pao2_fi_o2, respiratory, and p_f_ratio are accepted. The field platelets is the platelet count in thousands per microlitre and must be a finite number from zero through two thousand; aliases platelet_count, plt, and platelets_k are accepted. The field bilirubin is total bilirubin in milligrams per decilitre and must be a finite number from zero through sixty; aliases bili, total_bilirubin, and bilirubin_mg_dl are accepted. The field hypotension is the cardiovascular ladder and must be one of none, map_lt_70, dopamine_le_5, dopamine_gt_5, or dopamine_gt_15; aliases cardiovascular, cv, vaso, and hypotension_category are accepted. The field gcs is the Glasgow Coma Scale and must be an integer from three through fifteen; aliases glasgow, glasgow_coma_scale, and gcs_total are accepted. The field creatinine is serum creatinine in milligrams per decilitre and must be a finite number from zero through thirty; aliases creat, serum_creatinine, and cr are accepted. Missing required fields, empty strings, non-numeric text, NaN, Infinity, an unknown hypotension token, and any value outside its clinical range fail with invalid_input and are not charged. On success the response echoes the cleaned inputs, reports respiration_points, coagulation_points, liver_points, cardiovascular_points, cns_points, and renal_points as integers from zero to four, reports score as their integer sum from zero to twenty-four, sets organ_dysfunction true when the score is two or greater, and includes unit_pao2_fio2 as mmHg, unit_platelets as 10^3/uL, unit_bilirubin and unit_creatinine as mg/dL, plus formula and method strings for display and for pinning in tests. A mixed teaching panel of two hundred fifty, eighty, 2.4, map_lt_70, fourteen, and 1.5 yields nine points. A worst-band panel of fifty, ten, fifteen, dopamine_gt_15, three, and six yields twenty-four. Pricing for successful API calls is the published $0.002 per item; validation failures do not consume prepaid balance.

Where SOFA calculators show up in real work

Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Deterministic ICU fixtures

Bulk-produce stable SOFA labels for synthetic laboratory datasets and regression tests, with hard invalid_input when any parameter is out of clinical range.

How do I format the input?

Send pao2_fio2, platelets, bilirubin, and creatinine as finite numbers, gcs as an integer 3–15, and hypotension as one of none, map_lt_70, dopamine_le_5, dopamine_gt_5, or dopamine_gt_15. Aliases such as pf_ratio, plt, bili, cv, glasgow, and creat are accepted.

Read the full KIT documentation →