Infection / VTE · LIVE
IMPROVE bleeding risk score
IMPROVE Bleed
Sum the Decousus 2011 IMPROVE admission bleeding-risk points from age, sex, renal-failure band, and eight caller-assigned flags, and return whether the published >=7 high-risk cutoff is met.
Markdown: /docs/improve-bleed.md · Canonical: https://magentlab.com/docs/improve-bleed
Not a medical device. Not a diagnosis, dose, or listing recommendation.
What it computes
Sum the Decousus 2011 IMPROVE admission bleeding-risk points from age, sex, renal-failure band, and eight caller-assigned flags, and return whether the published >=7 high-risk cutoff is met.
When to use
When an agent needs the published Decousus 2011 IMPROVE admission bleeding-risk score (not Hostler 2016 validation, not IMPROVE VTE, not IMPROVEDD, not Padua). magent does not examine the patient and does not issue a VTE-prophylaxis order.
When not to use
- Not a medical device.
- Not a VTE-prophylaxis order. This tool does not recommend a drug, start pharmacologic prophylaxis, or choose mechanical prophylaxis.
- Decousus 2011 derivation score only. Half-points as published (not integer-rounded). Increased bleeding risk at score >=7 from that paper. Not Hostler 2016 external validation or doubled integer weights.
- Not IMPROVE VTE (Spyropoulos 2011) and not IMPROVEDD.
- Age bands are mutually exclusive (<40 / 40-84 / >=85). Renal-failure bands are mutually exclusive (none / moderate / severe). magent does not compute GFR or assay INR or platelets.
- magent does not examine the patient. Flags, sex, age, and renal_failure are caller-assigned.
Formula
IMPROVE bleed (Decousus 2011 admission) = active_gastroduodenal_ulcer (4.5) + prior_bleeding (4) + platelet_count_lt_50 (4) + age>=85 (3.5) + hepatic_failure INR>1.5 (2.5) + severe_renal_failure GFR<30 (2.5) + icu_ccu (2.5) + central_venous_catheter (2) + rheumatic_disease (2) + current_cancer (2) + age 40-84 (1.5) + male (1) + moderate_renal_failure GFR 30-59 (1); max 30.5; <7 not_increased, >=7 increased; half-points not integer-rounded; not Hostler 2016; not IMPROVE VTE
Citation
- Authors
- Decousus H, Tapson VF, Bergmann JF, Chong BH, Froehlich JB, Kakkar AK, et al.
- Source
- Chest. 2011;139(1):69-79
Worked example
All lowest bands
Given:
active_gastroduodenal_ulcer=falseage=35central_venous_catheter=falsecurrent_cancer=falsehepatic_failure=falseicu_ccu=falseplatelet_count_lt_50=falseprior_bleeding=falserenal_failure=nonerheumatic_disease=falsesex=female
- Age 35 is <40 → 0; female → 0; renal_failure none → 0; all eight flags false → 0
- Score = 0 (max 30.5); bleed_band not_increased (<7)
Active ulcer plus hepatic failure is >=7
Given:
active_gastroduodenal_ulcer=trueage=35central_venous_catheter=falsecurrent_cancer=falsehepatic_failure=trueicu_ccu=falseplatelet_count_lt_50=falseprior_bleeding=falserenal_failure=nonerheumatic_disease=falsesex=female
- active_gastroduodenal_ulcer → 4.5; hepatic_failure → 2.5
- Score = 7 (max 30.5); bleed_band increased (>=7)
Also searched as
- IMPROVE bleeding risk score
- IMPROVE bleed
- Decousus IMPROVE
- admission bleeding risk
- IMPROVE hemorrhage score
- medical inpatient bleeding score
- Decousus 2011 bleed
- IMPROVE bleed score
Try
Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.
Full URL: https://api.magentlab.com/api/calc/improve_bleed?age=35&sex=female&renal_failure=none&active_gastroduodenal_ulcer=false&prior_bleeding=false&platelet_count_lt_50=false&hepatic_failure=false&icu_ccu=false¢ral_venous_catheter=false&rheumatic_disease=false¤t_cancer=false
Call
Expect HTTP 402 until you retry with PAYMENT-SIGNATURE. Incomplete query params
return HTTP 400 before any quote or charge.
curl -i -H "Accept: application/json" "https://api.magentlab.com/api/calc/improve_bleed?age=35&sex=female&renal_failure=none&active_gastroduodenal_ulcer=false&prior_bleeding=false&platelet_count_lt_50=false&hepatic_failure=false&icu_ccu=false¢ral_venous_catheter=false&rheumatic_disease=false¤t_cancer=false"
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
age |
integer | required | Age in years (18-120). Decousus 2011 bands: <40 scores 0, 40-84 scores 1.5, >=85 scores 3.5. Age 39 scores 0; age 40 scores 1.5; age 84 scores 1.5; age 85 scores 3.5. Bands are mutually exclusive. |
sex |
string | required | male or female (Decousus 2011). Male scores 1; female scores 0. magent does not examine the patient. |
renal_failure |
string | required | none, moderate, or severe as assigned by the caller (Decousus 2011). none is GFR >=60 mL/min/m2 (0 points); moderate is GFR 30-59 (1 point); severe is GFR <30 (2.5 points). Bands are mutually exclusive. magent does not compute GFR. |
active_gastroduodenal_ulcer |
boolean | required | Active gastroduodenal ulcer as assigned by the caller (Decousus 2011). true or false. 4.5 points if true. magent does not examine the patient. |
prior_bleeding |
boolean | required | Bleeding during the 3 months before admission as assigned by the caller (Decousus 2011). true or false. 4 points if true. magent does not take a bleeding history. |
platelet_count_lt_50 |
boolean | required | Platelet count <50 x 10^9/L at admission as assigned by the caller (Decousus 2011). true or false. 4 points if true. magent does not assay platelets. |
hepatic_failure |
boolean | required | Hepatic failure (INR >1.5) as assigned by the caller (Decousus 2011). true or false. 2.5 points if true. magent does not assay INR. |
icu_ccu |
boolean | required | ICU or CCU stay as assigned by the caller (Decousus 2011). true or false. 2.5 points if true. magent does not assign level of care. |
central_venous_catheter |
boolean | required | Central venous catheter as assigned by the caller (Decousus 2011). true or false. 2 points if true. magent does not examine the patient. |
rheumatic_disease |
boolean | required | Rheumatic disease as assigned by the caller (Decousus 2011). true or false. 2 points if true. magent does not diagnose rheumatic disease. |
current_cancer |
boolean | required | Current cancer as assigned by the caller (Decousus 2011). true or false. 2 points if true. magent does not diagnose cancer. |
Bulk (POST)
POST the same path with a JSON items array. The first item is the GET unit; each additional item is $0.002. Invalid items return HTTP 400 before settlement.
- 1 to 25 items. Each item uses the same keys as the GET query parameters.
- POST of 1 item costs the same as GET. Lists longer than 25: chunk into multiple POSTs. Extra items still execute; do not pad dummy rows.
- The first invalid item fails the whole request (index in the 400 JSON). You are not charged.
- HTTP 200 is {count, path, items}. Each items[i] is the GET 200 body for that row.
- Catalog misses (empty matches, found=false) stay paid 200s inside that slot.
- x402 resource URL is this path plus n and body_sha256. Browsers that prefer text/html get the same paywall as GET; Pay retries POST with the same items.
Example request (fixture)
{
"items": [
{
"active_gastroduodenal_ulcer": "false",
"age": "35",
"central_venous_catheter": "false",
"current_cancer": "false",
"hepatic_failure": "false",
"icu_ccu": "false",
"platelet_count_lt_50": "false",
"prior_bleeding": "false",
"renal_failure": "none",
"rheumatic_disease": "false",
"sex": "female"
},
{
"active_gastroduodenal_ulcer": "false",
"age": "35",
"central_venous_catheter": "false",
"current_cancer": "false",
"hepatic_failure": "false",
"icu_ccu": "false",
"platelet_count_lt_50": "false",
"prior_bleeding": "false",
"renal_failure": "none",
"rheumatic_disease": "false",
"sex": "female"
}
]
}
Opens a two-item fixture on the API host. Unpaid browsers get the same MetaMask paywall as GET; Pay retries POST with those items.
Example 200 (fixture)
{
"count": 2,
"path": "/api/calc/improve_bleed",
"items": [
{
"components": [
{
"factor": "active_gastroduodenal_ulcer",
"points": 0.0,
"present": false
},
{
"factor": "prior_bleeding",
"points": 0,
"present": false
},
{
"factor": "platelet_count_lt_50",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_ge_85",
"points": 0.0,
"present": false
},
{
"factor": "hepatic_failure",
"points": 0.0,
"present": false
},
{
"factor": "severe_renal_failure",
"points": 0.0,
"present": false
},
{
"factor": "icu_ccu",
"points": 0.0,
"present": false
},
{
"factor": "central_venous_catheter",
"points": 0,
"present": false
},
{
"factor": "rheumatic_disease",
"points": 0,
"present": false
},
{
"factor": "current_cancer",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_40_84",
"points": 0.0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "moderate_renal_failure",
"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.",
"citation": {
"authors": "Decousus H, Tapson VF, Bergmann JF, Chong BH, Froehlich JB, Kakkar AK, et al.",
"doi": "10.1378/chest.09-3081",
"id": "decousus-2011",
"pmid": "20453069",
"source": "Chest. 2011;139(1):69-79",
"title": "Factors at admission associated with bleeding risk in medical patients: findings from the IMPROVE investigators"
},
"formula": "improve_bleed",
"formula_expression": "IMPROVE bleed (Decousus 2011 admission) = active_gastroduodenal_ulcer (4.5) + prior_bleeding (4) + platelet_count_lt_50 (4) + age>=85 (3.5) + hepatic_failure INR>1.5 (2.5) + severe_renal_failure GFR<30 (2.5) + icu_ccu (2.5) + central_venous_catheter (2) + rheumatic_disease (2) + current_cancer (2) + age 40-84 (1.5) + male (1) + moderate_renal_failure GFR 30-59 (1); max 30.5; <7 not_increased, >=7 increased; half-points not integer-rounded; not Hostler 2016; not IMPROVE VTE",
"max_score": 30.5,
"score": 0.0,
"age_years": 35,
"sex": "female",
"bleed_band": "not_increased",
"renal_failure": "none"
},
{
"components": [
{
"factor": "active_gastroduodenal_ulcer",
"points": 0.0,
"present": false
},
{
"factor": "prior_bleeding",
"points": 0,
"present": false
},
{
"factor": "platelet_count_lt_50",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_ge_85",
"points": 0.0,
"present": false
},
{
"factor": "hepatic_failure",
"points": 0.0,
"present": false
},
{
"factor": "severe_renal_failure",
"points": 0.0,
"present": false
},
{
"factor": "icu_ccu",
"points": 0.0,
"present": false
},
{
"factor": "central_venous_catheter",
"points": 0,
"present": false
},
{
"factor": "rheumatic_disease",
"points": 0,
"present": false
},
{
"factor": "current_cancer",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_40_84",
"points": 0.0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "moderate_renal_failure",
"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.",
"citation": {
"authors": "Decousus H, Tapson VF, Bergmann JF, Chong BH, Froehlich JB, Kakkar AK, et al.",
"doi": "10.1378/chest.09-3081",
"id": "decousus-2011",
"pmid": "20453069",
"source": "Chest. 2011;139(1):69-79",
"title": "Factors at admission associated with bleeding risk in medical patients: findings from the IMPROVE investigators"
},
"formula": "improve_bleed",
"formula_expression": "IMPROVE bleed (Decousus 2011 admission) = active_gastroduodenal_ulcer (4.5) + prior_bleeding (4) + platelet_count_lt_50 (4) + age>=85 (3.5) + hepatic_failure INR>1.5 (2.5) + severe_renal_failure GFR<30 (2.5) + icu_ccu (2.5) + central_venous_catheter (2) + rheumatic_disease (2) + current_cancer (2) + age 40-84 (1.5) + male (1) + moderate_renal_failure GFR 30-59 (1); max 30.5; <7 not_increased, >=7 increased; half-points not integer-rounded; not Hostler 2016; not IMPROVE VTE",
"max_score": 30.5,
"score": 0.0,
"age_years": 35,
"sex": "female",
"bleed_band": "not_increased",
"renal_failure": "none"
}
]
}
Response
| Field | Type | Description |
|---|---|---|
formula |
string | improve_bleed |
formula_expression |
string | Exact expression used |
score |
number | Decousus 2011 IMPROVE bleed points 0-30.5 (half-points allowed; not integer-rounded) |
max_score |
number | Always 30.5 |
bleed_band |
string | not_increased when score is <7, increased when score is >=7 (Decousus 2011 derivation). Not a VTE-prophylaxis order. |
age_years |
integer | Age used for the <40 / 40-84 / >=85 bands |
sex |
string | female or male |
renal_failure |
string | none, moderate, or severe as supplied |
components |
array | Per-factor points |
citation |
object | Decousus 2011 citation |
disclaimer |
string | Not-a-device notice |
Example JSON
Machine form of the same example. Frozen fixture. Not a live lookup.
{
"components": [
{
"factor": "active_gastroduodenal_ulcer",
"points": 0.0,
"present": false
},
{
"factor": "prior_bleeding",
"points": 0,
"present": false
},
{
"factor": "platelet_count_lt_50",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_ge_85",
"points": 0.0,
"present": false
},
{
"factor": "hepatic_failure",
"points": 0.0,
"present": false
},
{
"factor": "severe_renal_failure",
"points": 0.0,
"present": false
},
{
"factor": "icu_ccu",
"points": 0.0,
"present": false
},
{
"factor": "central_venous_catheter",
"points": 0,
"present": false
},
{
"factor": "rheumatic_disease",
"points": 0,
"present": false
},
{
"factor": "current_cancer",
"points": 0,
"present": false
},
{
"value": 35,
"factor": "age_40_84",
"points": 0.0,
"present": false
},
{
"factor": "male_sex",
"points": 0,
"present": false
},
{
"factor": "moderate_renal_failure",
"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.",
"citation": {
"authors": "Decousus H, Tapson VF, Bergmann JF, Chong BH, Froehlich JB, Kakkar AK, et al.",
"doi": "10.1378/chest.09-3081",
"id": "decousus-2011",
"pmid": "20453069",
"source": "Chest. 2011;139(1):69-79",
"title": "Factors at admission associated with bleeding risk in medical patients: findings from the IMPROVE investigators"
},
"formula": "improve_bleed",
"formula_expression": "IMPROVE bleed (Decousus 2011 admission) = active_gastroduodenal_ulcer (4.5) + prior_bleeding (4) + platelet_count_lt_50 (4) + age>=85 (3.5) + hepatic_failure INR>1.5 (2.5) + severe_renal_failure GFR<30 (2.5) + icu_ccu (2.5) + central_venous_catheter (2) + rheumatic_disease (2) + current_cancer (2) + age 40-84 (1.5) + male (1) + moderate_renal_failure GFR 30-59 (1); max 30.5; <7 not_increased, >=7 increased; half-points not integer-rounded; not Hostler 2016; not IMPROVE VTE",
"max_score": 30.5,
"score": 0.0,
"age_years": 35,
"sex": "female",
"bleed_band": "not_increased",
"renal_failure": "none"
}
Client errors (HTTP 400)
Invalid params return 400 without charge. Shared HTTP 402 and 503 meanings: Payments.
| HTTP | Code | When |
|---|---|---|
| 400 | invalid_improve_bleed |
IMPROVE bleeding inputs must match Decousus 2011 admission bleeding-risk factors and point weights from that paper. Returned before settlement; you are not charged. |
| 400 | invalid_items |
POST body must be a JSON object with only an items array Returned before settlement; you are not charged. |
| 400 | invalid_item_count |
items must be an array of 1 to 25 objects Returned before settlement; you are not charged. |
| 400 | invalid_item |
each items entry must be a JSON object Returned before settlement; you are not charged. |
Related tools
- IMPROVE VTE — Compute the Spyropoulos 2011 7-factor associative IMPROVE VTE score during hospitalization from age and six caller-assigned flags.
- IMPROVEDD — Compute the Gibson 2017 IMPROVEDD VTE score from age, six caller-assigned IMPROVE flags, and caller-assigned D-dimer >=2x ULN.
- Padua score — Compute the Barbar 2010 Padua Prediction Score for VTE risk in hospitalized medical patients from age and ten caller-assigned findings.
Payment
Unpaid requests return HTTP 402 even if query parameters or POST items are missing or invalid, so CDP and agents can index the path. After a PAYMENT-SIGNATURE, invalid params return HTTP 400 JSON before settlement. magent does not charge. Fix the params, then request a new 402 quote for that complete URL. Catalog misses (empty matches, found=false) are valid paid 200s. Unpaid valid requests return HTTP 402 with a base64
PAYMENT-REQUIRED
header. HTTP 503 is not a new quote: retry the same PAYMENT-SIGNATURE. Full handshake
and shared payment errors: Payments.
Stdio MCP: /docs/mcp.
Guarantees
- HTTP 402 is unpaid, including a missing query. After PAYMENT-SIGNATURE, invalid parameters return HTTP 400 before settlement. You are not charged. HTTP 402 never includes the tool JSON.
- exact: settlement finishes before the tool (paymentFlow upfront). batch-settlement: verify/deposit before the tool; chargedCumulativeAmount commits after HTTP 2xx. Uncertain or failed settlement fails closed (HTTP 503). Retry the same PAYMENT-SIGNATURE.
- HTTP 402 is unpaid only. Do not sign a second authorization because of a 503.
- Execution is timeout-bounded and concurrency-capped.
- Calculator inputs are stored encrypted for allowlisted operators (Magent Console). They are not in public logs, SSH lookups, catalog, or rollups. Request logs store path without query.