########################################################################### # # Copyright (c) 2020-2024 Diality Inc. - All Rights Reserved. # # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN # WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # @file td_defs.py # # @author (last) Vinayakam Mani # @date (last) 10-May-2024 # @author (original) Peter Lucia # @date (original) 04-Dec-2020 # ############################################################################ from enum import unique from ..utils.base import DialinEnum @unique class TDOpModes(DialinEnum): MODE_FAUL = 0 # Fault mode MODE_SERV = 1 # Service mode MODE_INIT = 2 # Initialization & POST mode MODE_STAN = 3 # Standby mode MODE_TPAR = 4 # Treatment Parameters mode MODE_PRET = 5 # Pre-Treatment mode MODE_TREA = 6 # Treatment mode MODE_POST = 7 # Post-Treatment mode MODE_NLEG = 8 # Not legal - an illegal mode transition occurred NUM_OF_MODES = 9 # Number of TD operation modes @unique class TDStandbyStates(DialinEnum): STANDBY_START_STATE = 0 # Start standby (home actuators). STANDBY_WAIT_FOR_TREATMENT_STATE = 1 # Wait for treatment. STANDBY_WAIT_FOR_DISINFECT_STATE = 2 # Wait for UI to send disinfect option. STANDBY_WAIT_FOR_DG_CLEANING_MODE_CMD_RESPONSE_STATE = 3 # Wait for DG cleaning mode command response state. STANDBY_WAIT_FOR_DG_CLEANING_MODE_TO_START_STATE = 4 # Wait for DG cleaning mode to start state. STANDBY_CLEANING_MODE_IN_PROGRESS_STATE = 5 # Cleaning mode in progress state. NUM_OF_STANDBY_STATES = 6 # Number of standby states (sub-modes). @unique class TDInitStates(DialinEnum): POST_STATE_START = 0 # Start initialize & POST mode state POST_STATE_FW_INTEGRITY = 1 # Run firmware integrity test state POST_STATE_RTC = 2 # Run RTC test state POST_STATE_NVDATAMGMT = 3 # Run NV Data Mgmt. test state POST_STATE_WATCHDOG = 4 # Run watchdog test state POST_STATE_SAFETY_SHUTDOWN = 5 # Run safety shutdown test state POST_STATE_BLOOD_FLOW = 6 # Run blood flow test state POST_STATE_DIALYSATE_INLET_FLOW = 7 # Run dialysate inlet flow test state POST_STATE_DIALYSATE_OUTLET_FLOW = 8 # Run dialysate outlet flow test state POST_STATE_BLOOD_LEAK = 9 # Run blood leak sensor test state POST_STATE_VALVES = 10 # Run valves test state POST_STATE_SYRINGE_PUMP = 11 # Run syringe pump test state POST_STATE_PRES_OCCL = 12 # Run pressure occlusion state POST_STATE_ALARM_AUDIO = 13 # Run alarm audio test state POST_STATE_ALARM_LAMP = 14 # Run alarm lamp test state POST_STATE_ACCELEROMETER = 15 # Run Accelerometer test state POST_STATE_TEMPERATURES = 16 # Run temperatures POST state POST_STATE_FANS = 17 # Run fans POST state POST_STATE_STUCK_BUTTON = 18 # Run stuck button test state POST_STATE_UI_POST = 19 # Check whether UI passed its POST tests POST_STATE_FW_COMPATIBILITY = 20 # Run firmware compatibility test state POST_STATE_FPGA = 21 # Run FPGA test state POST_STATE_COMPLETED = 22 # POST self-tests completed state POST_STATE_FAILED = 23 # POST self-tests failed state NUM_OF_POST_STATES = 24 # Number of initialize & POST mode states @unique class PreTreatmentSubModes(DialinEnum): TD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0 # Water sample state TD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 1 # Consumable self-tests state TD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 2 # No cartridge self-tests state TD_PRE_TREATMENT_CART_INSTALL_STATE = 3 # Consumable and cartridge installation state TD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 4 # Self-tests when the cartridge is dry state TD_PRE_TREATMENT_PRIME_STATE = 5 # Prime blood and dialysate circuits and run wet self-tests state TD_PRE_TREATMENT_RECIRCULATE_STATE = 6 # Re-circulate blood and dialysate circuits state TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 7 # Patient connection state NUM_OF_TD_PRE_TREATMENT_STATES = 8 # Number of pre-treatment mode states @unique class PreTreatmentSampleWaterStates(DialinEnum): SAMPLE_WATER_SETUP_STATE = 0 # Sample water setup (flush filter) state SAMPLE_WATER_STATE = 1 # Sample water state, receiving sample water commands from the user SAMPLE_WATER_COMPLETE_STATE = 2 # Sample water complete state NUM_OF_SAMPLE_WATER_STATES = 3 # Number of sample water sub-mode states @unique class PreTreatmentConsumableSelfTestStates(DialinEnum): CONSUMABLE_SELF_TESTS_INSTALL_STATE = 0 # Consumable self-tests install state CONSUMABLE_SELF_TESTS_PRIME_STATE = 1 # Consumable self-tests prime concentrate lines state CONSUMABLE_SELF_TESTS_BICARB_PUMP_CHECK_STATE = 2 # Consumable self-tests bicarbonate concentrate pump check state CONSUMABLE_SELF_TESTS_ACID_PUMP_CHECK_STATE = 3 # Consumable self-tests acid concentrate pump check state CONSUMABLE_SELF_TESTS_COMPLETE_STATE = 4 # Consumable self-tests complete state NUM_OF_CONSUMABLE_SELF_TESTS_STATES = 5 # Number of consumable install sub-mode states @unique class PreTreatmentNoCartSelfTestStates(DialinEnum): NO_CART_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 0 # Wait for door to be closed before running self-tests NO_CART_SELF_TESTS_PRESSURE_CHECKS_STATE = 1 # No cartridge pressure sensors self-test state NO_CART_SELF_TESTS_HOME_VALVES_STATE = 2 # No cartridge home valves state NO_CART_SELF_TESTS_HOME_SYRINGE_PUMP_STATE = 3 # No cartridge home syringe pump state NO_CART_SELF_TESTS_PUMPS_STATE = 4 # No cartridge self-test for blood pump, dialysate in pump, dialysate out pump state NO_CART_SELF_TESTS_HOME_IDLE_STATE = 5 # Wait for valves and pumps finish homing state NO_CART_SELF_TESTS_STOPPED_STATE = 6 # No cart self-test stopped state NO_CART_SELF_TESTS_COMPLETE_STATE = 7 # No cartridge self-test complete state NUM_OF_NO_CART_SELF_TESTS_STATES = 8 # Number of no cartridge self-tests states @unique class PreTreatmentWetSelfTestStates(DialinEnum): WET_SELF_TESTS_START_STATE = 0 WET_SELF_TESTS_BUBBLE_CHECK_SETUP_STATE = 1 WET_SELF_TESTS_BUBBLE_CHECK_STATE = 2 WET_SELF_TESTS_PRIME_CHECK_STATE = 3 WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_DEBUBBLE_STATE = 4 WET_SELF_TESTS_BLOOD_LEAK_DETECTOR_STATE = 5 WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE = 6 WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE = 7 WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE = 8 WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE = 9 WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE = 10 WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE = 11 WET_SELF_TESTS_STOPPED_STATE = 12 WET_SELF_TESTS_COMPLETE_STATE = 13 @unique class TDPreTreatmentReservoirMgmtStates(DialinEnum): PRE_TREATMENT_RESERVOIR_MGMT_START_STATE = 0 # Wait for signal to start drain and fill reservoirs PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_STATE = 1 # Command DG to start draining reservoir PRE_TREATMENT_RESERVOIR_MGMT_DRAIN_CMD_RESP_STATE = 2 # After sending drain command, process DG drain command response PRE_TREATMENT_RESERVOIR_MGMT_START_FILL_STATE = 3 # Command DG to start filling reservoir PRE_TREATMENT_RESERVOIR_MGMT_FILL_CMD_RESP_STATE = 4 # After sending fill command, process DG fill command response PRE_TREATMENT_RESERVOIR_MGMT_FILL_COMPLETE_STATE = 5 # Reservoir fill has completed PRE_TREATMENT_RESERVOIR_MGMT_REQUEST_RESERVOIR_SWITCH_STATE = 6 # Command DG to switch (toggle) reservoirs PRE_TREATMENT_RESERVOIR_MGMT_WAIT_FOR_RESERVOIR_SWITCH_STATE = 7 # After sending switch command, process DG fill command response PRE_TREATMENT_RESERVOIR_MGMT_COMPLETE_STATE = 8 # Pre-treatment reservoir management complete state NUM_OF_PRE_TREATMENT_RESERVOIR_MGMT_STATES = 9 # Number of pre-treatments reservoir mgmt. states # Heparin states @unique class HeparinStates(DialinEnum): HEPARIN_STATE_OFF = 0 # No heparin delivery is in progress HEPARIN_STATE_STOPPED = 1 # Heparin delivery stopped by alarm or not yet started HEPARIN_STATE_PAUSED = 2 # Heparin delivery paused HEPARIN_STATE_INITIAL_BOLUS = 3 # Initial heparin bolus delivery in progress HEPARIN_STATE_DISPENSING = 4 # Gradual heparin dispensing in progress HEPARIN_STATE_COMPLETED = 5 # Heparin delivery stopped due to the set stop time before treatment end HEPARIN_STATE_EMPTY = 6 # Heparin Syringe empty NUM_OF_HEPARIN_STATES = 7 # Number of saline bolus states # Syringe pump states @unique class SyringePumpStates(DialinEnum): SYRINGE_PUMP_INIT_STATE = 0 # Syringe pump initialize state SYRINGE_PUMP_OFF_STATE = 1 # Syringe pump off state SYRINGE_PUMP_RETRACT_STATE = 2 # Syringe pump retract state SYRINGE_PUMP_PRELOAD_STATE = 3 # Syringe pump preload state SYRINGE_PUMP_SEEK_STATE = 4 # Syringe pump seek state SYRINGE_PUMP_PRIME_STATE = 5 # Syringe pump prime state SYRINGE_PUMP_HEP_BOLUS_STATE = 6 # Syringe pump bolus state SYRINGE_PUMP_HEP_CONTINUOUS_STATE = 7 # Syringe pump continuous state SYRINGE_PUMP_CONFIG_FORCE_SENSOR_STATE = 8 # Syringe pump configure force sensor state # Syringe pump operations @unique class SyringePumpOperations(DialinEnum): SYRINGE_PUMP_OP_STOP = 0 # Stop syringe pump SYRINGE_PUMP_OP_RETRACT = 1 # Retract syringe pump SYRINGE_PUMP_OP_SEEK = 2 # Seek plunger SYRINGE_PUMP_OP_PRIME = 3 # Prime Heparin line SYRINGE_PUMP_OP_BOLUS = 4 # Deliver Heparin bolus of set volume over 5 minutes SYRINGE_PUMP_OP_CONTINUOUS = 5 # Continuous dispense of Heparin at set rate @unique class PostTreatmentStates(DialinEnum): TD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0 # Drain reservoirs state TD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 1 # Patient disconnection state TD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE = 2 # Disposable removal state TD_POST_TREATMENT_VERIFY_STATE = 3 # Verify cartridge removed, syringe removed, and reservoirs drained state NUM_OF_TD_POST_TREATMENT_STATES = 4 # Number of post-treatment mode states @unique class PreTreatmentCartridgeInstallStates(DialinEnum): CARTRIDGE_INSTALL_STATE = 0 # Pre-treatment Cartridge Install state. NUM_OF_CARTRIDGE_INSTALL_STATES = 1 # Number of pre-treatment Cartridge Install states. @unique class PreTreatmentDrySelfTestsStates(DialinEnum): """ The HD Pre-Treatment dry self test states """ DRY_SELF_TESTS_START_STATE = 0 # Dry self-tests starting state DRY_SELF_TESTS_WAIT_FOR_DOOR_CLOSE_STATE = 1 # Wait for door to close before executing self-tests DRY_SELF_TESTS_USED_CARTRIDGE_CHECK_STATE = 2 # Used cartridge check dry self-test state DRY_SELF_TESTS_CARTRIDGE_LOADED_CHECK_STATE = 3 # Cartridge loaded check dry self-test state DRY_SELF_TESTS_SYRINGE_PUMP_SEEK_STATE = 4 # Seek syringe pumps state DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_SETUP_STATE = 5 # Pressure sensor setup state. DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE = 6 # Venous pressure sensor dry self-test setup valves and pump state DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS = 7 # Venous pressure sensor dry self-test DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE = 8 # Arterial pressure sensor dry self-test setup valves and pump state DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL = 9 # Arterial pressure sensor dry self-test DRY_SELF_TESTS_PRESSURE_SENSORS_DECAY_STATE = 10 # Pressure sensors verify pressure loss state DRY_SELF_TESTS_PRESSURE_SENSORS_STABILITY_STATE = 11 # Pressure sensors verify pressure stability state DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 12 # Pressure sensors verify normal pressure readings state DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE = 13 # Prime syringe pump state DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE = 14 # Occlusion detection state DRY_SELF_TESTS_STOPPED_STATE = 15 # Dry self-test stopped state DRY_SELF_TESTS_COMPLETE_STATE = 16 # Dry self-test complete state NUM_OF_DRY_SELF_TESTS_STATES = 17 # Number of dry self-tests states @unique class PreTreatmentPrimeStates(DialinEnum): TD_PRIME_WAIT_FOR_USER_START_STATE = 0 # Wait for user to start prime state TD_PRIME_SALINE_SETUP_STATE = 1 # Saline setup state TD_PRIME_SALINE_PURGE_AIR_STATE = 2 # Saline purge air state TD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 3 # Circulate blood circuit state TD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 4 # Wait for reservoir 1 fill complete TD_PRIME_DIALYSATE_DIALYZER_STATE = 5 # Dialysate dialyzer fluid path state TD_PRIME_SALINE_DIALYZER_SETUP_STATE = 6 # Saline dialyzer setup state TD_PRIME_SALINE_DIALYZER_STATE = 7 # Saline dialyzer fluid path state TD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 8 # Wait for reservoir 2 fill complete TD_PRIME_DIALYSATE_BYPASS_STATE = 9 # Dialysate bypass fluid path state TD_PRIME_WET_SELF_TESTS_STATE = 10 # Perform wet self-tests after priming complete TD_PRIME_PAUSE = 11 # Prime pause state, waits to be resumed TD_PRIME_COMPLETE = 12 # Prime complete state NUM_OF_TD_PRIME_STATES = 13 # Number of prime sub-mode states @unique class PreTreatmentRecircStates(DialinEnum): PRE_TREATMENT_RECIRC_STATE = 0 # Pre-treatment recirculate state PRE_TREATMENT_RECIRC_STOPPED_STATE = 1 # Pre-treatment recirculate stopped state NUM_OF_PRE_TREATMENT_RECIRC_STATES = 2 # Number of pre-treatment recirculate states @unique class TreatmentRecircStates(DialinEnum): TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE = 0 # Disconnect patient state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_RECIRC_STATE = 1 # Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_STOPPED_STATE = 2 # Stopped state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_RECONNECT_PATIENT_STATE = 3 # Reconnect patient state of the treatment re-circulate sub-mode state machine NUM_OF_TREATMENT_RECIRC_STATES = 4 # Number of treatment re-circulate sub-mode states @unique class PreTreatmentPatientConnectionStates(DialinEnum): PRE_TREATMENT_PAT_CONN_WAIT_FOR_UF_VOL_STATE = 0 # Pre-treatment patient connect wait for UF volume setting state PRE_TREATMENT_PAT_CONN_WAIT_FOR_DLZR_INVERT_STATE = 1 # Pre-treatment patient connect wait for dialyzer inverted state PRE_TREATMENT_PAT_CONN_WAIT_FOR_USER_CONFIRM_STATE = 2 # Pre-treatment patient connect wait for user confirm state PRE_TREATMENT_PAT_CONN_WAIT_FOR_TREATMENT_START_STATE = 3 # Pre-treatment patient connect wait for treatment start state NUM_OF_PRE_TREATMENT_PAT_CONN_STATES = 4 # Number of pre-treatment patient connect states @unique class TreatmentParametersStates(DialinEnum): TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 0 # Wait for UI to send treatment params mode state TD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 1 # Wait for UI to confirm treatment params mode state NUM_OF_TD_TREATMENT_PARAMS_MODE_STATES = 2 # Number of treatment params mode states @unique class TreatmentStates(DialinEnum): TREATMENT_START_STATE = 0 # Start treatment - initialize treatment and go to blood prime state TREATMENT_BLOOD_PRIME_STATE = 1 # 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 = 2 # Perform dialysis. Deliver Heparin as prescribed. Deliver UF as prescribed. Handle saline boluses as requested TREATMENT_STOP_STATE = 3 # Treatment stopped. All pumps off. Dializer bypassed TREATMENT_RINSEBACK_STATE = 4 # Perform rinseback with saline. Dialyzer bypassed. Dialysate recirculating TREATMENT_RECIRC_STATE = 5 # Recirculate saline and dialysate while patient disconnected. Blood lines open and shunted. Dialyzer is bypassed TREATMENT_END_STATE = 6 # Dialysis has ended. Blood pump slowed. Dialyzer is bypassed. Dialysate is recirculated. User can rinseback NUM_OF_TREATMENT_STATES = 7 # Number of treatment states (sub-modes) @unique class TreatmentBloodPrimeStates(DialinEnum): BLOOD_PRIME_RAMP_STATE = 0 # Ramp state of the blood prime sub-mode state machine NUM_OF_BLOOD_PRIME_STATES = 1 # Number of blood prime sub-mode states @unique class TreatmentDialysisStates(DialinEnum): DIALYSIS_START_STATE = 0 # Start state of dialysis sub-mode state machine DIALYSIS_UF_STATE = 1 # Ultrafiltration state of the dialysis sub-mode state machine DIALYSIS_SALINE_BOLUS_STATE = 2 # Saline bolus state of the dialysis sub-mode state machine NUM_OF_DIALYSIS_STATES = 3 # Number of dialysis sub-mode states @unique class TreatmentStopStates(DialinEnum): 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 = 1 # Re-circulate Dialysate only state of the treatment re-circulate sub-mode state machine TREATMENT_STOP_RECIRC_BLOOD_ONLY_STATE = 2 # Re-circulate Blood only state of the treatment re-circulate sub-mode state machine TREATMENT_STOP_NO_RECIRC_STATE = 3 # No re-circulation state of the treatment stop sub-mode state machine NUM_OF_TREATMENT_STOP_STATES = 4 # Number of treatment stop sub-mode states @unique class TreatmentRinsebackStates(DialinEnum): RINSEBACK_STOP_INIT_STATE = 0 # Start state (stopped) of the rinseback sub-mode state machine RINSEBACK_RUN_STATE = 1 # Rinseback running state of the rinseback sub-mode state machine RINSEBACK_PAUSED_STATE = 2 # Rinseback paused state of the rinseback sub-mode state machine RINSEBACK_STOP_STATE = 3 # Rinseback stopped (done) state of the rinseback sub-mode state machine RINSEBACK_RUN_ADDITIONAL_STATE = 4 # Additional rinseback volume (10 mL) state of the rinseback sub-mode state machine RINSEBACK_RECONNECT_PATIENT_STATE = 5 # Rinseback reconnect patient state of the rinseback sub-mode state machine NUM_OF_RINSEBACK_STATES = 6 # Number of rinseback sub-mode states @unique class TreatmentRecircStates(DialinEnum): TREATMENT_RECIRC_DISCONNECT_PATIENT_STATE = 0 # Disconnect patient state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_RECIRC_STATE = 1 # Re-circulate Dialysate state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_STOPPED_STATE = 2 # Stopped state of the treatment re-circulate sub-mode state machine TREATMENT_RECIRC_RECONNECT_PATIENT_STATE = 3 # Reconnect patient state of the treatment re-circulate sub-mode state machine NUM_OF_TREATMENT_RECIRC_STATES = 4 # Number of treatment re-circulate sub-mode states @unique class TreatmentEndStates(DialinEnum): TREATMENT_END_WAIT_FOR_RINSEBACK_STATE = 0 # Wait for rinseback state of the treatment end sub-mode state machine TREATMENT_END_PAUSED_STATE = 1 # Paused state of the treatment end sub-mode state machine NUM_OF_TREATMENT_END_STATES = 2 # Number of treatment end sub-mode states @unique class TDFaultStates(DialinEnum): TD_FAULT_STATE_START = 0 # Start fault state TD_FAULT_STATE_RUN_NV_POSTS = 1 # TD fault run NV posts state TD_FAULT_STATE_COMPLETE = 2 # TD fault run complete state NUM_OF_TD_FAULT_STATES = 3 # Number of fault mode states @unique class TDEventList(DialinEnum): TD_EVENT_STARTUP = 0 # TD startup event TD_EVENT_OP_MODE_CHANGE = 1 # TD Op mode change event TD_EVENT_SUB_MODE_CHANGE = 2 # TD Op sub-mode change event TD_EVENT_DRY_SELF_TEST_CARTRIDGE_RESULT = 3 # TD dry self test cartridge result TD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT = 4 # TD dry self test pressure result TD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT = 5 # TD wet self test displacement result TD_EVENT_CPU_RAM_ERROR_STATUS = 6 # TD CPU RAM error status TD_EVENT_CAL_RECORD_UPDATE = 7 # TD new calibration record updated TD_EVENT_SYSTEM_RECORD_UPDATE = 8 # TD new system record has been updated TD_EVENT_SERVICE_UPDATE = 9 # TD new service record has been updated TD_EVENT_USAGE_INFO_UPDATE = 10 # TD new usage information has been updated TD_EVENT_SW_CONFIG_UPDATE = 11 # TD new software configuration has been updated TD_EVENT_BUTTON = 12 # TD button pressed/released TD_EVENT_SAFETY_LINE = 13 # TD safety line pulled/released TD_EVENT_RSRVR_1_LOAD_CELL_START_VALUES = 14 # TD reservoir 1 load cells start values TD_EVENT_RSRVR_1_LOAD_CELL_END_VALUES = 15 # TD reservoir 2 load cells end values TD_EVENT_RSRVR_2_LOAD_CELL_START_VALUES = 16 # TD reservoir 2 load cells start values TD_EVENT_RSRVR_2_LOAD_CELL_END_VALUES = 17 # TD reservoir 2 load cells end values TD_EVENT_SUB_STATE_CHANGE = 18 # TD Op sub-state change event TD_EVENT_SYRINGE_PUMP_STATE = 19 # TD syringe pump state change event TD_EVENT_OCCLUSION_BASELINE = 20 # TD event occlusion baseline event TD_EVENT_RSRVR_UF_VOLUME_AND_TIME = 21 # TD ultrafiltration volume and time for a reservoir use TD_EVENT_RSRVR_UF_RATE = 22 # TD ultrafiltration measured and expected rates TD_EVENT_OPERATION_STATUS = 23 # TD operation status event. TD_EVENT_AIR_TRAP_FILL = 24 # TD initiated an air trap fill (opened VBT briefly). TD_EVENT_AIR_PUMP_ON_OFF = 25 # TD turned air pump on or off. TD_EVENT_BLOOD_LEAK_SELF_TEST_RESULT = 26 # TD Blood leak self test result. TD_EVENT_BLOOD_LEAK_NUM_OF_SET_POINT_CHECK_FAILURES = 27 # TD blood leak number of setpoint check failures TD_EVENT_DRY_SELF_TEST_PRESSURE_DECAY_WAIT_PERIOD = 28 # TD dry self test pressure decay wait period TD_EVENT_INSTIT_RECORD_UPDATE = 29 # TD new institutional record has been updated. TD_EVENT_PARTIAL_OCCLUSION_BASELINE = 30 # TD event partial occlusion baseline event NUM_OF_EVENT_IDS = 31 # Total number of TD events @unique class TDEventDataType(DialinEnum): EVENT_DATA_TYPE_NONE = 0 EVENT_DATA_TYPE_U32 = 1 EVENT_DATA_TYPE_S32 = 2 EVENT_DATA_TYPE_F32 = 3 EVENT_DATA_TYPE_BOOL = 4 NUM_OF_EVENT_DATA_TYPES = 5 @unique class UFStates(DialinEnum): UF_PAUSED_STATE = 0 # Paused state of the ultrafiltration state machine UF_RUNNING_STATE = 1 # Running state of the ultrafiltration state machine NUM_OF_UF_STATES = 2 # Number of ultrafiltration states @unique class SalineBolusStates(DialinEnum): SALINE_BOLUS_STATE_IDLE = 0 # No saline bolus delivery is in progress SALINE_BOLUS_STATE_WAIT_FOR_PUMPS_STOP = 1 # Wait for pumps to stop before starting bolus SALINE_BOLUS_STATE_IN_PROGRESS = 2 # A saline bolus delivery is in progress SALINE_BOLUS_STATE_MAX_DELIVERED = 3 # Maximum saline bolus volume reached - no more saline bolus deliveries allowed NUM_OF_SALINE_BOLUS_STATES = 4 # Number of saline bolus states @unique class TreatmentParameters(DialinEnum): TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN = 0 TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN = 1 TREATMENT_PARAM_TREATMENT_DURATION_MIN = 2 TREATMENT_PARAM_HEPARIN_PRESTOP_MIN = 3 TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML = 4 TREATMENT_PARAM_ACID_CONCENTRATE = 5 TREATMENT_PARAM_BICARB_CONCENTRATE = 6 TREATMENT_PARAM_DIALYZER_TYPE = 7 TREATMENT_PARAM_HEPARIN_TYPE = 8 TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN = 9 TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN = 10 TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW = 11 TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW = 12 TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC = 13 TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR = 14 TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML = 15 TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C = 16 TREATMENT_PARAM_UF_VOLUME_L = 17 NUM_OF_TREATMENT_PARAMS = 18 class Acid_Concentrates(DialinEnum): ACID_CONC_TYPE_FRESENIUS_08_1251_1 = 0 ACID_CONC_TYPE_FRESENIUS_08_2251_0 = 1 ACID_CONC_TYPE_FRESENIUS_08_3251_9 = 2 NUM_OF_ACID_CONC_TYPES = 3 class Bicarb_Concentrates(DialinEnum): BICARB_CONC_TYPE_FRESENIUS_CENTRISOL = 0 NUM_OF_BICARB_CONC_TYPES = 1 @unique class PowerOffCommands(DialinEnum): """ power off commands enum """ PW_COMMAND_OPEN = 0 PW_TIMEOUT_CLOSE = 1 PW_REJECT_SHOW = 2