MAGENT

Hematology · LIVE

SMM 2/20/20 risk (Lakshman 2018)

SMM 2/20/20

Count Lakshman 2018 2/20/20 smoldering-myeloma risk factors (BMPC >20%, M-protein >2 g/dL, involved/uninvolved FLC ratio >20) and return low, intermediate, or high with published median TTP.

LIVE $0.005 USDC GET /api/calc/smm_22020

Markdown: /docs/smm-22020.md · Canonical: https://magentlab.com/docs/smm-22020

Not a medical device. Not a diagnosis, dose, or listing recommendation.

What it computes

Count Lakshman 2018 2/20/20 smoldering-myeloma risk factors (BMPC >20%, M-protein >2 g/dL, involved/uninvolved FLC ratio >20) and return low, intermediate, or high with published median TTP.

When to use

When an agent has caller-supplied bone-marrow plasma-cell percent, serum M-protein, and involved/uninvolved FLC ratio for smoldering myeloma and needs the published Lakshman 2018 2/20/20 factor count, not Mayo 70/20, not PETHEMA, not myeloma ISS, and not a treatment order.

When not to use

  • Not a medical device. magent does not examine the patient and does not assay marrow, M-protein, or free light chains.
  • Not a myeloma diagnosis or treatment order. This is Lakshman 2018 2/20/20 SMM risk only, not Mayo 70/20, not PETHEMA, not Greipp ISS, and not R-ISS.
  • IMWG 2014 myeloma-defining SLiM criteria stay outside this score: BMPC 60% or above and involved/uninvolved FLC ratio 100 or above are rejected, not scored. MRI focal lesions are not an input.
  • The three 2/20/20 cutoffs are strict greater-than (BMPC >20, M-protein >2 g/dL, FLC ratio >20). Values equal to 20, 2, and 20 do not add a factor.

Formula

Lakshman 2018 2/20/20 = (bmpc_percent > 20) + (m_protein_g_dl > 2) + (flc_ratio > 20); each 1; max 3; 0 low median TTP 110 months, 1 intermediate 68 months, 2 or 3 high 29 months. Not Mayo 70/20. Not PETHEMA. Not myeloma ISS

Citation

Title
Risk stratification of smoldering multiple myeloma incorporating revised IMWG diagnostic criteria
Authors
Lakshman A, Rajkumar SV, Buadi FK, et al.
Source
Blood Cancer J. 2018;8(6):59
DOI
10.1038/s41408-018-0077-4

Worked example

BMPC 25%, M-protein 2.5 g/dL, FLC ratio 25

Given: bmpc_percent=25flc_ratio=25m_protein_g_dl=2.5

  1. bmpc_percent 25 > 20 → 1; m_protein_g_dl 2.5 > 2 → 1; flc_ratio 25 > 20 → 1
  2. factor_count = 3 (max 3); risk_group = high; median_ttp_months = 29

BMPC 15%, M-protein 1.5 g/dL, FLC ratio 10

Given: bmpc_percent=15flc_ratio=10m_protein_g_dl=1.5

  1. bmpc_percent 15 is not > 20 → 0; m_protein_g_dl 1.5 is not > 2 → 0; flc_ratio 10 is not > 20 → 0
  2. factor_count = 0; risk_group = low; median_ttp_months = 110

Also searched as

  • smoldering multiple myeloma
  • SMM 2/20/20
  • Lakshman 2018 SMM
  • 20/2/20 SMM
  • smouldering myeloma risk
  • SMM time to progression
  • BMPC M-protein FLC SMM
  • Lakshman smoldering myeloma

Try

Opens the live endpoint. Unpaid browser requests show the paywall; agents should send Accept: application/json.

/api/calc/smm_22020?bmpc_percent=25&m_protein_g_dl=2.5&flc_ratio=25

Full URL: https://api.magentlab.com/api/calc/smm_22020?bmpc_percent=25&m_protein_g_dl=2.5&flc_ratio=25

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/smm_22020?bmpc_percent=25&m_protein_g_dl=2.5&flc_ratio=25"

Parameters

Name Type Required Description
bmpc_percent number required Bone-marrow plasma cells as a percent (10-59). >20 scores 1 (Lakshman 2018 2/20/20). 20 scores 0. 10 is the SMM floor. 60 or above is IMWG 2014 myeloma and is rejected, not scored. magent does not read a marrow.
m_protein_g_dl number required Serum M-protein in g/dL (0-15). >2 scores 1 (Lakshman 2018 2/20/20). 2 scores 0. magent does not assay M-protein.
flc_ratio number required Involved/uninvolved serum free light-chain ratio as assigned by the caller (0.01-99.9). >20 scores 1 (Lakshman 2018 2/20/20). 20 scores 0. 100 or above is IMWG 2014 myeloma and is rejected, not scored. magent does not assay free light chains.

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.

POST /api/calc/smm_22020 Max 25 unit_amount + extra_item_amount * (n - 1) extra $0.002 PREVIEW

  • 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": [
    {
      "bmpc_percent": "25",
      "flc_ratio": "25",
      "m_protein_g_dl": "2.5"
    },
    {
      "bmpc_percent": "25",
      "flc_ratio": "25",
      "m_protein_g_dl": "2.5"
    }
  ]
}

Open bulk paywall →

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/smm_22020",
  "items": [
    {
      "components": [
        {
          "value": 25.0,
          "factor": "bmpc_percent_gt_20",
          "points": 1,
          "present": true
        },
        {
          "value": 2.5,
          "factor": "m_protein_gt_2",
          "points": 1,
          "present": true
        },
        {
          "value": 25.0,
          "factor": "flc_ratio_gt_20",
          "points": 1,
          "present": true
        }
      ],
      "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": "Lakshman A, Rajkumar SV, Buadi FK, et al.",
        "doi": "10.1038/s41408-018-0077-4",
        "id": "lakshman-2018",
        "pmid": "29895887",
        "source": "Blood Cancer J. 2018;8(6):59",
        "title": "Risk stratification of smoldering multiple myeloma incorporating revised IMWG diagnostic criteria"
      },
      "formula": "smm_22020",
      "formula_expression": "Lakshman 2018 2/20/20 = (bmpc_percent > 20) + (m_protein_g_dl > 2) + (flc_ratio > 20); each 1; max 3; 0 low median TTP 110 months, 1 intermediate 68 months, 2 or 3 high 29 months. Not Mayo 70/20. Not PETHEMA. Not myeloma ISS",
      "max_score": 3,
      "score": 3,
      "risk_group": "high",
      "bmpc_percent": 25.0,
      "factor_count": 3,
      "flc_ratio": 25.0,
      "m_protein_g_dl": 2.5,
      "median_ttp_months": 29
    },
    {
      "components": [
        {
          "value": 25.0,
          "factor": "bmpc_percent_gt_20",
          "points": 1,
          "present": true
        },
        {
          "value": 2.5,
          "factor": "m_protein_gt_2",
          "points": 1,
          "present": true
        },
        {
          "value": 25.0,
          "factor": "flc_ratio_gt_20",
          "points": 1,
          "present": true
        }
      ],
      "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": "Lakshman A, Rajkumar SV, Buadi FK, et al.",
        "doi": "10.1038/s41408-018-0077-4",
        "id": "lakshman-2018",
        "pmid": "29895887",
        "source": "Blood Cancer J. 2018;8(6):59",
        "title": "Risk stratification of smoldering multiple myeloma incorporating revised IMWG diagnostic criteria"
      },
      "formula": "smm_22020",
      "formula_expression": "Lakshman 2018 2/20/20 = (bmpc_percent > 20) + (m_protein_g_dl > 2) + (flc_ratio > 20); each 1; max 3; 0 low median TTP 110 months, 1 intermediate 68 months, 2 or 3 high 29 months. Not Mayo 70/20. Not PETHEMA. Not myeloma ISS",
      "max_score": 3,
      "score": 3,
      "risk_group": "high",
      "bmpc_percent": 25.0,
      "factor_count": 3,
      "flc_ratio": 25.0,
      "m_protein_g_dl": 2.5,
      "median_ttp_months": 29
    }
  ]
}

Response

Field Type Description
formula string smm_22020
formula_expression string Exact expression used
bmpc_percent number Bone-marrow plasma-cell percent used for the >20 factor
m_protein_g_dl number Serum M-protein in g/dL used for the >2 factor
flc_ratio number Caller-assigned involved/uninvolved FLC ratio used for the >20 factor
score integer Factor count 0-3 (same as factor_count)
max_score integer Always 3
factor_count integer How many of the three Lakshman 2018 factors are present (0-3)
risk_group string low when factor_count is 0, intermediate when 1, high when 2 or 3 (Lakshman 2018). Not a myeloma diagnosis. Not Mayo 70/20. Not PETHEMA. Not myeloma ISS. Not a treatment order.
median_ttp_months integer Lakshman 2018 median time to progression in months: 110 (low), 68 (intermediate), 29 (high)
components array Per-factor points
citation object Lakshman et al. Blood Cancer J. 2018 citation
disclaimer string Not-a-device notice

Example JSON

Machine form of the same example. Frozen fixture. Not a live lookup.

{
  "components": [
    {
      "value": 25.0,
      "factor": "bmpc_percent_gt_20",
      "points": 1,
      "present": true
    },
    {
      "value": 2.5,
      "factor": "m_protein_gt_2",
      "points": 1,
      "present": true
    },
    {
      "value": 25.0,
      "factor": "flc_ratio_gt_20",
      "points": 1,
      "present": true
    }
  ],
  "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": "Lakshman A, Rajkumar SV, Buadi FK, et al.",
    "doi": "10.1038/s41408-018-0077-4",
    "id": "lakshman-2018",
    "pmid": "29895887",
    "source": "Blood Cancer J. 2018;8(6):59",
    "title": "Risk stratification of smoldering multiple myeloma incorporating revised IMWG diagnostic criteria"
  },
  "formula": "smm_22020",
  "formula_expression": "Lakshman 2018 2/20/20 = (bmpc_percent > 20) + (m_protein_g_dl > 2) + (flc_ratio > 20); each 1; max 3; 0 low median TTP 110 months, 1 intermediate 68 months, 2 or 3 high 29 months. Not Mayo 70/20. Not PETHEMA. Not myeloma ISS",
  "max_score": 3,
  "score": 3,
  "risk_group": "high",
  "bmpc_percent": 25.0,
  "factor_count": 3,
  "flc_ratio": 25.0,
  "m_protein_g_dl": 2.5,
  "median_ttp_months": 29
}

Client errors (HTTP 400)

Invalid params return 400 without charge. Shared HTTP 402 and 503 meanings: Payments.

HTTP Code When
400 invalid_bmpc bmpc_percent must be a number from 10 to 59 (Lakshman 2018 SMM bone-marrow plasma cells; ≥60 is myeloma). Returned before settlement; you are not charged.
400 invalid_m_protein m_protein_g_dl must be a number from 0 to 15 (Lakshman 2018 serum M-protein g/dL). Returned before settlement; you are not charged.
400 invalid_flc_ratio flc_ratio must be a number from 0.01 to 99.9 (Lakshman 2018 involved/uninvolved FLC ratio; ≥100 is myeloma). 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

  • Myeloma ISS — Apply the Greipp 2005 International Staging System for multiple myeloma from serum beta-2 microglobulin and albumin.
  • R-ISS — Apply the Palumbo 2015 Revised International Staging System for multiple myeloma from ISS (beta-2 microglobulin and albumin), caller-assigned high-risk cytogenetic abnormalities, and LDH above the upper limit of normal.
  • IMWG myeloma criteria — Apply the Rajkumar 2014 International Myeloma Working Group updated criteria for multiple myeloma requiring therapy: clonal bone marrow plasma cells ≥10% or biopsy-proven plasmacytoma plus at least one myeloma-defining event (CRAB or SLiM).

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.