Index: dialin/hd/alarms.py =================================================================== diff -u -r2c3670be196a05ad6c34d798af26bdb798e607d4 -r03accf30f5d426c206bf97f0aba941609af29d7e --- dialin/hd/alarms.py (.../alarms.py) (revision 2c3670be196a05ad6c34d798af26bdb798e607d4) +++ dialin/hd/alarms.py (.../alarms.py) (revision 03accf30f5d426c206bf97f0aba941609af29d7e) @@ -56,9 +56,6 @@ START_POS_ALARMS_FLAGS = END_POS_ALARM_SILENCE_EXPIRES_IN END_POS_ALARMS_FLAGS = START_POS_ALARMS_FLAGS + 2 - START_POS_ALARM_ID = DenaliMessage.PAYLOAD_START_INDEX - END_POS_ALARM_ID = START_POS_ALARM_ID + 2 - def __init__(self, can_interface, logger: Logger): """ @param can_interface: Denali Can Messenger object @@ -99,6 +96,12 @@ self.alarm_states = [False] * 500 # alarm condition states based on received HD alarm activation and clear condition messages self.alarm_conditions = [False] * 500 + # alarm priorities based on received HD alarm activation messages + self.alarm_priorities = [0] * 500 + # alarm ranks based on received HD alarm activation messages + self.alarm_ranks = [0] * 500 + # alarm clear top only flags based on received HD alarm activation messages + self.alarm_clear_top_only_flags = [False] * 500 # alarm information self.alarm_volume = 0 @@ -139,6 +142,34 @@ """ return self.alarm_states[alarm_id] + def get_alarm_priority(self, alarm_id): + """ + Gets alarm priority for given alarm. + 0=None + 1=Low + 2=Medium + 3=High + + @return: Alarm priority + """ + return self.alarm_priorities[alarm_id] + + def get_alarm_rank(self, alarm_id): + """ + Gets alarm rank for given alarm. + + @return: Alarm rank + """ + return self.alarm_ranks[alarm_id] + + def get_alarm_clear_top_only(self, alarm_id): + """ + Gets alarm "clear top only" property for given alarm. + + @return: T/F + """ + return self.alarm_clear_top_only_flags[alarm_id] + def get_alarms_top(self): """ Gets the top alarm @@ -347,9 +378,20 @@ """ self.logger.debug("Alarm activated!") - alarm_id = struct.unpack(' int: + """ + Constructs and sends the re-send all active alarms command. + This will allow Dialin to get caught up with HD alarms that were triggered prior to connection. + Constraints: + Must be logged into HD. + + @return: 1 if successful, zero otherwise + """ + + message = DenaliMessage.build_message(channel_id=DenaliChannels.dialin_to_hd_ch_id, + message_id=MsgIds.MSG_ID_HD_SEND_ALARMS_COMMAND.value) + + # Send message + received_message = self.can_interface.send(message) + + # If there is content... + if received_message is not None: + self.logger.debug("Command to re-send all active HD alarms acknowledged.") + # response payload is OK or not OK + return 1 == received_message['message'][DenaliMessage.PAYLOAD_START_INDEX] + return False + def cmd_alarm_state_override(self, alarm: int, state: int, reset: int = NO_RESET) -> int: """ Constructs and sends the alarm state override command Index: dialin/hd/ui_proxy.py =================================================================== diff -u -r975c47d79f8465d8e5cc46db5d7f7e8f83b4668d -r03accf30f5d426c206bf97f0aba941609af29d7e --- dialin/hd/ui_proxy.py (.../ui_proxy.py) (revision 975c47d79f8465d8e5cc46db5d7f7e8f83b4668d) +++ dialin/hd/ui_proxy.py (.../ui_proxy.py) (revision 03accf30f5d426c206bf97f0aba941609af29d7e) @@ -7,20 +7,21 @@ # # @file ui_proxy.py # -# @author (last) Behrouz NematiPour -# @date (last) 17-Mar-2022 +# @author (last) Micahel Garthwaite +# @date (last) 19-May-2022 # @author (original) Sean # @date (original) 15-Apr-2020 # ############################################################################ -import enum import struct from collections import OrderedDict from logging import Logger +from enum import unique from ..common.msg_defs import MsgIds, RequestRejectReasons, MsgFieldPositions +from ..common.hd_defs import TreatmentParameters from ..protocols.CAN import DenaliMessage, DenaliChannels -from ..utils.base import AbstractSubSystem, publish +from ..utils.base import AbstractSubSystem, publish, DialinEnum from ..utils.conversions import integer_to_bytearray, float_to_bytearray, unsigned_byte_to_bytearray, short_to_bytearray @@ -65,47 +66,18 @@ START_POS_FPGA_LAB = END_POS_FPGA_MINOR END_POS_FPGA_LAB = START_POS_FPGA_LAB + 1 - class TreatmentParameters(enum.Enum): + @unique + class AlarmUserOptions(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_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG = 11 - TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG = 12 - TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG = 13 - TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG = 14 - TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR = 15 - TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML = 16 - TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C = 17 - TREATMENT_PARAM_UF_VOLUME_L = 18 - NUM_OF_TREATMENT_PARAMS = 19 - - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ - - class AlarmUserOptions(enum.Enum): - ALARM_USER_ACTION_RESUME = 0 ALARM_USER_ACTION_RINSEBACK = 1 ALARM_USER_ACTION_END_TREATMENT = 2 ALARM_USER_ACTION_ACK = 3 NUMBER_OF_ALARM_USER_ACTIONS = 4 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ + @unique + class RinsebackUserActions(DialinEnum): - class RinsebackUserActions(enum.Enum): - REQUESTED_USER_ACTION_RINSEBACK_CONFIRM_START = 0 REQUESTED_USER_ACTION_RINSEBACK_INCREASE_RATE = 1 REQUESTED_USER_ACTION_RINSEBACK_DECREASE_RATE = 2 @@ -118,30 +90,20 @@ REQUESTED_USER_ACTION_RINSEBACK_BACK_TO_TREATMENT = 9 NUM_OF_REQUESTED_RINSEBACK_USER_ACTIONS = 10 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ + @unique + class RecircUserActions(DialinEnum): - class RecircUserActions(enum.Enum): - REQUESTED_USER_ACTION_TX_RECIRC_RECONNECT = 0 REQUESTED_USER_ACTION_TX_RECIRC_CONFIRM_RECONNECT = 1 REQUESTED_USER_ACTION_TX_RECIRC_RESUME_RC = 2 REQUESTED_USER_ACTION_TX_RECIRC_END_TREATMENT = 3 NUM_OF_REQUESTED_TX_RECIRC_USER_ACTIONS = 4 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ - - class TreatmentEndUserActions(enum.Enum): - + @unique + class TreatmentEndUserActions(DialinEnum): REQUESTED_USER_ACTION_TX_END_RINSEBACK_START = 0 NUM_OF_REQUESTED_TX_END_USER_ACTIONS = 1 - @classmethod - def has_value(cls, value): - return value in cls._value2member_map_ def __init__(self, can_interface, logger: Logger): """ @@ -200,10 +162,10 @@ self.fpga_version = None # initialize treatment parameters that are seen from UI or that Dialin user sets - self.treatment_parameters = [0.0] * self.TreatmentParameters.NUM_OF_TREATMENT_PARAMS.value + self.treatment_parameters = [0.0] * TreatmentParameters.NUM_OF_TREATMENT_PARAMS.value # initialize variables that will be populated by treatment parameters response message self.treatment_parameters_valid = False - self.treatment_parameters_reject_reasons = [0] * self.TreatmentParameters.NUM_OF_TREATMENT_PARAMS.value + self.treatment_parameters_reject_reasons = [0] * TreatmentParameters.NUM_OF_TREATMENT_PARAMS.value # initialize variables that will be populated by treatment parameter ranges message self.min_treatment_duration_min = 0 self.max_treatment_duration_min = 0 @@ -588,24 +550,24 @@ tmp = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_18:MsgFieldPositions.END_POS_FIELD_18])) - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = dur[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = sto[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acd[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bic[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dlz[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = hpr[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bpi[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rbf[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = apl[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = aph[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = vpl[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = vph[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hdr[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hbv[0] - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = tmp[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = dur[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = sto[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acd[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bic[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dlz[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = hpr[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bpi[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rbf[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = apl[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = aph[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = vpl[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = vph[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hdr[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hbv[0] + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = tmp[0] @publish([ "treatment_parameters" @@ -621,7 +583,7 @@ """ tmp = struct.unpack('f', bytearray( message['message'][MsgFieldPositions.START_POS_FIELD_1:MsgFieldPositions.END_POS_FIELD_1])) - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_UF_VOLUME_L.value] = tmp[0] / 1000.0 + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_UF_VOLUME_L.value] = tmp[0] / 1000.0 @publish([ "treatment_parameters_valid", @@ -697,24 +659,24 @@ self.treatment_parameters_valid = True else: self.treatment_parameters_valid = False - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = dur[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = sto[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acd[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bic[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dlz[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = hpr[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bpi[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rbf[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = aph[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = apl[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = vph[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = vpl[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hdr[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hbv[0] - self.treatment_parameters_reject_reasons[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = tmp[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = dur[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = sto[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acd[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bic[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dlz[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = hpr[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bpi[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rbf[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = aph[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = apl[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = vph[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = vpl[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hdr[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hbv[0] + self.treatment_parameters_reject_reasons[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = tmp[0] @publish([ "min_treatment_duration_min", @@ -1241,16 +1203,16 @@ @return: None """ - if self.TreatmentParameters.has_value(param_idx): - self.treatment_parameters[self.TreatmentParameters(param_idx)] = value + if TreatmentParameters.has_value(param_idx): + self.treatment_parameters[param_idx] = value idx = integer_to_bytearray(param_idx) - if param_idx == self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value: + if param_idx == TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value: val = float_to_bytearray(value) - elif param_idx == self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value: + elif param_idx == TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value: val = float_to_bytearray(value) - elif param_idx == self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value: + elif param_idx == TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value: val = float_to_bytearray(value) - elif param_idx == self.TreatmentParameters.TREATMENT_PARAM_UF_VOLUME_L.value: + elif param_idx == TreatmentParameters.TREATMENT_PARAM_UF_VOLUME_L.value: val = float_to_bytearray(value) else: val = integer_to_bytearray(value) @@ -1273,7 +1235,7 @@ acid: int = 0, bicarb: int = 0, dialyzer: int = 0, - heparin: int = 0, + hep_type: int = 0, dia_temp: float = 37.0, art_low: int = -300, art_high: int = 0, @@ -1296,7 +1258,7 @@ @param acid: (int) acid concentrate type @param bicarb: (int) bicarbonate concentrate type @param dialyzer: (int) dialyzer type - @param heparin: (int) heparin type + @param hep_type: (int) heparin type @param dia_temp: (float) dialysate temperature (in deg C) @param art_low: (int) arterial pressure low alarm limit (in mmHg) @param art_high: (int) arterial pressure high alarm limit (in mmHg) @@ -1307,24 +1269,24 @@ @return: None """ - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld_flow - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia_flow - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = duration - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = hep_stop - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal_bol - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acid - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bicarb - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dialyzer - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = heparin - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bp_intvl - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rb_flow - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = art_low - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = art_high - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = ven_low - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = ven_high - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hep_rate - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hep_bol - self.treatment_parameters[self.TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = dia_temp + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BLOOD_FLOW_RATE_ML_MIN.value] = bld_flow + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_FLOW_RATE_ML_MIN.value] = dia_flow + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_TREATMENT_DURATION_MIN.value] = duration + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_PRESTOP_MIN.value] = hep_stop + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_SALINE_BOLUS_VOLUME_ML.value] = sal_bol + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ACID_CONCENTRATE.value] = acid + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BICARB_CONCENTRATE.value] = bicarb + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYZER_TYPE.value] = dialyzer + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_TYPE.value] = hep_type + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_BLOOD_PRESSURE_MEAS_INTERVAL_MIN.value] = bp_intvl + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_RINSEBACK_FLOW_RATE_ML_MIN.value] = rb_flow + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_LOW_LIMIT_MMHG.value] = art_low + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_ARTERIAL_PRESSURE_HIGH_LIMIT_MMHG.value] = art_high + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_LOW_LIMIT_MMHG.value] = ven_low + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_VENOUS_PRESSURE_HIGH_LIMIT_MMHG.value] = ven_high + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_DISPENSE_RATE_ML_HR.value] = hep_rate + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_HEPARIN_BOLUS_VOLUME_ML.value] = hep_bol + self.treatment_parameters[TreatmentParameters.TREATMENT_PARAM_DIALYSATE_TEMPERATURE_C.value] = dia_temp bld = integer_to_bytearray(bld_flow) dia = integer_to_bytearray(dia_flow) @@ -1334,7 +1296,7 @@ acc = integer_to_bytearray(acid) bic = integer_to_bytearray(bicarb) dzr = integer_to_bytearray(dialyzer) - hpr = integer_to_bytearray(heparin) + hpr = integer_to_bytearray(hep_type) bpi = integer_to_bytearray(bp_intvl) rbf = integer_to_bytearray(rb_flow) apl = integer_to_bytearray(art_low)