Index: firmware/App/Controllers/SyringePump.c =================================================================== diff -u -r3fa496b611a3a84c8aaa882a1b27762c6bc0024c -r03efe69734fc9539f4198ddba6f93614ea08ea7c --- firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 3fa496b611a3a84c8aaa882a1b27762c6bc0024c) +++ firmware/App/Controllers/SyringePump.c (.../SyringePump.c) (revision 03efe69734fc9539f4198ddba6f93614ea08ea7c) @@ -645,6 +645,8 @@ *************************************************************************/ BOOL startHeparinBolus( void ) { + F32 bolusVol = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); + // If valid to start a bolus, kick it off if ( FALSE == isSyringePumpHome() ) { @@ -655,8 +657,12 @@ if ( ( TRUE == isSyringeDetected() ) && ( TRUE == syringePumpPrimeCompleted ) && ( SYRINGE_PUMP_OFF_STATE == syringePumpState ) && ( HEPARIN_STATE_STOPPED == heparinDeliveryState ) ) { - syringePumpSetRate = getHeprinBolusTargetRate(); - syringePumpBolusRequested = TRUE; + // if user set a Heparin bolus volume and not complete, start now + if ( ( bolusVol > 0.0F ) && ( getSyringePumpVolumeDelivered() < bolusVol ) ) + { + syringePumpSetRate = getHeprinBolusTargetRate(); + syringePumpBolusRequested = TRUE; + } } } else