Index: firmware/App/Modes/ModePreTreat.c =================================================================== diff -u -r6f02ff4686ec9dfc60247e9ed3fc9c5cc7771543 -r41a1b7a822a45813af610292a9af90e1a0f83763 --- firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 6f02ff4686ec9dfc60247e9ed3fc9c5cc7771543) +++ firmware/App/Modes/ModePreTreat.c (.../ModePreTreat.c) (revision 41a1b7a822a45813af610292a9af90e1a0f83763) @@ -40,14 +40,14 @@ * @brief * The initPreTreatmentMode function initializes the Pre-Treatment mode. * @details Inputs: none -* @details Outputs: Resets the Treatment Parameters session and sets the initial +* @details Outputs: Initializes the Treatment Parameters session and sets the initial * Pre-Treatment sub-state. * @return none **************************************************************************/ void initPreTreatmentMode( void ) { // Start a fresh Treatment Parameters session for this run. - resetTreatmentParameters(); + initTreatmentParameters(); currentPreTreatmentState = TD_PRE_TREATMENT_CONFIRM_RX_STATE; } Index: firmware/App/Services/TxParams.c =================================================================== diff -u -r4644222ff44fd3fc588bd071e794aabad9780bae -r41a1b7a822a45813af610292a9af90e1a0f83763 --- firmware/App/Services/TxParams.c (.../TxParams.c) (revision 4644222ff44fd3fc588bd071e794aabad9780bae) +++ firmware/App/Services/TxParams.c (.../TxParams.c) (revision 41a1b7a822a45813af610292a9af90e1a0f83763) @@ -183,9 +183,10 @@ static BOOL treatParamsConfirmed = FALSE; ///< Flag indicates user has confirmed the treatment parameters. static BOOL validTreatmentDurationReceived; ///< Flag indicates valid treatment duration was validated. static U32 validatedTreatmentDuration_min; ///< Last validated treatment duration in minutes. +static U32 validatedHeparinDeliveryDuration_min; ///< Last validated Heparin delivery duration in minutes. static F32 validatedUFVolumeGoalL; ///< Last validated UF volume goal in L. static F32 validatedUFRateLhr; ///< Last validated UF rate in L/hr. -static BOOL validUFVolumeReceived; ///< Flag indicates valid UF volume was validated. +static BOOL validUFVolumeReceived; ///< Flag indicates valid UF volume was validated. // ********** private function prototypes ********** @@ -435,11 +436,12 @@ * @brief * The setSysConfigTreatmentParameterU32 function sets a given unsigned * integer system configured treatment parameter. - * @details \b Inputs: parameter ID and value to set - * @details \b Outputs: updated system configured treatment parameter value - * @param param ID of system configured treatment parameter to set - * @param value unsigned integer value to set - * @return TRUE if parameter updated successfully, FALSE otherwise + * @details \b Alarm: ALARM_ID_TD_SOFTWARE_FAULT if invalid parameter ID is given. + * @details \b Inputs: none. + * @details \b Outputs: sysConfigTreatmentParameters[]. + * @param param ID of system configured treatment parameter to set. + * @param value unsigned integer value to set. + * @return TRUE if parameter updated successfully, FALSE otherwise. *************************************************************************/ BOOL setSysConfigTreatmentParameterU32( SYS_CONFIG_TREATMENT_PARAM_T param, U32 value ) { @@ -858,22 +860,26 @@ /*********************************************************************//** * @brief - * The resetTreatmentParameters function resets the Treatment Parameters + * The initTreatmentParameters function initializes the Treatment Parameters * session flags and parameter values. - * @details Inputs: none - * @details Outputs: validTreatParamsReceived, treatParamsConfirmed, - * treatParamsRejected cleared and parameters reset. + * @details \b Inputs: none. + * @details \b Outputs: validTreatParamsReceived, treatParamsConfirmed, + * validTreatmentDurationReceived, validatedTreatmentDuration_min, + * validatedUFVolumeGoalL, validatedUFRateLhr, + * validUFVolumeReceived, validatedHeparinDeliveryDuration_min, + * treatment parameters reset. * @return none *************************************************************************/ -void resetTreatmentParameters( void ) +void initTreatmentParameters( void ) { - validTreatParamsReceived = FALSE; - treatParamsConfirmed = FALSE; - validTreatmentDurationReceived = FALSE; - validatedTreatmentDuration_min = 0U; - validatedUFVolumeGoalL = 0.0F; - validatedUFRateLhr = 0.0F; - validUFVolumeReceived = FALSE; + validTreatParamsReceived = FALSE; + treatParamsConfirmed = FALSE; + validTreatmentDurationReceived = FALSE; + validatedTreatmentDuration_min = 0U; + validatedUFVolumeGoalL = 0.0F; + validatedUFRateLhr = 0.0F; + validUFVolumeReceived = FALSE; + validatedHeparinDeliveryDuration_min = 0U; resetAllTreatmentParameters(); } @@ -1467,12 +1473,11 @@ /*********************************************************************//** * @brief - * The validateAndSetTreatmentDuration function handles the UI treatment duration validation request during Treatment mode. - * @details \b Message \b Sent: MSG_ID_TD_DURATION_VALIDATE_RESPONSE including acceptance status, rejection reason, - * requested duration, UF volume goal (L), and calculated UF rate (L/hr). - * @details \b Inputs: message, request.duration, presUFVolumeMl, elapsedTreatmentTimeMin, measuredUFVolumeMl, - * remainingUFVolumeMl, minDuration, maxDuration. - * @details \b Outputs: response, validTreatmentDurationReceived, validatedTreatmentDuration_min, validatedUFRateLhr. + * The validateAndSetTreatmentDuration function handles the UI treatment + * duration validation request during Treatment mode. + * @details \b Message \b Sent: MSG_ID_TD_DURATION_VALIDATE_RESPONSE including acceptance status, rejection reason, requested duration, UF volume goal (L), and calculated UF rate (L/hr). + * @details \b Inputs: none. + * @details \b Outputs: validTreatmentDurationReceived, validatedTreatmentDuration_min, validatedUFRateLhr, validatedHeparinDeliveryDuration_min. * @param message set message from UI which includes the requested treatment duration in minutes. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -1490,6 +1495,10 @@ U32 minDuration = getU32TreatmentParamLowerRangeLimit( TREATMENT_PARAM_TREATMENT_DURATION ); U32 maxDuration = getU32TreatmentParamUpperRangeLimit( TREATMENT_PARAM_TREATMENT_DURATION ); + U32 currentTreatmentDuration_min = getTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION ); + U32 currentHeparinDuration_min = getTreatmentParameterU32( TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION ); + U32 treatmentHeparinDiff_min = 0U; + response.accepted = FALSE; response.rejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; response.duration = 0U; @@ -1500,6 +1509,7 @@ validTreatmentDurationReceived = FALSE; validatedTreatmentDuration_min = 0U; validatedUFRateLhr = 0.0F; + validatedHeparinDeliveryDuration_min = 0U; if ( message->hdr.payloadLen == sizeof( DURATION_VALIDATE_REQUEST_PAYLOAD_T ) ) { @@ -1527,6 +1537,21 @@ if ( newUfRateMlMin <= MAX_UF_RATE_ML_MIN ) { + // Adjust Heparin delivery duration to maintain the previous difference from treatment duration. + if ( currentTreatmentDuration_min > currentHeparinDuration_min ) + { + treatmentHeparinDiff_min = currentTreatmentDuration_min - currentHeparinDuration_min; + } + + if ( response.duration > treatmentHeparinDiff_min ) + { + validatedHeparinDeliveryDuration_min = response.duration - treatmentHeparinDiff_min; + } + else + { + validatedHeparinDeliveryDuration_min = 0U; + } + response.accepted = TRUE; response.rejectionReason = REQUEST_REJECT_REASON_NONE; @@ -1558,10 +1583,11 @@ /*********************************************************************//** * @brief - * The validateAndSetBolusVolume function handles the UI fluid bolus volume change request during Treatment mode. + * The validateAndSetBolusVolume function handles the UI fluid bolus volume + * change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_BOLUS_VOLUME_CHANGE_RESPONSE including acceptance status and rejection reason. - * @details \b Inputs: message, request.bolusVolume, minBolusVolume_mL, maxBolusVolume_mL. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param message set message from UI which includes the requested bolus volume. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -1594,18 +1620,19 @@ } } - result = sendMessage( MSG_ID_TD_BOLUS_VOLUME_CHANGE_RESPONSE, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08 *)&response, sizeof( BOLUS_VOLUME_CHANGE_RESPONSE_PAYLOAD_T ) ); + result = sendMessage( MSG_ID_TD_BOLUS_VOLUME_CHANGE_RESPONSE, COMM_BUFFER_OUT_CAN_TD_2_UI, (U08 *)&response, sizeof( BOLUS_VOLUME_CHANGE_RESPONSE_PAYLOAD_T ) ); return result; } /*********************************************************************//** * @brief - * The pressureLimitHandleChangeRequest function handles the UI pressure limit change request during Treatment mode. + * The pressureLimitHandleChangeRequest function handles the UI pressure + * limit change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_PRESSURE_LIMITS_CHANGE_RESPONSE including acceptance status and per-parameter rejection reasons. - * @details \b Inputs: message, request.arterialPressureLimitWindowMMHG, request.venousPressureLimitWindowMMHG, - * request.venousAsymmetricPressureLimitWindowMMHG, request.tmpPressureLimitWindowMMHG. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. + * @param message set message from UI which includes the requested pressure limit windows. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ BOOL pressureLimitHandleChangeRequest( MESSAGE_T *message ) @@ -1619,7 +1646,6 @@ memset( &request, 0, sizeof( request ) ); memset( &response, 0, sizeof( response ) ); - response.accepted = FALSE; response.arterialPressureLimitWindowRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; response.venousPressureLimitWindowRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; response.venousAsymmetricPressureLimitWindowRejectionReason = REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT; @@ -1685,8 +1711,11 @@ * @brief * The isPressureLimitValueValid function checks whether a pressure limit * value is within the specified range. - * @details \b Inputs: value, minValue, maxValue. - * @details \b Outputs: None. + * @details \b Inputs: none. + * @details \b Outputs: none. + * @param value pressure limit value to validate. + * @param minValue minimum allowable pressure limit value. + * @param maxValue maximum allowable pressure limit value. * @return TRUE if value is valid, FALSE otherwise. *************************************************************************/ static BOOL isPressureLimitValueValid( U32 value, U32 minValue, U32 maxValue ) @@ -1698,9 +1727,9 @@ * @brief * The isArterialPressureLimitWindowValid function validates the arterial * pressure limit window value. - * @details \b Inputs: value. - * @details \b Outputs: pressureValid. - * @param value Arterial pressure limit window value (mmHg). + * @details \b Inputs: none. + * @details \b Outputs: none. + * @param value arterial pressure limit window value (mmHg). * @return TRUE if the value is within valid range, FALSE otherwise. *************************************************************************/ static BOOL isArterialPressureLimitWindowValid( U32 value ) @@ -1719,9 +1748,9 @@ * @brief * The isVenousPressureLimitWindowValid function validates the venous * pressure limit window value. - * @details \b Inputs: value. - * @details \b Outputs: pressureValid. - * @param value Venous pressure limit window value (mmHg). + * @details \b Inputs: none. + * @details \b Outputs: none. + * @param value venous pressure limit window value (mmHg). * @return TRUE if the value is within valid range, FALSE otherwise. *************************************************************************/ static BOOL isVenousPressureLimitWindowValid( U32 value ) @@ -1740,9 +1769,9 @@ * @brief * The isVenousAsymmetricPressureLimitWindowValid function validates the * venous asymmetric pressure limit window value. - * @details \b Inputs: value. - * @details \b Outputs: pressureValid. - * @param value Venous asymmetric pressure limit window value (mmHg). + * @details \b Inputs: none. + * @details \b Outputs: none. + * @param value venous asymmetric pressure limit window value (mmHg). * @return TRUE if the value is within valid range, FALSE otherwise. *************************************************************************/ static BOOL isVenousAsymmetricPressureLimitWindowValid( U32 value ) @@ -1761,8 +1790,8 @@ * @brief * The isTmpPressureLimitWindowValid function validates the TMP pressure * limit window value. - * @details \b Inputs: value. - * @details \b Outputs: pressureValid. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param value TMP pressure limit window value (mmHg). * @return TRUE if the value is within valid range, FALSE otherwise. *************************************************************************/ @@ -1780,11 +1809,11 @@ /*********************************************************************//** * @brief - * The validateAndSetUFVolume function handles the UI ultrafiltration volume validation request during Treatment mode. + * The validateAndSetUFVolume function handles the UI ultrafiltration + * volume validation request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_RESP_ULTRAFILTRATION_VOLUME_TO_VALIDATE including acceptance status, rejection reason, UF volume goal (L), duration (minutes), and UF rate (L/hr). - * @details \b Inputs: message, request.ufVolume, elapsedTreatmentTimeMin, measuredUFVolumeMl, treatmentDurationMin, - * requestedUFVolumeMl, requestedUFVolumeL, remainingUFVolumeMl, remainingTreatmentTimeMin, newUfRateMlMin, minUFVolumeL, maxUFVolumeL. - * @details \b Outputs: response, validUFVolumeReceived, validatedUFVolumeGoalL, validatedUFRateLhr. + * @details \b Inputs: none. + * @details \b Outputs: validUFVolumeReceived, validatedUFVolumeGoalL, validatedUFRateLhr. * @param message set message from UI which includes the requested UF volume in L. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -1880,10 +1909,11 @@ /*********************************************************************//** * @brief - * The validateAndSetTreatmentSetPoints function handles a UI treatment set point change request during Treatment mode. + * The validateAndSetTreatmentSetPoints function handles a UI treatment + * set point change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_TREATMENT_SET_POINTS_CHANGE_RESPONSE including acceptance status and rejection reason for each treatment set point parameter. - * @details \b Inputs: message, request, requestedValue, isValid. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param message set message from UI which includes the requested treatment set point values. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -2003,8 +2033,8 @@ * @brief * The validateAndSetBloodFlowRate function handles a UI treatment set point blood flow rate change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_TREATMENT_SET_POINT_BLOOD_FLOW_CHANGE_RESPONSE including acceptance status and rejection reason. - * @details \b Inputs: message, request.flowRate, requestedValue. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param message set message from UI which includes the requested blood flow rate. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -2047,10 +2077,11 @@ /*********************************************************************//** * @brief - * The validateAndSetDialysateFlowRate function handles a UI treatment set point dialysate flow rate change request during Treatment mode. + * The validateAndSetDialysateFlowRate function handles a UI treatment set point + * dialysate flow rate change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_FLOW_CHANGE_RESPONSE including acceptance status and rejection reason. - * @details \b Inputs: message, request.flowRate, requestedValue. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param message set message from UI which includes the requested dialysate flow rate. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -2093,10 +2124,11 @@ /*********************************************************************//** * @brief - * The validateAndSetDialysateTemperature function handles a UI treatment set point dialysate temperature change request during Treatment mode. + * The validateAndSetDialysateTemperature function handles a UI treatment + * set point dialysate temperature change request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_TREATMENT_SET_POINT_DIALYSATE_TEMPERATURE_CHANGE_RESPONSE including acceptance status and rejection reason. - * @details \b Inputs: message, request.temperature, requestedValue. - * @details \b Outputs: response. + * @details \b Inputs: none. + * @details \b Outputs: none. * @param message set message from UI which includes the requested dialysate temperature. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ @@ -2139,10 +2171,12 @@ /*********************************************************************//** * @brief - * The signalUserConfirmationOfTreatmentDuration function handles the UI treatment duration confirmation request during Treatment mode. + * The signalUserConfirmationOfTreatmentDuration function handles the UI + * treatment duration confirmation request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_DURATION_CONFIRM_RESPONSE including acceptance status, rejection reason, duration (minutes), UF volume goal (L), and UF rate (L/hr). - * @details \b Inputs: message, request.duration, request.ufRate, presUFVolumeMl, validatedUFRateMlMin. - * @details \b Outputs: response, validTreatmentDurationReceived, validatedTreatmentDuration_min, validatedUFRateLhr. + * @details \b Inputs: validTreatmentDurationReceived, validatedTreatmentDuration_min, validatedUFRateLhr, validatedHeparinDeliveryDuration_min. + * @details \b Outputs: validTreatmentDurationReceived, validatedTreatmentDuration_min, validatedUFRateLhr, validatedHeparinDeliveryDuration_min. + * @param message set message from UI which includes the confirmed treatment duration and UF rate. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ BOOL signalUserConfirmationOfTreatmentDuration( MESSAGE_T *message ) @@ -2173,6 +2207,7 @@ ( fabs( request.ufRate - validatedUFRateLhr ) < NEARLY_ZERO ) ) { setTreatmentParameterU32( TREATMENT_PARAM_TREATMENT_DURATION, validatedTreatmentDuration_min ); + setTreatmentParameterU32( TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION, validatedHeparinDeliveryDuration_min ); setDialysisDDParams( getTreatmentParameterU32( TREATMENT_PARAM_DIALYSATE_FLOW ), presUFVolumeMl, validatedUFRateMlMin ); response.accepted = TRUE; @@ -2182,6 +2217,7 @@ validTreatmentDurationReceived = FALSE; validatedTreatmentDuration_min = 0U; validatedUFRateLhr = 0.0F; + validatedHeparinDeliveryDuration_min = 0U; } else if ( FALSE == validTreatmentDurationReceived ) { @@ -2200,10 +2236,11 @@ /*********************************************************************//** * @brief - * The signalUserConfirmationOfUFVolume function handles the UI ultrafiltration volume confirmation request during Treatment mode. + * The signalUserConfirmationOfUFVolume function handles the UI + * ultrafiltration volume confirmation request during Treatment mode. * @details \b Message \b Sent: MSG_ID_TD_ULTRAFILTRATION_CHANGE_VALIDATE_RESPONSE including acceptance status, rejection reason, UF volume goal (L), duration (minutes), and UF rate (L/hr). - * @details \b Inputs: message, request.ufVolume, request.ufRate, validatedUFVolumeGoalMl, validatedUFRateMlMin. - * @details \b Outputs: response, validUFVolumeReceived, validatedUFVolumeGoalL, validatedUFRateLhr. + * @details \b Inputs: validUFVolumeReceived, validatedUFVolumeGoalL, validatedUFRateLhr. + * @details \b Outputs: validUFVolumeReceived, validatedUFVolumeGoalL, validatedUFRateLhr. * @param message set message from UI which includes the confirmed UF volume and UF rate. * @return TRUE if response message is sent successfully, FALSE otherwise. *************************************************************************/ Index: firmware/App/Services/TxParams.h =================================================================== diff -u -r4644222ff44fd3fc588bd071e794aabad9780bae -r41a1b7a822a45813af610292a9af90e1a0f83763 --- firmware/App/Services/TxParams.h (.../TxParams.h) (revision 4644222ff44fd3fc588bd071e794aabad9780bae) +++ firmware/App/Services/TxParams.h (.../TxParams.h) (revision 41a1b7a822a45813af610292a9af90e1a0f83763) @@ -102,7 +102,7 @@ /// Payload record structure for treatment duration validate response. typedef struct { - BOOL accepted; ///< Accepted/Rejected + BOOL accepted; ///< Accepted/Rejected. U32 rejectionReason; ///< Rejection reason if not accepted. U32 duration; ///< Treatment duration in minutes. F32 ufVolumeGoal; ///< UF volume goal in L. @@ -112,14 +112,14 @@ /// Payload record structure for bolus volume change request. typedef struct { - U32 bolusVolume; ///< Requested bolus volume (in mL) + U32 bolusVolume; ///< Requested bolus volume (in mL). } BOLUS_VOLUME_CHANGE_REQUEST_PAYLOAD_T; /// Payload record structure for bolus volume change response. typedef struct { - BOOL accepted; ///< Accepted/Rejected - U32 rejectionReason; ///< Rejection reason if not accepted + BOOL accepted; ///< Accepted/Rejected. + U32 rejectionReason; ///< Rejection reason if not accepted } BOLUS_VOLUME_CHANGE_RESPONSE_PAYLOAD_T; /// Payload record structure for pressure limit change request. @@ -157,7 +157,7 @@ /// Payload record structure for UF change response. typedef struct { - BOOL accepted; ///< Accepted/Rejected + BOOL accepted; ///< Accepted/Rejected. U32 rejectionReason; ///< Rejection reason if not accepted. F32 ufVolumeGoal; ///< UF Volume in L. U32 duration; ///< new Treatment duration in minutes. @@ -173,7 +173,7 @@ /// Payload record structure for blood flow rate change response. typedef struct { - BOOL accepted; ///< Accepted/Rejected + BOOL accepted; ///< Accepted/Rejected. U32 rejectionReason; ///< Rejection reason if not accepted. } BLOOD_FLOW_RATE_CHANGE_RESPONSE_PAYLOAD_T; @@ -186,21 +186,21 @@ /// Payload record structure for dialysate flow rate change response. typedef struct { - BOOL accepted; ///< Accepted/Rejected - U32 rejectionReason; ///< Rejection reason if not accepted.. + BOOL accepted; ///< Accepted/Rejected. + U32 rejectionReason; ///< Rejection reason if not accepted. } DIALYSATE_FLOW_RATE_CHANGE_RESPONSE_PAYLOAD_T; /// Payload record structure for dialysate temperature change request. typedef struct { - F32 temperature; ///< Dialysate temperature in degrees Celsius. + F32 temperature; ///< Dialysate temperature in degrees Celsius. } DIALYSATE_TEMPERATURE_CHANGE_REQUEST_PAYLOAD_T; /// Payload record structure for dialysate temperature change response. typedef struct { - BOOL accepted; ///< Accepted/Rejected - U32 rejectionReason; ///< Rejection reason if not accepted.. + BOOL accepted; ///< Accepted/Rejected. + U32 rejectionReason; ///< Rejection reason if not accepted. } DIALYSATE_TEMPERATURE_CHANGE_RESPONSE_PAYLOAD_T; /// Payload record structure for treatment set points change request. @@ -246,7 +246,7 @@ BOOL signalUserConfirmationOfTreatmentDuration( MESSAGE_T *message ); // Process UI confirm/reject treatment duration BOOL signalUserConfirmationOfUFVolume( MESSAGE_T *message ); // Process UI confirm/reject ultrafiltration volume change -void resetTreatmentParameters( void ); // Reset all parameters to defaults +void initTreatmentParameters( void ); // Initialize treatment parameters and session state BOOL getValidTreatParamsReceived( void ); // Determine whether valid Treatment Parameters exist BOOL getTreatParamsConfirmed( void ); // Determine whether user confirmed the parameters