$product=filter_input(INPUT_POST, 'product', FILTER_SANITIZE_STRING);
$product_list=array('Privigen','Privigen NZ');
if (!in_array($product,$product_list)) {
echo $product." in not a valid product";
exit();
}
$dose= utf8_encode(filter_input(INPUT_POST, 'dose', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$weight=utf8_encode(filter_input(INPUT_POST, 'weight', FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION));
$first_or_subsequent= utf8_encode(filter_input(INPUT_POST, 'first_or_subsequent', FILTER_SANITIZE_NUMBER_INT));
if (!in_array($first_or_subsequent, array(1,4))) $first_or_subsequent=1;
if ($weight<0) $weightcomment=' Please check weight - your patient appears to be lighter than air.';
else if (is_null($weight)) $weightcomment=' Please check weight - no weight provided so administration rates cannot be calculated.';
else $weightcomment="";
calculating no of different sized bottles needed b20g=20g bottle, etc
if ($weight>30) $b20g = floor($dose/20);
else $b20g=0;
can't transfuse 200mL to a child under 11kg in under 4 hours
if ($weight>15) $b10g = floor(($dose-(20*$b20g))/10);
else $b10g=0;
can't transfuse 100mL to a child under 5.5kg in under 4 hours
if ($first_or_subsequent==1) {
if ($doseml <= (0.15$weight)) $dosetime = (60$doseml)/(0.3$weight); #mins/hr x volume / ml/kg/hr
if (($doseml > (0.3$weight)) and ($doseml<=(0.6$weight))) $dosetime = 30 + 60($doseml-(0.15$weight))/(0.6$weight);
time already taken + (mins/hr)x(volume - volume already given in prev 30mins)/(ml/kg/hr)
if (($doseml > (0.6$weight)) and ($doseml<=(1.2$weight))) $dosetime = 60 + 60($doseml-(0.45$weight))/(1.2$weight);
if ($doseml > (1.2$weight)) $dosetime = 90 + 60($doseml-(1.05$weight))/(2.4$weight);
}
if ($first_or_subsequent==4) {
if ($doseml <= (0.15$weight)) $dosetime = (60$doseml)/(0.3$weight); #mins/hr x volume / ml/kg/hr
if (($doseml > (0.3$weight)) and ($doseml<=(0.6$weight))) $dosetime = 30 + 60($doseml-(0.15$weight))/(0.6$weight); # time already taken + (mins/hr)x(volume - volume already given in prev 30mins)/(ml/kg/hr)
if (($doseml > (0.6$weight)) and ($doseml<=(1.2$weight))) $dosetime = 60 + 60($doseml-(0.45$weight))/(1.2$weight);
if (($doseml > (1.2$weight)) and ($doseml<=(2.4$weight))) $dosetime = 90 + 60($doseml-(1.05$weight))/(2.4$weight);
if (($doseml > (1.8$weight)) and ($doseml<=(3.6$weight))) $dosetime = 120 + 60($doseml-(2.25$weight))/(3.6$weight);
if ( $doseml > (2.4$weight)) $dosetime = 150 + 60($doseml-(4.05$weight))/(4.8$weight);
}
$dosehours=floor($dosetime/60);
$doseminutes=round($dosetime%60,0);
?>
<!DOCTYPE HTML>
infusion
Family name:.............................. First
name(s):..............................
NHI:............................... Date of
Birth:..............................
Ward/Unit:..............................
![]()img src="./images/nzblood.logo.jpg" width="250" height="55"> ALLERGIES:....................................
Titration Rates are weight-based, in mL/kg/hour
and increases every 30 minutes, if tolerated.
For the first three infusions, the maximum allowed infusion rate is 2.4 mL/kg/hour.
From the fourth infusion onwards, the maximum allowed infusion rate is 4.8 mL/kg/hour.
* Patient weight:
* Daily infusion dose :
* Minimum infusion time:
* kg (check weight and patient match!)
* (check dose and patient match!)
*
* *
1. The first 30 minutes (0-30mins): 0.3 mL/kg/hour =
* 0) echo "".(0.3*$weight).' mL/hour (0.3mL/kg/hour) ='.(0.15*$weight).'mL'; else echo ''; ?>
* *
2. The next 30 minutes (30-60 mins): 0.6 mL/kg/hour =
* 30) echo "".(0.6*$weight).' mL/hour (0.6mL/kg/hour) ='.(0.3*$weight).'mL'."\n"; else echo '';?>
* *
3. The next 30 minutes (60-90 mins): 1.2 mL/kg/hour =
* 60) echo "".(1.2*$weight).' mL/hour (1.2mL/kg/hour) ='.(0.6*$weight).'mL'."\n"; else echo '';?>
* *
4. Thereafter, till end (at least 90) echo round($dosetime-90,0); else echo ''; ?> mins): 2.4 mL/kg/hour =
* 90) echo "".(2.4*$weight).' mL/hour (2.4mL/kg/hour) ='.($doseml-(1.05*$weight)).'mL'; else echo ''; ?>
* *
4. The next 30 minutes (90-120 mins): 2.4 mL/kg/hour =
* 90) echo "".(2.4*$weight).' mL/hour (2.4mL/kg/hour) ='.(1.2*$weight).'mL'."\n"; else echo ''; ?>
* *
5. The next 30 minutes (120-150 mins): 3.6 mL/kg/hour =
* 120) echo "".(3.6*$weight).' mL/hour (3.6mL/kg/hour) ='.(1.8*$weight).'mL'."\n"; else echo ''; ?>
* *
6. Thereafter, till end 150) echo '(at least '.round($dosetime-150,0).' mins)'; else echo ''; ?>: 4.8 mL/kg/hour =
* 150)echo "".(4.8*$weight).' mL/hour (4.8mL/kg/hour) ='.($doseml-(4.05*$weight)).'mL'; else echo ''; ?>
Induction Total Dose
(g/kg)............................ Divided Over (number
of days) .............
OR
☐ Maintenance Dose
(g/kg)............................ every ...................................(number
of days/weeks)Prescriber: State diagnosis, write daily dose in grams below;
delete all 'day lines' not required; complete prescribers details
Diagnosis / Reason for :........................................................
Date
(dd/mm/yyyy)
MedicationDaily Dose (gram)
RouteRate (mL/hr)
Prescriber's
SignatureCommenced &
Checked byDate &
Time
*
*
IV
As above
*
*
*
*
*
IV
As above
*
*
*
*
*
IV
As above
*
*
*
*
*
IV
As above
*
*
*
*
*
IV
As above
*
*
* PrescriberPrescriber(print) SignatureNZMC #DesignationTel NumberAdministration Sample Signatures: Nurse/Midwife
Name(print) SignatureInitialsName(print)
SignatureInitials
NOTE for Guardrails: when programming the pump with the infusion rates above, you may get a "maximum rate exceeded" alarm. Please use the maximum rate that the pump profile allows.
Printed on