# Adrogué–Madias Serum Sodium Change Calculator

> Adrogué–Madias Serum Sodium Change Calculator is a paid API for AI agents from api.magentlab.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-15).

Calculates the predicted change in serum sodium concentration after infusing 1 liter of a given fluid, using the Adrogué–Madias formula with population-appropriate total body water fractions.

## Facts

- Endpoint: GET https://api.magentlab.com/api/calc/adrogue_madias
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-15
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/adrogu-madias-serum-sodium-change-calculator-74fa232d
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_048_7EvggWgchw4fKQJLY

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability adrogu-madias-serum-sodium-change-calculator-74fa232d
```

Example prompt: Use the Adrogué–Madias formula to calculate how much serum sodium will change after 1 liter of 3% NaCl (513 mmol/L sodium, 0 mmol/L potassium) in a 70 kg adult male, age 45, non-pediatric, with a current serum sodium of 118 mmol/L.

## When to prefer this

Use this endpoint when you need a fast, deterministic Adrogué–Madias sodium change calculation with explicit support for different TBW fractions (child 0.6, adult male 0.6, adult female 0.5, elderly male 0.5, elderly female 0.45) and the ability to include potassium in the infusate. Prefer this over manual calculation when integrating clinical decision support into an automated workflow. It is not a correction-rate protocol or infusion order — it is a single-step arithmetic computation per the published citation.

## Known failure modes

- Missing required parameters (sodium_mmol_l, infusate_na_mmol_l, sex, age, pediatric) return a 400 validation error
- Serum sodium outside the valid range 90–190 mmol/L is rejected
- Infusate sodium outside 0–1000 mmol/L or potassium outside 0–200 mmol/L is rejected
- Age outside the valid range for the chosen pediatric flag (e.g. age 5 with pediatric=false) causes a validation error
- Missing weight (neither weight_kg nor weight_lb provided) returns an error
- Payment not included or insufficient USDC balance causes a 402 Payment Required response

## How this service works

Adrogué–Madias change in serum sodium after 1 L of infusate from TBW (child 0.6; adult male 0.6; adult female 0.5; elderly male 0.5; elderly female 0.45) and infusate Na plus K. Deterministic published arithmetic with citation; not a correction-rate order or infusion protocol.

## Output

Returns the predicted delta in serum sodium (mmol/L) that would result from infusing exactly 1 liter of the specified fluid, calculated using the Adrogué–Madias equation with the appropriate total body water fraction for the patient's age, sex, and pediatric status. The result is a deterministic arithmetic output based on the published formula, not a clinical dosing recommendation.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "headers": {
     "type": "object",
     "additionalProperties": {
      "type": "string"
     }
    },
    "queryParams": {
     "type": "object",
     "required": [
      "sodium_mmol_l",
      "infusate_na_mmol_l",
      "sex",
      "age",
      "pediatric"
     ],
     "properties": {
      "age": {
       "type": "integer",
       "description": "Age in years. pediatric=false: integer 18-120; age ≥65 uses the elderly TBW fraction. pediatric=true: integer 0-17; TBW uses the child fraction 0.6."
      },
      "sex": {
       "enum": [
        "female",
        "male"
       ],
       "type": "string",
       "description": "Sex used for adult and elderly TBW fractions. Ignored for the TBW fraction when pediatric=true (child fraction 0.6)."
      },
      "pediatric": {
       "type": "boolean",
       "description": "true uses the child TBW fraction 0.6. false uses adult or elderly fractions from sex and age. Required; magent does not infer child vs adult from age."
      },
      "weight_kg": {
       "type": "number",
       "description": "Weight in kilograms. Provide weight_kg or weight_lb."
      },
      "weight_lb": {
       "type": "number",
       "description": "Weight in pounds. Converted as kg = lb * 0.45359237."
      },
      "sodium_mmol_l": {
       "type": "number",
       "description": "Measured serum sodium in mmol/L. Range 90-190."
      },
      "infusate_k_mmol_l": {
       "type": "number",
       "description": "Potassium concentration of the same 1 L infusate in mmol/L (0-200). Omitted uses 0. Added to infusate sodium in the numerator."
      },
      "infusate_na_mmol_l": {
       "type": "number",
       "description": "Sodium concentration of 1 L of infusate in mmol/L (0-1000). Adrogué–Madias table examples: 5% dextrose 0; 0.9% NaCl 154; 3% NaCl 513."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "path": "/api/calc/adrogue_madias",
  "count": 2,
  "items": [
   {
    "sex": "female",
    "tbw_l": 35,
    "formula": "adrogue_madias",
    "citation": {
     "id": "adrogue-madias-2000",
     "doi": "10.1056/NEJM200005253422107",
     "title": "Hyponatremia",
     "source": "N Engl J Med. 2000;342(21):1581-1589",
     "authors": "Adrogué HJ, Madias NE"
    },
    "age_years": 40,
    "pediatric": false,
    "weight_kg": 70,
    "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.",
    "tbw_fraction": 0.5,
    "sodium_mmol_l": 110,
    "delta_na_mmol_l": 11.2,
    "infusate_k_mmol_l": 0,
    "formula_expression": "delta_na_mmol_l = (infusate_na_mmol_l + infusate_k_mmol_l - sodium_mmol_l) / (tbw_l + 1); tbw_l = tbw_fraction * weight_kg",
    "infusate_na_mmol_l": 513
   },
   {
    "sex": "female",
    "tbw_l": 35,
    "formula": "adrogue_madias",
    "citation": {
     "id": "adrogue-madias-2000",
     "doi": "10.1056/NEJM200005253422107",
     "title": "Hyponatremia",
     "source": "N Engl J Med. 2000;342(21):1581-1589",
     "authors": "Adrogué HJ, Madias NE"
    },
    "age_years": 40,
    "pediatric": false,
    "weight_kg": 70,
    "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.",
    "tbw_fraction": 0.5,
    "sodium_mmol_l": 110,
    "delta_na_mmol_l": 11.2,
    "infusate_k_mmol_l": 0,
    "formula_expression": "delta_na_mmol_l = (infusate_na_mmol_l + infusate_k_mmol_l - sodium_mmol_l) / (tbw_l + 1); tbw_l = tbw_fraction * weight_kg",
    "infusate_na_mmol_l": 513
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/adrogu-madias-serum-sodium-change-calculator-74fa232d/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.magentlab.com](https://www.zero.xyz/host/api.magentlab.com/llms.txt)
