Clinical Safety Note: Rapid overcorrection of hyponatremia (>10-12 mEq/L in 24 hours) carries a significant risk of Osmotic Demyelination Syndrome (ODS). Please monitor electrolytes frequently (every 1-2 hours).
About Hypertonic Saline Calculations
Correcting severe hyponatremia requires precise calculations to avoid complications such as cerebral edema or Osmotic Demyelination Syndrome (ODS). This calculator utilizes the Adrogué-Madias formula to estimate the infusion rate of hypertonic saline (typically 3% NaCl) required to reach a specific serum sodium target over a set period.
The Adrogué-Madias Formula
The formula estimates the change in serum sodium concentration caused by the administration of one liter of a selected infusate. The calculation is derived as follows:
Change in Serum Na = (Infusate Na – Serum Na) / (Total Body Water + 1)
Total Body Water (TBW) is estimated based on weight, gender, and age:
Children: 0.6 × Weight (kg)
Adult Men: 0.6 × Weight (kg)
Adult Women: 0.5 × Weight (kg)
Elderly Men: 0.5 × Weight (kg)
Elderly Women: 0.45 × Weight (kg)
Safe Correction Limits
Clinical guidelines generally recommend a correction limit of 8 to 10 mEq/L within the first 24 hours, and 18 mEq/L within 48 hours. In cases of acute symptomatic hyponatremia, a more rapid initial increase (e.g., 4-6 mEq/L in the first 6 hours) may be indicated to prevent brain herniation, but careful monitoring is mandatory.
How to Use This Calculator
Patient Data: Select the gender/category and input the patient's weight in kg.
Sodium Levels: Enter the current serum sodium and the desired target. For acute stabilization, targets are usually only 4-6 mEq/L above baseline.
Infusate: Select the solution type (3% NaCl is standard for hypertonic correction).
Duration: Enter the time frame (in hours) over which you wish to administer the correction.
Result: The tool calculates the required flow rate in mL/hr.
Disclaimer: This tool is intended for educational purposes and as a clinical decision support aid. It does not replace professional medical judgment. Individual patient physiology varies, and actual sodium response may differ from calculated predictions. Frequent electrolyte monitoring is essential during hypertonic saline administration.
function calculateSalineRate() {
// 1. Get Input Values
var gender = document.getElementById('hs_gender').value;
var weight = parseFloat(document.getElementById('hs_weight').value);
var solutionNa = parseFloat(document.getElementById('hs_solution').value);
var currentNa = parseFloat(document.getElementById('hs_current_na').value);
var targetNa = parseFloat(document.getElementById('hs_target_na').value);
var duration = parseFloat(document.getElementById('hs_duration').value);
// 2. Validate Inputs
if (isNaN(weight) || weight <= 0) {
alert("Please enter a valid weight.");
return;
}
if (isNaN(currentNa) || isNaN(targetNa)) {
alert("Please enter valid Sodium (Na) levels.");
return;
}
if (isNaN(duration) || duration <= 0) {
alert("Please enter a valid duration in hours.");
return;
}
// 3. Calculate Total Body Water (TBW)
var tbwFactor = 0.6; // Default male/child
if (gender === 'female' || gender === 'elderly_male') {
tbwFactor = 0.5;
} else if (gender === 'elderly_female') {
tbwFactor = 0.45;
} else if (gender === 'child') {
tbwFactor = 0.6;
} else {
tbwFactor = 0.6; // Male default
}
var tbw = weight * tbwFactor;
// 4. Adrogué-Madias Formula: Change in Serum Na per 1 Liter of Infusate
// Formula: (Infusate Na – Serum Na) / (TBW + 1)
var changePerLiter = (solutionNa – currentNa) / (tbw + 1);
// Handle edge case where changePerLiter is 0 or negative (if target is lower, or solution is isotonic)
if (changePerLiter currentNa) {
alert("Selected solution cannot raise Sodium levels (Infusate Na is lower than or equal to Serum Na).");
return;
}
// 5. Calculate Total Deficit/Required Rise
var requiredRise = targetNa – currentNa;
// 6. Calculate Volume Required (Liters)
// Volume = Required Rise / Change per Liter
var volumeRequiredLiters = requiredRise / changePerLiter;
// 7. Calculate Rate (mL/hr)
// Rate = (Volume in Liters * 1000) / Duration in Hours
var totalVolumeMl = volumeRequiredLiters * 1000;
var infusionRate = totalVolumeMl / duration;
// 8. Update UI
document.getElementById('res_tbw').innerHTML = tbw.toFixed(1) + " L";
document.getElementById('res_effect').innerHTML = "+" + changePerLiter.toFixed(2) + " mEq/L";
document.getElementById('res_diff').innerHTML = requiredRise.toFixed(1) + " mEq/L";
document.getElementById('res_volume').innerHTML = totalVolumeMl.toFixed(0) + " mL";
document.getElementById('res_rate').innerHTML = infusionRate.toFixed(1) + " mL/hr";
// Show Results
document.getElementById('hs_result_container').style.display = "block";
// Logic for ODS warning text update
var projected24hRise = 0;
if (duration 10) {
warningBox.innerHTML = "CRITICAL WARNING: Your target rise (" + requiredRise + " mEq/L) exceeds the general safety guideline of 10 mEq/L in 24 hours. High risk of Osmotic Demyelination Syndrome (ODS). Re-evaluate target.";
warningBox.style.display = "block";
warningBox.style.backgroundColor = "#ffebee"; // Red tint
warningBox.style.borderLeftColor = "#f44336";
warningBox.style.color = "#b71c1c";
} else {
// Standard warning
warningBox.innerHTML = "Clinical Safety Note: Rapid overcorrection of hyponatremia (>10-12 mEq/L in 24 hours) carries a significant risk of Osmotic Demyelination Syndrome (ODS). Please monitor electrolytes frequently.";
warningBox.style.backgroundColor = "#fffbdd";
warningBox.style.borderLeftColor = "#ffeb3b";
warningBox.style.color = "#856404";
warningBox.style.display = "block";
}
}