Index: AlarmMapping.csv =================================================================== diff -u -r9891a1deb940324058d295bcd3ff5e55c47701c2 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- AlarmMapping.csv (.../AlarmMapping.csv) (revision 9891a1deb940324058d295bcd3ff5e55c47701c2) +++ AlarmMapping.csv (.../AlarmMapping.csv) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -191,7 +191,7 @@ 190,"DG drain pump off fault." 191,"DG flow rate out of upper range." 192,"DG flow rate out of lower range." - 193,"HD dialysate temperature out of low safety range." + 193,"HD blood pump partial occlusion detected." 194,"DG RO pump duty cycle out of range." 195,"DG RO pump pressure out of range." 196,"DG CPi/CPo sensors FPGA fault." @@ -212,10 +212,10 @@ 211,"HD blood sitting too long warning (>4 min)." 212,"HD end of treatment alarm (user not acting to end treatment)." 213,"HD prime completed medium priority alarm." - 214,"Available for use." - 215,"Available for use." + 214,"DG concentrate pumps invalid calibration record." + 215,"HD air trap upper level fluid time out." 216,"HD end treatment sub-mode timeout alarm." - 217,"Available for use." + 217,"HD air trap activity is too frequent alarm." 218,"HD syringe detected alarm." 219,"HD syringe pump syringe removed alarm." 220,"DG THd sensors FPGA fault." @@ -255,7 +255,7 @@ 254,"DG invalid service record." 255,"HD and UI software builds are not compatible." 256,"HD processor is in Disinfect Chemical Flush mode." - 257,"Alarm ID available for use." + 257,"HD invalid institutional record." 258,"HD UI POST OS version compatibility failure." 259,"HD temperatures out of range." 260,"HD UI POST Application Integrity (Sha256Sum) failure." @@ -271,16 +271,16 @@ 270,"HD POST Safety Shutdown failure." 271,"DG POST Safety Shutdown failure." 272,"HD Fan RPM out of range." - 273,"Available for use." + 273,"Alarm available." 274,"DG inactive reservoir weight out of range." 275,"HD arterial pressure sensor is reading out of range." 276,"HD venous pressure sensor is reading out of range." 277,"HD BP occlusion sensor is reading out of range." 278,"HD active reservoir weight out of range." 279,"DG dialysate drain time out." 280,"DG drain pump direction invalid." - 281,"Acid concentration bottle low volume alarm." - 282,"Bicarbonate concentration bottle low volume alarm." + 281,"Alarm available." + 282,"Alarm available." 283,"DG load cells weight out of range." 284,"DG load cells primary/back up drift out of range." 285,"HD processor is in RO permeate sample mode." @@ -304,7 +304,7 @@ 303,"DG drain pump direction FPGA fault." 304,"HD invalid usage record." 305,"HD processor RAM error." - 306,"Alarm ID available." + 306,"DG turn off inlet water valves." 307,"HD AC power lost second alarm." 308,"DG CPi conductivity sensor invalid character received." 309,"DG CPo conductivity sensor invalid character received." @@ -314,9 +314,9 @@ 313,"DG cleaning mode inlet water temperature too low." 314,"DG cleaning mode inlet water pressure too high." 315,"DG cleaning mode inlet water pressure too low." - 316,"DG acid concentrate pump park fault." - 317,"DG bicarb concentrate pump part fault." - 318,"HD Air Pump timeout alarm." + 316,"Alarm available." + 317,"Alarm available." + 318,"Alarm available for use." 319,"DG chemical disinfect flush flush sample." 320,"DG chemical disinfect flush sample timeout." 321,"DG outlet UV reactor not healthy." Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -272,7 +272,7 @@ {Gui::GuiActionType::ID_DGGeneralEvent , 5 * 4 }, // 5 parameters each 4bytes {Gui::GuiActionType::ID_AdjustInstitutionalRecordReq , 0 * 4 }, // 0 parameter - {Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp , 29 * 4 }, //29 parameters each 4 bytes + {Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp , 31 * 4 }, //31 parameters each 4 bytes // HD reset request in service mode {Gui::GuiActionType::ID_ResetHDInServiceModeReq , 0 * 4 }, // 0 parameters each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -448,7 +448,7 @@ case Gui::GuiActionType::ID_AdjustServiceDatesHDRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustServiceDatesHDRsp ); break; case Gui::GuiActionType::ID_AdjustHDDateTimeRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustHDDateTimeRsp ); break; case Gui::GuiActionType::ID_HDUsageInfoRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDUsageInfoRsp ); break; - case Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp ); break; + case Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustInstitutionalRecordRsp ); break; // ----- States case Gui::GuiActionType::ID_HDOperationModeData : ok = notify(vMessage, vData, Gui::GuiActionType::ID_HDOperationModeData ); break; case Gui::GuiActionType::ID_PreTreatmentStates : ok = notify(vMessage, vData, Gui::GuiActionType::ID_PreTreatmentStates ); break; Index: sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml (.../SettingsInstitutionalRecord.qml) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml (.../SettingsInstitutionalRecord.qml) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -38,7 +38,7 @@ colCount : 2 colSpacing : 50 - rowCount : 8 // this number indicates when to move to the next column + rowCount : 9 // this number indicates when to move to the next column rowSpacing : 0 itemHeight : 50 itemWidth : 550 Index: sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.cpp =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.cpp (.../MAdjustHDInstitutionalRecordResponse.cpp) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.cpp (.../MAdjustHDInstitutionalRecordResponse.cpp) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -49,6 +49,7 @@ _data.mMinRORejectionRatioPCT .value, _data.mMinInletWaterCondALarmLimitUSPCM .value, _data.mMinVenPressWideLimitWindowMMHG .value, + _data.mTreatmentEndBloodFlowMLPM .value, }; } @@ -84,6 +85,7 @@ if (GetValue(vByteArray, index, _data.mMinRORejectionRatioPCT )) if (GetValue(vByteArray, index, _data.mMinInletWaterCondALarmLimitUSPCM )) if (GetValue(vByteArray, index, _data.mMinVenPressWideLimitWindowMMHG )) + if (GetValue(vByteArray, index, _data.mTreatmentEndBloodFlowMLPM )) return true ; else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } @@ -115,6 +117,7 @@ else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } else { if(vIndex) *vIndex = index; return false; } + else { if(vIndex) *vIndex = index; return false; } } /*! @@ -154,5 +157,6 @@ data.mMinRORejectionRatioPCT = _data.mMinRORejectionRatioPCT .value; data.mMinInletWaterCondALarmLimitUSPCM = _data.mMinInletWaterCondALarmLimitUSPCM .value; data.mMinVenPressWideLimitWindowMMHG = _data.mMinVenPressWideLimitWindowMMHG .value; + data.mTreatmentEndBloodFlowMLPM = _data.mTreatmentEndBloodFlowMLPM .value; return data; } Index: sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.h =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.h (.../MAdjustHDInstitutionalRecordResponse.h) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/model/hd/adjustment/settings/MAdjustHDInstitutionalRecordResponse.h (.../MAdjustHDInstitutionalRecordResponse.h) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -66,6 +66,7 @@ * | #28:(U32) | \ref Data::mMinRORejectionRatioPCT | * | #29:(F32) | \ref Data::mMinInletWaterCondALarmLimitUSPCM | * | #30:(S32) | \ref Data::mMinVenPressWideLimitWindowMMHG | + * | #31:(U32) | \ref Data::mTreatmentEndBloodFlowMLPM | * * \sa Data * @@ -115,6 +116,7 @@ Types::U32 mMinRORejectionRatioPCT ; Types::F32 mMinInletWaterCondALarmLimitUSPCM ; Types::S32 mMinVenPressWideLimitWindowMMHG ; + Types::U32 mTreatmentEndBloodFlowMLPM ; } _data; public: @@ -153,6 +155,7 @@ quint32 mMinRORejectionRatioPCT ; float mMinInletWaterCondALarmLimitUSPCM; qint32 mMinVenPressWideLimitWindowMMHG ; + quint32 mTreatmentEndBloodFlowMLPM ; }; MAdjustInstitutionalRecordResponse () { } Index: sources/model/hd/alarm/MAlarmMapping.cpp =================================================================== diff -u -r5ccce150750e15de56f619e5423fd822727a91d6 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision 5ccce150750e15de56f619e5423fd822727a91d6) +++ sources/model/hd/alarm/MAlarmMapping.cpp (.../MAlarmMapping.cpp) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -7,7 +7,7 @@ * * \file MAlarmMapping.cpp * \author (last) Behrouz NematiPour - * \date (last) 01-Jan-2024 + * \date (last) 09-Jun-2026 * \author (original) Behrouz NematiPour * \date (original) 03-May-2021 * @@ -250,7 +250,7 @@ /*0214*/case GuiAlarmID::ALARM_ID_DG_CONCENTRATE_PUMPS_INVALID_CAL_RECORD : { result = QObject::tr("DG concentrate pumps invalid calibration record." ); break; } /* 214*/ /*0215*/case GuiAlarmID::ALARM_ID_HD_AIR_TRAP_UPPER_LEVEL_FLUID_TIME_OUT : { result = QObject::tr("HD air trap upper level fluid time out." ); break; } /* 215*/ /*0216*/case GuiAlarmID::ALARM_ID_HD_END_TREATMENT_TIMEOUT_ALARM : { result = QObject::tr("HD end treatment sub-mode timeout alarm." ); break; } /* 216*/ -/*0217*/case GuiAlarmID::ALARM_ID_AVAILABLE_32 : { result = QObject::tr("Available for use." ); break; } /* 217*/ +/*0217*/case GuiAlarmID::ALARM_ID_HD_AIR_TRAP_ACTIVITY_TOO_FREQUENT : { result = QObject::tr("HD air trap activity is too frequent alarm." ); break; } /* 217*/ /*0218*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_DETECTED : { result = QObject::tr("HD syringe detected alarm." ); break; } /* 218*/ /*0219*/case GuiAlarmID::ALARM_ID_HD_SYRINGE_PUMP_SYRINGE_REMOVED : { result = QObject::tr("HD syringe pump syringe removed alarm." ); break; } /* 219*/ /*0220*/case GuiAlarmID::ALARM_ID_DG_THD_SENSORS_FPGA_FAULT : { result = QObject::tr("DG THd sensors FPGA fault." ); break; } /* 220*/ Index: sources/view/settings/VAdjustmentInstitutionalRecord.cpp =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/view/settings/VAdjustmentInstitutionalRecord.cpp (.../VAdjustmentInstitutionalRecord.cpp) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/view/settings/VAdjustmentInstitutionalRecord.cpp (.../VAdjustmentInstitutionalRecord.cpp) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -58,6 +58,7 @@ minRORejectionRatioPCT ( vData.mMinRORejectionRatioPCT ); minInletWaterCondAlarmLimituSPCm ( vData.mMinInletWaterCondALarmLimitUSPCM ); minVenPressWideLimitWindowMMHG ( vData.mMinVenPressWideLimitWindowMMHG ); + treatmentEndBloodFlowMLPM ( vData.mTreatmentEndBloodFlowMLPM ); QStringList values; @@ -77,6 +78,7 @@ values << QString("%1") .arg(vData.mMinRORejectionRatioPCT ) ; values << QString("%1") .arg(vData.mMinInletWaterCondALarmLimitUSPCM ) ; values << QString("%1") .arg(vData.mMinVenPressWideLimitWindowMMHG ) ; + values << QString("%1") .arg(vData.mTreatmentEndBloodFlowMLPM ) ; parametersText(values); // *** has to be the last to let the information to be set and then emit the signal *** Index: sources/view/settings/VAdjustmentInstitutionalRecord.h =================================================================== diff -u -re9b084ba5248db09d78970a8210ac290c0469891 -rbfcb830b9b29048557960c6c85368c5b1a07d5d0 --- sources/view/settings/VAdjustmentInstitutionalRecord.h (.../VAdjustmentInstitutionalRecord.h) (revision e9b084ba5248db09d78970a8210ac290c0469891) +++ sources/view/settings/VAdjustmentInstitutionalRecord.h (.../VAdjustmentInstitutionalRecord.h) (revision bfcb830b9b29048557960c6c85368c5b1a07d5d0) @@ -55,6 +55,7 @@ tr("RO Rejection Ratio" ), tr("Min Inlet Water Cond Limit" ), tr("Min Venous Wide Limit" ), + tr("End Blood Flow Rate" ), }; const QStringList _units { @@ -74,6 +75,7 @@ tr("%" ), tr("uS/Cm" ), tr("mmHg" ), + tr("mL/min" ), }; @@ -113,6 +115,7 @@ PROPERTY(qint32 , minRORejectionRatioPCT , 0 ) PROPERTY(float , minInletWaterCondAlarmLimituSPCm , 0.0 ) PROPERTY(qint32 , minVenPressWideLimitWindowMMHG , 0 ) + PROPERTY(quint32 , treatmentEndBloodFlowMLPM , 0 ) PROPERTY(QStringList , parametersTitle , titles()) PROPERTY(QStringList , parametersText , {} )