# Roth Score Calculator (Chorin 2016)

> Roth Score Calculator (Chorin 2016) 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).

Calculates the Roth score from a counting test: echoes max_count and counting_time, and flags clinically notable thresholds from the Chorin 2016 paper's Table 2.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/roth
- 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/roth-score-calculator-chorin-2016-c5a32d4b
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_41xDhBKqrCtuBfBRp0TH3

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 roth-score-calculator-chorin-2016-c5a32d4b
```

Example prompt: The patient counted to 22 in a single breath and it took 14.3 seconds — can you run the Chorin 2016 Roth score and tell me which thresholds, if any, are flagged?

## When to prefer this

Use this endpoint when you need to apply the specific Chorin 2016 Roth score thresholds (Table 2 flags) to a completed counting test and want an authoritative, versioned clinical calculator. Do not use if you need a hypoxia classification, the 2021 general-practice Roth cutoffs, or if the patient has not yet performed the counting test — the endpoint does not administer or time the test itself.

## Known failure modes

- max_count outside 1–30 range returns validation error
- counting_time_seconds ≤0 or >60 returns validation error
- Missing required parameters returns error
- Non-integer max_count returns schema validation error

## How this service works

Chorin 2016 Roth score: caller max_count (integer 1-30, highest number reached counting 1 to 30 in one breath) and counting_time_seconds (greater than 0, at most 60). Echoes both; time to 1 decimal. Flags quote Table 2/discussion: max_count <10, counting_time <7 s, max_count <7, counting_time <5 s. Not a hypoxia class or 2021 general-practice cutoff. Not a medical device. magent does not time the patient.

## Output

Returns the echoed max_count and counting_time_seconds (rounded to 1 decimal place), plus boolean flags for the four clinically notable thresholds from Chorin 2016 Table 2: max_count <10, counting_time <7 s, max_count <7, counting_time <5 s. Does not assign a hypoxia class or apply 2021 general-practice cutoffs.

## 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": [
      "max_count",
      "counting_time_seconds"
     ],
     "properties": {
      "max_count": {
       "type": "integer",
       "description": "Highest number reached counting 1 to 30 in one breath (integer 1-30). Caller supplies the count. magent does not administer the count."
      },
      "counting_time_seconds": {
       "type": "number",
       "description": "Elapsed seconds from 1 until the highest number reached (greater than 0 and at most 60). Caller supplies the stopwatch reading. magent does not time the patient."
      }
     }
    }
   },
   "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/roth-score-calculator-chorin-2016-c5a32d4b/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)
