# Campbell RDOS Calculator (Respiratory Distress Observation Scale)

> Campbell RDOS Calculator (Respiratory Distress Observation Scale) 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-14).

Computes the Campbell 2010 Respiratory Distress Observation Scale (RDOS) score (0–16) for patients unable to self-report dyspnea by summing eight caller-assigned 0–2 integer subscores.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/rdos
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/campbell-rdos-calculator-respiratory-distress-observation-scale-d00f0584
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_9Pdm4fAwAmJQWA5Er_ujc

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 campbell-rdos-calculator-respiratory-distress-observation-scale-d00f0584
```

Example prompt: Calculate the RDOS score for my patient: heart rate points 2, respiratory rate points 1, restlessness 1, paradoxical breathing 0, accessory muscle use 2, grunting 0, nasal flaring 0, look of fear 1.

## When to prefer this

Use this endpoint when you need to programmatically compute a Campbell 2010 RDOS total score from eight pre-assigned observer subscores for a non-verbal patient. It is the right choice when a clinician or care system has already mapped observations to the 0–2 Campbell scale points and simply needs the arithmetic sum validated and returned. Do not use it to convert raw heart rate or respiratory rate values into subscores — that binning must be done by the caller before submission.

## Known failure modes

- Missing required subscore parameter returns a 400-level error
- Non-integer or out-of-range values (outside 0–2) for any subscore cause a validation error
- Payment failure (x402) if USDC payment is not provided or insufficient
- Server error (5xx) if the API is unavailable

## How this service works

Campbell 2010 RDOS for patients unable to self-report dyspnea. Eight caller-assigned 0-2 integers (heart_rate, respiratory_rate, restlessness, paradoxical_breathing, accessory_muscle_use, grunting, nasal_flaring, look_of_fear). magent sums only (max 16); does not convert raw heart or respiratory rate or observe the patient. Campbell 2010 published the 0-16 instrument; magent does not apply later cutoff papers. Not a medical device and not an opioid or oxygen order.

## Output

Returns a single integer RDOS total score between 0 and 16, which is the arithmetic sum of the eight caller-assigned subscores. Does not interpret the score against cutoff thresholds from later publications, does not convert raw physiological measurements into subscores, and does not produce clinical recommendations or medication 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": [
      "heart_rate",
      "respiratory_rate",
      "restlessness",
      "paradoxical_breathing",
      "accessory_muscle_use",
      "grunting",
      "nasal_flaring",
      "look_of_fear"
     ],
     "properties": {
      "grunting": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 grunting at end-expiration (guttural sound) points (integer 0-2). Paper scores 0 none or 2 present; there is no 1-point cell. magent does not observe the patient."
      },
      "heart_rate": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 heart_rate points (integer 0-2). Paper bins: ≤90 beats/min → 0; 91–110 → 1; ≥111 → 2. magent does not convert raw beats/min and does not observe the patient."
      },
      "look_of_fear": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 look_of_fear points (integer 0-2). Paper scores 0 none or 2 eyes wide open, facial muscles tense, brow furrowed, mouth open, teeth together; there is no 1-point cell. magent does not observe the patient."
      },
      "restlessness": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 restlessness (nonpurposeful movements) points (integer 0-2): 0 none; 1 occasional, slight movements; 2 frequent movements. magent does not observe the patient."
      },
      "nasal_flaring": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 nasal_flaring (involuntary movement of nares) points (integer 0-2). Paper scores 0 none or 2 present; there is no 1-point cell. magent does not observe the patient."
      },
      "respiratory_rate": {
       "type": "integer",
       "description": "Caller-assigned Campbell 2010 respiratory_rate points (integer 0-2). Paper bins: ≤18 breaths/min → 0; 19–28 → 1; ≥29 → 2. magent does not convert raw breaths/min and does not observe the patient."
      },
      "access
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/campbell-rdos-calculator-respiratory-distress-observation-scale-d00f0584/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)
