""" The Insitutional Record ui loader """ # Python import os import can import struct # Qt from PySide2 import QtCore, QtWidgets from PySide2.QtCore import Slot # parent from engine.dynamicloader import DynamicLoader # plugin specific from leahi_dialin.common.msg_defs import MsgIds, MsgFieldPositions from leahi_dialin.protocols import CAN from leahi_dialin.utils import conversions # hd Simulator from leahi_dialin.ui.td_messaging import TD_Messaging class Loader(DynamicLoader): """ The Institutional ui loader """ def __init__(self): self.td_interface = TD_Messaging() self.can_interface = self.td_interface.can_interface super().__init__(os.path.dirname(__file__)) self.index = 0 if self.can_interface is not None: channel_id = CAN.DenaliChannels.ui_to_td_ch_id request_message_id = MsgIds.MSG_ID_TD_INSTITUTIONAL_RECORD_REQUEST.value adjust_request_message_id = MsgIds.MSG_ID_TD_ADJUST_INSTITUTIONAL_RECORD_REQUEST.value self.can_interface.register_receiving_publication_function(channel_id, request_message_id, self.handle_request) self.can_interface.register_receiving_publication_function(channel_id, adjust_request_message_id, self.handle_adjust_request) def _init_loader(self): """ finds and creates widgets :return: none """ self.tbSend = self.find_widget(QtWidgets.QToolButton , 'tbSend' ) self.sbReason = self.find_widget(QtWidgets.QSpinBox , 'ReasonSpinBox' ) self.sbBloodFlowMin = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowMin' ) self.sbBloodFlowMax = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowMax' ) self.sbBloodFlowDef = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowDef' ) self.sbDialysateFlowMin = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowMin' ) self.sbDialysateFlowMax = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowMax' ) self.sbDialysateFlowDef = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowDef' ) self.sbTreatmentDurationMin = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationMin' ) self.sbTreatmentDurationMax = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationMax' ) self.sbTreatmentDurationDef = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationDef' ) self.sbHepBolusVolumeMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepBolusVolumeMin' ) self.sbHepBolusVolumeMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepBolusVolumeMax' ) self.sbHepBolusVolumeDef = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepBolusVolumeDef' ) self.sbHepDispRateMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepDispRateMin' ) self.sbHepDispRateMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepDispRateMax' ) self.sbHepDispRateDef = self.find_widget(QtWidgets.QDoubleSpinBox , 'hepDispRateDef' ) self.sbHepStopTimeMin = self.find_widget(QtWidgets.QSpinBox , 'hepStopTimeMin' ) self.sbHepStopTimeMax = self.find_widget(QtWidgets.QSpinBox , 'hepStopTimeMax' ) self.sbDialysateTempMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'dialysateTempMin' ) self.sbDialysateTempMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'dialysateTempMax' ) self.sbDialysateTempDef = self.find_widget(QtWidgets.QDoubleSpinBox , 'dialysateTempDef' ) self.sbPotassiumMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'potassiumMin' ) self.sbPotassiumMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'potassiumMax' ) self.sbCalciumMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'calciumMin' ) self.sbCalciumMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'calciumMax' ) self.sbDialysateBicarbMin = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbMin' ) self.sbDialysateBicarbMax = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbMax' ) self.sbDialysateBicarbDef = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbDef' ) self.sbSodiumBicarbMin = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbMin' ) self.sbSodiumBicarbMax = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbMax' ) self.sbSodiumBicarbDef = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbDef' ) self.sbFluidBolusVolumeMin = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeMin' ) self.sbFluidBolusVolumeMax = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeMax' ) self.sbFluidBolusVolumeDef = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeDef' ) self.sbArterialPressureMin = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureMin' ) self.sbArterialPressureMax = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureMax' ) self.sbArterialPressureDef = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureDef' ) self.sbVenousPressureMin = self.find_widget(QtWidgets.QSpinBox , 'venousPressureMin' ) self.sbVenousPressureMax = self.find_widget(QtWidgets.QSpinBox , 'venousPressureMax' ) self.sbVenousPressureDef = self.find_widget(QtWidgets.QSpinBox , 'venousPressureDef' ) self.sbVenousAsymmetricMin = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricMin' ) self.sbVenousAsymmetricMax = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricMax' ) self.sbVenousAsymmetricDef = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricDef' ) self.sbTmpPressureMin = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureMin' ) self.sbTmpPressureMax = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureMax' ) self.sbTmpPressureDef = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureDef' ) self.sbUfVolumeMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'ufVolumeMin' ) self.sbUfVolumeMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'ufVolumeMax' ) self.sbUfVolumeDef = self.find_widget(QtWidgets.QDoubleSpinBox , 'ufVolumeDef' ) self.cbVitalsInterval = self.find_widget(QtWidgets.QComboBox , 'vitalsIntervalDef' ) self.sbRincebackVolumeMin = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeMin' ) self.sbRincebackVolumeMax = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeMax' ) self.sbRincebackVolumeDef = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeDef' ) self.sbRincebackFlowRateMin = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateMin' ) self.sbRincebackFlowRateMax = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateMax' ) self.sbRincebackFlowRateDef = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateDef' ) self.sbSubVolumeMin = self.find_widget(QtWidgets.QDoubleSpinBox , 'subVolumeMin' ) self.sbSubVolumeMax = self.find_widget(QtWidgets.QDoubleSpinBox , 'subVolumeMax' ) self.sbSubVolumeDef = self.find_widget(QtWidgets.QDoubleSpinBox , 'subVolumeDef' ) self.sbBloodFlowMinReason = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowMinReason' ) self.sbBloodFlowMaxReason = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowMaxReason' ) self.sbBloodFlowDefReason = self.find_widget(QtWidgets.QSpinBox , 'bloodFlowDefReason' ) self.sbDialysateFlowMinReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowMinReason' ) self.sbDialysateFlowMaxReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowMaxReason' ) self.sbDialysateFlowDefReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateFlowDefReason' ) self.sbTreatmentDurationMinReason = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationMinReason' ) self.sbTreatmentDurationMaxReason = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationMaxReason' ) self.sbTreatmentDurationDefReason = self.find_widget(QtWidgets.QSpinBox , 'treatmentDurationDefReason' ) self.sbHepBolusVolumeMinReason = self.find_widget(QtWidgets.QSpinBox , 'hepBolusVolumeMinReason' ) self.sbHepBolusVolumeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'hepBolusVolumeMaxReason' ) self.sbHepBolusVolumeDefReason = self.find_widget(QtWidgets.QSpinBox , 'hepBolusVolumeDefReason' ) self.sbHepDispRateMinReason = self.find_widget(QtWidgets.QSpinBox , 'hepDispRateMinReason' ) self.sbHepDispRateMaxReason = self.find_widget(QtWidgets.QSpinBox , 'hepDispRateMaxReason' ) self.sbHepDispRateDefReason = self.find_widget(QtWidgets.QSpinBox , 'hepDispRateDefReason' ) self.sbHepStopTimeMinReason = self.find_widget(QtWidgets.QSpinBox , 'hepStopTimeMinReason' ) self.sbHepStopTimeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'hepStopTimeMaxReason' ) self.sbDialysateTempMinReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateTempMinReason' ) self.sbDialysateTempMaxReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateTempMaxReason' ) self.sbDialysateTempDefReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateTempDefReason' ) self.sbPotassiumMinReason = self.find_widget(QtWidgets.QSpinBox , 'potassiumMinReason' ) self.sbPotassiumMaxReason = self.find_widget(QtWidgets.QSpinBox , 'potassiumMaxReason' ) self.sbCalciumMinReason = self.find_widget(QtWidgets.QSpinBox , 'calciumMinReason' ) self.sbCalciumMaxReason = self.find_widget(QtWidgets.QSpinBox , 'calciumMaxReason' ) self.sbDialysateBicarbMinReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbMinReason' ) self.sbDialysateBicarbMaxReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbMaxReason' ) self.sbDialysateBicarbDefReason = self.find_widget(QtWidgets.QSpinBox , 'dialysateBicarbDefReason' ) self.sbSodiumBicarbMinReason = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbMinReason' ) self.sbSodiumBicarbMaxReason = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbMaxReason' ) self.sbSodiumBicarbDefReason = self.find_widget(QtWidgets.QSpinBox , 'sodiumBicarbDefReason' ) self.sbFluidBolusVolumeMinReason = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeMinReason' ) self.sbFluidBolusVolumeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeMaxReason' ) self.sbFluidBolusVolumeDefReason = self.find_widget(QtWidgets.QSpinBox , 'fluidBolusVolumeDefReason' ) self.sbArterialPressureMinReason = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureMinReason' ) self.sbArterialPressureMaxReason = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureMaxReason' ) self.sbArterialPressureDefReason = self.find_widget(QtWidgets.QSpinBox , 'arterialPressureDefReason' ) self.sbVenousPressureMinReason = self.find_widget(QtWidgets.QSpinBox , 'venousPressureMinReason' ) self.sbVenousPressureMaxReason = self.find_widget(QtWidgets.QSpinBox , 'venousPressureMaxReason' ) self.sbVenousPressureDefReason = self.find_widget(QtWidgets.QSpinBox , 'venousPressureDefReason' ) self.sbVenousAsymmetricMinReason = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricMinReason' ) self.sbVenousAsymmetricMaxReason = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricMaxReason' ) self.sbVenousAsymmetricDefReason = self.find_widget(QtWidgets.QSpinBox , 'venousAsymmetricDefReason' ) self.sbTmpPressureMinReason = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureMinReason' ) self.sbTmpPressureMaxReason = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureMaxReason' ) self.sbTmpPressureDefReason = self.find_widget(QtWidgets.QSpinBox , 'tmpPressureDefReason' ) self.sbUfVolumeMinReason = self.find_widget(QtWidgets.QSpinBox , 'ufVolumeMinReason' ) self.sbUfVolumeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'ufVolumeMaxReason' ) self.sbUfVolumeDefReason = self.find_widget(QtWidgets.QSpinBox , 'ufVolumeDefReason' ) self.cbVitalsIntervalReason = self.find_widget(QtWidgets.QSpinBox , 'vitalsIntervalDefReason' ) self.sbRincebackVolumeMinReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeMinReason' ) self.sbRincebackVolumeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeMaxReason' ) self.sbRincebackVolumeDefReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackVolumeDefReason' ) self.sbRincebackFlowRateMinReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateMinReason' ) self.sbRincebackFlowRateMaxReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateMaxReason' ) self.sbRincebackFlowRateDefReason = self.find_widget(QtWidgets.QSpinBox , 'rincebackFlowRateDefReason' ) self.sbSubVolumeMinReason = self.find_widget(QtWidgets.QSpinBox , 'subVolumeMinReason' ) self.sbSubVolumeMaxReason = self.find_widget(QtWidgets.QSpinBox , 'subVolumeMaxReason' ) self.sbSubVolumeDefReason = self.find_widget(QtWidgets.QSpinBox , 'subVolumeDefReason' ) def _init_connections(self): """ initializes the widgets connections :return: none """ self.tbSend .clicked .connect(self.do_send) def _init_widgets(self): """ initializes the widgets' properties :return: none """ self.sbReason .setValue(0) self.setup_spinbox(self.sbBloodFlowMin, 50, 50, 500, 10) self.setup_spinbox(self.sbBloodFlowMax, 500, 50, 500, 10) self.setup_spinbox(self.sbBloodFlowDef, 50, 50, 500, 10) self.setup_spinbox(self.sbDialysateFlowMin, 50, 50, 600, 25) self.setup_spinbox(self.sbDialysateFlowMax, 600, 50, 600, 25) self.setup_spinbox(self.sbDialysateFlowDef, 50, 50, 600, 25) self.setup_spinbox(self.sbTreatmentDurationMin, 60, 60, 480, 15) self.setup_spinbox(self.sbTreatmentDurationMax, 480, 60, 480, 15) self.setup_spinbox(self.sbTreatmentDurationDef, 60, 60, 480, 15) self.setup_spinbox(self.sbHepBolusVolumeMin, 0.2, 0.2, 2.0, 0.1) self.setup_spinbox(self.sbHepBolusVolumeMax, 1.0, 0.2, 2.0, 0.1) self.setup_spinbox(self.sbHepBolusVolumeDef, 0.0, 0.0, 2.0, 0.1) self.setup_spinbox(self.sbHepDispRateMin, 0.2, 0.2, 3.0, 0.1) self.setup_spinbox(self.sbHepDispRateMax, 3.0, 0.2, 3.0, 0.1) self.setup_spinbox(self.sbHepDispRateDef, 0.0, 0.0, 3.0, 0.1) self.setup_spinbox(self.sbHepStopTimeMin, 0, 0, 480, 15) self.setup_spinbox(self.sbHepStopTimeMax, 480, 0, 480, 15) self.setup_spinbox(self.sbDialysateTempMin, 35, 35, 38, 0.5 ) self.setup_spinbox(self.sbDialysateTempMax, 38, 35, 38, 0.5 ) self.setup_spinbox(self.sbDialysateTempDef, 37, 35, 38, 0.5 ) self.setup_spinbox(self.sbPotassiumMin, 0.0, 0.0, 4.0, 1.0) self.setup_spinbox(self.sbPotassiumMax, 4.0, 0.0, 4.0, 1.0) self.setup_spinbox(self.sbCalciumMin, 0.0, 0.0, 3.5, 0.25) self.setup_spinbox(self.sbCalciumMax, 3.5, 0.0, 3.5, 0.25) self.setup_spinbox(self.sbDialysateBicarbMin, 130, 130, 155, 1) self.setup_spinbox(self.sbDialysateBicarbMax, 155, 130, 155, 1) self.setup_spinbox(self.sbDialysateBicarbDef, 137, 130, 155, 1) self.setup_spinbox(self.sbSodiumBicarbMin, 20, 20, 40, 1) self.setup_spinbox(self.sbSodiumBicarbMax, 40, 20, 40, 1) self.setup_spinbox(self.sbSodiumBicarbDef, 33, 20, 40, 1) self.setup_spinbox(self.sbFluidBolusVolumeMin, 100, 100, 300, 100) self.setup_spinbox(self.sbFluidBolusVolumeMax, 300, 100, 300, 100) self.setup_spinbox(self.sbFluidBolusVolumeDef, 100, 100, 300, 100) self.setup_spinbox(self.sbArterialPressureMin, 120, 120, 200, 40) self.setup_spinbox(self.sbArterialPressureMax, 200, 120, 200, 40) self.setup_spinbox(self.sbArterialPressureDef, 120, 120, 200, 40) self.setup_spinbox(self.sbVenousPressureMin, 100, 100, 200, 20) self.setup_spinbox(self.sbVenousPressureMax, 200, 100, 200, 20) self.setup_spinbox(self.sbVenousPressureDef, 100, 100, 200, 20) self.setup_spinbox(self.sbVenousAsymmetricMin, 20, 20, 35, 5) self.setup_spinbox(self.sbVenousAsymmetricMax, 35, 20, 35, 5) self.setup_spinbox(self.sbVenousAsymmetricDef, 20, 20, 35, 5) self.setup_spinbox(self.sbTmpPressureMin, 40, 40, 100, 20) self.setup_spinbox(self.sbTmpPressureMax, 100, 40, 100, 20) self.setup_spinbox(self.sbTmpPressureDef, 40, 40, 100, 20) self.setup_spinbox(self.sbUfVolumeMin, 0.0, 0.0, 0.8, 0.1) self.setup_spinbox(self.sbUfVolumeMax, 0.8, 0.0, 0.8, 0.1) self.setup_spinbox(self.sbUfVolumeDef, 0.0, 0.0, 0.8, 0.1) intervalList = ["0", "5", "10", "15", "30", "60"] self.cbVitalsInterval.addItems(intervalList) self.setup_spinbox(self.sbRincebackVolumeMin, 200, 200, 400, 10) self.setup_spinbox(self.sbRincebackVolumeMax, 400, 200, 400, 10) self.setup_spinbox(self.sbRincebackVolumeDef, 300, 200, 400, 10) self.setup_spinbox(self.sbRincebackFlowRateMin, 100, 100, 500, 10) self.setup_spinbox(self.sbRincebackFlowRateMax, 500, 100, 500, 10) self.setup_spinbox(self.sbRincebackFlowRateDef, 200, 100, 500, 10) self.setup_spinbox(self.sbSubVolumeMin, 1.0, 1.0, 30.0, 0.1) self.setup_spinbox(self.sbSubVolumeMax, 30.0, 1.0, 30.0, 0.1) self.setup_spinbox(self.sbSubVolumeDef, 1.0, 1.0, 30.0, 0.1) self.sbBloodFlowMinReason .setValue(0) self.sbBloodFlowMaxReason .setValue(0) self.sbBloodFlowDefReason .setValue(0) self.sbDialysateFlowMinReason .setValue(0) self.sbDialysateFlowMaxReason .setValue(0) self.sbDialysateFlowDefReason .setValue(0) self.sbTreatmentDurationMinReason .setValue(0) self.sbTreatmentDurationMaxReason .setValue(0) self.sbTreatmentDurationDefReason .setValue(0) self.sbHepBolusVolumeMinReason .setValue(0) self.sbHepBolusVolumeMaxReason .setValue(0) self.sbHepBolusVolumeDefReason .setValue(0) self.sbHepDispRateMinReason .setValue(0) self.sbHepDispRateMaxReason .setValue(0) self.sbHepDispRateDefReason .setValue(0) self.sbHepStopTimeMinReason .setValue(0) self.sbHepStopTimeMaxReason .setValue(0) self.sbDialysateTempMinReason .setValue(0) self.sbDialysateTempMaxReason .setValue(0) self.sbDialysateTempDefReason .setValue(0) self.sbPotassiumMinReason .setValue(0) self.sbPotassiumMaxReason .setValue(0) self.sbCalciumMinReason .setValue(0) self.sbCalciumMaxReason .setValue(0) self.sbDialysateBicarbMinReason .setValue(0) self.sbDialysateBicarbMaxReason .setValue(0) self.sbDialysateBicarbDefReason .setValue(0) self.sbSodiumBicarbMinReason .setValue(0) self.sbSodiumBicarbMaxReason .setValue(0) self.sbSodiumBicarbDefReason .setValue(0) self.sbFluidBolusVolumeMinReason .setValue(0) self.sbFluidBolusVolumeMaxReason .setValue(0) self.sbFluidBolusVolumeDefReason .setValue(0) self.sbArterialPressureMinReason .setValue(0) self.sbArterialPressureMaxReason .setValue(0) self.sbArterialPressureDefReason .setValue(0) self.sbVenousPressureMinReason .setValue(0) self.sbVenousPressureMaxReason .setValue(0) self.sbVenousPressureDefReason .setValue(0) self.sbVenousAsymmetricMinReason .setValue(0) self.sbVenousAsymmetricMaxReason .setValue(0) self.sbVenousAsymmetricDefReason .setValue(0) self.sbTmpPressureMinReason .setValue(0) self.sbTmpPressureMaxReason .setValue(0) self.sbTmpPressureDefReason .setValue(0) self.sbUfVolumeMinReason .setValue(0) self.sbUfVolumeMaxReason .setValue(0) self.sbUfVolumeDefReason .setValue(0) self.cbVitalsIntervalReason .setValue(0) self.sbRincebackVolumeMinReason .setValue(0) self.sbRincebackVolumeMaxReason .setValue(0) self.sbRincebackVolumeDefReason .setValue(0) self.sbRincebackFlowRateMinReason .setValue(0) self.sbRincebackFlowRateMaxReason .setValue(0) self.sbRincebackFlowRateDefReason .setValue(0) self.sbSubVolumeMinReason .setValue(0) self.sbSubVolumeMaxReason .setValue(0) self.sbSubVolumeDefReason .setValue(0) def setup_spinbox(self, vSpinBox, vInitialValue, vMin, vMax, vStep): vSpinBox.setRange(vMin, vMax) vSpinBox.setValue(vInitialValue) vSpinBox.setSingleStep(vStep) def getIntValue (self, message): val,self.index = conversions.bytearray_to_integer( message, self.index) return val def getFloatValue (self, message): val,self.index = conversions.bytearray_to_float( message, self.index) return val @Slot() def handle_request(self, message, timestamp = 0.0): """ Called when the user requests to firmware from UI @return: None """ self.td_interface.td_institutional_response(self.sbReason .value(), self.sbBloodFlowMin .value(), self.sbBloodFlowMax .value(), self.sbBloodFlowDef .value(), self.sbDialysateFlowMin .value(), self.sbDialysateFlowMax .value(), self.sbDialysateFlowDef .value(), self.sbTreatmentDurationMin .value(), self.sbTreatmentDurationMax .value(), self.sbTreatmentDurationDef .value(), self.sbHepBolusVolumeMin .value(), self.sbHepBolusVolumeMax .value(), self.sbHepBolusVolumeDef .value(), self.sbHepDispRateMin .value(), self.sbHepDispRateMax .value(), self.sbHepDispRateDef .value(), self.sbHepStopTimeMin .value(), self.sbHepStopTimeMax .value(), self.sbDialysateTempMin .value(), self.sbDialysateTempMax .value(), self.sbDialysateTempDef .value(), self.sbPotassiumMin .value(), self.sbPotassiumMax .value(), self.sbCalciumMin .value(), self.sbCalciumMax .value(), self.sbDialysateBicarbMin .value(), self.sbDialysateBicarbMax .value(), self.sbDialysateBicarbDef .value(), self.sbSodiumBicarbMin .value(), self.sbSodiumBicarbMax .value(), self.sbSodiumBicarbDef .value(), self.sbFluidBolusVolumeMin .value(), self.sbFluidBolusVolumeMax .value(), self.sbFluidBolusVolumeDef .value(), self.sbArterialPressureMin .value(), self.sbArterialPressureMax .value(), self.sbArterialPressureDef .value(), self.sbVenousPressureMin .value(), self.sbVenousPressureMax .value(), self.sbVenousPressureDef .value(), self.sbVenousAsymmetricMin .value(), self.sbVenousAsymmetricMax .value(), self.sbVenousAsymmetricDef .value(), self.sbTmpPressureMin .value(), self.sbTmpPressureMax .value(), self.sbTmpPressureDef .value(), self.sbUfVolumeMin .value(), self.sbUfVolumeMax .value(), self.sbUfVolumeDef .value(), self.cbVitalsInterval .currentIndex(), self.sbRincebackVolumeMin .value(), self.sbRincebackVolumeMax .value(), self.sbRincebackVolumeDef .value(), self.sbRincebackFlowRateMin .value(), self.sbRincebackFlowRateMax .value(), self.sbRincebackFlowRateDef .value(), self.sbSubVolumeMin .value(), self.sbSubVolumeMax .value(), self.sbSubVolumeDef .value()) @Slot() def handle_adjust_request(self, message, timestamp = 0.0): """ Called when the user requests to firmware from UI @return: None """ message = message['message'] self.index = MsgFieldPositions.START_POS_FIELD_1 accepted = ( self.sbBloodFlowMinReason .value() + self.sbBloodFlowMaxReason .value() + self.sbBloodFlowDefReason .value() + self.sbDialysateFlowMinReason .value() + self.sbDialysateFlowMaxReason .value() + self.sbDialysateFlowDefReason .value() + self.sbTreatmentDurationMinReason .value() + self.sbTreatmentDurationMaxReason .value() + self.sbTreatmentDurationDefReason .value() + self.sbHepBolusVolumeMinReason .value() + self.sbHepBolusVolumeMaxReason .value() + self.sbHepBolusVolumeDefReason .value() + self.sbHepDispRateMinReason .value() + self.sbHepDispRateMaxReason .value() + self.sbHepDispRateDefReason .value() + self.sbHepStopTimeMinReason .value() + self.sbHepStopTimeMaxReason .value() + self.sbDialysateTempMinReason .value() + self.sbDialysateTempMaxReason .value() + self.sbDialysateTempDefReason .value() + self.sbPotassiumMinReason .value() + self.sbPotassiumMaxReason .value() + self.sbCalciumMinReason .value() + self.sbCalciumMaxReason .value() + self.sbDialysateBicarbMinReason .value() + self.sbDialysateBicarbMaxReason .value() + self.sbDialysateBicarbDefReason .value() + self.sbSodiumBicarbMinReason .value() + self.sbSodiumBicarbMaxReason .value() + self.sbSodiumBicarbDefReason .value() + self.sbFluidBolusVolumeMinReason .value() + self.sbFluidBolusVolumeMaxReason .value() + self.sbFluidBolusVolumeDefReason .value() + self.sbArterialPressureMinReason .value() + self.sbArterialPressureMaxReason .value() + self.sbArterialPressureDefReason .value() + self.sbVenousPressureMinReason .value() + self.sbVenousPressureMaxReason .value() + self.sbVenousPressureDefReason .value() + self.sbVenousAsymmetricMinReason .value() + self.sbVenousAsymmetricMaxReason .value() + self.sbVenousAsymmetricDefReason .value() + self.sbTmpPressureMinReason .value() + self.sbTmpPressureMaxReason .value() + self.sbTmpPressureDefReason .value() + self.sbUfVolumeMinReason .value() + self.sbUfVolumeMaxReason .value() + self.sbUfVolumeDefReason .value() + self.cbVitalsIntervalReason .value() + self.sbRincebackVolumeMinReason .value() + self.sbRincebackVolumeMaxReason .value() + self.sbRincebackVolumeDefReason .value() + self.sbRincebackFlowRateMinReason .value() + self.sbRincebackFlowRateMaxReason .value() + self.sbRincebackFlowRateDefReason .value() + self.sbSubVolumeMinReason .value() + self.sbSubVolumeMaxReason .value() + self.sbSubVolumeDefReason .value() ) == 0 self.td_interface.td_Adjust_Institutional_Records( 1 if accepted else 0, self.sbBloodFlowMinReason .value(), self.sbBloodFlowMaxReason .value(), self.sbBloodFlowDefReason .value(), self.sbDialysateFlowMinReason .value(), self.sbDialysateFlowMaxReason .value(), self.sbDialysateFlowDefReason .value(), self.sbTreatmentDurationMinReason .value(), self.sbTreatmentDurationMaxReason .value(), self.sbTreatmentDurationDefReason .value(), self.sbHepBolusVolumeMinReason .value(), self.sbHepBolusVolumeMaxReason .value(), self.sbHepBolusVolumeDefReason .value(), self.sbHepDispRateMinReason .value(), self.sbHepDispRateMaxReason .value(), self.sbHepDispRateDefReason .value(), self.sbHepStopTimeMinReason .value(), self.sbHepStopTimeMaxReason .value(), self.sbDialysateTempMinReason .value(), self.sbDialysateTempMaxReason .value(), self.sbDialysateTempDefReason .value(), self.sbPotassiumMinReason .value(), self.sbPotassiumMaxReason .value(), self.sbCalciumMinReason .value(), self.sbCalciumMaxReason .value(), self.sbDialysateBicarbMinReason .value(), self.sbDialysateBicarbMaxReason .value(), self.sbDialysateBicarbDefReason .value(), self.sbSodiumBicarbMinReason .value(), self.sbSodiumBicarbMaxReason .value(), self.sbSodiumBicarbDefReason .value(), self.sbFluidBolusVolumeMinReason .value(), self.sbFluidBolusVolumeMaxReason .value(), self.sbFluidBolusVolumeDefReason .value(), self.sbArterialPressureMinReason .value(), self.sbArterialPressureMaxReason .value(), self.sbArterialPressureDefReason .value(), self.sbVenousPressureMinReason .value(), self.sbVenousPressureMaxReason .value(), self.sbVenousPressureDefReason .value(), self.sbVenousAsymmetricMinReason .value(), self.sbVenousAsymmetricMaxReason .value(), self.sbVenousAsymmetricDefReason .value(), self.sbTmpPressureMinReason .value(), self.sbTmpPressureMaxReason .value(), self.sbTmpPressureDefReason .value(), self.sbUfVolumeMinReason .value(), self.sbUfVolumeMaxReason .value(), self.sbUfVolumeDefReason .value(), self.cbVitalsIntervalReason .value(), self.sbRincebackVolumeMinReason .value(), self.sbRincebackVolumeMaxReason .value(), self.sbRincebackVolumeDefReason .value(), self.sbRincebackFlowRateMinReason .value(), self.sbRincebackFlowRateMaxReason .value(), self.sbRincebackFlowRateDefReason .value(), self.sbSubVolumeMinReason .value(), self.sbSubVolumeMaxReason .value(), self.sbSubVolumeDefReason .value() ) self.sbBloodFlowMin .setValue(self.getIntValue(message)) self.sbBloodFlowMax .setValue(self.getIntValue(message)) self.sbBloodFlowDef .setValue(self.getIntValue(message)) self.sbDialysateFlowMin .setValue(self.getIntValue(message)) self.sbDialysateFlowMax .setValue(self.getIntValue(message)) self.sbDialysateFlowDef .setValue(self.getIntValue(message)) self.sbTreatmentDurationMin .setValue(self.getIntValue(message)) self.sbTreatmentDurationMax .setValue(self.getIntValue(message)) self.sbTreatmentDurationDef .setValue(self.getIntValue(message)) self.sbHepBolusVolumeMin .setValue(self.getFloatValue(message)) self.sbHepBolusVolumeMax .setValue(self.getFloatValue(message)) self.sbHepBolusVolumeDef .setValue(self.getFloatValue(message)) self.sbHepDispRateMin .setValue(self.getFloatValue(message)) self.sbHepDispRateMax .setValue(self.getFloatValue(message)) self.sbHepDispRateDef .setValue(self.getFloatValue(message)) self.sbHepStopTimeMin .setValue(self.getIntValue(message)) self.sbHepStopTimeMax .setValue(self.getIntValue(message)) self.sbDialysateTempMin .setValue(self.getFloatValue(message)) self.sbDialysateTempMax .setValue(self.getFloatValue(message)) self.sbDialysateTempDef .setValue(self.getFloatValue(message)) self.sbPotassiumMin .setValue(self.getFloatValue(message)) self.sbPotassiumMax .setValue(self.getFloatValue(message)) self.sbCalciumMin .setValue(self.getFloatValue(message)) self.sbCalciumMax .setValue(self.getFloatValue(message)) self.sbDialysateBicarbMin .setValue(self.getIntValue(message)) self.sbDialysateBicarbMax .setValue(self.getIntValue(message)) self.sbDialysateBicarbDef .setValue(self.getIntValue(message)) self.sbSodiumBicarbMin .setValue(self.getIntValue(message)) self.sbSodiumBicarbMax .setValue(self.getIntValue(message)) self.sbSodiumBicarbDef .setValue(self.getIntValue(message)) self.sbFluidBolusVolumeMin .setValue(self.getIntValue(message)) self.sbFluidBolusVolumeMax .setValue(self.getIntValue(message)) self.sbFluidBolusVolumeDef .setValue(self.getIntValue(message)) self.sbArterialPressureMin .setValue(self.getIntValue(message)) self.sbArterialPressureMax .setValue(self.getIntValue(message)) self.sbArterialPressureDef .setValue(self.getIntValue(message)) self.sbVenousPressureMin .setValue(self.getIntValue(message)) self.sbVenousPressureMax .setValue(self.getIntValue(message)) self.sbVenousPressureDef .setValue(self.getIntValue(message)) self.sbVenousAsymmetricMin .setValue(self.getIntValue(message)) self.sbVenousAsymmetricMax .setValue(self.getIntValue(message)) self.sbVenousAsymmetricDef .setValue(self.getIntValue(message)) self.sbTmpPressureMin .setValue(self.getIntValue(message)) self.sbTmpPressureMax .setValue(self.getIntValue(message)) self.sbTmpPressureDef .setValue(self.getIntValue(message)) self.sbUfVolumeMin .setValue(self.getFloatValue(message)) self.sbUfVolumeMax .setValue(self.getFloatValue(message)) self.sbUfVolumeDef .setValue(self.getFloatValue(message)) self.cbVitalsInterval .setCurrentIndex((self.getIntValue(message))) self.sbRincebackVolumeMin .setValue(self.getIntValue(message)) self.sbRincebackVolumeMax .setValue(self.getIntValue(message)) self.sbRincebackVolumeDef .setValue(self.getIntValue(message)) self.sbRincebackFlowRateMin .setValue(self.getIntValue(message)) self.sbRincebackFlowRateMax .setValue(self.getIntValue(message)) self.sbRincebackFlowRateDef .setValue(self.getIntValue(message)) self.sbSubVolumeMin .setValue(self.getFloatValue(message)) self.sbSubVolumeMax .setValue(self.getFloatValue(message)) self.sbSubVolumeDef .setValue(self.getFloatValue(message)) @Slot() def do_send(self): """ the slot for treatment set point Data :return: none """ self.handle_request(0)