# Sudbury Vertigo Score Calculator (Ohle 2025)

> Sudbury Vertigo Score Calculator (Ohle 2025) 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 Ohle 2025 Sudbury ED vertigo score from six clinical flags and returns the numeric score, risk band, and whether further investigation is indicated.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/sudbury_vertigo
- 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/sudbury-vertigo-score-calculator-ohle-2025-c1a57adb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fM7AL6HZiaqyRcjDgymVX

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 sudbury-vertigo-score-calculator-ohle-2025-c1a57adb
```

Example prompt: Calculate the Sudbury vertigo score for a male patient who is over 65, has hypertension, has cerebellar signs, no motor or sensory deficit, no diabetes, and no BPPV diagnosis — and tell me if further investigation is recommended.

## When to prefer this

Use this endpoint when you need a fast, automated computation of the Ohle 2025 Sudbury ED vertigo score from pre-assessed clinical flags. It is purpose-built for this specific scoring rule and returns structured risk bands and investigation guidance. It does not replace clinical examination, CT ordering decisions, HINTS exam, or stroke diagnosis — use it only to apply the published scoring table to caller-supplied findings.

## Known failure modes

- Missing required query parameter returns validation error
- Invalid enum value for sex (e.g. sending 'M' instead of 'male') causes rejection
- Sending numeric years for age_gt_65 instead of a boolean causes schema failure
- Payment failure (402) if x402 payment header is missing or insufficient
- Score not clamped at minimum — large negative scores possible if BPPV is true and other flags are absent

## How this service works

Ohle 2025 Sudbury vertigo ED score (Table 2): male 1, age>65 flag 1, diabetes 1, hypertension 3, motor or sensory deficit 5, cerebellar signs 6, BPPV -5. Returns score (female+BPPV -5, not clamped), max 17, Table 3 bands lt_5 / 5_to_8 / gt_8 (0.0 / 2.1 / 41.0%), and investigate_further if score >4. Not a medical device, stroke diagnosis, CT order, HINTS, or HINTS-plus. magent does not examine the patient. Age is the age>65 flag, not years.

## Output

Returns the integer Sudbury vertigo score (unclamped, max 17), the risk band label (lt_5, 5_to_8, or gt_8) with its associated stroke probability (0.0%, 2.1%, or 41.0%), and a boolean investigate_further flag that is true when score exceeds 4.

## 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",
      "age_gt_65",
      "diabetes",
      "hypertension",
      "motor_or_sensory_deficit",
      "cerebellar_signs",
      "bppv_diagnosis"
     ],
     "properties": {
      "sex": {
       "enum": [
        "female",
        "male"
       ],
       "type": "string",
       "description": "female or male (Ohle 2025 Table 2). Male scores 1. Female scores 0. Assigned by the caller. Do not send a male boolean."
      },
      "diabetes": {
       "type": "boolean",
       "description": "Diabetes as assigned by the caller (Ohle 2025 Table 2). true or false. 1 point if true. magent does not examine the patient."
      },
      "age_gt_65": {
       "type": "boolean",
       "description": "Age greater than 65 as a published yes/no flag (Ohle 2025 Table 2). true scores 1. Age 65 scores 0. true or false. Do not send years. magent does not measure age."
      },
      "hypertension": {
       "type": "boolean",
       "description": "Hypertension as assigned by the caller (Ohle 2025 Table 2). true or false. 3 points if true. magent does not measure blood pressure."
      },
      "bppv_diagnosis": {
       "type": "boolean",
       "description": "BPPV diagnosis as assigned by the caller (Ohle 2025 Table 2). true or false. -5 points if true. magent does not examine the patient."
      },
      "cerebellar_signs": {
       "type": "boolean",
       "description": "Cerebellar signs as assigned by the caller (Ohle 2025 Table 2 footnote: diplopia, dysarthria, dysphagia, dysmetria, ataxia). true or false. 6 points if true. magent does not examine the patient."
      },
      "motor_or_sensory_deficit": {
       "type": "boolean",
       "description": "Motor or sensory deficit as assigned by the caller (Ohle 2025 Table 2). true or false. 5 points if true. magent does not examine the patient."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object"
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/sudbury-vertigo-score-calculator-ohle-2025-c1a57adb/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)
