Index: leahi_dialin/common/td_defs.py =================================================================== diff -u -r34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943 -r636775bd0ba262967bcf06e194658b97720e2517 --- leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943) +++ leahi_dialin/common/td_defs.py (.../td_defs.py) (revision 636775bd0ba262967bcf06e194658b97720e2517) @@ -1156,51 +1156,106 @@ } +# ================================================== Enum Creators: Treatment Parameters ================================================== @unique class TDTreatmentParameters(DialinEnum): - TREATMENT_PARAM_BLOOD_FLOW = 0 # Blood flow rate (in mL/min) - TREATMENT_PARAM_DIALYSATE_FLOW = 1 # Dialysate flow rate (in mL/min) - TREATMENT_PARAM_TREATMENT_DURATION = 2 # Treatment duration (in minutes) - TREATMENT_PARAM_SALINE_BOLUS_VOLUME = 3 # Saline bolus volume (in mL) - TREATMENT_PARAM_HEPARIN_STOP_TIME = 4 # Heparin stop time (in minutes) - TREATMENT_PARAM_HEPARIN_TYPE = 5 # Heparin type (enum) - TREATMENT_PARAM_ACID_CONCENTRATE = 6 # Acid concentrate type (enum) - TREATMENT_PARAM_BICARB_CONCENTRATE = 7 # Bicarbonate concentrate type (enum) - TREATMENT_PARAM_DIALYZER_TYPE = 8 # Dialysate type (enum) - TREATMENT_PARAM_BP_MEAS_INTERVAL = 9 # Blood pressure measurement interval (in minutes) - TREATMENT_PARAM_RINSEBACK_FLOW_RATE = 10 # Rinseback flow rate (in mL/min) - TREATMENT_PARAM_RINSEBACK_VOLUME = 11 # Rinseback volume (in mL) - TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW = 12 # Arterial pressure alarm limit window (in mmHg) - TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW = 13 # Venous pressure alarm limit window (in mmHg) - TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC = 14 # Venous pressure alarm limit asymmetric (in mmHg) - TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW = 15 # TMP alarm limit window (in mmHg) - TREATMENT_PARAM_DIALYSATE_TEMPERATURE = 16 # Dialysate temperature (in degC) - TREATMENT_PARAM_HEPARIN_DISPENSE_RATE = 17 # Heparin dispense rate (in mL/hr) - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME = 18 # Heparin bolus volume (in mL) - TREATMENT_PARAM_UF_VOLUME = 19 # Ultrafiltration volume (in liters) - provided separately by UI - NUM_OF_TREATMENT_PARAMS = 20 # Total number of treatment parameters + TREATMENT_PARAM_TREATMENT_MODALITY = 0 # Treatment modality type (enum) + TREATMENT_PARAM_HDF_DILUTION = 1 # HDF dilution (enum) + TREATMENT_PARAM_BLOOD_FLOW = 2 # Blood flow rate (in mL/min) + TREATMENT_PARAM_DIALYSATE_FLOW = 3 # Dialysate flow rate (in mL/min) + TREATMENT_PARAM_TREATMENT_DURATION = 4 # Treatment duration (in minutes) + TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION = 5 # Heparin delivery duration (in minutes) + TREATMENT_PARAM_HEPARIN_TYPE = 6 # Heparin type (enum) + TREATMENT_PARAM_DRY_BICARB_CART_SIZE = 7 # Dry bicarb cartrideg size (enum) + TREATMENT_PARAM_SODIUM = 8 # Sodium concentrate (mEq/L) + TREATMENT_PARAM_BICARB_CONCENTRATE = 9 # Bicarbonate concentrate (mEq/L) + TREATMENT_PARAM_DIALYZER_TYPE = 10 # Dialysate type (enum) + TREATMENT_PARAM_FLUID_BOLUS_VOLUME = 11 # Fluid bolus volume (in mL) + TREATMENT_PARAM_BP_MEAS_INTERVAL = 12 # Blood pressure measurement interval (in minutes) + TREATMENT_PARAM_PRIME_RINSEBACK_VOLUME = 13 # Prime rinseback volume (in mL) + TREATMENT_PARAM_HEPATITIS_B = 14 # Hepatitis B status (enum) + TREATMENT_PARAM_ACID_CONCENTRATE = 15 # Acid concentrate type (enum) + TREATMENT_PARAM_SUBST_FLUID_VOLUME = 16 # Substitution fluid volume (in liters) + TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME = 17 # Heparin bolus volume (in mL) + TREATMENT_PARAM_HEPARIN_DELIVERY_RATE = 18 # Heparin delivery rate (in mL/hr) + TREATMENT_PARAM_DIALYSATE_TEMPERATURE = 19 # Dialysate temperature (in degC) + TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR = 20 # Acid concentrate conversion factor + TREATMENT_PARAM_PRE_WEIGHT = 21 # Weight of patient prior to treatment + TREATMENT_PARAM_EST_TARGET_WEIGHT = 22 # Estimated target weight of patient post treatment + TREATMENT_PARAM_UF_VOLUME = 23 # Ultrafiltration volume (in liters) - provided separately by UI + NUM_OF_TREATMENT_PARAMS = 24 # Total number of treatment parameters TDTreatmentParameters._str_list = { # Official Name : Accepted strings + 'TREATMENT_PARAM_TREATMENT_MODALITY': ['treatment modality', 'treatment type'], + 'TREATMENT_PARAM_HDF_DILUTION': ['hdf dilution'], 'TREATMENT_PARAM_BLOOD_FLOW': ['blood flow', 'blood flow rate'], 'TREATMENT_PARAM_DIALYSATE_FLOW': ['sialysate flow', 'dialysate flow rate'], 'TREATMENT_PARAM_TREATMENT_DURATION': ['treatment duration'], - 'TREATMENT_PARAM_SALINE_BOLUS_VOLUME': ['saline bolus volume'], - 'TREATMENT_PARAM_HEPARIN_STOP_TIME': ['heparin stop time'], + 'TREATMENT_PARAM_HEPARIN_DELIVERY_DURATION': ['heparin delivery duration', 'heparin duration'], 'TREATMENT_PARAM_HEPARIN_TYPE': ['heparin', 'heparin type'], 'TREATMENT_PARAM_ACID_CONCENTRATE': ['acid', 'acid concentrate'], 'TREATMENT_PARAM_BICARB_CONCENTRATE': ['bicarb', 'bicarb concentrate'], 'TREATMENT_PARAM_DIALYZER_TYPE': ['dialyzer', 'dialyzer type'], + 'TREATMENT_PARAM_FLUID_BOLUS_VOLUME': ['fluid bolus volume', 'fluid bolus'], 'TREATMENT_PARAM_BP_MEAS_INTERVAL': ['blood pressure measure interval', 'bp measure interval'], - 'TREATMENT_PARAM_RINSEBACK_FLOW_RATE': ['rinseback flow rate'], - 'TREATMENT_PARAM_RINSEBACK_VOLUME': ['rinseback volume'], - 'TREATMENT_PARAM_ART_PRES_LIMIT_WINDOW': ['arterial pressure limit window'], - 'TREATMENT_PARAM_VEN_PRES_LIMIT_WINDOW': ['venous pressure limit window'], - 'TREATMENT_PARAM_VEN_PRES_LIMIT_ASYMMETRIC': ['venous asymmetric pressure limit'], - 'TREATMENT_PARAM_TMP_PRES_LIMIT_WINDOW': ['tmp pres limit window'], - 'TREATMENT_PARAM_DIALYSATE_TEMPERATURE': ['dialysate temperature'], - 'TREATMENT_PARAM_HEPARIN_DISPENSE_RATE': ['heparin dispense rate'], + 'TREATMENT_PARAM_PRIME_RINSEBACK_VOLUME': ['rinseback volume', 'prime rinseback volume'], + 'TREATMENT_PARAM_HEPATITIS_B': ['hepatitis', 'hepatitis b'], + 'TREATMENT_PARAM_SUBST_FLUID_VOLUME': ['subst fluid volume', 'substitute fluid volume'], 'TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME': ['heparin volume'], + 'TREATMENT_PARAM_HEPARIN_DELIVERY_RATE': ['heparin delivery rate'], + 'TREATMENT_PARAM_DIALYSATE_TEMPERATURE': ['dialysate temperature'], + 'TREATMENT_PARAM_ACID_CONCENTRATE_CONV_FACTOR': ['acid concentrate conv factor', 'acid concentrate conversion factor'], + 'TREATMENT_PARAM_PRE_WEIGHT': ['pre weight'], + 'TREATMENT_PARAM_EST_TARGET_WEIGHT': ['est target weight', 'target weight', 'estimated target weight'], 'TREATMENT_PARAM_UF_VOLUME': ['uf volume', 'ultrafiltration volume'], 'NUM_OF_TREATMENT_PARAMS': [], } + + +@unique +class TDTreatmentModalityTypes(DialinEnum): + HD = 0 # Treatment modality Hemodialysis + HDF = 1 # Treatment modality Hemodiafiltration + NUM_OF_TREATMENT_MODALITY_TYPES = 2 # Total number of treatment modality types + +TDTreatmentModalityTypes._str_list = { + # Official Name : Accepted strings + 'HD': ['treatment modality hd', 'hemodialysis'], + 'HDF': ['treatment modality hdf', 'hemodiafiltration'], + 'NUM_OF_TREATMENT_MODALITY_TYPES': [], +} + + +@unique +class TDTreatmentHDFDilution(DialinEnum): + HDF_NOT_APPLICABLE = 0 # Treatment HDF not applicable + HDF_PRE_DILUTION = 1 # Treatment HDF pre-dilution + HDF_POST_DILUTION = 1 # Treatment HDF psot-dilution + NUM_OF_TREATMENT_HDF_TYPES = 2 # Total number of HDF treatment dilution types + +TDTreatmentHDFDilution._str_list = { + # Official Name : Accepted strings + 'HDF_NOT_APPLICABLE': ['n/a', 'not applicable'], + 'HDF_PRE_DILUTION': ['pre dilution'], + 'HDF_POST_DILUTION': ['post dilution'], + 'NUM_OF_TREATMENT_HDF_TYPES': [], +} + + +@unique +class TDTreatmentHepatitisB(DialinEnum): + HEPATITIS_B_NOT_APPLICABLE = 0 # Hepatitis B status not applicable + HEPATITIS_B_UNKNOWN = 1 # Hepatitis B status unknowm + HEPATITIS_B_POSITIVE = 1 # Hepatitis B status positive + HEPATITIS_B_NEGATIVE = 1 # Hepatitis B status negative + NUM_OF_HEPATITIS_B_STATUS = 2 # Total number of Hepatitis status types + +TDTreatmentHepatitisB._str_list = { + # Official Name : Accepted strings + 'HEPATITIS_B_NOT_APPLICABLE': ['n/a', 'not applicable'], + 'HEPATITIS_B_UNKNOWN': ['unknown'], + 'HEPATITIS_B_POSITIVE': ['positive'], + 'HEPATITIS_B_NEGATIVE': ['negative'], + 'NUM_OF_HEPATITIS_B_STATUS': [], +} Index: leahi_dialin/common/td_defs_proxy.py =================================================================== diff -u -r6d104d3185ac3ed7c18c97ecdc13fd59bf53a8d1 -r636775bd0ba262967bcf06e194658b97720e2517 --- leahi_dialin/common/td_defs_proxy.py (.../td_defs_proxy.py) (revision 6d104d3185ac3ed7c18c97ecdc13fd59bf53a8d1) +++ leahi_dialin/common/td_defs_proxy.py (.../td_defs_proxy.py) (revision 636775bd0ba262967bcf06e194658b97720e2517) @@ -92,5 +92,7 @@ # Support TDTreatmentParameters = td_defs.TDTreatmentParameters + TDTreatmentModalityTypes = td_defs.TDTreatmentModalityTypes + TDTreatmentHDFDilution = td_defs.TDTreatmentHDFDilution td_enum_repository = TD_Defs() Index: leahi_dialin/td/proxies/ui_proxy.py =================================================================== diff -u -r34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943 -r636775bd0ba262967bcf06e194658b97720e2517 --- leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 34b64ff2d8a64f4b7b60b80bb7cf4c36845e5943) +++ leahi_dialin/td/proxies/ui_proxy.py (.../ui_proxy.py) (revision 636775bd0ba262967bcf06e194658b97720e2517) @@ -18,7 +18,9 @@ from logging import Logger # Project imports +from leahi_dialin.common import td_enum_repository from leahi_dialin.common.constants import ACCEPTED +from leahi_dialin.common.disp_defs_proxy import disp_enum_repository from leahi_dialin.common.generic_defs import DataTypes from leahi_dialin.common.msg_defs import MsgIds, RequestRejectReasons from leahi_dialin.common.override_templates import cmd_generic_override @@ -63,22 +65,29 @@ function = self._handler_uf_pause_resp_sync) # MSG_ID_TD_RESP_TREATMENT_PARAMS_TO_VALIDATE - self.tx_params_acceptance = 0 - self.tx_params_blood_flow_rr = 0 - self.tx_params_dialysate_flow_rr = 0 - self.tx_params_tx_duration_rr = 0 - self.tx_params_saline_bolus_vol_rr = 0 - self.tx_params_acid_rr = 0 - self.tx_params_bicarb_rr = 0 - self.tx_params_dialyzer_type_rr = 0 - self.tx_params_bp_meas_interval_rr = 0 - self.tx_params_rinseback_flow_rate_rr = 0 - self.tx_params_art_pres_limit_window_rr = 0 - self.tx_params_ven_pres_limit_window_rr = 0 - self.tx_params_ven_pres_limit_asymmetric_rr = 0 - self.tx_params_tmp_pres_limit_window_rr = 0 - self.tx_params_dialysate_temperature_rr = 0 - self.tx_params_uf_volume_rr = 0 + self.tx_params_treatment_modality = td_enum_repository.TDTreatmentModalityTypes.HD.value + self.tx_params_hdf_dilution = td_enum_repository.TDTreatmentHDFDilution.HDF_NOT_APPLICABLE.value + self.tx_params_blood_flow_rate = 0 + self.tx_params_dialysate_flow_rate = 0 + self.tx_params_tx_duration = 0 + self.tx_params_heparin_duration = 0 + self.tx_params_heparin_type = disp_enum_repository.HeparinTypes.HEPARIN_TYPE_FRESENIUS_CENTRISOL.value + self.tx_params_dry_bicarb_cart_size = 0 + self.tx_params_sodium = 0 + self.tx_params_bicarb_concentrate = disp_enum_repository.BicarbTypes.BICARB_08_677753_0.value + self.tx_params_dialyzer_type = disp_enum_repository.DialyzerTypes.DIALYZER_TYPE_BBRAUN_PRO_13H.value + self.tx_params_fluid_bolus_volume = 0 + self.tx_params_bp_interval = 0 + self.tx_params_rinseback_volume = 0 + self.tx_params_hepatitis_b_status = td_enum_repository.TDTreaHeparinStates.HEPARIN_STATE_OFF.value + self.tx_params_acid_concentrate = disp_enum_repository.AcidTypes.ACID_08_1251_1.value + self.tx_params_subst_fluid_volume = 0.0 + self.tx_params_heparin_bolus_volume = 0.0 + self.tx_params_heparin_delivery_rate = 0.0 + self.tx_params_dialysate_temperature = 0.0 + self.tx_params_uf_pre_weight = 0.0 + self.tx_params_uf_est_target_weight = 0.0 + self.tx_params_uf_volume = 0.0 self.tx_params_validate_timestamp = 0 # MSG_ID_TD_RESP_ULTRAFILTRATION_VOLUME_TO_VALIDATE @@ -108,22 +117,29 @@ :return: none """ msg_list = [] - msg_list.append(('self.tx_params_acceptance', DataTypes.U32)) - msg_list.append(('self.tx_params_blood_flow_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_dialysate_flow_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_tx_duration_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_saline_bolus_vol_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_acid_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_bicarb_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_dialyzer_type_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_bp_meas_interval_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_rinseback_flow_rate_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_art_pres_limit_window_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_ven_pres_limit_window_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_ven_pres_limit_asymmetric_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_tmp_pres_limit_window_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_dialysate_temperature_rr', DataTypes.U32)) - msg_list.append(('self.tx_params_uf_volume_rr', DataTypes.U32)) + msg_list.append(('self.tx_params_treatment_modality', DataTypes.U32)) + msg_list.append(('self.tx_params_hdf_dilution', DataTypes.U32)) + msg_list.append(('self.tx_params_blood_flow_rate', DataTypes.U32)) + msg_list.append(('self.tx_params_dialysate_flow_rate', DataTypes.U32)) + msg_list.append(('self.tx_params_tx_duration', DataTypes.U32)) + msg_list.append(('self.tx_params_heparin_duration', DataTypes.U32)) + msg_list.append(('self.tx_params_heparin_type', DataTypes.U32)) + msg_list.append(('self.tx_params_dry_bicarb_cart_size', DataTypes.U32)) + msg_list.append(('self.tx_params_sodium', DataTypes.U32)) + msg_list.append(('self.tx_params_bicarb_concentrate', DataTypes.U32)) + msg_list.append(('self.tx_params_dialyzer_type', DataTypes.U32)) + msg_list.append(('self.tx_params_fluid_bolus_volume', DataTypes.U32)) + msg_list.append(('self.tx_params_bp_interval', DataTypes.U32)) + msg_list.append(('self.tx_params_rinseback_volume', DataTypes.U32)) + msg_list.append(('self.tx_params_hepatitis_b_status', DataTypes.U32)) + msg_list.append(('self.tx_params_acid_concentrate', DataTypes.U32)) + msg_list.append(('self.tx_params_subst_fluid_volume', DataTypes.F32)) + msg_list.append(('self.tx_params_heparin_bolus_volume', DataTypes.F32)) + msg_list.append(('self.tx_params_heparin_delivery_rate', DataTypes.F32)) + msg_list.append(('self.tx_params_dialysate_temperature', DataTypes.F32)) + msg_list.append(('self.tx_params_uf_pre_weight', DataTypes.F32)) + msg_list.append(('self.tx_params_uf_est_target_weight', DataTypes.F32)) + msg_list.append(('self.tx_params_uf_volume', DataTypes.F32)) self.process_into_vars(decoder_list = msg_list, message = message) @@ -185,72 +201,86 @@ self.uf_pause_resume_timestamp = timestamp - def cmd_send_ui_treatment_param_data(self, blood_flow_rate: int, + def cmd_send_ui_treatment_param_data(self, + final_confirmation: int, + treatment_modality: int, + hdf_dilution: int, + blood_flow_rate: int, dialysate_flow_rate: int, treatment_duration: int, - saline_bolus_volume: int, - heparin_stop_time: int, + heparin_duration: int, heparin_type: int, - acid_concentrate: int, + dry_bicarb_cart_size: int, + sodium: int, bicarb_concentrate: int, dialyzer_type: int, + fluid_bolus_volume: int, bp_interval: int, - rinseback_flow_rate: int, rinseback_volume: int, - arterial_pressure_limit: int, - venous_pressure_limit: int, - venous_pressure_asymmetric: int, - tmp_pressure_limit: int, + hepatitis_b_status: int, + acid_concentrate: int, + subst_fluid_volume: float, + heparin_bolus_volume: float, + heparin_delivery_rate: float, dialysate_temp: float, - heparin_dispense_rate: float, - heparin_bolus_volume: float ) -> None: + uf_pre_weight: float, + uf_est_target_weight: float, + uf_volume: float) -> None: """ Constructs and sends a UI set treatment parameters message. - + :param final_confirmation: (int) 0 - if only validating parameters, 1 - if validating and moving the state forward + :param treatment_modality: (int) type of treatment: 0-HD, 1-HDF + :param hdf_dilution: (int) HDF dilution option (TDTreatmentHDFDilution) :param blood_flow_rate: (int) blood flow rate (in mL/min) :param dialysate_flow_rate: (int) dialysate flow rate (in mL/min) :param treatment_duration: (int) treatment duration (in min) - :param saline_bolus_volume: (int) saline bolus volume (in mL) - :param heparin_stop_time: (int) heparin stop time (in minutes) - :param heparin_type: (int) heparin Type - :param acid_concentrate: (int) acid concentrate type - :param bicarb_concentrate: (int) bicarbonate concentrate type - :param dialyzer_type: (int) dialyzer type + :param heparin_duration: (int) heparin delivery duration (in min) + :param heparin_type: (int) heparin Type (HeparinTypes) + :param dry_bicarb_cart_size: (int) dry bicarb cart size option + :param sodium: (int) sodium (in mEq/L) + :param bicarb_concentrate: (int) bicarbonate concentrate type (BicarbTypes) + :param dialyzer_type: (int) dialyzer type (DialyzerTypes) + :param fluid_bolus_volume: (int) fluid bolus volume (in mL) :param bp_interval: (int) blood pressure measurement interval (in min) - :param rinseback_flow_rate: (int) rinse back flow rate (in mL/min) :param rinseback_volume: (int) rinse back volume (in mL) - :param arterial_pressure_limit: (int) arterial pressure alarm limit window (in mmHg) - :param venous_pressure_limit: (int) venous pressure alarm limit window (in mmHg) - :param venous_pressure_asymmetric: (int) venous pressure alarm limit asymmetric (in mmHg) - :param tmp_pressure_limit: (int) transmembrane pressure alarm limit window (in mmHg) - :param dialysate_temp: (float) dialysate temperature (in deg C) - :param heparin_dispense_rate: (float) heparin dispense rate (in mL/hr) + :param hepatitis_b_status: (int) Hepatitis B status option (TDTreatmentHepatitisB) + :param acid_concentrate: (int) acid concentrate type (AcidTypes) + :param subst_fluid_volume: (float) substitution fluid volume (in L) :param heparin_bolus_volume: (float) heparin bolus volume (in mL) - + :param heparin_delivery_rate: (float) heparin delivery rate (in mL/hr) + :param dialysate_temp: (float) dialysate temperature (in deg C) + :param uf_pre_weight: (float) patient pre weight prior to treatment (in Kilogram) + :param uf_est_target_weight: (float) patient estimated target weight after the treatment (in Kilogram) + :param uf_volume: (float) ultrafiltration volume (in L) :return: None """ - bld = integer_to_bytearray(blood_flow_rate) - dia = integer_to_bytearray(dialysate_flow_rate) - dur = integer_to_bytearray(treatment_duration) - sal = integer_to_bytearray(saline_bolus_volume) - hst = integer_to_bytearray(heparin_stop_time) - het = integer_to_bytearray(heparin_type) - acc = integer_to_bytearray(acid_concentrate) - bic = integer_to_bytearray(bicarb_concentrate) - dzr = integer_to_bytearray(dialyzer_type) - bpi = integer_to_bytearray(bp_interval) - rbf = integer_to_bytearray(rinseback_flow_rate) - rbv = integer_to_bytearray(rinseback_volume) - apw = integer_to_bytearray(arterial_pressure_limit) - vpw = integer_to_bytearray(venous_pressure_limit) - vpa = integer_to_bytearray(venous_pressure_asymmetric) - tmp = integer_to_bytearray(tmp_pressure_limit) - dtp = float_to_bytearray(dialysate_temp) - hdr = float_to_bytearray(heparin_dispense_rate) - hbv = float_to_bytearray(heparin_bolus_volume) - payload = bld + dia + dur + sal + hst + het + acc + bic + dzr + bpi + rbf + rbv + apw + vpw + vpa + tmp + dtp + hdr + hbv + payload = integer_to_bytearray(final_confirmation) + payload += integer_to_bytearray(treatment_modality) + payload += integer_to_bytearray(hdf_dilution) + payload += integer_to_bytearray(blood_flow_rate) + payload += integer_to_bytearray(dialysate_flow_rate) + payload += integer_to_bytearray(treatment_duration) + payload += integer_to_bytearray(heparin_duration) + payload += integer_to_bytearray(heparin_type) + payload += integer_to_bytearray(dry_bicarb_cart_size) + payload += integer_to_bytearray(sodium) + payload += integer_to_bytearray(bicarb_concentrate) + payload += integer_to_bytearray(dialyzer_type) + payload += integer_to_bytearray(fluid_bolus_volume) + payload += integer_to_bytearray(bp_interval) + payload += integer_to_bytearray(rinseback_volume) + payload += integer_to_bytearray(hepatitis_b_status) + payload += integer_to_bytearray(acid_concentrate) + payload += float_to_bytearray(subst_fluid_volume) + payload += float_to_bytearray(heparin_bolus_volume) + payload += float_to_bytearray(heparin_delivery_rate) + payload += float_to_bytearray(dialysate_temp) + payload += float_to_bytearray(uf_pre_weight) + payload += float_to_bytearray(uf_est_target_weight) + payload += float_to_bytearray(uf_volume) + cmd_generic_override(payload = payload, reset = None, channel_id = DenaliChannels.ui_to_td_ch_id,