########################################################################### # # Copyright (c) 2020-2023 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 hd_defs.py # # @author (last) Micahel Garthwaite # @date (last) 16-May-2023 # @author (original) Peter Lucia # @date (original) 04-Dec-2020 # ############################################################################ from enum import unique from ..utils.base import DialinEnum @unique class HDOpModes(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 HD operation modes @unique class HDStandbyStates(DialinEnum): STANDBY_START_STATE = 0 # Start standby. 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_FLUSH_CMD_RESPONSE_STATE = 3 # Wait for DG flush command response. STANDBY_WAIT_FOR_DG_FLUSH_TO_START_STATE = 4 # Wait for DG flush to start. STANDBY_DG_FLUSH_IN_PROGRESS_STATE = 5 # DG flush operation is in progress STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_CMD_RESPONSE_STATE = 6 # Wait for DG heat disinfect command response. STANDBY_WAIT_FOR_DG_HEAT_DISINFECT_TO_START_STATE = 7 # Wait for DG heat disinfect to start. STANDBY_DG_HEAT_DISINFECT_IN_PROGRESS_STATE = 8 # DG heat disinfect operation is in progress. STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_CMD_RESPONSE_STATE = 9 # Wait for DG chemical disinfect command response. STANDBY_WAIT_FOR_DG_CHEM_DISINFECT_TO_START_STATE = 10 # Wait for DG chemical disinfect to start. STANDBY_DG_CHEM_DISINFECT_IN_PROGRESS_STATE = 11 # DG chemical disinfect operation is in progress NUM_OF_STANDBY_STATES = 12 # Number of standby states (sub-modes) @unique class HDInitStates(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): HD_PRE_TREATMENT_WATER_SAMPLE_STATE = 0 # Water sample state HD_PRE_TREATMENT_SELF_TEST_CONSUMABLE_STATE = 1 # Consumable self-tests state HD_PRE_TREATMENT_SELF_TEST_NO_CART_STATE = 2 # No cartridge self-tests state HD_PRE_TREATMENT_CART_INSTALL_STATE = 3 # Consumable and cartridge installation state HD_PRE_TREATMENT_SELF_TEST_DRY_STATE = 4 # Self-tests when the cartridge is dry state HD_PRE_TREATMENT_PRIME_STATE = 5 # Prime blood and dialysate circuits and run wet self-tests state HD_PRE_TREATMENT_RECIRCULATE_STATE = 6 # Re-circulate blood and dialysate circuits state HD_PRE_TREATMENT_PATIENT_CONNECTION_STATE = 7 # Patient connection state NUM_OF_HD_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_STATE = 4 WET_SELF_TESTS_FIRST_DISPLACEMENT_SETUP_STATE = 5 WET_SELF_TESTS_FIRST_DISPLACEMENT_STATE = 6 WET_SELF_TESTS_FIRST_DISPLACEMENT_VERIFY_STATE = 7 WET_SELF_TESTS_SECOND_DISPLACEMENT_SETUP_STATE = 8 WET_SELF_TESTS_SECOND_DISPLACEMENT_STATE = 9 WET_SELF_TESTS_SECOND_DISPLACEMENT_VERIFY_STATE = 10 WET_SELF_TESTS_STOPPED_STATE = 11 WET_SELF_TESTS_COMPLETE_STATE = 12 # 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): HD_POST_TREATMENT_DRAIN_RESERVOIRS_STATE = 0 # Drain reservoirs state HD_POST_TREATMENT_PATIENT_DISCONNECTION_STATE = 1 # Patient disconnection state HD_POST_TREATMENT_DISPOSABLE_REMOVAL_STATE = 2 # Disposable removal state HD_POST_TREATMENT_VERIFY_STATE = 3 # Verify cartridge removed, syringe removed, and reservoirs drained state NUM_OF_HD_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_PRESSURE_SENSORS_NORMAL_SETUP_STATE = 4 # Pressure sensor setup state. DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS_SETUP_STATE = 5 # Venous pressure sensor dry self-test setup valves and pump state DRY_SELF_TESTS_PRESSURE_SENSORS_VENOUS = 6 # Venous pressure sensor dry self-test DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL_SETUP_STATE = 7 # Arterial pressure sensor dry self-test setup valves and pump state DRY_SELF_TESTS_PRESSURE_SENSORS_ARTERIAL = 8 # Arterial pressure sensor dry self-test DRY_SELF_TESTS_PRESSURE_SENSORS_DECAY_STATE = 9 # Pressure sensors verify pressure loss state DRY_SELF_TESTS_PRESSURE_SENSORS_STABILITY_STATE = 10 # Pressure sensors verify pressure stability state DRY_SELF_TESTS_PRESSURE_SENSORS_NORMAL_STATE = 11 # Pressure sensors verify normal pressure readings state DRY_SELF_TESTS_SYRINGE_PUMP_PRIME_STATE = 12 # Prime syringe pump state DRY_SELF_TESTS_SYRINGE_PUMP_OCCLUSION_DETECTION_STATE = 13 # Occlusion detection state DRY_SELF_TESTS_STOPPED_STATE = 14 # Dry self-test stopped state DRY_SELF_TESTS_COMPLETE_STATE = 15 # Dry self-test complete state NUM_OF_DRY_SELF_TESTS_STATES = 16 # Number of dry self-tests states @unique class PreTreatmentPrimeStates(DialinEnum): HD_PRIME_WAIT_FOR_USER_START_STATE = 0 # Wait for user to start prime state HD_PRIME_SALINE_SETUP_STATE = 1 # Saline setup state HD_PRIME_SALINE_PURGE_AIR_STATE = 2 # Saline purge air state HD_PRIME_SALINE_CIRC_BLOOD_CIRCUIT_STATE = 3 # Circulate blood circuit state HD_PRIME_RESERVOIR_ONE_FILL_COMPLETE_STATE = 4 # Wait for reservoir 1 fill complete HD_PRIME_DIALYSATE_DIALYZER_STATE = 5 # Dialysate dialyzer fluid path state HD_PRIME_SALINE_DIALYZER_SETUP_STATE = 6 # Saline dialyzer setup state HD_PRIME_SALINE_DIALYZER_STATE = 7 # Saline dialyzer fluid path state HD_PRIME_RESERVOIR_TWO_FILL_COMPLETE_STATE = 8 # Wait for reservoir 2 fill complete HD_PRIME_DIALYSATE_BYPASS_STATE = 9 # Dialysate bypass fluid path state HD_PRIME_WET_SELF_TESTS_STATE = 10 # Perform wet self-tests after priming complete HD_PRIME_PAUSE = 11 # Prime pause state, waits to be resumed HD_PRIME_COMPLETE = 12 # Prime complete state NUM_OF_HD_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): HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_SEND = 0 # Wait for UI to send treatment params mode state HD_TREATMENT_PARAMS_MODE_STATE_WAIT_4_UI_2_CONFIRM = 1 # Wait for UI to confirm treatment params mode state NUM_OF_HD_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_UF_STATE = 0 # Ultrafiltration state of the dialysis sub-mode state machine DIALYSIS_SALINE_BOLUS_STATE = 1 # Saline bolus state of the dialysis sub-mode state machine NUM_OF_DIALYSIS_STATES = 2 # 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 NUM_OF_RINSEBACK_STATES = 5 # 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 HDFaultStates(DialinEnum): HD_FAULT_STATE_START = 0 # Start fault state HD_FAULT_STATE_RUN_NV_POSTS = 1 # HD fault run NV posts state HD_FAULT_STATE_COMPLETE = 2 # HD fault run complete state NUM_OF_HD_FAULT_STATES = 3 # Number of fault mode states @unique class HDEventList(DialinEnum): HD_EVENT_STARTUP = 0 # HD startup event HD_EVENT_OP_MODE_CHANGE = 1 # HD Op mode change event HD_EVENT_SUB_MODE_CHANGE = 2 # HD Op sub-mode change event HD_EVENT_DRY_SELF_TEST_CARTRIDGE_RESULT = 3 # HD dry self test cartridge result HD_EVENT_DRY_SELF_TEST_PRESSURE_RESULT = 4 # HD dry self test pressure result HD_EVENT_WET_SELF_TEST_DISPLACEMENT_RESULT = 5 # HD wet self test displacement result HD_EVENT_CPU_RAM_ERROR_STATUS = 6 # HD CPU RAM error status HD_EVENT_CAL_RECORD_UPDATE = 7 # HD new calibration record updated HD_EVENT_SYSTEM_RECORD_UPDATE = 8 # HD new system record has been updated HD_EVENT_SERVICE_UPDATE = 9 # HD new service record has been updated HD_EVENT_USAGE_INFO_UPDATE = 10 # HD new usage information has been updated HD_EVENT_SW_CONFIG_UPDATE = 11 # HD new software configuration has been updated HD_EVENT_BUTTON = 12 # HD button pressed/released HD_EVENT_SAFETY_LINE = 13 # HD safety line pulled/released HD_EVENT_RSRVR_1_LOAD_CELL_START_VALUES = 14 # HD reservoir 1 load cells start values HD_EVENT_RSRVR_1_LOAD_CELL_END_VALUES = 15 # HD reservoir 2 load cells end values HD_EVENT_RSRVR_2_LOAD_CELL_START_VALUES = 16 # HD reservoir 2 load cells start values HD_EVENT_RSRVR_2_LOAD_CELL_END_VALUES = 17 # HD reservoir 2 load cells end values HD_EVENT_SUB_STATE_CHANGE = 18 # HD Op sub-state change event HD_EVENT_SYRINGE_PUMP_STATE = 19 # HD syringe pump state change event HD_EVENT_OCCLUSION_BASELINE = 20 # HD event occlusion baseline event HD_EVENT_RSRVR_UF_VOLUME_AND_TIME = 21 # HD ultrafiltration volume and time for a reservoir use HD_EVENT_RSRVR_UF_RATE = 22 # HD ultrafiltration measured and expected rates HD_EVENT_OPERATION_STATUS = 23 # HD operation status event. NUM_OF_EVENT_IDS = 24 # Total number of HD events @unique class HDEventDataType(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