# qCSI Calculator (Quick COVID-19 Severity Index)

> qCSI Calculator (Quick COVID-19 Severity Index) 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 Haimovich 2020 qCSI score (0–12) from respiratory rate, SpO2, and nasal-cannula oxygen flow, following the published Table 2 bedside points.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/qcsi
- 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/qcsi-calculator-quick-covid-19-severity-index-b9e613bb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_WFjGR_zN-U8JpxyR8AABs

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 qcsi-calculator-quick-covid-19-severity-index-b9e613bb
```

Example prompt: Calculate the qCSI score for a patient with a respiratory rate of 26 breaths per minute, an SpO2 of 90%, and nasal-cannula oxygen flow of 3 L/min.

## When to prefer this

Use this endpoint when you need a fast, deterministic bedside qCSI computation following the exact Haimovich 2020 Table 2 point mapping, and your patient is on ≤6 L/min nasal cannula. Prefer it over manual lookup tables or the full 12-variable CSI gradient-boosting model when a simple, reproducible integer score from three vitals is sufficient. Not appropriate if the patient requires >6 L/min, uses a non-nasal-cannula device, or if you need COVID-19 diagnostic output.

## Known failure modes

- Missing required parameter (respiratory_rate, spo2_percent, or oxygen_l_min) → validation error
- oxygen_l_min > 6 → outside derivation cohort, result may be unreliable or rejected
- respiratory_rate outside 4–80 or spo2_percent outside 50–100 → schema validation failure
- Non-integer respiratory_rate → type error
- Payment not provided or x402 authorization fails → 402 Payment Required

## How this service works

Haimovich 2020 qCSI (Table 2 bedside points): RR ≤22 → 0, 23–28 → 1, >28 → 2; SpO2 >92 → 0, 89–92 → 2, ≤88 → 5; O2 ≤2 L/min → 0, 3–4 → 4, 5–6 → 5. Max 12. Lowest SpO2 and nasal-cannula flow as assigned by the caller. Not a COVID-19 diagnosis, triage order, or the 12-variable CSI gradient-boosting model. Derivation excluded >6 L/min. magent does not measure vitals.

## Output

Returns a numeric qCSI score between 0 and 12, derived from the summed Table 2 points for respiratory rate (≤22→0, 23–28→1, >28→2), SpO2 (>92→0, 89–92→2, ≤88→5), and nasal-cannula oxygen flow (≤2 L/min→0, 3–4→4, 5–6→5). Higher scores indicate greater respiratory severity. Does not diagnose COVID-19 or produce triage orders.

## 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": [
      "respiratory_rate",
      "spo2_percent",
      "oxygen_l_min"
     ],
     "properties": {
      "oxygen_l_min": {
       "type": "number",
       "description": "Nasal-cannula oxygen flow in L/min (0-6). Haimovich 2020 Table 2: ≤2 → 0, 3-4 → 4, 5-6 → 5. Derivation excluded >6 L/min. magent does not measure flow."
      },
      "spo2_percent": {
       "type": "number",
       "description": "Lowest SpO2 percent as assigned by the caller (50-100). Haimovich 2020 Table 2: >92 → 0, 89-92 → 2, ≤88 → 5. magent does not measure SpO2."
      },
      "respiratory_rate": {
       "type": "integer",
       "description": "Respiratory rate in breaths/min (integer 4-80). Haimovich 2020 Table 2: ≤22 → 0, 23-28 → 1, >28 → 2. magent does not measure vitals."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/qcsi-calculator-quick-covid-19-severity-index-b9e613bb/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)
