Index: TD_Advanced_Institutional_Records/interface.ui =================================================================== diff -u --- TD_Advanced_Institutional_Records/interface.ui (revision 0) +++ TD_Advanced_Institutional_Records/interface.ui (revision c188c445ebd056f3b15909ef9d994b78b9f752c2) @@ -0,0 +1,1418 @@ + + + ui_interface + + + + 0 + 0 + 535 + 561 + + + + + 100000 + 100000 + + + + &5 TD info/&11 Advanced Institutional Record + + + + + + + + + + + 180 + 0 + + + + Reason + + + + + + + 900 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 16777215 + 16777215 + + + + + + + + + 0 + 0 + 0 + + + + + + + 114 + 159 + 207 + + + + + + + 196 + 225 + 255 + + + + + + + 155 + 192 + 231 + + + + + + + 57 + 79 + 103 + + + + + + + 76 + 106 + 138 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 0 + 0 + 0 + + + + + + + 255 + 255 + 255 + + + + + + + 114 + 159 + 207 + + + + + + + 0 + 0 + 0 + + + + + + + 184 + 207 + 231 + + + + + + + 255 + 255 + 220 + + + + + + + 0 + 0 + 0 + + + + + + + 0 + 0 + 0 + + + + + + + + + 218 + 218 + 218 + + + + + + + 38 + 38 + 38 + + + + + + + 255 + 255 + 255 + + + + + + + 202 + 202 + 202 + + + + + + + 31 + 31 + 31 + + + + + + + 175 + 175 + 175 + + + + + + + 218 + 218 + 218 + + + + + + + 255 + 51 + 51 + + + + + + + 218 + 218 + 218 + + + + + + + 38 + 39 + 40 + + + + + + + 38 + 38 + 38 + + + + + + + 118 + 118 + 118 + + + + + + + 38 + 39 + 40 + + + + + + + 17 + 17 + 17 + + + + + + + 218 + 218 + 218 + + + + + + + 128 + 128 + 129 + + + + + + + + + 57 + 79 + 103 + + + + + + + 114 + 159 + 207 + + + + + + + 196 + 225 + 255 + + + + + + + 155 + 192 + 231 + + + + + + + 57 + 79 + 103 + + + + + + + 76 + 106 + 138 + + + + + + + 57 + 79 + 103 + + + + + + + 255 + 255 + 255 + + + + + + + 57 + 79 + 103 + + + + + + + 114 + 159 + 207 + + + + + + + 114 + 159 + 207 + + + + + + + 177 + 177 + 177 + + + + + + + 38 + 39 + 40 + + + + + + + 17 + 17 + 17 + + + + + + + 218 + 218 + 218 + + + + + + + 128 + 128 + 129 + + + + + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(92, 53, 102); + + + + XXX : [0xXX00] : Advanced Institutional Records + + + Qt::AlignCenter + + + + + + + send + + + + + + + + + true + + + + + 0 + 0 + 529 + 868 + + + + + + + + + Qt::Horizontal + + + + + + + + + Inlet Water Cond. Low Threshold + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Disinfection Frequency + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Minimim RO Rejection Ratio Alarm + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + + + + Reason + + + + + + + Max + + + + + + + Min + + + + + + + + + + Default + + + + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + 900 + + + + + + + + + + + + + Water Sample Tes Result Required + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + N/A + + + + + + + N/A + + + + + + + + + + + + + Chlorine Water Sample Check + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Maximum Blood Pump Stop Time + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Disinfection Parameters, Cycle Time + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Inlet Water Cond. High Threshold + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Max + + + + + + + Reason + + + + + + + + + + 900 + + + + + + + Min + + + + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + + + + + + + + + + + + + + + + + Index: TD_Advanced_Institutional_Records/loader.py =================================================================== diff -u --- TD_Advanced_Institutional_Records/loader.py (revision 0) +++ TD_Advanced_Institutional_Records/loader.py (revision c188c445ebd056f3b15909ef9d994b78b9f752c2) @@ -0,0 +1,288 @@ +""" + 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 Advanced 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_ADVANCED_INSTITUTIONAL_RECORD_REQUEST.value + adjust_request_message_id = MsgIds.MSG_ID_TD_ADVANCED_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.sbMinRORejectionRatioAlarmMin = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmMin' ) + self.sbMinRORejectionRatioAlarmMax = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmMax' ) + self.sbMinRORejectionRatioAlarmDef = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmDef' ) + self.sbDisinfectionFrequencyMin = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyMin' ) + self.sbDisinfectionFrequencyMax = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyMax' ) + self.sbDisinfectionFrequencyDef = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyDef' ) + self.sbDisinfectionParametersCycleTimeMin = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeMin' ) + self.sbDisinfectionParametersCycleTimeMax = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeMax' ) + self.sbDisinfectionParametersCycleTimeDef = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeDef' ) + self.sbMaxBloodPumpStopTimeMin = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeMin' ) + self.sbMaxBloodPumpStopTimeMax = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeMax' ) + self.sbMaxBloodPumpStopTimeDef = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeDef' ) + self.sbInletWaterCondLowThresholdMin = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdMin' ) + self.sbInletWaterCondLowThresholdMax = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdMax' ) + self.sbInletWaterCondLowThresholdDef = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdDef' ) + self.sbInletWaterCondHighThresholdMin = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdMin' ) + self.sbInletWaterCondHighThresholdMax = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdMax' ) + self.sbInletWaterCondHighThresholdDef = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdDef' ) + self.sbChlorineWaterSampleCheckMin = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckMin' ) + self.sbChlorineWaterSampleCheckMax = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckMax' ) + self.sbChlorineWaterSampleCheckDef = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckDef' ) + self.cbWaterSampleTestResultRequiredDef = self.find_widget(QtWidgets.QComboBox , 'waterSampleTestResultRequiredDef' ) + + + self.sbMinRORejectionRatioAlarmMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmMinRejectionReason' ) + self.sbMinRORejectionRatioAlarmMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmMaxRejectionReason' ) + self.sbMinRORejectionRatioAlarmDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'minRORejectionRatioAlarmDefRejectionReason' ) + self.sbDisinfectionFrequencyMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyMinRejectionReason' ) + self.sbDisinfectionFrequencyMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyMaxRejectionReason' ) + self.sbDisinfectionFrequencyDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionFrequencyDefRejectionReason' ) + self.sbDisinfectionParametersCycleTimeMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeMinRejectionReason' ) + self.sbDisinfectionParametersCycleTimeMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeMaxRejectionReason' ) + self.sbDisinfectionParametersCycleTimeDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'disinfectionParametersCycleTimeDefRejectionReason' ) + self.sbMaxBloodPumpStopTimeMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeMinRejectionReason' ) + self.sbMaxBloodPumpStopTimeMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeMaxRejectionReason' ) + self.sbMaxBloodPumpStopTimeDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'maxBloodPumpStopTimeDefRejectionReason' ) + self.sbInletWaterCondLowThresholdMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdMinRejectionReason' ) + self.sbInletWaterCondLowThresholdMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdMaxRejectionReason' ) + self.sbInletWaterCondLowThresholdDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondLowThresholdDefRejectionReason' ) + self.sbInletWaterCondHighThresholdMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdMinRejectionReason' ) + self.sbInletWaterCondHighThresholdMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdMaxRejectionReason' ) + self.sbInletWaterCondHighThresholdDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'inletWaterCondHighThresholdDefRejectionReason' ) + self.sbChlorineWaterSampleCheckMinRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckMinRejectionReason' ) + self.sbChlorineWaterSampleCheckMaxRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckMaxRejectionReason' ) + self.sbChlorineWaterSampleCheckDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'chlorineWaterSampleCheckDefRejectionReason' ) + self.sbWaterSampleTestResultRequiredDefRejectionReason = self.find_widget(QtWidgets.QSpinBox , 'waterSampleTestResultRequiredDefRejectionReason' ) + + 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.sbMinRORejectionRatioAlarmMin , 1, 1, 99, 1) + self.setup_spinbox(self.sbMinRORejectionRatioAlarmMax , 99, 1, 99, 1) + self.setup_spinbox(self.sbMinRORejectionRatioAlarmDef , 90, 1, 99, 1) + self.setup_spinbox(self.sbDisinfectionFrequencyMin , 1, 1, 5, 1) + self.setup_spinbox(self.sbDisinfectionFrequencyMax , 5, 1, 5, 1) + self.setup_spinbox(self.sbDisinfectionFrequencyDef , 3, 1, 5, 1) + self.setup_spinbox(self.sbDisinfectionParametersCycleTimeMin , 1, 1, 60, 1) + self.setup_spinbox(self.sbDisinfectionParametersCycleTimeMax , 60, 1, 60, 1) + self.setup_spinbox(self.sbDisinfectionParametersCycleTimeDef , 6300, 1, 60, 1) + self.setup_spinbox(self.sbMaxBloodPumpStopTimeMin , 5, 5, 30, 1) + self.setup_spinbox(self.sbMaxBloodPumpStopTimeMax , 30, 5, 30, 1) + self.setup_spinbox(self.sbMaxBloodPumpStopTimeDef , 5, 5, 30, 1) + self.setup_spinbox(self.sbInletWaterCondLowThresholdMin , 20, 20, 200, 10) + self.setup_spinbox(self.sbInletWaterCondLowThresholdMax , 200, 20, 200, 10) + self.setup_spinbox(self.sbInletWaterCondLowThresholdDef , 200, 20, 200, 10) + self.setup_spinbox(self.sbInletWaterCondHighThresholdMin , 50, 20, 200, 10) + self.setup_spinbox(self.sbInletWaterCondHighThresholdMax , 200, 20, 200, 10) + self.setup_spinbox(self.sbInletWaterCondHighThresholdDef , 50, 20, 200, 10) + self.setup_spinbox(self.sbChlorineWaterSampleCheckMin , 15, 15, 480, 5) + self.setup_spinbox(self.sbChlorineWaterSampleCheckMax , 480, 15, 480, 5) + self.setup_spinbox(self.sbChlorineWaterSampleCheckDef , 140, 15, 480, 5) + comboList = ["disabled", "enabled"] + self.cbWaterSampleTestResultRequiredDef.addItems(comboList) + + self.sbMinRORejectionRatioAlarmMinRejectionReason .setValue(0) + self.sbMinRORejectionRatioAlarmMaxRejectionReason .setValue(0) + self.sbMinRORejectionRatioAlarmDefRejectionReason .setValue(0) + self.sbDisinfectionFrequencyMinRejectionReason .setValue(0) + self.sbDisinfectionFrequencyMaxRejectionReason .setValue(0) + self.sbDisinfectionFrequencyDefRejectionReason .setValue(0) + self.sbDisinfectionParametersCycleTimeMinRejectionReason .setValue(0) + self.sbDisinfectionParametersCycleTimeMaxRejectionReason .setValue(0) + self.sbDisinfectionParametersCycleTimeDefRejectionReason .setValue(0) + self.sbMaxBloodPumpStopTimeMinRejectionReason .setValue(0) + self.sbMaxBloodPumpStopTimeMaxRejectionReason .setValue(0) + self.sbMaxBloodPumpStopTimeDefRejectionReason .setValue(0) + self.sbInletWaterCondLowThresholdMinRejectionReason .setValue(0) + self.sbInletWaterCondLowThresholdMaxRejectionReason .setValue(0) + self.sbInletWaterCondLowThresholdDefRejectionReason .setValue(0) + self.sbInletWaterCondHighThresholdMinRejectionReason .setValue(0) + self.sbInletWaterCondHighThresholdMaxRejectionReason .setValue(0) + self.sbInletWaterCondHighThresholdDefRejectionReason .setValue(0) + self.sbChlorineWaterSampleCheckMinRejectionReason .setValue(0) + self.sbChlorineWaterSampleCheckMaxRejectionReason .setValue(0) + self.sbChlorineWaterSampleCheckDefRejectionReason .setValue(0) + self.sbWaterSampleTestResultRequiredDefRejectionReason .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 + + @Slot() + def handle_request(self, message, timestamp = 0.0): + """ + Called when the user requests to firmware from UI + @return: None + """ + self.td_interface.td_advanced_institutional_response(self.sbReason .value(), + self.sbMinRORejectionRatioAlarmMin .value(), + self.sbMinRORejectionRatioAlarmMax .value(), + self.sbMinRORejectionRatioAlarmDef .value(), + self.sbDisinfectionFrequencyMin .value(), + self.sbDisinfectionFrequencyMax .value(), + self.sbDisinfectionFrequencyDef .value(), + self.sbDisinfectionParametersCycleTimeMin .value(), + self.sbDisinfectionParametersCycleTimeMax .value(), + self.sbDisinfectionParametersCycleTimeDef .value(), + self.sbMaxBloodPumpStopTimeMin .value(), + self.sbMaxBloodPumpStopTimeMax .value(), + self.sbMaxBloodPumpStopTimeDef .value(), + self.sbInletWaterCondLowThresholdMin .value(), + self.sbInletWaterCondLowThresholdMax .value(), + self.sbInletWaterCondLowThresholdDef .value(), + self.sbInletWaterCondHighThresholdMin .value(), + self.sbInletWaterCondHighThresholdMax .value(), + self.sbInletWaterCondHighThresholdDef .value(), + self.sbChlorineWaterSampleCheckMin .value(), + self.sbChlorineWaterSampleCheckMax .value(), + self.sbChlorineWaterSampleCheckDef .value(), + self.cbWaterSampleTestResultRequiredDef.currentIndex()) + + @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.sbMinRORejectionRatioAlarmMinRejectionReason .value() + + self.sbMinRORejectionRatioAlarmMaxRejectionReason .value() + + self.sbMinRORejectionRatioAlarmDefRejectionReason .value() + + self.sbDisinfectionFrequencyMinRejectionReason .value() + + self.sbDisinfectionFrequencyMaxRejectionReason .value() + + self.sbDisinfectionFrequencyDefRejectionReason .value() + + self.sbDisinfectionParametersCycleTimeMinRejectionReason .value() + + self.sbDisinfectionParametersCycleTimeMaxRejectionReason .value() + + self.sbDisinfectionParametersCycleTimeDefRejectionReason .value() + + self.sbMaxBloodPumpStopTimeMinRejectionReason .value() + + self.sbMaxBloodPumpStopTimeMaxRejectionReason .value() + + self.sbMaxBloodPumpStopTimeDefRejectionReason .value() + + self.sbInletWaterCondLowThresholdMinRejectionReason .value() + + self.sbInletWaterCondLowThresholdMaxRejectionReason .value() + + self.sbInletWaterCondLowThresholdDefRejectionReason .value() + + self.sbInletWaterCondHighThresholdMinRejectionReason .value() + + self.sbInletWaterCondHighThresholdMaxRejectionReason .value() + + self.sbInletWaterCondHighThresholdDefRejectionReason .value() + + self.sbChlorineWaterSampleCheckMinRejectionReason .value() + + self.sbChlorineWaterSampleCheckMaxRejectionReason .value() + + self.sbChlorineWaterSampleCheckDefRejectionReason .value() + + self.sbWaterSampleTestResultRequiredDefRejectionReason .value()) == 0 + + self.td_interface.td_Adjust_Advanced_Institutional_Records( + 1 if accepted else 0, + self.sbMinRORejectionRatioAlarmMinRejectionReason .value(), + self.sbMinRORejectionRatioAlarmMaxRejectionReason .value(), + self.sbMinRORejectionRatioAlarmDefRejectionReason .value(), + self.sbDisinfectionFrequencyMinRejectionReason .value(), + self.sbDisinfectionFrequencyMaxRejectionReason .value(), + self.sbDisinfectionFrequencyDefRejectionReason .value(), + self.sbDisinfectionParametersCycleTimeMinRejectionReason .value(), + self.sbDisinfectionParametersCycleTimeMaxRejectionReason .value(), + self.sbDisinfectionParametersCycleTimeDefRejectionReason .value(), + self.sbMaxBloodPumpStopTimeMinRejectionReason .value(), + self.sbMaxBloodPumpStopTimeMaxRejectionReason .value(), + self.sbMaxBloodPumpStopTimeDefRejectionReason .value(), + self.sbInletWaterCondLowThresholdMinRejectionReason .value(), + self.sbInletWaterCondLowThresholdMaxRejectionReason .value(), + self.sbInletWaterCondLowThresholdDefRejectionReason .value(), + self.sbInletWaterCondHighThresholdMinRejectionReason .value(), + self.sbInletWaterCondHighThresholdMaxRejectionReason .value(), + self.sbInletWaterCondHighThresholdDefRejectionReason .value(), + self.sbChlorineWaterSampleCheckMinRejectionReason .value(), + self.sbChlorineWaterSampleCheckMaxRejectionReason .value(), + self.sbChlorineWaterSampleCheckDefRejectionReason .value(), + self.sbWaterSampleTestResultRequiredDefRejectionReason .value() + ) + + self.sbMinRORejectionRatioAlarmMin .setValue(self.getIntValue(message)) + self.sbMinRORejectionRatioAlarmMax .setValue(self.getIntValue(message)) + self.sbMinRORejectionRatioAlarmDef .setValue(self.getIntValue(message)) + self.sbDisinfectionFrequencyMin .setValue(self.getIntValue(message)) + self.sbDisinfectionFrequencyMax .setValue(self.getIntValue(message)) + self.sbDisinfectionFrequencyDef .setValue(self.getIntValue(message)) + self.sbDisinfectionParametersCycleTimeMin .setValue(self.getIntValue(message)) + self.sbDisinfectionParametersCycleTimeMax .setValue(self.getIntValue(message)) + self.sbDisinfectionParametersCycleTimeDef .setValue(self.getIntValue(message)) + self.sbMaxBloodPumpStopTimeMin .setValue(self.getIntValue(message)) + self.sbMaxBloodPumpStopTimeMax .setValue(self.getIntValue(message)) + self.sbMaxBloodPumpStopTimeDef .setValue(self.getIntValue(message)) + self.sbInletWaterCondLowThresholdMin .setValue(self.getIntValue(message)) + self.sbInletWaterCondLowThresholdMax .setValue(self.getIntValue(message)) + self.sbInletWaterCondLowThresholdDef .setValue(self.getIntValue(message)) + self.sbInletWaterCondHighThresholdMin .setValue(self.getIntValue(message)) + self.sbInletWaterCondHighThresholdMax .setValue(self.getIntValue(message)) + self.sbInletWaterCondHighThresholdDef .setValue(self.getIntValue(message)) + self.sbChlorineWaterSampleCheckMin .setValue(self.getIntValue(message)) + self.sbChlorineWaterSampleCheckMax .setValue(self.getIntValue(message)) + self.sbChlorineWaterSampleCheckDef .setValue(self.getIntValue(message)) + self.cbWaterSampleTestResultRequiredDef .setCurrentIndex((self.getIntValue(message))) + + @Slot() + def do_send(self): + """ + the slot for send button + :return: none + """ + self.handle_request(0) Index: TD_Institutional_Records/interface.ui =================================================================== diff -u --- TD_Institutional_Records/interface.ui (revision 0) +++ TD_Institutional_Records/interface.ui (revision c188c445ebd056f3b15909ef9d994b78b9f752c2) @@ -0,0 +1,2351 @@ + + + ui_interface + + + + 0 + 0 + 533 + 602 + + + + + 100000 + 100000 + + + + &5 TD info/&10 Institutional Record + + + + + + + + + + + 0 + 0 + + + + + 352 + 0 + + + + + 16777215 + 16777215 + + + + + 10 + + + + color: rgb(238, 238, 236); +background-color: rgb(92, 53, 102); + + + + XXX : [0xXX00] : Institutional Records + + + Qt::AlignCenter + + + + + + + send + + + + + + + + + true + + + + + 0 + 0 + 497 + 2258 + + + + + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + Arterial Pressure Window Limit + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Sodium Final Dialysate Comp. + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + + + Fluid Bolus Volume + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Treatment Duration + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Dialysate Temperature + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Vitals Interval + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + 5 + + + + + + + 60 + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Substitution Volume + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + Reason + + + + + + + 900 + + + + + + + 900 + + + + + + + + + + Reason + + + + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Max + + + + + + + Default + + + + + + + Min + + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Rinseback Flow Rate + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Rinseback Volume + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Venous Asymmetric Window Limit + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Heparin Bolus Volume + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Venous Pressure Window Limit + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Heparin Dispensing Rate + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + TMP Window Limit + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + UF Volume + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Bicard. Final Dialysate Comp. + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + 900 + + + + + + + + + + Reason + + + + + + + + + + 900 + + + + + + + + + + Max + + + + + + + Min + + + + + + + Default + + + + + + + Reason + + + + + + + + + + + + + Acid Concentreate (Ca2+) + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + Max + + + + + + + Min + + + + + + + + + + + + + N/A + + + + + + + + + + + + + Acid Concentrate (K+) + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + Max + + + + + + + Min + + + + + + + + + + + + + N/A + + + + + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + Qt::Horizontal + + + + + + + + + Blood Flow Rate + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + + + + Reason + + + + + + + Max + + + + + + + Min + + + + + + + + + + Default + + + + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + 900 + + + + + + + + + + + Qt::Horizontal + + + + + + + + + Dialysate Flow Rate + + + + + + + Qt::Horizontal + + + + 13 + 45 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + 900 + + + + + + + Max + + + + + + + Reason + + + + + + + Min + + + + + + + + + + + + + + + + + + + + + + Heparin Stop Time + + + + + + + Qt::Horizontal + + + + 238 + 48 + + + + + + + + + + 900 + + + + + + + Reason + + + + + + + Reason + + + + + + + 900 + + + + + + + Default + + + + + + + Max + + + + + + + Min + + + + + + + + + + + + + N/A + + + + + + + + + + + + + + + + + + + + 180 + 0 + + + + Reason + + + + + + + 900 + + + + + + + Qt::Horizontal + + + + 40 + 20 + + + + + + + + + + + + + Index: TD_Institutional_Records/loader.py =================================================================== diff -u --- TD_Institutional_Records/loader.py (revision 0) +++ TD_Institutional_Records/loader.py (revision c188c445ebd056f3b15909ef9d994b78b9f752c2) @@ -0,0 +1,582 @@ +""" + 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) + # print("index: " + str(self.index) + " int: " + str(val)) + return val + + + def getFloatValue (self, message): + val,self.index = conversions.bytearray_to_float( message, self.index) + # print("index: " + str(self.index) + " float: " + str(val)) + 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)