# ORBIT 2015 Atrial Fibrillation Bleeding Risk Score

> ORBIT 2015 Atrial Fibrillation Bleeding Risk Score 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 ORBIT 2015 bleeding risk score for atrial fibrillation patients from five caller-supplied clinical flags

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/orbit
- 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/orbit-2015-atrial-fibrillation-bleeding-risk-score-9b58e8ae
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_gcQHuF64XNarBk3Vl8QO1

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 orbit-2015-atrial-fibrillation-bleeding-risk-score-9b58e8ae
```

Example prompt: Calculate the ORBIT bleeding score for a 76-year-old AFib patient who has anemia, a prior bleeding history, and is on antiplatelet therapy but does not have insufficient kidney function.

## When to prefer this

Use this endpoint when you need a quick, validated ORBIT 2015 bleeding risk score for an AFib patient and have already determined the five clinical flags externally. Prefer this over HAS-BLED calculators when the clinical context specifically calls for the O'Brien 2015 ORBIT model. This endpoint does not compute eGFR or interpret hemoglobin, so it is appropriate when those determinations have already been made upstream in your workflow.

## Known failure modes

- Missing required query parameters (age, anemia, bleeding_history, insufficient_kidney, antiplatelet) returns a 400 error
- Age outside the 18–120 integer range may be rejected or produce unexpected scoring
- Boolean fields passed as strings instead of true/false may cause validation errors
- Payment failure via x402 protocol returns 402 Payment Required
- Caller conflating eGFR computation with the insufficient_kidney flag — this endpoint does not compute eGFR

## How this service works

ORBIT 2015 (O'Brien) AF bleeding score: age >=75 scores 1; anemia caller flag 2; bleeding history 2; insufficient kidney (paper eGFR <60) caller flag 1; antiplatelet 1. Max 7. Score 0-2 low, 3 intermediate, >=4 high. Not a diagnosis. Not HAS-BLED. magent does not take hemoglobin or compute eGFR.

## Output

Returns the numeric ORBIT score (0–7) and the corresponding risk category: 0–2 = low, 3 = intermediate, ≥4 = high. Does not include a diagnosis or treatment recommendation. Does not compute eGFR or interpret hemoglobin — those flags must be pre-determined by the caller.

## 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": [
      "age",
      "anemia",
      "bleeding_history",
      "insufficient_kidney",
      "antiplatelet"
     ],
     "properties": {
      "age": {
       "type": "integer",
       "description": "Age in years (18-120). ≥75 scores 1 (75 scores; 74 does not)."
      },
      "anemia": {
       "type": "boolean",
       "description": "Anemia as assigned by the caller. true or false. Scores 2. magent does not take hemoglobin."
      },
      "antiplatelet": {
       "type": "boolean",
       "description": "Antiplatelet therapy as assigned by the caller. true or false. Scores 1."
      },
      "bleeding_history": {
       "type": "boolean",
       "description": "Bleeding history as assigned by the caller. true or false. Scores 2."
      },
      "insufficient_kidney": {
       "type": "boolean",
       "description": "Insufficient kidney function as assigned by the caller (paper eGFR <60). true or false. Scores 1. magent does not compute eGFR."
      }
     }
    }
   },
   "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/orbit",
  "count": 2,
  "items": [
   {
    "score": 0,
    "formula": "orbit",
    "citation": {
     "id": "obrien-2015",
     "doi": "10.1093/eurheartj/ehv182",
     "title": "The ORBIT bleeding score: a simple bedside score to assess bleeding risk in atrial fibrillation",
     "source": "Eur Heart J. 2015;36(46):3258-3264",
     "authors": "O'Brien EC, Simon DN, Thomas LE, et al."
    },
    "age_years": 70,
    "max_score": 7,
    "components": [
     {
      "value": 70,
      "factor": "age_ge_75",
      "points": 0,
      "present": false
     },
     {
      "factor": "anemia",
      "points": 0,
      "present": false
     },
     {
      "factor": "bleeding_history",
      "points": 0,
      "present": false
     },
     {
      "factor": "insufficient_kidney",
      "points": 0,
      "present": false
     },
     {
      "factor": "antiplatelet",
      "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.",
    "orbit_risk": "low",
    "formula_expression": "ORBIT = age_ge_75 (1) + anemia (2) + bleeding_history (2) + insufficient_kidney (1) + antiplatelet (1); max 7; 0-2 low, 3 intermediate, >=4 high"
   },
   {
    "score": 0,
    "formula": "orbit",
    "citation": {
     "id": "obrien-2015",
     "doi": "10.1093/eurheartj/ehv182",
     "title": "The ORBIT bleeding score: a simple bedside score to assess bleeding risk in atrial fibrillation",
     "source": "Eur Heart J. 2015;36(46):3258-3264",
     "authors": "O'Brien EC, Simon DN, Thomas LE, et al."
    },
    "age_years": 70,
    "max_score": 7,
    "components": [
     {
      "value": 70,
      "factor": "age_ge_75",
      "points": 0,
      "present": false
     },
     {
      "factor": "anemia",
      "points": 0,
      "present": false
     },
     {
      "factor": "bleeding_history",
      "points": 0,
      "present": false
     },
     {
      "factor": "insufficient_kidney",
      "points": 0,
      "present": false
     },
     {
      "factor": "antiplatelet",
      "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.",
    "orbi
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/orbit-2015-atrial-fibrillation-bleeding-risk-score-9b58e8ae/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)
