$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

$b5g = abs(ceil(($dose-((20$b20g)+(10$b10g)))/5)); if($b5g==2){ $b5g=0; $b10g=$b10g+1; } $doseml=$dose*50/5; #50mL per 5g

convert grams to mL for administration

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>

<?php echo $product; ?> 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) ............. ORMaintenance 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) Medication Daily
Dose

(gram) Route Rate
(mL/hr) Prescriber's
Signature
Commenced &
Checked by
Date &
Time
*   *
IV As above *
*
*
*   *
IV As above *
*
*
*   *
IV As above *
*
*
*   *
IV As above *
*
*
*   *
IV As above *
*
*
Prescriber Prescriber(print)
  Signature NZMC # Designation Tel Number Administration Sample Signatures: Nurse/Midwife Name(print)
  Signature Initials Name(print) Signature Initials 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