Rituxan is a monoclonal antibody used to treat various conditions, including Non-Hodgkin's Lymphoma, Chronic Lymphocytic Leukemia, and Rheumatoid Arthritis. Because infusion-related reactions (IRRs) are common, especially during the first dose, a strict titration protocol is followed.
Standard Protocols
Nursing protocols typically differentiate between the first infusion and subsequent infusions:
First Infusion: Usually starts at 50 mg/hr. If tolerated, the rate is increased by 50 mg/hr every 30 minutes to a maximum of 400 mg/hr.
Subsequent Infusions: If the first dose was tolerated well, the starting rate may be 100 mg/hr, increasing by 100 mg/hr every 30 minutes up to a maximum of 400 mg/hr.
Calculation Formula
To convert the prescribed dose (mg/hr) to an infusion pump setting (mL/hr), the following formula is used:
If a patient is prescribed 700 mg of Rituxan at a concentration of 1 mg/mL:
Initial: 50 mg/hr / 1 mg/mL = 50 mL/hr.
After 30 mins: 100 mg/hr / 1 mg/mL = 100 mL/hr.
Continue: Increase every 30 mins until the bag is empty or the max rate is reached.
Disclaimer: This calculator is for educational purposes for healthcare professionals. Always follow your institutional pharmacy protocols and manufacturer guidelines.
function calculateRituxanRate() {
var dose = parseFloat(document.getElementById('rituxanDose').value);
var conc = parseFloat(document.getElementById('rituxanConc').value);
var startRate = parseFloat(document.getElementById('rituxanStart').value);
var inc = parseFloat(document.getElementById('rituxanInc').value);
var maxRate = parseFloat(document.getElementById('rituxanMax').value);
var interval = parseFloat(document.getElementById('rituxanInterval').value);
if (isNaN(dose) || isNaN(conc) || isNaN(startRate) || dose <= 0 || conc 0) {
// Calculate dose delivered in this interval
// Dose = Rate (mg/hr) * (Time (min) / 60)
var doseInInterval = currentRate * (interval / 60);
var row = document.createElement('tr');
var timeLabel = currentTime + " – " + (currentTime + interval);
var mlHr = (currentRate / conc).toFixed(1);
// Check if the remaining dose is less than what this interval would deliver
if (doseInInterval >= remainingDose) {
// Calculate exact time for remaining dose
var exactMins = (remainingDose / currentRate) * 60;
timeLabel = currentTime + " – " + (currentTime + exactMins).toFixed(1);
totalMinutes = currentTime + exactMins;
remainingDose = 0;
} else {
remainingDose -= doseInInterval;
currentTime += interval;
totalMinutes = currentTime;
}
row.innerHTML = '
' + timeLabel + '
' +
'
' + currentRate + ' mg/hr
' +
'
' + mlHr + ' mL/hr
';
tableBody.appendChild(row);
if (remainingDose <= 0) break;
// Increment rate for next step
if (currentRate maxRate) currentRate = maxRate;
}
}
document.getElementById('resTotalVol').innerText = totalVol.toFixed(1);
var hours = Math.floor(totalMinutes / 60);
var mins = Math.round(totalMinutes % 60);
document.getElementById('resTotalTime').innerText = hours + "h " + mins + "m";
document.getElementById('rituxanResults').style.display = 'block';
}