Index: AlarmDefs.h =================================================================== diff -u -r915dbd9d975a43f9ea6d1cddba70890f2b663bc6 -r4840658cc7b64ea35141bfb0692f2435e1763060 --- AlarmDefs.h (.../AlarmDefs.h) (revision 915dbd9d975a43f9ea6d1cddba70890f2b663bc6) +++ AlarmDefs.h (.../AlarmDefs.h) (revision 4840658cc7b64ea35141bfb0692f2435e1763060) @@ -7,8 +7,8 @@ * * @file AlarmDefs.h * -* @author (last) Varshini Nagabooshanam -* @date (last) 18-Jun-2026 +* @author (last) Santhosh Reddy +* @date (last) 09-Jul-2026 * * @author (original) Sean Nash * @date (original) 01-Aug-2024 @@ -229,9 +229,10 @@ ALARM_ID_DD_D92_PUMP_RPM_OUT_OF_RANGE = 197, ///< DD D92 pump rpm out of range ALARM_ID_TD_PRIME_COMPLETED_MEDIUM = 198, ///< TD prime completed medium priority alarm ALARM_ID_TD_REPEATED_AIR_TRAP_LOWER_EVENTS = 199, ///< TD repeated air trap lower events - ALARM_ID_DD_TURN_OFF_INLET_WATER_VALVES = 200, - ALARM_ID_DD_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE = 201, - ALARM_ID_DD_RO_PERMEATE_SAMPLE_REMOVE_DIA_CAP = 202, + ALARM_ID_TD_TUBE_SET_MISMATCH = 200, ///< TD tubeset mismatch alarm + ALARM_ID_DD_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE = 201, ///< DD chemical disinfect flush sample required + ALARM_ID_DD_RO_PERMEATE_SAMPLE_REMOVE_DIA_CAP = 202, ///< DD RO permeate sample collection requires removal of the dialysate cap + ALARM_ID_DD_TURN_OFF_INLET_WATER_VALVES = 203, ///< DD requests the user to turn off the inlet water valves NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -357,6 +358,32 @@ }; typedef struct AlarmsStateRecord ALARM_T; +/// Alarm properties request payload for CAN broadcast +struct AlarmTableResponsePayload +{ + U08 alarmPriority; ///< Priority of alarm + U16 alarmSubRank; ///< Alarm's rank within it's priority + U08 alarmSource; ///< Alarm's sub system source + U08 alarmIsFault; ///< Alarm is a system fault? + U08 alarmIsDDFault; ///< Alarm is a fault for DD? + U08 alarmStops; ///< Alarm activation should cause a controlled stop + U08 alarmConditionClearImmed; ///< Alarm condition is cleared immediately (does not persist after alarm triggered) + U08 alarmNoClear; ///< Alarm cannot be cleared (unrecoverable)? + U08 alarmNoResume; ///< Alarm prevents treatment resume + U08 alarmNoRinseback; ///< Alarm prevents rinseback + U08 alarmNoEndTreatment; ///< Alarm prevents ending treatment + U08 alarmBlockRinseback; ///< Alarm should not trigger while in rinseback states + U08 alarmBlockEndTx; ///< Alarm should not trigger while in post-treatment mode + U08 alarmNoBloodRecirc; ///< Alarm prevents blood re-circulation + U08 alarmNoDialysateRecirc; ///< Alarm prevents dialysate re-circulation + U08 alarmAutoResume; ///< Alarm should resume automatically once the condition is cleared + U08 alarmClearOnly; ///< Clear only this alarm on user acknowledgment + U08 alarmTreatmentLog; ///< Log alarm to treatment log if active during treatment + U16 alarmID; ///< Alarm ID +}; +typedef struct AlarmTableResponsePayload ALARM_PROP_T; + + /// Record defining the ranking of each individual alarm. struct AlarmsRankRecord { @@ -365,6 +392,7 @@ }; typedef struct AlarmsRankRecord ALARM_RANK_T; + #endif #ifdef __ALARM_MGMT_C__ @@ -579,9 +607,10 @@ { ALARM_PRIORITY_HIGH, 110, ALM_SRC_DD, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, ALARM_ID_DD_D92_PUMP_RPM_OUT_OF_RANGE }, { ALARM_PRIORITY_MEDIUM, 590, ALM_SRC_TD, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, ALARM_ID_TD_PRIME_COMPLETED_MEDIUM }, { ALARM_PRIORITY_HIGH, 17, ALM_SRC_TD, FALSE, FALSE, TRUE , TRUE , FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, TRUE , ALARM_ID_TD_REPEATED_AIR_TRAP_LOWER_EVENTS }, - { ALARM_PRIORITY_MEDIUM, 590, ALM_SRC_TD, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, ALARM_ID_DD_TURN_OFF_INLET_WATER_VALVES }, - { ALARM_PRIORITY_LOW, 716, ALM_SRC_TD, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE }, - { ALARM_PRIORITY_LOW, 716, ALM_SRC_TD, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_RO_PERMEATE_SAMPLE_REMOVE_DIA_CAP }, + { ALARM_PRIORITY_MEDIUM, 300, ALM_SRC_TD, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_TD_TUBE_SET_MISMATCH }, + { ALARM_PRIORITY_LOW, 716, ALM_SRC_DD, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE }, + { ALARM_PRIORITY_LOW, 716, ALM_SRC_DD, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, ALARM_ID_DD_RO_PERMEATE_SAMPLE_REMOVE_DIA_CAP }, + { ALARM_PRIORITY_MEDIUM, 590, ALM_SRC_DD, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, ALARM_ID_DD_TURN_OFF_INLET_WATER_VALVES }, }; // Priority Rank Source Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr AutoRes ClrOnly TxLog ID /// Table of alarms and their rank. @@ -748,6 +777,7 @@ { 291, ALARM_ID_TD_BLOOD_PRIME_PAUSE_TIMEOUT }, { 292, ALARM_ID_TD_BLOOD_PRIME_PAUSE_WARNING }, { 300, ALARM_ID_TD_TREATMENT_STOPPED_BY_USER }, + { 300, ALARM_ID_TD_TUBE_SET_MISMATCH }, { 401, ALARM_ID_DD_DIALYSATE_TEMP_ABOVE_SAFETY_TEMP }, { 401, ALARM_ID_DD_DIALYSATE_TEMP_ABOVE_TARGET_TEMP }, { 402, ALARM_ID_DD_DIALYSATE_TEMP_BELOW_TARGET_TEMP }, @@ -1019,8 +1049,10 @@ { 197 , ALARM_ID_DD_D92_PUMP_RPM_OUT_OF_RANGE , "DD | Service Required: Dialysate Device | A problem was detected with the dialysate device. \n- Treatment must be terminated.\n- Locate the ID code found in the bottom left corner\nof the alarm screen.\n- Call service to report the issue and schedule a repair. | DD Fault: Subtitution Pump Fault | DD substitution pump RPM out of range | If the substitution pump RPM > 20.0 of the target RPM. | "}, { 198 , ALARM_ID_TD_PRIME_COMPLETED_MEDIUM , "TD | Prime Complete - 30 MIN WARNING | The priming process completed 90 minutes ago. \n- Treatment must begin within 30 minutes or the\npre-treatment process will be terminated.\n- Press Resume/OK to continue. | Process: Pre-Tx Prime Complete | TD prime completed medium priority alarm | In Pre-Treatment Recirculation for 90 minutes | "}, { 199 , ALARM_ID_TD_REPEATED_AIR_TRAP_LOWER_EVENTS , "TD | Blood Pump Stopped: Venous Air Detector | The air trap level required repeated lowering events. \n- Confirm blood tubing connections are secure.\n- Inspect the air trap for abnormal fluid levels. \n- Resume treatment if the condition has been corrected. | Blood Stop: Repeated Air Trap Lower | Repeated air trap lower events detected during treatment | If 5 air trap lower events occur within 5 minutes during treatment. | "}, - { 200 , ALARM_ID_DG_TURN_OFF_INLET_WATER_VALVES , "DD | Turn Off Inlet Water Valves | Heat disinfection is in progress.\n- Turn off inlet water valves. | Cleaning: Turn Off Inlet Water Valves | Selection of nocturnal heat disinfect | If the user has selected the nocturnal heat disinfect, the DG Software prompts the user to turn off the inlet water valves once the reservoirs are filled. | "}, - { 201 , ALARM_ID_DG_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE , "DD | Residual Chemical Sampling | A water sample is needed to confirm the \nabsence of residual chemical following disinfection. \n- Test sample according to facility policy. \n- Confirm absence of residual chemical disinfectant. | Cleaning: Chem Residual Sampling | Collect sample to check the chemical disinfectant acid | Chemical disinfect flush sample alarm is prompted. | "}, + { 200 , ALARM_ID_TD_TUBE_SET_MISMATCH , "TD | Wrong Tube Set Installed | The installed tube set does not match the selected treatment type. \n- Remove the current tube set.\n- Install the correct tube set for the selected treatment:\n HD or HD with Online Fluid requires an HD tube set.\n HDF requires an HDF tube set. | TD Tube Set Mismatch | TD installed tube set type does not match the selected treatment modality | If the scanned tube set type does not match the tube set type required for the selected treatment modality. | "}, + { 201 , ALARM_ID_DD_CHEM_DISINFECT_FLUSH_FLUSH_SAMPLE , "DD | Residual Chemical Sampling | A water sample is needed to confirm the absence of residual chemical following disinfection.\n- Collect the required sample.\n- Test the sample according to facility policy.\n- Confirm the absence of residual chemical disinfectant. | Cleaning: Chem Residual Sampling | A sample is required to verify that residual chemical disinfectant has been removed | If DD requests residual chemical sampling during the chemical disinfect flush sequence. | "}, + { 202 , ALARM_ID_DD_RO_PERMEATE_SAMPLE_REMOVE_DIA_CAP , "DD | RO Permeate Sampling | An RO permeate sample is required.\n- Remove the dialysate cap as instructed.\n- Collect the RO permeate sample.\n- Test the sample according to facility policy.\n- Press Resume/OK when sample collection is complete. | Cleaning: RO Permeate Sampling | An RO permeate sample must be collected during the cleaning workflow | If DD requests RO permeate sample collection and removal of the dialysate cap. | "}, + { 203 , ALARM_ID_DD_TURN_OFF_INLET_WATER_VALVES , "DD | Turn Off Inlet Water Valves | Heat disinfection is in progress.\n- Turn off the inlet water valves.\n- Press Resume/OK after the inlet water valves have been turned off. | Cleaning: Turn Off Inlet Water Valves | The user must turn off the inlet water valves during nocturnal heat disinfection | If the user selected nocturnal heat disinfection and the DD reservoirs have been filled. | "}, }; #endif // manual alarms