YEARS algorithm (van der Hulle 2017 Lancet)
YEARS algorithm (van der Hulle 2017 Lancet). Count three caller-assigned items (clinical signs of DVT, hemoptysis, PE most likely) and exclude PE only when D-dimer (ng/mL FEU) is strictly below 1000 with 0 items or 500 with 1-3 items. Equality is not excluded…
by api.magentlab.com · discovered, not yet claimed by its owner · updated 2026-10-13
Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.
What it does
YEARS algorithm (van der Hulle 2017 Lancet). Count three caller-assigned items (clinical signs of DVT, hemoptysis, PE most likely) and exclude PE only when D-dimer (ng/mL FEU) is strictly below 1000 with 0 items or 500 with 1-3 items. Equality is not excluded. Not a diagnosis, not Wells, not PERC. magent does not decide PE most likely. The 2017 cohort excluded pregnancy.
Tags: years · pe · vte · d-dimer · calculator · bazaar
Call contract
- Method
- POST
- Input
- HTTP request
- Output
- json
- Last paid call
- 2026-10-13
{
"items": [
{
"clinical_signs_dvt": false,
"d_dimer_ng_ml": 499,
"hemoptysis": false,
"pe_most_likely": false
},
{
"clinical_signs_dvt": false,
"d_dimer_ng_ml": 499,
"hemoptysis": false,
"pe_most_likely": false
}
]
}{
"count": 2,
"items": [
{
"citation": {
"authors": "van der Hulle T, Cheung WY, Kooij S, et al.",
"doi": "10.1016/S0140-6736(17)30885-1",
"id": "van-der-hulle-2017",
"source": "Lancet. 2017;390(10091):289-297",
"title": "Simplified diagnostic management of suspected pulmonary embolism (the YEARS study): a prospective, multicentre, cohort study"
},
"criteria": [
{
"factor": "clinical_signs_dvt",
"met": false
},
{
"factor": "hemoptysis",
"met": false
},
{
"factor": "pe_most_likely",
"met": false
}
],
"ctpa_indicated": false,
"d_dimer_ng_ml": 499,
"d_dimer_threshold_ng_ml": 1000,
"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.",
"formula": "years",
"formula_expression": "PE excluded iff (years_items == 0 and d_dimer_ng_ml < 1000) or (years_items >= 1 and d_dimer_ng_ml < 500); years_items counts clinical_signs_dvt, hemoptysis, and pe_most_likely",
"pe_excluded": true,
"years_items": 0
},
{
"citation": {
"authors": "van der Hulle T, Cheung WY, Kooij S, et al.",
"doi": "10.1016/S0140-6736(17)30885-1",
"id": "van-der-hulle-2017",
"source": "Lancet. 2017;390(10091):289-297",
"title": "Simplified diagnostic management of suspected pulmonary embolism (the YEARS study): a prospective, multicentre, cohort study"
},
"criteria": [
{
"factor": "clinical_signs_dvt",
"met": false
},
{
"factor": "hemoptysis",
"met": false
},
{
"factor": "pe_most_likely",
"met": false
}
],
"ctpa_indicated": false,
"d_dimer_ng_ml": 499,
"d_dimer_threshold_ng_ml": 1000,
"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.",
"formula": "years",
"formula_expression": "PE excluded iff (years_items == 0 and d_dimer_ng_ml < 1000) or (years_items >= 1 and d_dimer_ng_ml < 500); years_items counts clinical_signs_dvt, hemoptysis, and pe_most_likely",
"pe_excluded": true,
"years_items": 0
}
],
"path": "/api/calc/years"
}Use with an agent
- Discover. Agents find this listing with
GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP toolsearch_resources, or/discovery/resources. - Inspect. Fetch
/resources/38906.jsonfor the price and payment options. - Pay. Call
GET https://api.magentlab.com/api/calc/years. The provider answers402with its payment requirements. An x402 client signs one of the options below and retries withPAYMENT-SIGNATURE. - Execute. The provider returns
200with the data. Agent Bazaar is not in the request path and never sees your payment.
For humans
You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.
Pricing & payment
- Price
- $0.005 / request
- Protocol
- x402 v2
- Auth
- No account or API key. Pay per request.
- Networks
- Base
- Demand
- 6 calls · 3 unique payers in 30d (public x402 Bazaar data)
x402 payment requirements
| Scheme | Network | Asset | Amount | Pay to | Timeout |
|---|---|---|---|---|---|
| exact | Base eip155:8453 | USDC | $0.005 | 0x836Be278f1739fB4308091cD1852F7971Bc19Ee2 | 600s |
accepts[] (raw JSON)
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x836Be278f1739fB4308091cD1852F7971Bc19Ee2",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "5000",
"amountUsd": 0.005,
"maxTimeoutSeconds": 600
}
]Schemas
Output schema (JSON Schema)
{
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}Example shape — generated from the schema, not a captured live response
{
"example": {},
"type": "string"
}Examples
curl "https://api.magentlab.com/api/calc/years"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paidconst res = await fetch("https://api.magentlab.com/api/calc/years");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}import httpx
res = httpx.get("https://api.magentlab.com/api/calc/years")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerDetails
- Provider
- api.magentlab.com
- Endpoint
- https://api.magentlab.com/api/calc/years
- Machine-readable
/resources/38906.json