MAGENT

LIVE

Devine IBW

Compute Devine ideal body weight and 0.4 adjusted body weight from height, sex, and actual weight.

LIVE $0.005 USDC GET /api/calc/ibw_devine

Markdown: /docs/ibw.md · Canonical: https://magentlab.com/docs/ibw

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

What it computes

Compute Devine ideal body weight and 0.4 adjusted body weight from height, sex, and actual weight.

When to use

When a label or protocol still cites Devine IBW or 0.4 AdjBW and an agent must not invent the kilograms.

When not to use

  • Not a dosing recommendation. magent does not apply IBW to Cockcroft–Gault unless you call CrCl separately with that weight.
  • Devine is undefined below 60 inches in the original table; this implementation still evaluates the linear formula.

Formula

IBW_kg = 50 (male) or 45.5 (female) + 2.3 * (height_in - 60); AdjBW_kg = IBW_kg + 0.4 * (TBW_kg - IBW_kg) when TBW > IBW, else TBW_kg

Citation

Title
Gentamicin therapy
Authors
Devine BJ
Source
Drug Intell Clin Pharm. 1974;8:650-655
DOI
none

Worked example

70 in male, 90 kg

Given: height_in=70sex=maleweight_kg=90

  1. IBW = 50 + 2.3 * (70 - 60) = 73.0 kg
  2. TBW 90 > IBW 73, so AdjBW = 73 + 0.4 * (90 - 73) = 79.8 kg

Try

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

/api/calc/ibw_devine?height_in=70&sex=male&weight_kg=90

Full URL: https://api.magentlab.com/api/calc/ibw_devine?height_in=70&sex=male&weight_kg=90

x402 V2 curl

Expect HTTP 402 and a PAYMENT-REQUIRED header 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/ibw_devine?height_in=70&sex=male&weight_kg=90"

Cursor mcp.json

Intended config for @magent/mcp. This is not npm @x402/fetch (a payment fetch wrapper).

{
  "mcpServers": {
    "magent": {
      "args": [
        "-y",
        "@magent/mcp"
      ],
      "command": "npx",
      "env": {
        "X402_PRIVATE_KEY": "0xYOUR_SPENDING_KEY"
      }
    }
  }
}

Parameters

Name Type Required Description
height_cm number optional Height in centimeters. Provide height_cm or height_in.
height_in number optional Height in inches. Devine uses inches: IBW adds 2.3 kg per inch over 60.
sex string required · female, male Sex used by Devine (50 kg male, 45.5 kg female base).
weight_kg number optional Actual total body weight in kilograms. Provide weight_kg or weight_lb.
weight_lb number optional Actual total body weight in pounds.

Response

Field Type Description
formula string devine_ibw_adjbw
formula_expression string Exact expressions used
sex string female or male
height_cm number Normalized height in cm
height_in number Height in inches used by Devine
actual_weight_kg number Total body weight in kg
ibw_kg number Devine ideal body weight, 1 decimal
adjbw_kg number Adjusted body weight with 0.4 factor when TBW > IBW, else TBW
adjbw_factor number Always 0.4
citation object Devine 1974 citation
disclaimer string Not-a-device notice

Example JSON

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

{
  "disclaimer": "Not a medical device. Deterministic published-formula or coded-ontology output for autonomous agents. A licensed clinician remains responsible for patient care and billing submissions.",
  "citation": {
    "authors": "Devine BJ",
    "doi": null,
    "id": "devine-1974",
    "source": "Drug Intell Clin Pharm. 1974;8:650-655",
    "title": "Gentamicin therapy"
  },
  "formula": "devine_ibw_adjbw",
  "formula_expression": "IBW_kg = 50 (male) or 45.5 (female) + 2.3 * (height_in - 60); AdjBW_kg = IBW_kg + 0.4 * (TBW_kg - IBW_kg) when TBW > IBW, else TBW_kg",
  "sex": "male",
  "height_cm": 177.8,
  "actual_weight_kg": 90.0,
  "adjbw_factor": 0.4,
  "adjbw_kg": 79.8,
  "height_in": 70.0,
  "ibw_kg": 73.0
}

Errors

HTTP Code When
400 invalid_height height_cm (50-250) or height_in (20-98) is required Returned before settlement; you are not charged.
400 invalid_sex sex must be female or male Returned before settlement; you are not charged.
400 invalid_weight weight_kg (1-500) or weight_lb (2-1100) is required Returned before settlement; you are not charged.
402 payment_required Missing or invalid PAYMENT-SIGNATURE; decode the PAYMENT-REQUIRED header
409 payment_in_progress The same authorization nonce is already being settled; retry shortly
429 rate_limited Too many requests from this client
503 settlement_uncertain Settlement is unconfirmed; retry with the same PAYMENT-SIGNATURE
503 facilitator_unavailable Payment facilitator unavailable
503 facilitator_misconfigured Payment facilitator is not configured
503 facilitator_unauthorized Payment facilitator rejected credentials
503 ledger_unavailable Payment ledger unavailable
503 payment_unavailable Payment processing unavailable

Related tools

  • BMI — Compute Keys/Quetelet body-mass index from height and weight, plus a WHO adult band.
  • Mosteller BSA — Compute Mosteller body surface area in m^2 from height and weight.
  • Cockcroft–Gault CrCl — Compute Cockcroft–Gault creatinine clearance in mL/min using total body weight.

Also searched as

  • Devine IBW
  • adjusted body weight 0.4
  • ideal body weight
  • AdjBW

Payment

Required query parameters must be present and valid. 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. Retry the same URL with PAYMENT-SIGNATURE. Settlement completes before the tool runs. Full handshake and shared payment errors: Payments.

Guarantees

  • Invalid query parameters return HTTP 400 before settlement. You are not charged.
  • Settlement finishes before the tool executes. Uncertain settlement fails closed (HTTP 503).
  • Execution is timeout-bounded and concurrency-capped.
  • Calculator inputs are not persisted. Request logs store path without query.