# Bova Score Calculator for Acute Pulmonary Embolism

> Bova Score Calculator for Acute Pulmonary Embolism 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 Bova 2014 seven-point risk index for normotensive (non-hypotensive) acute PE and returns a stage classification (I, II, or III) based on four clinical parameters.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/bova
- 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/bova-score-calculator-for-acute-pulmonary-embolism-7feaf675
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Khq9JvMwdHz9_9xxRyXl0

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 bova-score-calculator-for-acute-pulmonary-embolism-7feaf675
```

Example prompt: Calculate the Bova score for a normotensive PE patient with systolic BP 96 mm Hg, heart rate 118 bpm, elevated troponin (positive), and right ventricular dysfunction confirmed on echo — what stage does that come out to?

## When to prefer this

Use this endpoint when you need to programmatically compute the Bova 2014 risk score for a confirmed, normotensive acute PE patient (SBP ≥ 90 mm Hg) and classify them into Stage I, II, or III based on four discrete clinical parameters. Prefer this over general clinical calculators when you need structured, machine-readable stage output for downstream clinical workflows or documentation. Not suitable for hypotensive (high-risk) PE patients.

## Known failure modes

- SBP < 90 mm Hg rejected (endpoint is for normotensive PE only, not hypotensive patients)
- Heart rate or SBP outside accepted numeric ranges returns an error
- Missing required query parameters (systolic_mm_hg, elevated_troponin, rv_dysfunction, heart_rate_bpm) cause validation failure
- Non-integer heart_rate_bpm value rejected
- Payment not fulfilled (x402 protocol) returns 402 status

## How this service works

Bova 2014 seven-point index for confirmed acute PE that is not hypotensive: SBP 90–100 mm Hg +2 (SBP 100 scores; 101 does not; SBP <90 rejected), elevated troponin +2 (caller-assigned lab cutoff; magent does not grade assays), RV dysfunction on echo or CT +2, heart rate ≥110 +1 (110 scores; 109 does not). Max 7. Returns bands 0-2 / 3-4 / >4 (stages I–III) without mortality percents. Not a medical device and not a thrombolysis order.

## Output

Returns the computed Bova score (integer 0–7) and the corresponding risk stage band: Stage I (0–2 points), Stage II (3–4 points), or Stage III (>4 points). Does not return mortality percentages and is not a thrombolysis recommendation.

## 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": [
      "systolic_mm_hg",
      "elevated_troponin",
      "rv_dysfunction",
      "heart_rate_bpm"
     ],
     "properties": {
      "heart_rate_bpm": {
       "type": "integer",
       "description": "Heart rate in beats per minute (integer 30-220). Scores 1 when ≥110 (Bova 2014 Table 5). HR 110 scores; HR 109 does not."
      },
      "rv_dysfunction": {
       "type": "boolean",
       "description": "Right-ventricular dysfunction on echocardiography or CT as assigned by the caller (Bova 2014). true or false. 2 points if true."
      },
      "systolic_mm_hg": {
       "type": "number",
       "description": "Systolic blood pressure in mm Hg (90-250). Scores 2 when 90-100 inclusive (Bova 2014 Table 5). SBP 100 scores; SBP 101 does not. SBP <90 is rejected (normotensive PE cohort)."
      },
      "elevated_troponin": {
       "type": "boolean",
       "description": "Elevated cardiac troponin as assigned by the caller at the local lab cutoff (Bova 2014). true or false. 2 points if true. magent does not grade troponin ng/mL."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "path": "/api/calc/bova",
  "count": 2,
  "items": [
   {
    "score": 0,
    "formula": "bova",
    "citation": {
     "id": "bova-2014",
     "doi": "10.1183/09031936.00006114",
     "pmid": "24696111",
     "title": "Identification of intermediate-risk patients with acute symptomatic pulmonary embolism",
     "source": "Eur Respir J. 2014;44(3):694-703",
     "authors": "Bova C, Sanchez O, Prandoni P, et al."
    },
    "bova_band": "0-2",
    "max_score": 7,
    "components": [
     {
      "value": 120,
      "factor": "systolic_mm_hg_90_100",
      "points": 0,
      "present": false
     },
     {
      "factor": "elevated_troponin",
      "points": 0,
      "present": false
     },
     {
      "factor": "rv_dysfunction",
      "points": 0,
      "present": false
     },
     {
      "value": 80,
      "factor": "heart_rate_ge_110",
      "points": 0,
      "present": false
     }
    ],
    "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
    "heart_rate_bpm": 80,
    "rv_dysfunction": false,
    "systolic_mm_hg": 120,
    "elevated_troponin": false,
    "formula_expression": "BOVA = 2*(systolic_mm_hg in 90-100) + 2*elevated_troponin + 2*rv_dysfunction + 1*(heart_rate_bpm>=110); max 7; bands 0-2 / 3-4 / >4 (stages I / II / III)"
   },
   {
    "score": 0,
    "formula": "bova",
    "citation": {
     "id": "bova-2014",
     "doi": "10.1183/09031936.00006114",
     "pmid": "24696111",
     "title": "Identification of intermediate-risk patients with acute symptomatic pulmonary embolism",
     "source": "Eur Respir J. 2014;44(3):694-703",
     "authors": "Bova C, Sanchez O, Prandoni P, et al."
    },
    "bova_band": "0-2",
    "max_score": 7,
    "components": [
     {
      "value": 120,
      "factor": "systolic_mm_hg_90_100",
      "points": 0,
      "present": false
     },
     {
      "factor": "elevated_troponin",
      "points": 0,
      "present": false
     },
     {
      "factor": "rv_dysfunction",
      "points": 0,
      "present": false
     },
     {
      "value": 80,
      "factor": "heart_rate_ge_110",
      "points": 0,
      "present": false
     }
    ],
    "disclaimer": "Not a medical device. Deterministic published-formula or published-code output for autonomous agents. A licensed clinician remains responsible for patient care and billing s
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/bova-score-calculator-for-acute-pulmonary-embolism-7feaf675/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)
