Ottawa COPD Risk Scale (Stiell 2014 derivation)
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.
Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.
Endpoint
POST https://api.magentlab.com/api/calc/ottawa_copd
| Category | Everything else |
|---|---|
| Provider host | api.magentlab.com |
| Networks | eip155:8453 |
| Payment schemes | exact |
| Self-reported calls, 30 days | 0 from 0 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 2026-09-28 | valid payment request | 402 | $0.007 | 315 ms |
Example input (from the provider)
{
"body": {
"items": [
{
"cabg": false,
"hemoglobin_lt_100": false,
"hr_arrival_ge_110": false,
"intubation_respiratory": false,
"ischemic_ecg": false,
"pulmonary_congestion": false,
"pvd_intervention": false,
"serum_co2_ge_35": false,
"too_ill_to_walk": false,
"urea_ge_12": false
},
{
"cabg": false,
"hemoglobin_lt_100": false,
"hr_arrival_ge_110": false,
"intubation_respiratory": false,
"ischemic_ecg": false,
"pulmonary_congestion": false,
"pvd_intervention": false,
"serum_co2_ge_35": false,
"too_ill_to_walk": false,
"urea_ge_12": false
}
]
},
"method": "POST",
"type": "http"
}
Promised output schema (from the provider)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"additionalProperties": false,
"properties": {
"items": {
"items": {
"properties": {
"cabg": {
"description": "Prior coronary artery bypass graft as assigned by the caller (Stiell 2014; 1 point if true). true or false.",
"type": "boolean"
},
"hemoglobin_lt_100": {
"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.",
"type": "boolean"
},
"hr_arrival_ge_110": {
"description": "Heart rate on ED arrival >=110/min as assigned by the caller after applying the Stiell 2014 cutoff (2 points if true). true or false. magent does not measure heart rate.",
"type": "boolean"
},
"intubation_respiratory": {
"description": "Intubation for respiratory distress as assigned by the caller (Stiell 2014; 2 points if true). true or false.",
"type": "boolean"
},
"ischemic_ecg": {
"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.",
"type": "boolean"
},
"pulmonary_congestion": {
"description": "Pulmonary congestion on chest radiograph as assigned by the caller (Stiell 2014; 1 point if true). true or false. magent does not read the chest radiograph.",
"type": "boolean"
},
"pvd_intervention": {
"description": "Peripheral vascular disease intervention as assigned by the caller (Stiell 2014; 1 point if true). true or false.",
"type": "boolean"
},
"serum_co2_ge_35": {
"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.",
"type": "boolean"
},
"too_ill_to_walk": {
"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.",
"type": "boolean"
},
"urea_ge_12": {
"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.",
"type": "boolean"
}
},
"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"
],
"type": "object"
},
"maxItems": 25,
"minItems": 1,
"type": "array"
}
},
"required": [
"items"
],
"type": "object"
},
"headers": {
"additionalProperties": {
"type": "string"
},
"type": "object"
},
"method": {
"const": "POST",
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}