Index: firmware/App/Modes/ModeTreatmentParams.c =================================================================== diff -u -r38355442b06187fe5d57deca647b3adf2fa26b89 -r854f6cd4152f99523debe37d3e7691d08141280a --- firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 38355442b06187fe5d57deca647b3adf2fa26b89) +++ firmware/App/Modes/ModeTreatmentParams.c (.../ModeTreatmentParams.c) (revision 854f6cd4152f99523debe37d3e7691d08141280a) @@ -68,10 +68,8 @@ { CRITICAL_DATA_TYPE_U32, {.uInt=0}, {.uInt=0}, {.uInt=0} }, // TREATMENT_PARAM_HEPARIN_TYPE { CRITICAL_DATA_TYPE_U32, {.uInt=0}, {.uInt=60}, {.uInt=30} }, // TREATMENT_PARAM_BP_MEAS_INTERVAL { CRITICAL_DATA_TYPE_U32, {.uInt=50}, {.uInt=150}, {.uInt=75} }, // TREATMENT_PARAM_RINSEBACK_FLOW_RATE - { CRITICAL_DATA_TYPE_S32, {.sInt=-300}, {.sInt=70}, {.sInt=-300} }, // TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT - { CRITICAL_DATA_TYPE_S32, {.sInt=-270}, {.sInt=100}, {.sInt=100} }, // TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT - { CRITICAL_DATA_TYPE_S32, {.sInt=20}, {.sInt=270}, {.sInt=20} }, // TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT - { CRITICAL_DATA_TYPE_S32, {.sInt=50}, {.sInt=300}, {.sInt=300} }, // TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT + { CRITICAL_DATA_TYPE_S32, {.sInt=100}, {.sInt=200}, {.sInt=100} }, // TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW + { CRITICAL_DATA_TYPE_S32, {.sInt=100}, {.sInt=200}, {.sInt=100} }, // TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW { CRITICAL_DATA_TYPE_F32, {.sFlt=0.0}, {.sFlt=1.0}, {.sFlt=0.0} }, // TREATMENT_PARAM_HEPARIN_DISPENSE_RATE { CRITICAL_DATA_TYPE_F32, {.sFlt=0.0}, {.sFlt=2.0}, {.sFlt=0.0} }, // TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME { CRITICAL_DATA_TYPE_F32, {.sFlt=35.0}, {.sFlt=37.0}, {.sFlt=37.0} }, // TREATMENT_PARAM_DIALYSATE_TEMPERATURE @@ -180,10 +178,8 @@ origTreatmentParams.bloodFlowRate_mL_min = 0; origTreatmentParams.dialysateFlowRate_mL_min = 0; origTreatmentParams.treatmentDuration_min = 0; - origTreatmentParams.arterialPressureLowLimit_mmHg = 0; - origTreatmentParams.arterialPressureHighLimit_mmHg = 0; - origTreatmentParams.venousPressureLowLimit_mmHg = 0; - origTreatmentParams.venousPressureHighLimit_mmHg = 0; + origTreatmentParams.arterialPressureLimitWindow_mmHg = 0; + origTreatmentParams.venousPressureLimitWindow_mmHg = 0; origTreatmentParams.uFVolume_L = 0.0; } @@ -367,10 +363,8 @@ origTreatmentParams.bloodFlowRate_mL_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_BLOOD_FLOW ] ).uInt; origTreatmentParams.dialysateFlowRate_mL_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_DIALYSATE_FLOW ] ).uInt; origTreatmentParams.treatmentDuration_min = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_TREATMENT_DURATION ] ).uInt; - origTreatmentParams.arterialPressureLowLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ] ).sInt; - origTreatmentParams.arterialPressureHighLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ] ).sInt; - origTreatmentParams.venousPressureLowLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ] ).sInt; - origTreatmentParams.venousPressureHighLimit_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ] ).sInt; + origTreatmentParams.arterialPressureLimitWindow_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW ] ).sInt; + origTreatmentParams.venousPressureLimitWindow_mmHg = getCriticalData( &treatmentParameters[ TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW ] ).sInt; // If using Heparin in this treatment, set state to stopped otherwise off if ( ( stagedParams[ TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ].sFlt > 0.0 ) || ( stagedParams[ TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ].sFlt > 0.0 ) ) @@ -553,10 +547,6 @@ BOOL result = TRUE; U32 dialysateVolume_mL = stagedParams[ TREATMENT_PARAM_DIALYSATE_FLOW ].uInt * \ stagedParams[ TREATMENT_PARAM_TREATMENT_DURATION ].uInt; - S32 arterialPresLimitDelta = stagedParams[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ].sInt - \ - stagedParams[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ].sInt; - S32 venousPresLimitDelta = stagedParams[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ].sInt - \ - stagedParams[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ].sInt; F32 heparinVolume_mL = ( stagedParams[ TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ].sFlt * \ ( ( stagedParams[ TREATMENT_PARAM_TREATMENT_DURATION ].uInt - stagedParams[ TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME ].uInt ) / MIN_PER_HOUR ) ) + \ stagedParams[ TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ].sFlt + SYRINGE_PUMP_PRIME_VOLUME_ML + SYRINGE_PUMP_FILL_VOLUME_OFFSET_ML; @@ -592,22 +582,6 @@ result = FALSE; } - // Check arterial alarm limits dependency - if ( arterialPresLimitDelta < MIN_PRESSURE_ALARM_LIMIT_DELTA_MMHG ) - { - reasons[ TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ] = REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH; - reasons[ TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ] = REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH; - result = FALSE; - } - - // Check venous alarm limits dependency - if ( venousPresLimitDelta < MIN_PRESSURE_ALARM_LIMIT_DELTA_MMHG ) - { - reasons[ TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ] = REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH; - reasons[ TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ] = REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH; - result = FALSE; - } - return result; } @@ -1024,10 +998,8 @@ current_treatment_params.treatment_parameters.heparinType = getTreatmentParameterU32( TREATMENT_PARAM_HEPARIN_TYPE ); current_treatment_params.treatment_parameters.bloodPressureMeasurementInterval_min = getTreatmentParameterU32( TREATMENT_PARAM_BP_MEAS_INTERVAL ); current_treatment_params.treatment_parameters.rinsebackFlowRate_mL_min = getTreatmentParameterU32( TREATMENT_PARAM_RINSEBACK_FLOW_RATE ); - current_treatment_params.treatment_parameters.arterialPressureLowLimit_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_ART_PRESSURE_LOW_LIMIT ); - current_treatment_params.treatment_parameters.arterialPressureHighLimit_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_ART_PRESSURE_HIGH_LIMIT ); - current_treatment_params.treatment_parameters.venousPressureLowLimit_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_VEN_PRESSURE_LOW_LIMIT ); - current_treatment_params.treatment_parameters.venousPressureHighLimit_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_VEN_PRESSURE_HIGH_LIMIT ); + current_treatment_params.treatment_parameters.arterialPressureLimitWindow_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW ); + current_treatment_params.treatment_parameters.venousPressureLimitWindow_mmHg = getTreatmentParameterS32( TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW ); current_treatment_params.treatment_parameters.heparinDispenseRate_mL_hr = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_DISPENSE_RATE ); current_treatment_params.treatment_parameters.heparinBolusVolume_mL = getTreatmentParameterF32( TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME ); current_treatment_params.treatment_parameters.dialysateTemperature_degC = getTreatmentParameterF32( TREATMENT_PARAM_DIALYSATE_TEMPERATURE ); @@ -1047,14 +1019,12 @@ current_treatment_params.treatment_parameters.heparinType = 0; current_treatment_params.treatment_parameters.bloodPressureMeasurementInterval_min = 0; current_treatment_params.treatment_parameters.rinsebackFlowRate_mL_min = 0; - current_treatment_params.treatment_parameters.arterialPressureLowLimit_mmHg = 0; - current_treatment_params.treatment_parameters.arterialPressureHighLimit_mmHg = 0; - current_treatment_params.treatment_parameters.venousPressureLowLimit_mmHg = 0; - current_treatment_params.treatment_parameters.venousPressureHighLimit_mmHg = 0; - current_treatment_params.treatment_parameters.heparinDispenseRate_mL_hr = 0; - current_treatment_params.treatment_parameters.heparinBolusVolume_mL = 0; - current_treatment_params.treatment_parameters.dialysateTemperature_degC = 0; - current_treatment_params.uFVolume_L = 0; + current_treatment_params.treatment_parameters.arterialPressureLimitWindow_mmHg = 0; + current_treatment_params.treatment_parameters.venousPressureLimitWindow_mmHg = 0; + current_treatment_params.treatment_parameters.heparinDispenseRate_mL_hr = 0.0F; + current_treatment_params.treatment_parameters.heparinBolusVolume_mL = 0.0F; + current_treatment_params.treatment_parameters.dialysateTemperature_degC = 0.0F; + current_treatment_params.uFVolume_L = 0.0F; } sendTestCurrentTreatmentParametersResponse(current_treatment_params); }