Index: firmware/App/Controllers/PresOccl.c =================================================================== diff -u -r8c8ac9430cbd0a836b51d16a02457575861c5990 -re3f3b5c3552008d58e328ce0d78f2db01cda2b45 --- firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision 8c8ac9430cbd0a836b51d16a02457575861c5990) +++ firmware/App/Controllers/PresOccl.c (.../PresOccl.c) (revision e3f3b5c3552008d58e328ce0d78f2db01cda2b45) @@ -442,7 +442,7 @@ currentArterialMaxLimit = (S32)ARTERIAL_PRESSURE_LIMIT_MAX_MMHG; currentArterialMinLimit = (S32)ARTERIAL_PRESSURE_LIMIT_MIN_MMHG; currentVenousMaxLimit = (S32)VENOUS_PRESSURE_LIMIT_MAX_MMHG; - currentVenousMinLimit = (S32)getMinVenousPressureWideValueMMHG(); + currentVenousMinLimit = getMinVenousPressureWideValueMMHG(); } /*********************************************************************//** @@ -541,7 +541,7 @@ S32 artOffset = getTreatmentParameterS32( TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW ) / 2; // Arterial is symmetric S32 venMinOffset = getTreatmentParameterS32( TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC ); // Venous is asymmetric S32 venMaxOffset = getTreatmentParameterS32( TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW ) - venMinOffset; - U32 venMinWideLimitMMHG = getMinVenousPressureWideValueMMHG(); + S32 venMinWideLimitMMHG = getMinVenousPressureWideValueMMHG(); currentArterialMinLimit = stableArterialPressure - artOffset; currentArterialMinLimit = MAX( currentArterialMinLimit, ARTERIAL_PRESSURE_LIMIT_MIN_MMHG ); Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r8c8ac9430cbd0a836b51d16a02457575861c5990 -re3f3b5c3552008d58e328ce0d78f2db01cda2b45 --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 8c8ac9430cbd0a836b51d16a02457575861c5990) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision e3f3b5c3552008d58e328ce0d78f2db01cda2b45) @@ -45,7 +45,8 @@ #define INSTIT_CHEM_DISINFECT_ENABLE_RANGE 1 ///< Institutional record chemical disinfect enable/disable allowable range #define INSTIT_MIN_RO_REJECTION_RATIO_MAX_PCT 99 ///< Institutional record min RO rejection ratio maximum in percent. #define INSTIT_MAX_INLET_WATER_COND_ALARM_USPCM 300.0F ///< Institutional record max inlet water conductivity alarm in uS/cm. -#define INSTIT_MAX_MIN_VEN_PRES_WIDE_LIMIT_MMHG 20 ///< Institutional record max min venous pressure wide limit in mmHg. +#define INSTIT_MAX_MIN_VEN_PRES_WIDE_LIMIT_MMHG 400 ///< Institutional record max min venous pressure wide limit in mmHg. +#define INSTIT_MIN_MIN_VEN_PRES_WIDE_LIMIT_MMHG 0 ///< Institutional record min min venous pressure wide limit in mmHg. /// Record for range and default of treatment parameters. typedef struct @@ -958,7 +959,7 @@ * @details Outputs: none * @return the min venous pressure wide limit window in mmHg. *************************************************************************/ -U32 getMinVenousPressureWideValueMMHG( void ) +S32 getMinVenousPressureWideValueMMHG( void ) { return hdInstitutionalRecord.minVenPressWideLimitWindowMMHG; } @@ -1046,8 +1047,8 @@ result &= ( ( nvInstRcrd->minRORejectionRatioPCT <= INSTIT_MIN_RO_REJECTION_RATIO_MAX_PCT ) ? TRUE : FALSE ); result &= ( ( nvInstRcrd->minInletWaterCondAlarmLimitUSPCM >= 0.0F ) && ( nvInstRcrd->minInletWaterCondAlarmLimitUSPCM <= INSTIT_MAX_INLET_WATER_COND_ALARM_USPCM ) ? TRUE : FALSE ); - // NOTE: min venous and arterial pressure wide limits are not needed to be >= 0 because it is a U32 - result &= ( ( nvInstRcrd->minVenPressWideLimitWindowMMHG <= INSTIT_MAX_MIN_VEN_PRES_WIDE_LIMIT_MMHG ) ? TRUE : FALSE ); + result &= ( ( nvInstRcrd->minVenPressWideLimitWindowMMHG <= INSTIT_MAX_MIN_VEN_PRES_WIDE_LIMIT_MMHG ) && + ( nvInstRcrd->minVenPressWideLimitWindowMMHG >= INSTIT_MIN_MIN_VEN_PRES_WIDE_LIMIT_MMHG ) ? TRUE : FALSE ); return result; } Index: firmware/App/Modes/ModeTreatmentParams.h =================================================================== diff -u -r8c8ac9430cbd0a836b51d16a02457575861c5990 -re3f3b5c3552008d58e328ce0d78f2db01cda2b45 --- firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision 8c8ac9430cbd0a836b51d16a02457575861c5990) +++ firmware/App/Modes/ModeTreatmentParams.h (.../ModeTreatmentParams.h) (revision e3f3b5c3552008d58e328ce0d78f2db01cda2b45) @@ -114,7 +114,7 @@ S32 getS32DefaultTreatmentParamEdge( TREATMENT_PARAM_T param, BOOL isMin ); U32 getU32DefaultTreatmentParamEdge( TREATMENT_PARAM_T param, BOOL isMin ); F32 getF32DefaultTreatmentParamEdge( TREATMENT_PARAM_T param, BOOL isMin ); -U32 getMinVenousPressureWideValueMMHG( void ); +S32 getMinVenousPressureWideValueMMHG( void ); BOOL isNVInstitutionalRecordInRange( HD_INSTITUTIONAL_RECORD_T* nvInstRcrd ); // Is non-volatile memory institutional record in range void setNVInstitutionalRecordToTxParamsRecord( HD_INSTITUTIONAL_RECORD_T* nvInstitutionalRecord ); // Set the recently received institution record from NV to local tx parameters