Index: AlarmDefs.h =================================================================== diff -u -r3f695fe033826a31febd80351569962c51f9bccb -rb996d78f936b7e10ba3d427bb97ec3d7dd44d396 --- AlarmDefs.h (.../AlarmDefs.h) (revision 3f695fe033826a31febd80351569962c51f9bccb) +++ AlarmDefs.h (.../AlarmDefs.h) (revision b996d78f936b7e10ba3d427bb97ec3d7dd44d396) @@ -124,6 +124,7 @@ ALARM_ID_DD_GEND_SPENT_DIAL_PRESS_OUT_OF_RANGE = 93, ///< DD generate dialysate spent dialysate pressure out of range ALARM_ID_DD_BC_STATE1_FILL_PRESSURE_DROP_OUT_OF_RANGE = 94, ///< DD balance chamber state1 fill initiated and pressure drop is not in range ALARM_ID_DD_BC_STATE2_FILL_PRESSURE_DROP_OUT_OF_RANGE = 95, ///< DD balance chamber state2 fill initiated and pressure drop is not in range + ALARM_ID_TD_TREATMENT_STOPPED_BY_USER = 96, ///< TD treatment paused by user NUM_OF_ALARM_IDS ///< Number of alarms }; typedef enum Alarm_List ALARM_ID_T; ///< Type for alarm list enumeration @@ -355,6 +356,7 @@ { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, ALARM_ID_DD_GEND_SPENT_DIAL_PRESS_OUT_OF_RANGE }, { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, ALARM_ID_DD_BC_STATE1_FILL_PRESSURE_DROP_OUT_OF_RANGE }, { ALARM_PRIORITY_HIGH, 110, FALSE, TRUE , TRUE , TRUE , FALSE, TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , FALSE, FALSE, ALARM_ID_DD_BC_STATE2_FILL_PRESSURE_DROP_OUT_OF_RANGE }, + { ALARM_PRIORITY_MEDIUM, 300, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE , TRUE , FALSE, FALSE, ALARM_ID_TD_TREATMENT_STOPPED_BY_USER }, }; // Priority Rank Fault DDFault Stops ClrIm NoClr NoRes NoRin NoEnd BlkRB BlkET NoBRcr NoDRcr ClrOnly TxLog ID /// Table of alarms and their rank. @@ -447,6 +449,7 @@ { 202, ALARM_ID_TD_ARTERIAL_PRESSURE_LOW }, { 203, ALARM_ID_TD_ARTERIAL_PRESSURE_HIGH }, { 210, ALARM_ID_TD_CARTRIDGE_DOOR_OPENED }, + { 300, ALARM_ID_TD_TREATMENT_STOPPED_BY_USER }, { 430, ALARM_ID_DD_INLET_WATER_PRESSURE_IN_HIGH_RANGE }, { 431, ALARM_ID_DD_INLET_WATER_PRESSURE_IN_LOW_RANGE }, { 430, ALARM_ID_DD_INLET_WATER_PRESSURE_OUT_HIGH_RANGE }, @@ -577,6 +580,7 @@ { 93 , ALARM_ID_DD_GEND_SPENT_DIAL_PRESS_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: Spent dial Press not in range | DD spent dialysate pressure is not in range | If the spent dialysate pressure (< 27 psig or > 31 psig) not in range. | "}, { 94 , ALARM_ID_DD_BC_STATE1_FILL_PRESSURE_DROP_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: BC Pressure not in range | DD balancing chamber state 1 fill initiated and pressure drop is not in range | If the fresh dialysate pressure (< 9 psig or > 13 psig) and spent dialysate pressure (< 9 psig or > 13 psig) not in range for balancing chamber state1 fill in progress. | "}, { 95 , ALARM_ID_DD_BC_STATE2_FILL_PRESSURE_DROP_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: BC Pressure not in range | DD balancing chamber state 2 fill initiated and pressure drop is not in range | If the fresh dialysate pressure (< 9 psig or > 13 psig) and spent dialysate pressure (< 9 psig or > 13 psig) not in range for balancing chamber state2 fill in progress. | "}, + { 96 , ALARM_ID_TD_TREATMENT_STOPPED_BY_USER , "TD | Blood Pump Stopped: Treatment Paused | Treatment has been stopped by user.\n- Press Resume/OK to resume treatment. \n- If treatment is not resumed within five minutes,\ntreatment will be terminated without rinseback. | Blood Stopped: Treatment Pause | TD treatment stopped by user action - pressed stop button | If the user has pressed the stop button. | "}, }; #endif // manual alarms Index: MsgDefs.h =================================================================== diff -u -rc0bfc1bdf6944c6c87476fa41a98a11160afe432 -rb996d78f936b7e10ba3d427bb97ec3d7dd44d396 --- MsgDefs.h (.../MsgDefs.h) (revision c0bfc1bdf6944c6c87476fa41a98a11160afe432) +++ MsgDefs.h (.../MsgDefs.h) (revision b996d78f936b7e10ba3d427bb97ec3d7dd44d396) @@ -85,9 +85,23 @@ MSG_ID_RO_LEVEL_DATA = 0x35, ///< RO broadcast level data MSG_ID_RO_FLOW_DATA = 0x36, ///< RO broadcast flow data MSG_ID_RO_CONDUCTIVITY_DATA = 0x37, ///< RO broadcast conductivity data - MSG_ID_DD_RO_START_STOP_CMD_REQUEST = 0x38, ///< DD requests RO to start/stop delivering the purified water. + MSG_ID_DD_RO_START_STOP_CMD_REQUEST = 0x38, ///< DD requests RO to start/stop delivering the purified water MSG_ID_RO_TEMPERATURE_DATA = 0x39, ///< RO temperatures data broadcast MSG_ID_RO_HEATER_DATA = 0x3A, ///< RO heater data broadcast + MSG_ID_TD_TREATMENT_TIME_DATA = 0x3B, ///< TD treatment time data broadcast + MSG_ID_TD_TREATMENT_STATE_DATA = 0x3C, ///< TD treatment state data broadcast + MSG_ID_TD_SALINE_BOLUS_DATA = 0x3D, ///< TD saline bolus status data broadcast + MSG_ID_TD_ULTRAFILTRATION_DATA = 0x3E, ///< TD ultrafiltration status data broadcast + MSG_ID_UI_TREATMENT_PARAMS_TO_VALIDATE = 0x3F, ///< UI treatment parameters (except UF volume) to be validated by TD + MSG_ID_TD_RESP_TREATMENT_PARAMS_TO_VALIDATE = 0x40, ///< TD response to treatment parameter validation request + MSG_ID_UI_ULTRAFILTRATION_VOLUME_TO_VALIDATE = 0x41, ///< UI ultrafiltration volume parameter to be validated by TD + MSG_ID_TD_RESP_ULTRAFILTRATION_VOLUME_TO_VALIDATE = 0x42, ///< TD response to ultrafiltration volume validation request + MSG_ID_TD_TREATMENT_PARAM_RANGES = 0x43, ///< TD treatment parameter ranges for UI + MSG_ID_UI_TREATMENT_PARAMS_CONFIRMED = 0x44, ///< UI treatment parameters confirmed/rejected + MSG_ID_UI_INITIATE_TREATMENT_WORKFLOW = 0x45, ///< UI initiate/cancel treatment workflow request + MSG_ID_TD_RESP_INITIATE_TREATMENT_WORKFLOW = 0x46, ///< TD response to initiate/cancel treatment workflow request + MSG_ID_UI_UF_PAUSE_RESUME_REQUEST = 0x47, ///< UI ultrafiltration pause/resume request + MSG_ID_TD_UF_PAUSE_RESUME_RESPONSE = 0x48, ///< TD response to ultrafiltration pause/resume request #ifdef __PUMPTEST__ MSG_ID_DD_PISTON_PUMP_CONTROL_DATA = 0x3B, ///< DD piston pump data #endif @@ -138,6 +152,10 @@ MSG_ID_TD_BLOOD_PUMP_MEASURED_ROTOR_SPEED_OVERRIDE_REQUEST = 0x802A, ///< TD override request for blood pump measured rotor speed MSG_ID_TD_BLOOD_PUMP_ROTOR_COUNT_OVERRIDE_REQUEST = 0x802B, ///< TD override request for blood pump rotor count MSG_ID_TD_TMP_PRESSURE_OVERRIDE_REQUEST = 0x802C, ///< TD override request for TMP pressure + MSG_ID_TD_REQ_CURRENT_TREATMENT_PARAMETERS = 0x802D, ///< TD request for current treatment parameters + MSG_ID_TD_RSP_CURRENT_TREATMENT_PARAMETERS = 0x802E, ///< TD response to request for current treatment parameters + MSG_ID_TD_OP_MODE_PUBLISH_INTERVAL_OVERRIDE_REQUEST = 0x802F, ///< TD override request for operation mode data publish interval + MSG_ID_TD_OP_MODE_OVERRIDE_REQUEST = 0x8030, ///< TD set operation mode request MSG_ID_FIRST_DD_TESTER_MESSAGE = 0xA000, ///< First DD test message ID MSG_ID_DD_TESTER_LOGIN_REQUEST = MSG_ID_FIRST_DD_TESTER_MESSAGE, ///< DD tester log-in Index: TDDefs.h =================================================================== diff -u -rbbb488dc82c160e1fa8a5d6b02f417a2dd398b62 -rb996d78f936b7e10ba3d427bb97ec3d7dd44d396 --- TDDefs.h (.../TDDefs.h) (revision bbb488dc82c160e1fa8a5d6b02f417a2dd398b62) +++ TDDefs.h (.../TDDefs.h) (revision b996d78f936b7e10ba3d427bb97ec3d7dd44d396) @@ -342,11 +342,14 @@ { TREATMENT_START_STATE = 0, ///< Start treatment - initialize treatment and go to blood prime state TREATMENT_BLOOD_PRIME_STATE, ///< Prime blood-side of dialyzer with gradual ramp for 1 min. while dialyzer is bypassed. No dialysis or UF taking place. No treatment time. - TREATMENT_DIALYSIS_STATE, ///< Perform dialysis. Deliver Heparin as prescribed. Deliver UF as prescribed. Handle saline boluses as requested - TREATMENT_STOP_STATE, ///< Treatment stopped. All pumps off. Dializer bypassed + TREATMENT_DIALYSIS_STATE, ///< Perform dialysis. Deliver UF as prescribed. + TREATMENT_PAUSED_STATE, ///< Treatment paused. All pumps off. Dializer bypassed TREATMENT_RINSEBACK_STATE, ///< Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating TREATMENT_RECIRC_STATE, ///< Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed TREATMENT_END_STATE, ///< Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback + TREATMENT_ISO_UF_STATE, ///< Isolated ultrafiltration. No dialysate flow. Ultrafiltration only. + TREATMENT_SALINE_BOLUS_STATE, ///< Deliver a saline bolus. Blood pump draws from saline bag. Dialyzer bypassed. + TREATMENT_DIALYSATE_PAUSED_STATE, ///< No dialysate flow. Dialyzer bypassed. NUM_OF_TREATMENT_STATES ///< Number of treatment states (sub-modes) }; typedef enum Treatment_States TREATMENT_STATE_T; ///< Type for treatment states enumeration @@ -394,22 +397,12 @@ /// Enumeration of dialysis sub-mode states. enum Dialysis_States { - DIALYSIS_START_STATE = 0, ///< Start state of the dialysis sub-mode state machine - DIALYSIS_UF_STATE, ///< Ultrafiltration state of the dialysis sub-mode state machine - DIALYSIS_SALINE_BOLUS_STATE, ///< Saline bolus state of the dialysis sub-mode state machine + DIALYSIS_UF_STATE = 0, ///< Ultrafiltration state of the dialysis sub-mode state machine + DIALYSIS_UF_PAUSED_STATE, ///< Ultrafiltration Paused state of the dialysis sub-mode state machine NUM_OF_DIALYSIS_STATES ///< Number of dialysis sub-mode states }; typedef enum Dialysis_States DIALYSIS_STATE_T; ///< Type for dialysis states enumeration -/// Enumeration of ultrafiltration states. -enum UF_States -{ - UF_PAUSED_STATE = 0, ///< Paused state of the ultrafiltration state machine - UF_RUNNING_STATE, ///< Running state of the ultrafiltration state machine - NUM_OF_UF_STATES ///< Number of ultrafiltration states -}; -typedef enum UF_States UF_STATE_T; ///< Type for ultrafiltration states enumeration - /// Enumeration of saline bolus states. enum Saline_Bolus_States { @@ -485,18 +478,18 @@ * @{ */ -/// Enumeration of treatment stop sub-mode states. -enum Treatment_Stop_States +/// Enumeration of treatment paused sub-mode states. +enum Treatment_Paused_States { - TREATMENT_STOP_RECIRC_STATE = 0, ///< Dialysate and Blood re-circulation state of the treatment stop sub-mode state machine - TREATMENT_STOP_RECIRC_DIALYSATE_ONLY_STATE, ///< Re-circulate Dialysate only state of the treatment re-circulate sub-mode state machine - TREATMENT_STOP_RECIRC_BLOOD_ONLY_STATE, ///< Re-circulate Blood only state of the treatment re-circulate sub-mode state machine - TREATMENT_STOP_NO_RECIRC_STATE, ///< No re-circulation state of the treatment stop sub-mode state machine - TREATMENT_STOP_RECOVER_BLOOD_DETECT_STATE, ///< Treatment stop recover blood detect state - NUM_OF_TREATMENT_STOP_STATES ///< Number of treatment stop sub-mode states + TREATMENT_PAUSED_RECIRC_STATE = 0, ///< Dialysate and Blood re-circulation state of the treatment paused sub-mode state machine + TREATMENT_PAUSED_RECIRC_DIALYSATE_ONLY_STATE, ///< Re-circulate Dialysate only state of the treatment paused sub-mode state machine + TREATMENT_PAUSED_RECIRC_BLOOD_ONLY_STATE, ///< Re-circulate Blood only state of the treatment paused sub-mode state machine + TREATMENT_PAUSED_NO_RECIRC_STATE, ///< No re-circulation state of the treatment paused sub-mode state machine + TREATMENT_PAUSED_RECOVER_BLOOD_DETECT_STATE, ///< Treatment paused recover blood detect state + NUM_OF_TREATMENT_PAUSED_STATES ///< Number of treatment paused sub-mode states }; -/// Type for treatment stop states enumeration. -typedef enum Treatment_Stop_States TREATMENT_STOP_STATE_T; +/// Type for treatment paused states enumeration. +typedef enum Treatment_Paused_States TREATMENT_PAUSED_STATE_T; /**@}*/ @@ -624,24 +617,21 @@ TREATMENT_PARAM_FIRST_UINT = TREATMENT_PARAM_BLOOD_FLOW, ///< First unsigned integer treatment parameter TREATMENT_PARAM_DIALYSATE_FLOW, ///< Dialysate flow rate (in mL/min) TREATMENT_PARAM_TREATMENT_DURATION, ///< Treatment duration (in minutes) - TREATMENT_PARAM_HEPARIN_PRE_STOP_TIME, ///< Heparin pre-stop time (in minutes) TREATMENT_PARAM_SALINE_BOLUS_VOLUME, ///< Saline bolus volume (in mL) TREATMENT_PARAM_ACID_CONCENTRATE, ///< Acid concentrate type (enum) TREATMENT_PARAM_BICARB_CONCENTRATE, ///< Bicarbonate concentrate type (enum) TREATMENT_PARAM_DIALYZER_TYPE, ///< Dialysate type (enum) - TREATMENT_PARAM_HEPARIN_TYPE, ///< Heparin type (enum) TREATMENT_PARAM_BP_MEAS_INTERVAL, ///< Blood pressure measurement interval (in minutes) TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Rinseback flow rate (in mL/min) TREATMENT_PARAM_LAST_UINT = TREATMENT_PARAM_RINSEBACK_FLOW_RATE, ///< Last unsigned integer treatment parameter TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW, ///< Arterial pressure alarm limit window (in mmHg) TREATMENT_PARAM_FIRST_INT = TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW, ///< First integer treatment parameter TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW, ///< Venous pressure alarm limit window (in mmHg) TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC, ///< Venous pressure alarm limit asymmetric (in mmHg) - TREATMENT_PARAM_LAST_INT = TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC,///< Last integer treatment parameter - TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< Heparin dispense rate (in mL/hr) - TREATMENT_PARAM_FIRST_F32 = TREATMENT_PARAM_HEPARIN_DISPENSE_RATE, ///< First floating point treatment parameter - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME, ///< Heparin bolus volume (in mL) + TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW, ///< TMP alarm limit window (in mmHg) + TREATMENT_PARAM_LAST_INT = TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW, ///< Last integer treatment parameter TREATMENT_PARAM_DIALYSATE_TEMPERATURE, ///< Dialysate temperature (in degC) + TREATMENT_PARAM_FIRST_F32 = TREATMENT_PARAM_DIALYSATE_TEMPERATURE, ///< First floating point treatment parameter TREATMENT_PARAM_UF_VOLUME, ///< Ultrafiltration volume (in liters) - provided separately by UI NUM_OF_TREATMENT_PARAMS ///< Total number of treatment parameters };