# Ottawa COPD Risk Scale Calculator (Stiell 2014)

> Ottawa COPD Risk Scale Calculator (Stiell 2014) is a paid API for AI agents from api.magentlab.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Computes the Ottawa COPD Risk Scale score from ten caller-assigned clinical flags and returns a risk band (low/medium/high/very high) with corresponding SAE percentages.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/ottawa_copd
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ottawa-copd-risk-scale-calculator-stiell-2014-b67520fa
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_g1yfqPSRVzCtTeJSOXur4

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ottawa-copd-risk-scale-calculator-stiell-2014-b67520fa
```

Example prompt: Calculate the Ottawa COPD Risk Scale (Stiell 2014) for this patient: no prior CABG, no PVD intervention, no prior intubation, heart rate on arrival was 95 so HR>=110 is false, too ill to walk is true, no ischemic ECG changes, no pulmonary congestion on CXR, hemoglobin is 110 so Hb<100 is false, urea is 14 so urea>=12 is true, and serum CO2 is 32 so CO2>=35 is false — what's the score and risk band?

## When to prefer this

Use this endpoint when you need to compute the Ottawa COPD Risk Scale specifically per the Stiell 2014 derivation — not BAP-65, not DECAF, and not the 2018 validation formula. Ideal when all ten clinical flags have already been assessed by a clinician and you need the arithmetic scoring and risk-band lookup done programmatically.

## Known failure modes

- Missing required boolean query parameter returns validation error
- Non-boolean value passed to a flag field causes schema rejection
- Network timeout on rare high-latency calls
- Score returned without clinical context may be misapplied if caller-assigned flags are inaccurate (garbage-in)

## How this service works

Ottawa COPD Risk Scale (Stiell 2014 derivation). Ten caller-assigned flags: CABG 1, PVD intervention 1, intubation 2, arrival HR >=110 2, too ill to walk or HR >=120 (SaO2 <90%) 2, ischemic ECG 2, CXR congestion 1, Hb <100 g/L 3, urea >=12 1, serum CO2 >=35 1; max 16. Bands low/medium/high/very high with Table 8 SAE percents when published. Not a medical device or admission order; not BAP-65 or DECAF; not the 2018 validation as formula. magent does not walk the patient or read the ECG or CXR.

## Output

Returns the numeric Ottawa COPD Risk Score (0–16), the risk band classification (low, medium, high, or very high), and the corresponding Table 8 SAE percentage from the Stiell 2014 derivation study. Does not provide admission orders or device-grade clinical decisions.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "cabg",
      "pvd_intervention",
      "intubation_respiratory",
      "hr_arrival_ge_110",
      "too_ill_to_walk",
      "ischemic_ecg",
      "pulmonary_congestion",
      "hemoglobin_lt_100",
      "urea_ge_12",
      "serum_co2_ge_35"
     ],
     "properties": {
      "cabg": {
       "type": "boolean",
       "description": "Prior coronary artery bypass graft as assigned by the caller (Stiell 2014; 1 point if true). true or false."
      },
      "urea_ge_12": {
       "type": "boolean",
       "description": "Urea >=12 mmol/L as assigned by the caller after applying the Stiell 2014 cutoff (1 point if true). true or false. magent does not assay urea."
      },
      "ischemic_ecg": {
       "type": "boolean",
       "description": "Acute ischemic changes on ECG as assigned by the caller (Stiell 2014; 2 points if true). true or false. magent does not interpret the ECG."
      },
      "serum_co2_ge_35": {
       "type": "boolean",
       "description": "Serum CO2 >=35 mmol/L as assigned by the caller after applying the Stiell 2014 cutoff (1 point if true). true or false. magent does not assay CO2."
      },
      "too_ill_to_walk": {
       "type": "boolean",
       "description": "Too ill to do the walk test after ED treatment, or heart rate >=120/min with SaO2 <90%, as assigned by the caller (Stiell 2014; one 2-point item, not two). true or false. magent does not walk the patient."
      },
      "pvd_intervention": {
       "type": "boolean",
       "description": "Peripheral vascular disease intervention as assigned by the caller (Stiell 2014; 1 point if true). true or false."
      },
      "hemoglobin_lt_100": {
       "type": "boolean",
       "description": "Hemoglobin <100 g/L as assigned by the caller after applying the Stiell 2014 cutoff (3 points if true). true or false. magent does not assay hemoglobin."
      },
      "hr_arrival_ge_110": {
       "type": "boolean",

… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "path": "/api/calc/ottawa_copd",
  "count": 2,
  "items": [
   {
    "score": 0,
    "formula": "ottawa_copd",
    "citation": {
     "id": "stiell-2014",
     "doi": "10.1503/cmaj.130968",
     "pmid": "24549463",
     "title": "Clinical characteristics associated with adverse events in patients with exacerbation of chronic obstructive pulmonary disease: a prospective cohort study",
     "source": "CMAJ. 2014;186(6):E193-E204",
     "authors": "Stiell IG, Clement CM, Aaron SD, Rowe BH, Perry JJ, Brison RJ, Calder LA, Lang E, Borgundvaag B, Forster AJ, Wells GA"
    },
    "max_score": 16,
    "components": [
     {
      "factor": "cabg",
      "points": 0,
      "present": false
     },
     {
      "factor": "pvd_intervention",
      "points": 0,
      "present": false
     },
     {
      "factor": "intubation_respiratory",
      "points": 0,
      "present": false
     },
     {
      "factor": "hr_arrival_ge_110",
      "points": 0,
      "present": false
     },
     {
      "factor": "too_ill_to_walk",
      "points": 0,
      "present": false
     },
     {
      "factor": "ischemic_ecg",
      "points": 0,
      "present": false
     },
     {
      "factor": "pulmonary_congestion",
      "points": 0,
      "present": false
     },
     {
      "factor": "hemoglobin_lt_100",
      "points": 0,
      "present": false
     },
     {
      "factor": "urea_ge_12",
      "points": 0,
      "present": false
     },
     {
      "factor": "serum_co2_ge_35",
      "points": 0,
      "present": false
     }
    ],
    "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
    "sae_percent": 2.2,
    "ottawa_copd_band": "low",
    "formula_expression": "ottawa_copd = cabg(1) + pvd_intervention(1) + intubation_respiratory(2) + hr_arrival_ge_110(2) + too_ill_to_walk(2) + ischemic_ecg(2) + pulmonary_congestion(1) + hemoglobin_lt_100(3) + urea_ge_12(1) + serum_co2_ge_35(1); Stiell 2014 derivation Tables 6-8; max 16; SAE 2.2% (score 0) to 91.4% (score 10); score 9 and >10 SAE not published; admission thresholds of total score 1, 2, or 3 had sensitivities 91.2 / 80.9 / 60.3%"
   },
   {
    "score": 0,
    "formula": "ottawa_copd",
    "citation": {
     "id": "stiell-2014",
     "doi": "10.1503/cmaj.130968",
     "pmid": "24549463",
     "title": "Clinical characteristics associated
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ottawa-copd-risk-scale-calculator-stiell-2014-b67520fa/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.magentlab.com](https://www.zero.xyz/host/api.magentlab.com/llms.txt)
