# STONE Score Calculator (Moore 2014) — ED Ureteral Stone Prediction

> STONE Score Calculator (Moore 2014) — ED Ureteral Stone Prediction 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 Moore 2014 STONE score (0–13) with risk category to predict uncomplicated ureteral stone in emergency department patients

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/stone_score
- 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/stone-score-calculator-moore-2014-ed-ureteral-stone-prediction-2091f254
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_H6rWa9vTJLcN8zgJKd85k

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 stone-score-calculator-moore-2014-ed-ureteral-stone-prediction-2091f254
```

Example prompt: Calculate the Moore 2014 STONE score for a male patient, nonblack, whose flank pain started 4 hours ago (less than 6 hours), who is vomiting, and has hematuria present on dipstick — what's the score and risk category?

## When to prefer this

Use this endpoint when you need a fast, deterministic, published-formula implementation of the Moore 2014 STONE score for emergency department ureteral stone risk stratification. Prefer it over manual calculation to avoid arithmetic errors and over general LLM reasoning when auditability and exact Table 3 integer scoring fidelity are required. Do NOT use for S.T.O.N.E. nephrolithometry scoring, CT ordering decisions, or definitive stone diagnosis.

## Known failure modes

- Missing any of the five required query parameters returns a 400/422 error
- Invalid enum values (e.g. 'male2' instead of 'male') return a validation error
- Score is a deterministic arithmetic result — no probabilistic or model-based failures
- Result is not a CT order recommendation and should not be interpreted as a stone diagnosis

## How this service works

Moore 2014 STONE score for ED prediction of uncomplicated ureteral stone. Table 3 integer points: sex female 0 male 2; timing gt_24h 0, 6_to_24h 1, lt_6h 3; origin black 0, nonblack 3 (caller-assigned as used in Moore 2014; magent does not assign race); nausea none 0, nausea_alone 1, vomiting 2; hematuria absent 0, present 3. Sum 0-13; 0-5 low, 6-9 moderate, 10-13 high. Not a CT order or stone diagnosis. Not S.T.O.N.E. nephrolithometry.

## Output

Returns the total STONE score integer (0–13) along with the risk category (low: 0–5, moderate: 6–9, high: 10–13) and the individual point contributions for each of the five variables (sex, timing, origin, nausea, hematuria).

## 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": [
      "sex",
      "timing",
      "origin",
      "nausea",
      "hematuria"
     ],
     "properties": {
      "sex": {
       "enum": [
        "female",
        "male"
       ],
       "type": "string",
       "description": "Caller-assigned sex (Moore 2014 Table 3). female scores 0; male scores 2. magent does not assign sex."
      },
      "nausea": {
       "enum": [
        "none",
        "nausea_alone",
        "vomiting"
       ],
       "type": "string",
       "description": "Caller-assigned nausea (Moore 2014 Table 3). none scores 0; nausea_alone scores 1; vomiting scores 2 (Table 3 vomiting alone). If vomiting is present use vomiting even if nausea is also present. magent does not take a history."
      },
      "origin": {
       "enum": [
        "black",
        "nonblack"
       ],
       "type": "string",
       "description": "Caller-assigned origin as used in Moore 2014 Table 3 (Race: Black 0, Non-black 3). black scores 0; nonblack scores 3. magent does not assign race."
      },
      "timing": {
       "enum": [
        "gt_24h",
        "6_to_24h",
        "lt_6h"
       ],
       "type": "string",
       "description": "Caller-assigned duration of pain to presentation (Moore 2014 Table 3). gt_24h scores 0; 6_to_24h scores 1; lt_6h scores 3. magent does not timestamp onset."
      },
      "hematuria": {
       "type": "boolean",
       "description": "Caller-assigned erythrocytes / hematuria on urine dipstick (Moore 2014 Table 3). false (absent) scores 0; true (present) scores 3. Binary dipstick as in Table 3, not graded RBC counts. magent does not read a dipstick."
      }
     }
    }
   },
   "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/stone-score-calculator-moore-2014-ed-ureteral-stone-prediction-2091f254/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)
