Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -rc3043e70dbb4f955d76510073f739d53d61707fe -rfd6b0b8b940da4eff0bf96e927af670f15b7bc0f --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision c3043e70dbb4f955d76510073f739d53d61707fe) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision fd6b0b8b940da4eff0bf96e927af670f15b7bc0f) @@ -683,19 +683,19 @@ case TREATMENT_PARAM_UF_VOLUME: result = ( ( value.sFlt >= hdInstitutionalRecord.minUFVolumeL ) && ( value.sFlt <= hdInstitutionalRecord.maxUFVolumeL ) ? TRUE : FALSE ); - result |= ( value.sFlt <= NEARLY_ZERO ? TRUE : FALSE ); // There might be a minimum UF volume set in the institutional record but a treatment with 0 vol should be allowed + result |= ( fabs( value.sFlt ) <= NEARLY_ZERO ? TRUE : FALSE ); // There might be a minimum UF volume set in the institutional record but a treatment with 0 vol should be allowed break; case TREATMENT_PARAM_HEPARIN_DISPENSE_RATE: result = ( ( value.sFlt >= hdInstitutionalRecord.minHeparinDispRateMLPHR ) && ( value.sFlt <= hdInstitutionalRecord.maxHeparinDispRateMLPHR ) ? TRUE : FALSE ); - result |= ( value.sFlt <= NEARLY_ZERO ? TRUE : FALSE ); // Even if the minimum is not 0, 0 is accepted meaning heparin can be turned off + result |= ( fabs( value.sFlt ) <= NEARLY_ZERO ? TRUE : FALSE ); // Even if the minimum is not 0, 0 is accepted meaning heparin can be turned off break; case TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME: result = ( ( value.sFlt >= hdInstitutionalRecord.minHeparinBolusVolumeML ) && ( value.sFlt <= hdInstitutionalRecord.maxHeparinBolusVolumeML ) ? TRUE : FALSE ); - result |= ( value.sFlt <= NEARLY_ZERO ? TRUE : FALSE ); // Even if the minimum is not 0, 0 is accepted meaning heparin can be turned off + result |= ( fabs( value.sFlt ) <= NEARLY_ZERO ? TRUE : FALSE ); // Even if the minimum is not 0, 0 is accepted meaning heparin can be turned off break; default: