# Aggarwal 2023 DOAC Bleeding Risk Score Calculator

> Aggarwal 2023 DOAC Bleeding Risk Score Calculator 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-13).

Calculates the Aggarwal 2023 DOAC bleeding risk score (0–10, capped) for atrial fibrillation patients on direct oral anticoagulants, returning a raw score and risk band

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/doac_score
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/aggarwal-2023-doac-bleeding-risk-score-calculator-5b9a5ae6
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fAO9haA6wIhBziVtkELNJ

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 aggarwal-2023-doac-bleeding-risk-score-calculator-5b9a5ae6
```

Example prompt: Using the Aggarwal 2023 DOAC bleeding score, what's the risk band for my 73-year-old patient with a CrCl of 42 mL/min, hypertension, diabetes, and on aspirin — no bleeding history, no liver disease, not underweight, no stroke history, and not on NSAIDs?

## When to prefer this

Use this endpoint when you need to compute the Aggarwal 2023 DOAC bleeding risk score specifically for AF patients on DOACs — not HAS-BLED, not warfarin, and not a dosing calculator. Prefer this over HAS-BLED when the clinical context is specifically DOAC-based anticoagulation in AF per the 2023 Circulation publication. All clinical flag assignments (underweight, liver disease, bleeding history) must be made by the calling clinician; the API performs only arithmetic.

## Known failure modes

- Missing required query parameters (age, crcl_or_egfr_ml_min, antiplatelet, and boolean flags) returns a 400 or validation error
- Age outside 18–120 range may be rejected
- CrCl/eGFR outside 5–200 mL/min range may be rejected
- Invalid antiplatelet enum value (not none/aspirin/dual) causes a 422 or error
- Payment failure (402 Payment Required) if x402 USDC micropayment not completed
- Network or server errors return 5xx

## How this service works

Aggarwal 2023 DOAC Score (Circulation Table 2) for AF on DOACs: age 65-69 2 / 70-74 3 / 75-79 4 / >=80 5 (<65 0); CrCl/eGFR 30-60 inclusive 1, <30 2; underweight caller BMI <18.5 flag 1; stroke/TIA/embolism 1; diabetes 1; hypertension 1; antiplatelet none 0, aspirin 2, dual 3; NSAID 1; bleeding history 3; liver disease 2. Score min(raw, 10). Bands 0-3 very_low, 4-5 low, 6-7 moderate, 8-9 high, 10 very_high. Not HAS-BLED. Not DOAC dosing. Not warfarin.

## Output

Returns the integer DOAC raw score, the capped score (capped at 10), and a risk band string: very_low (0–3), low (4–5), moderate (6–7), high (8–9), or very_high (10). This is a pure computation result based on caller-supplied clinical flags; the API does not perform lab assays, BMI computation, or dosing recommendations.

## 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",
      "crcl_or_egfr_ml_min",
      "underweight",
      "stroke_tia_embolism_history",
      "diabetes",
      "hypertension",
      "antiplatelet",
      "nsaid_use",
      "bleeding_history",
      "liver_disease"
     ],
     "properties": {
      "age": {
       "type": "integer",
       "description": "Age in years (18-120). Table 2: 65-69 scores 2; 70-74 scores 3; 75-79 scores 4; ≥80 scores 5; age <65 scores 0 and is accepted."
      },
      "diabetes": {
       "type": "boolean",
       "description": "Diabetes as assigned by the caller. true or false. Scores 1."
      },
      "nsaid_use": {
       "type": "boolean",
       "description": "NSAID use as assigned by the caller. true or false. Scores 1."
      },
      "underweight": {
       "type": "boolean",
       "description": "Caller-assigned BMI <18.5 kg/m² (Table 2 underweight). true or false. Scores 1. magent does not compute BMI."
      },
      "antiplatelet": {
       "enum": [
        "none",
        "aspirin",
        "dual"
       ],
       "type": "string",
       "description": "Antiplatelet use: none (0), aspirin (2), or dual (aspirin + P2Y12; 3). Table 2."
      },
      "hypertension": {
       "type": "boolean",
       "description": "Hypertension as assigned by the caller. true or false. Scores 1."
      },
      "liver_disease": {
       "type": "boolean",
       "description": "Liver disease as assigned by the caller (Table 2 footnote: AST, ALT, or ALP ≥3× ULN, ALP ≥2× ULN, or cirrhosis). true or false. Scores 2. magent does not assay labs or assign Child-Pugh."
      },
      "bleeding_history": {
       "type": "boolean",
       "description": "Bleeding history as assigned by the caller. true or false. Scores 3."
      },
      "crcl_or_egfr_ml_min": {
       "type": "number",
       "description": "Creatinine clearance or eGFR in mL/min (5-200). Table 2: 30-60 inclusive scores 1; <30 scores 2; >60
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/aggarwal-2023-doac-bleeding-risk-score-calculator-5b9a5ae6/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)
