WARNING: This calculator is for educational and verification purposes only. Always follow the specific physician orders and your facility's protocols. Infusion rates must be individualized based on patient tolerability. The max rate for Gammagard Liquid is typically 8 mg/kg/min, but may be lower for patients with risk factors.
Understanding Gammagard Infusion Rates
Gammagard Liquid [Immune Globulin Infusion (Human)] 10% is a therapy used to treat primary humoral immunodeficiency (PI) and multifocal motor neuropathy (MMN). Accurate calculation of the infusion rate is critical for patient safety, as rates that are too fast can lead to adverse reactions such as headaches, chills, or rate-related renal complications.
How the Calculation Works
The infusion rate for IVIG (Intravenous Immunoglobulin) is typically prescribed in mg/kg/min (milligrams per kilogram of body weight per minute) and must be converted to mL/hr (milliliters per hour) for the infusion pump. The conversion formula depends on the concentration of the solution.
Concentration: Gammagard Liquid is a 10% solution, which equals 100 mg/mL. Gammagard S/D is typically a 5% solution (50 mg/mL).
Time: The multiplier of 60 converts the minute-based clinical rate to an hour-based pump setting.
Standard Titration Schedule
For most patients, Gammagard Liquid infusion starts at a low rate and is gradually increased (titrated) every 30 minutes if tolerated. The standard manufacturer guidelines suggest:
Initial Rate: 0.5 mg/kg/min.
Increments: The rate can be increased every 30 minutes.
Maximum Rate: typically 8 mg/kg/min (though it may be capped at 4 mg/kg/min or less for patients with renal risk factors).
Example Calculation
Consider a 70 kg patient prescribed Gammagard Liquid 10%.
Initial Rate (0.5 mg/kg/min):
(0.5 × 70 × 60) / 100 = 21 mL/hr
Maximum Rate (8.0 mg/kg/min):
(8.0 × 70 × 60) / 100 = 336 mL/hr
Safety Considerations
Ensure that patients are well-hydrated prior to infusion. Monitor vital signs continuously during the titration phase. If adverse reactions occur, the infusion should be slowed or stopped immediately according to medical protocol. Always verify the concentration on the vial, as different IVIG products vary in concentration (5%, 10%, 20%).
function calculateInfusion() {
// 1. Get Input Values
var weightInput = document.getElementById('weight').value;
var weightUnit = document.getElementById('weightUnit').value;
var doseInput = document.getElementById('dose').value;
var doseUnit = document.getElementById('doseUnit').value;
var concentrationPercent = document.getElementById('concentration').value;
// 2. Validate Inputs
if (weightInput === "" || doseInput === "" || parseFloat(weightInput) <= 0 || parseFloat(doseInput) 1.0 -> 2.0 -> 4.0 -> 8.0 (Max)
// Each step lasts 30 mins usually
var steps = [
{ rateMgKgMin: 0.5, durationMin: 30, label: "Initial" },
{ rateMgKgMin: 1.0, durationMin: 30, label: "Step 2" },
{ rateMgKgMin: 2.0, durationMin: 30, label: "Step 3" },
{ rateMgKgMin: 4.0, durationMin: 30, label: "Step 4" },
{ rateMgKgMin: 8.0, durationMin: 0, label: "Max Rate" } // Duration 0 implies "until finished"
];
// 6. Generate Table and Calculations
var tableHtml = "";
var remainingVol = totalVolume;
var totalTimeMin = 0;
var isFinished = false;
for (var i = 0; i 0 && i = remainingVol) {
// Finished during this step
stepTime = (remainingVol * 60) / flowRateMlHr;
remainingVol = 0;
durationText = Math.round(stepTime) + " min (Finished)";
totalTimeMin += stepTime;
isFinished = true;
} else {
// Step completes fully, move to next
remainingVol -= stepVol;
stepTime = step.durationMin;
durationText = step.durationMin + " min";
totalTimeMin += stepTime;
}
} else {
// Max rate step (run until empty)
stepTime = (remainingVol * 60) / flowRateMlHr;
stepVol = remainingVol;
remainingVol = 0;
durationText = "Remainder (~" + Math.round(stepTime) + " min)";
totalTimeMin += stepTime;
isFinished = true;
}
tableHtml += "
";
tableHtml += "
" + step.label + "
";
tableHtml += "
" + step.rateMgKgMin.toFixed(1) + "
";
tableHtml += "
" + flowRateMlHr.toFixed(1) + "
";
tableHtml += "
" + durationText + "
";
tableHtml += "
";
}
// 7. Update UI
document.getElementById('displayWeight').innerText = weightKg.toFixed(1);
document.getElementById('displayDose').innerText = doseGrams.toFixed(1);
document.getElementById('totalVolume').innerText = totalVolume.toFixed(1) + " mL";
// Format time
var hours = Math.floor(totalTimeMin / 60);
var mins = Math.round(totalTimeMin % 60);
var timeString = hours + " hr " + mins + " min";
document.getElementById('estTime').innerText = timeString;
document.getElementById('scheduleBody').innerHTML = tableHtml;
document.getElementById('results').style.display = 'block';
}