# HFA-ICOS BCR-ABL Cardiovascular Risk Classifier (Lyon 2020)

> HFA-ICOS BCR-ABL Cardiovascular Risk Classifier (Lyon 2020) 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).

Calculates the Lyon 2020 HFA-ICOS baseline cardiovascular risk category (very_high, high, medium, or low) prior to BCR-ABL-targeting TKI therapy for CML, based on published very-high, high, and medium risk factor criteria.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/hfa_icos_bcr_abl
- 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/hfa-icos-bcr-abl-cardiovascular-risk-classifier-lyon-2020-ece269fb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_fevAPodWcelLEI3B9xxoS

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 hfa-icos-bcr-abl-cardiovascular-risk-classifier-lyon-2020-ece269fb
```

Example prompt: Using the Lyon 2020 HFA-ICOS framework for BCR-ABL TKI therapy, classify the cardiovascular risk for a 68-year-old male patient with a QTc of 455 ms, LVEF of 58%, hypertension, diabetes, hyperlipidemia, and a BMI over 30 — no prior arterial vascular disease, no heart failure, no arrhythmia, and no venous thromboembolism; his 10-year CVD risk is above 20%.

## When to prefer this

Use this endpoint when you need a structured, rule-based Lyon 2020 HFA-ICOS cardiovascular risk class for a CML patient being evaluated for BCR-ABL TKI therapy (second- or third-generation, e.g. dasatinib, nilotinib, ponatinib). Prefer it over generic cardiovascular risk calculators (SCORE2, Framingham, PCE) because it applies the specific cardio-oncology factor table published for BCR-ABL inhibitors rather than general population risk models. It is appropriate when the caller has already assessed threshold values like eGFR, HbA1c, and 10-year CVD risk externally and needs the categorical risk class for documentation or clinical decision support workflows.

## Known failure modes

- Missing required parameters (e.g. age_years, sex, qtc_ms, lvef_percent) returns a 400-level validation error
- QTc value outside the accepted 300–700 ms range is rejected
- age_years outside 18–100 range is rejected
- Boolean fields passed as strings rather than true/false may fail schema validation
- Caller-assigned threshold fields (e.g. cvd_10y_risk_gt_20, ckd, diabetes) not assessed by the API — incorrect caller assignment produces incorrect risk class
- Payment failure (x402) if USDC not provided correctly returns a 402 response

## How this service works

Lyon 2020 HFA-ICOS baseline cardiovascular risk before second- or third-generation multi-targeted kinase inhibitors for CML targeting BCR-ABL. Class is very_high, high, medium, or low from published very-high and high factors plus Medium 1/2 points (0–1 low, 2–4 medium, ≥5 high). Caller assigns the 10-year CVD >20% threshold; magent does not compute that score. Not a medical device or treatment order.

## Output

Returns one of four risk classes — very_high, high, medium, or low — based on the Lyon 2020 HFA-ICOS BCR-ABL TKI cardiovascular risk table. The response reflects which very-high, high, or medium-point factors (Medium 1 and Medium 2) drove the classification, per the published scoring logic (0–1 = low, 2–4 = medium, ≥5 = high). Not a medical device output or treatment 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": [
      "age_years",
      "sex",
      "lvef_percent",
      "qtc_ms",
      "arterial_vascular_disease",
      "arterial_thrombosis_with_tki",
      "heart_failure_or_lvsd",
      "bcr_abl_tki_mediated_lvsd",
      "abpi_le_0_9",
      "pulmonary_arterial_hypertension",
      "cvd_10y_risk_gt_20",
      "current_or_significant_smoker",
      "venous_thromboembolism",
      "arrhythmia",
      "hypertension",
      "diabetes",
      "hyperlipidemia",
      "ckd",
      "family_history_thrombophilia",
      "obesity"
     ],
     "properties": {
      "ckd": {
       "type": "boolean",
       "description": "Caller-assigned chronic kidney disease (paper: eGFR <60 mL/min/1.73 m²). Medium 1. magent does not compute eGFR."
      },
      "sex": {
       "type": "string",
       "description": "Sex male or female. Selects the borderline QTc Medium 2 window (men 450≤QTc<480; women 460≤QTc<480). magent does not read an ECG."
      },
      "qtc_ms": {
       "type": "number",
       "description": "QTc in milliseconds (300-700). ≥480 is High. Borderline Medium 2 is men 450≤QTc<480 and women 460≤QTc<480. magent does not measure QTc."
      },
      "obesity": {
       "type": "boolean",
       "description": "Caller-assigned obesity (paper: BMI >30 kg/m²). Medium 1. magent does not compute BMI."
      },
      "diabetes": {
       "type": "boolean",
       "description": "Caller-assigned diabetes (paper: HbA1c >7.0% or >53 mmol/mol, or on treatment). Medium 1. magent does not diagnose diabetes."
      },
      "age_years": {
       "type": "integer",
       "description": "Age in years (integer 18-100). Lyon 2020 BCR-ABL table: ≥75 High; 65-74 Medium 2; 60-64 Medium 1 (paper row Age ≥60 years under the higher bands); <60 none. Bands do not stack. magent does not examine the patient."
      },
      "arrhythmia": {
       "type": "boolean",
       "description": "Caller-assigned arrhythmia (paper: atria
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hfa-icos-bcr-abl-cardiovascular-risk-classifier-lyon-2020-ece269fb/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)
