Calc Irae Pneumonitis
by magent in Other
Brahmer 2018 ASCO Table 3.1 irAE pneumonitis. First-match: G4 life-threatening respiratory compromise; else G3 hospitalization, oxygen, limiting self-care, or all lobes/>50%; else G2 symptomatic, >1 lobe, 25-50% parenchyma, or limiting instrumental ADL; else G1. ICPi: hold_if_radiographic_progression (G1), hold (G2), permanently_discontinue (G3-4). Caller-assigned flags. magent does not read CT or pulse oximetry. Not SITC 2021, not a CTCAE instrument, not a diagnosis, not a steroid dose.
https://api.magentlab.com/api/calc/irae_pneumonitis- Price
- $0.007
- per call in USDC
- Uptime
- 94.1%
- last 30 days
- Response time
- 166 ms
- 691 ms slowest 5%
- Last check
- Failed
- 5 min ago, next in 8 min
Reliability
Latest check failed 5 min ago: Timed out
Status and outage history · Atom feed · Watch with other listings
How to call it
POST https://api.magentlab.com/api/calc/irae_pneumonitis
Each call costs $0.007 in USDC on Base, paid with the request over x402.
Run a free test callOne unpaid request, the way an agent sends it. You see the payment challenge it gets back. Nothing is charged.
Example request
From the listing.
POST https://api.magentlab.com/api/calc/irae_pneumonitis
content-type: application/json
{
"items": [
{
"all_lobes_or_gt_50_pct": false,
"extent_25_to_50_pct": false,
"hospitalization_required": false,
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
},
{
"all_lobes_or_gt_50_pct": false,
"extent_25_to_50_pct": false,
"hospitalization_required": false,
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
}
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
items | array of object | Yes |
Example response
The provider's example. We can't check it without paying.
Example response, 130 lines
{
"count": 2,
"items": [
{
"all_lobes_or_gt_50_pct": false,
"citation": {
"authors": "Brahmer JR, Lacchetti C, Schneider BJ, Atkins MB, Brassil KJ, Caterino JM, Chau I, Ernstoff MS, Gardner JM, Ginex P, Hallmeyer S, Holter Chakrabarty J, Leighl NB, Mammen JS, McDermott DF, Naing A, Nastoupil LJ, Phillips T, Porter LD, Puzanov I, Reichner CA, Santomasso BD, Seigel C, Spira A, Suarez-Almazor ME, Wang Y, Weber JS, Wolchok JD, Thompson JA",
"doi": "10.1200/JCO.2017.77.6385",
"id": "brahmer-2018",
"pmid": "29442540",
"source": "J Clin Oncol. 2018;36(17):1714-1768",
"title": "Management of Immune-Related Adverse Events in Patients Treated With Immune Checkpoint Inhibitor Therapy: American Society of Clinical Oncology Clinical Practice Guideline"
},
"criteria": [
{
"factor": "life_threatening_respiratory",
"met": false
},
{
"factor": "hospitalization_required",
"met": false
},
{
"factor": "oxygen_indicated",
"met": false
},
{
"factor": "limiting_self_care",
"met": false
},
{
"factor": "all_lobes_or_gt_50_pct",
"met": false
},
{
"factor": "symptomatic",
"met": false
},
{
"factor": "more_than_one_lobe",
"met": false
},
{
"factor": "extent_25_to_50_pct",
"met": false
},
{
"factor": "limiting_instrumental_adl",
"met": 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.",
"extent_25_to_50_pct": false,
"formula": "irae_pneumonitis",
"formula_expression": "irae_pneumonitis first-match worst-wins (Brahmer 2018 Table 3.1): grade 4 if life_threatening_respiratory; else grade 3 if hospitalization_required or oxygen_indicated or limiting_self_care or all_lobes_or_gt_50_pct; else grade 2 if symptomatic or more_than_one_lobe or extent_25_to_50_pct or limiting_instrumental_adl; else grade 1. icpi_action hold_if_radiographic_progression (grade 1), hold (grade 2), permanently_discontinue (grade 3 or 4). magent does not read CT or pulse oximetry. Not SITC 2021. Not CTCAE pneumonitis as a separate instrument. Not a diagnosis. Not a steroid dose",
"grade": 1,
"hospitalization_required": false,
"icpi_action": "hold_if_radiographic_progression",
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
},
{
"all_lobes_or_gt_50_pct": false,
"citation": {
"authors": "Brahmer JR, Lacchetti C, Schneider BJ, Atkins MB, Brassil KJ, Caterino JM, Chau I, Ernstoff MS, Gardner JM, Ginex P, Hallmeyer S, Holter Chakrabarty J, Leighl NB, Mammen JS, McDermott DF, Naing A, Nastoupil LJ, Phillips T, Porter LD, Puzanov I, Reichner CA, Santomasso BD, Seigel C, Spira A, Suarez-Almazor ME, Wang Y, Weber JS, Wolchok JD, Thompson JA",
"doi": "10.1200/JCO.2017.77.6385",
"id": "brahmer-2018",
"pmid": "29442540",
"source": "J Clin Oncol. 2018;36(17):1714-1768",
"title": "Management of Immune-Related Adverse Events in Patients Treated With Immune Checkpoint Inhibitor Therapy: American Society of Clinical Oncology Clinical Practice Guideline"
},
"criteria": [
{
"factor": "life_threatening_respiratory",
"met": false
},
{
"factor": "hospitalization_required",
"met": false
},
{
"factor": "oxygen_indicated",
"met": false
},
{
"factor": "limiting_self_care",
"met": false
},
{
"factor": "all_lobes_or_gt_50_pct",
"met": false
},
{
"factor": "symptomatic",
"met": false
},
{
"factor": "more_than_one_lobe",
"met": false
},
{
"factor": "extent_25_to_50_pct",
"met": false
},
{
"factor": "limiting_instrumental_adl",
"met": 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.",
"extent_25_to_50_pct": false,
"formula": "irae_pneumonitis",
"formula_expression": "irae_pneumonitis first-match worst-wins (Brahmer 2018 Table 3.1): grade 4 if life_threatening_respiratory; else grade 3 if hospitalization_required or oxygen_indicated or limiting_self_care or all_lobes_or_gt_50_pct; else grade 2 if symptomatic or more_than_one_lobe or extent_25_to_50_pct or limiting_instrumental_adl; else grade 1. icpi_action hold_if_radiographic_progression (grade 1), hold (grade 2), permanently_discontinue (grade 3 or 4). magent does not read CT or pulse oximetry. Not SITC 2021. Not CTCAE pneumonitis as a separate instrument. Not a diagnosis. Not a steroid dose",
"grade": 1,
"hospitalization_required": false,
"icpi_action": "hold_if_radiographic_progression",
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
}
],
"path": "/api/calc/irae_pneumonitis"
}Call it from code
The curl command shows the payment challenge. The JavaScript and Python versions pay and call, and never pay more than $0.007.
curl: see the payment challenge
# bash or zsh: see the payment challenge. Nothing is charged.
curl -sS -g -i -X POST 'https://api.magentlab.com/api/calc/irae_pneumonitis' \
-H 'content-type: application/json' \
--data-raw '{"items":[{"all_lobes_or_gt_50_pct":false,"extent_25_to_50_pct":false,"hospitalization_required":false,"life_threatening_respiratory":false,"limiting_instrumental_adl":false,"limiting_self_care":false,"more_than_one_lobe":false,"oxygen_indicated":false,"symptomatic":false},{"all_lobes_or_gt_50_pct":false,"extent_25_to_50_pct":false,"hospitalization_required":false,"life_threatening_respiratory":false,"limiting_instrumental_adl":false,"limiting_self_care":false,"more_than_one_lobe":false,"oxygen_indicated":false,"symptomatic":false}]}'
# x402 v2 sends the challenge base64-encoded in the PAYMENT-REQUIRED header (v1 sends it in the body).
# To read the header:
curl -sS -g -o /dev/null -D - -X POST 'https://api.magentlab.com/api/calc/irae_pneumonitis' \
-H 'content-type: application/json' \
--data-raw '{"items":[{"all_lobes_or_gt_50_pct":false,"extent_25_to_50_pct":false,"hospitalization_required":false,"life_threatening_respiratory":false,"limiting_instrumental_adl":false,"limiting_self_care":false,"more_than_one_lobe":false,"oxygen_indicated":false,"symptomatic":false},{"all_lobes_or_gt_50_pct":false,"extent_25_to_50_pct":false,"hospitalization_required":false,"life_threatening_respiratory":false,"limiting_instrumental_adl":false,"limiting_self_care":false,"more_than_one_lobe":false,"oxygen_indicated":false,"symptomatic":false}]}' \
| grep -i '^payment-required:' | cut -d' ' -f2 | tr -d '\r' | base64 --decodeJavaScript: pay and call
// npm i @x402/fetch @x402/evm viem
import { wrapFetchWithPayment, x402Client } from "@x402/fetch";
import { registerExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";
// Pays at most $0.007 per call.
const client = new x402Client().setSpendControls({ maxAmountPerPayment: "$0.007" });
registerExactEvmScheme(client, { signer: privateKeyToAccount(process.env.EVM_PRIVATE_KEY) });
const pay = wrapFetchWithPayment(fetch, client);
// Not sure it's safe to pay? ToolVet checks it first for $0.005. Pay for that from a separate
// client: this one is capped at $0.007 per payment. GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fapi.magentlab.com%2Fapi%2Fcalc%2Firae_pneumonitis&method=POST
const res = await pay("https://api.magentlab.com/api/calc/irae_pneumonitis", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
"items": [
{
"all_lobes_or_gt_50_pct": false,
"extent_25_to_50_pct": false,
"hospitalization_required": false,
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
},
{
"all_lobes_or_gt_50_pct": false,
"extent_25_to_50_pct": false,
"hospitalization_required": false,
"life_threatening_respiratory": false,
"limiting_instrumental_adl": false,
"limiting_self_care": false,
"more_than_one_lobe": false,
"oxygen_indicated": false,
"symptomatic": false
}
]
}),
});
console.log(res.status, await res.text());Python: pay and call
# pip install "x402[requests,evm]"
import os
from eth_account import Account
from x402 import x402ClientSync
from x402.http.clients import x402_requests
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
# Pays at most $0.007 per call.
client = x402ClientSync().set_spend_controls({"max_amount_per_payment": "$0.007"})
register_exact_evm_client(client, EthAccountSigner(Account.from_key(os.environ["EVM_PRIVATE_KEY"])))
with x402_requests(client) as session:
res = session.post(
"https://api.magentlab.com/api/calc/irae_pneumonitis",
json={
"items": [
{
"all_lobes_or_gt_50_pct": False,
"extent_25_to_50_pct": False,
"hospitalization_required": False,
"life_threatening_respiratory": False,
"limiting_instrumental_adl": False,
"limiting_self_care": False,
"more_than_one_lobe": False,
"oxygen_indicated": False,
"symptomatic": False,
},
{
"all_lobes_or_gt_50_pct": False,
"extent_25_to_50_pct": False,
"hospitalization_required": False,
"life_threatening_respiratory": False,
"limiting_instrumental_adl": False,
"limiting_self_care": False,
"more_than_one_lobe": False,
"oxygen_indicated": False,
"symptomatic": False,
},
],
},
)
print(res.status_code, res.text)Security scan
1 finding
- Charges more than its listed price in payment
Listed at $0.005, charges $0.007
Recent checks
| When | Result | HTTP | Time | Price |
|---|---|---|---|---|
| 5 min ago | Timed out | - | - | - |
| 5 h ago | Timed out | - | - | - |
| 10 h ago | Passed | 402 | 148 ms | $0.007 |
| 15 h ago | Passed | 402 | 147 ms | $0.007 |
| 19 h ago | Passed | 402 | 172 ms | $0.007 |
Show 10 older checks
| 24 h ago | Passed | 402 | 173 ms | $0.007 |
| 29 h ago | Passed | 402 | 166 ms | $0.007 |
| 33 h ago | Passed | 402 | 228 ms | $0.007 |
| 37 h ago | Passed | 402 | 145 ms | $0.007 |
| 41 h ago | Passed | 402 | 177 ms | $0.007 |
| 45 h ago | Passed | 402 | 149 ms | $0.007 |
| 2 days ago | Passed | 402 | 196 ms | $0.007 |
| 2 days ago | Passed | 402 | 421 ms | $0.007 |
| 2 days ago | Passed | 402 | 165 ms | $0.007 |
| 3 days ago | Passed | 402 | 171 ms | $0.007 |
History
| 11 Oct 2026 | Price changed from $0.005 to $0.007 |