Index: shared/scripts/configuration/config.py =================================================================== diff -u -r43e6eb2d3079e81c29da6c67380f185c6b58cfb2 -r4f5450758f21e1f47e4084c5d75222a4cb3358ac --- shared/scripts/configuration/config.py (.../config.py) (revision 43e6eb2d3079e81c29da6c67380f185c6b58cfb2) +++ shared/scripts/configuration/config.py (.../config.py) (revision 4f5450758f21e1f47e4084c5d75222a4cb3358ac) @@ -9,17 +9,84 @@ # @file config.py # # @author (last) LTTS -# @date (last) 18-Jan-2022 +# @date (last) 08-July-2022 # ############################################################################ import os +from pathlib import Path from configuration.strings import * + +# -S, --disable-sd-card-fail-log-stop disable-sd-card-fail-log-stop +# -k, --enable-check-in-log Enables Check-In Log +# -K, --enable-acknow-log Enables Acknowledgment Log + AUT_NAME = "denaliSquish -k -K -S" +HOME_DIR_PATH = "/home/denali" -COMMON_PATH = os.environ['HOME']+"/Projects" +#service screen +SERVICE_CONF_LOCATION ="".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Settings/System.conf']) +#post treatment +POST_TREATMENT_LOG_LOCATION = "".join([str(HOME_DIR_PATH),'/Desktop/sd-card/treatment/*.log']) + +#instructions_imagelocation +INSTRUCTION_CONF_LOCATION = "".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Instructions/Instructions.conf']) +IMAGE_LOCATION = "file://"+"".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Instructions/']) +EXPECTED_IMAGE_LOCATION ="".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Instructions/']) +TREATMENT_LOG_LOCATION = "".join([str(HOME_DIR_PATH),'/Desktop/sd-card/treatment/*.log']) + +#cloud_sync_verification +INP_BUF_FILE_LOCATION = "".join([str(HOME_DIR_PATH),'/Desktop/sd-card/cloudsync/']) +CLOUD_CREDENTIALS_LOCATION = "".join([str(HOME_DIR_PATH)+'/Desktop/cloudsync/credentials']) +ERROR_FILE_LOCATION = "".join([str(HOME_DIR_PATH)+'/Desktop/sd-card/service/']) + +#ui_logs +LOG_LOCATION = "".join([str(HOME_DIR_PATH),'/Desktop/sd-card/log/']) + +CLOUDSYNC_FOLDER_PATH = "".join([str(HOME_DIR_PATH)+'/Desktop/']) +SD_CARD_CLOUDSYNC_FOLDER_PATH = "".join([str(HOME_DIR_PATH)+'/Desktop/sd-card/']) +SD_CARD_LOCATION = "".join([str(HOME_DIR_PATH)+'/Desktop/']) +USB_DISK_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Desktop/']) +SETTINGS_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/application/resources/']) +APPLICATION_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/']) +CANBUS_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/application/sources/']) +PEM_FILES = ['1.pem', '2.pem', '3.pem' ] + +#standby mode +GOODMORNING_START_TIME_SEC = 0 +GOODEVENING_START_TIME_SEC = 43200 +NUM_OF_REQUEST_REJECT_REASONS = 46 #Number of settings change reject codes + +#Disinfection +DISINFECT_TREATMENT_ID = ["_headStepBullet","_nextStepsBullet"] + +COLOR_CODES = {"Aqua": "#81ffff", "Blue": "#017dea", "Blue 2": "#1090d5", "Green": "#29fd2d", "Grey": "#d3d3d3", + "Lavender": "#db98f5", "Light Blue": "#acd7f1", "Light Teal": "#29f1da","Lime": "#b7fc36", + "Magenta":"#fd28fd", "Orange": "#f2721c", "Peach":"#f1979a", "Red": "#c53b33", "Rose":"#fc178d", + "Slate blue":"#7f7ffa", "Violet": "#6435c9", "White": "#ffffff", "Yellow": "#fcfc4d"} + +CURRENT_COLOR = '#000000' +COMPLETE_COLOR = '#4290ec' +ENABLED_COLOR = '#fcfcfc' +INCOMPLETE_COLOR = '#607a91' +OUT_OF_RANGE_COLOR = "#c53b33" + +#main treatment screen +IN_RANGE_COLOR = "#fcfcfc" +SYSTOLIC_LOWER_LIMIT = 60 +SYSTOLIC_UPPER_LIMIT = 250 +DIASTOLIC_LOWER_LIMIT = 40 +DIASTOLIC_UPPER_LIMIT = 200 +HEART_RATE_LOWER_LIMIT = 40 +HEART_RATE_UPPER_LIMIT = 180 + +KEYBOARD_SWITCH = ["ABC", "&123"] + +TREATMENT_UNHIGHLIGHTED_COLOR = "#000000" +TREATMENT_HIGHLIGHTED_COLOR = "#135088" + #create custom treatment HIGHER_VALUE_OF_BLOOD_FLOW_RATE = 500 LOWER_VALUE_OF_BLOOD_FLOW_RATE = 100 @@ -35,25 +102,127 @@ VENOUS_VALUE_570 = 570 POSITIVE_BUFFER = 10 NEGATIVE_BUFFER = -10 + +#Alarms location +CONFIG_PATH = Path(os.getcwd()) +HOME_DIR_PATH = CONFIG_PATH.parent.parent.parent +ALARMS_CONF_LOCATION = "".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Alarms/Alarms.conf']) +ALARM_MAPPING_CSV_FILE_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/denali/AlarmMapping.csv']) +ALARM_MAPPING_CSV_DIR_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/denali/']) +APPLICATION_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/']) -#tst_pretreatment_screens color palettes -CURRENT_COLOR = '#000000' -COMPLETE_COLOR= '#4290ec' -ENABLED_COLOR = '#fcfcfc' -INCOMPLETE_COLOR = '#607a91' - -COLOR_CODES = {"Aqua": "#81ffff", "Blue": "#017dea", "Blue 2": "#1090d5", "Green": "#29fd2d", "Grey": "#d3d3d3", - "Lavender": "#db98f5", "Light Blue": "#acd7f1", "Light Teal": "#29f1da","Lime": "#b7fc36", - "Magenta":"#fd28fd", "Orange": "#f2721c", "Peach":"#f1979a", "Red": "#c53b33", "Rose":"#fc178d", - "Slate blue":"#7f7ffa", "Violet": "#6435c9", "White": "#ffffff", "Yellow": "#fcfc4d"} - - +#Service password loction +HOME_DIR_PATH = "/home/denali" +SERVICE_CONF_LOCATION ="".join([str(HOME_DIR_PATH),'/Projects/application/resources/settings/Settings/System.conf']) +APPLICATION_FOLDER_LOCATION = "".join([str(HOME_DIR_PATH)+'/Projects/']) #standby mode GOODMORNING_START_TIME_SEC = 0 GOODEVENING_START_TIME_SEC = 43200 +NUM_OF_ALARM_PRIORITIES = 4 # Total number of alarm priorities +NUM_OF_MSG_ID = 290 + +NUM_OF_ALARM_ID = 291 +ALARM_ID_NO_ALARM = 0 +ALARM_ID_OUT_OF_RANGE = 291 + +# alarm colors +ALARMS_COLORS_HEADER = { + "ALARM_PRIORITY_NONE" : "#438feb", + "ALARM_PRIORITY_LOW" : "#db8f00", + "ALARM_PRIORITY_MEDIUM" : "#db8f00", + "ALARM_PRIORITY_HIGH" : "#831913" +} + +ALARMS_COLORS_BODY = { + "ALARM_PRIORITY_NONE" : "#254670", + "ALARM_PRIORITY_LOW" : "#f5a623", + "ALARM_PRIORITY_MEDIUM" : "#f5a623", + "ALARM_PRIORITY_HIGH" : "#c53b33" +} + +ALARM_MUTE_FLAG = 0B0000001000000000 +ALARM_UNMUTE_FLAG = 0B0000000000000000 + +ALARM_BUTTONS_OK = 0B0000000010111000 + +ALARM_BUTTONS_RESUME = 0B0000000000110000 +ALARM_BUTTONS_RESUME_RINSEBACK = 0B0000000000100000 +ALARM_BUTTONS_RESUME_END = 0B0000000000010000 + +ALARM_BUTTONS_RINSEBACK = 0B0000000000101000 +ALARM_BUTTONS_RINSEBACK_RESUME = ALARM_BUTTONS_RESUME_RINSEBACK +ALARM_BUTTONS_RINSEBACK_END = 0B0000000000001000 + +ALARM_BUTTONS_END = 0B0000000000011000 +ALARM_BUTTONS_END_RESUME = ALARM_BUTTONS_RESUME_END +ALARM_BUTTONS_END_RINSEBACK = ALARM_BUTTONS_RINSEBACK_END + +ALARM_BUTTONS_RESUME_RINSEBACK_END = 0B0000000000000000 +ALARM_BUTTONS_RINSEBACK_RESUME_END = ALARM_BUTTONS_RESUME_RINSEBACK_END +ALARM_BUTTONS_END_RESUME_RINSEBACK = ALARM_BUTTONS_RESUME_RINSEBACK_END + +#standby mode & ultrafiltration +SALINE_BOLUS_CUMULATIVE = 300 +UF_MINIMUM_VALUE = 0 +UF_MAXIMUM_VALUE = 600 + + +#pressure +PRESSURE_STEPS = 10 +ARTERIAL_PRESSURE_MINIMUM = -400 +ARTERIAL_PRESSURE_MAXIMUM = +100 +ARTERIAL_PRESSURE_LOW_MIN = -300 +ARTERIAL_PRESSURE_LOW_DEF = -300 +ARTERIAL_PRESSURE_LOW_MAX = +200 +ARTERIAL_PRESSURE_HIGH_MIN = -300 +ARTERIAL_PRESSURE_HIGH_DEF = +100 +ARTERIAL_PRESSURE_HIGH_MAX = +200 + + +VENOUS_PRESSURE_MINIMUM = -100 +VENOUS_PRESSURE_MAXIMUM = +700 +VENOUS_PRESSURE_LOW_MIN = -100 +VENOUS_PRESSURE_LOW_DEF = -100 +VENOUS_PRESSURE_LOW_MAX = +600 +VENOUS_PRESSURE_HIGH_MIN = +100 +VENOUS_PRESSURE_HIGH_DEF = +400 +VENOUS_PRESSURE_HIGH_MAX = +600 + + +#main_treatment_flows +BLOOD_FLOW_MINIMUM_VALUE = 100 +BLOOD_FLOW_BUFFER = 25 +FLOW_SLIDER_WIDTH_BUFFER = 37 +BLOOD_FLOW_MAXIMUM_VALUE = 500 +DIALYSATE_FLOW_MINIMUM_VALUE = 0 +DIALYSATE_FLOW_MAXIMUM_VALUE = 0 # Seems to be bug. need change +DIALYSATE_FLOW_BUFFER = 50 +DIALYSATE_FLOW_SLIDER_WIDTH_BUFFER = 60 + + +#main treatment screen +OUT_OF_RANGE_COLOR = "#c53b33" +RED_COLOR = "#ff0000" +GREEN_COLOR = "#008000" +IN_RANGE_COLOR = "#fcfcfc" +SYSTOLIC_LOWER_LIMIT = 60 +SYSTOLIC_UPPER_LIMIT = 250 +DIASTOLIC_LOWER_LIMIT = 40 +DIASTOLIC_UPPER_LIMIT = 200 +HEART_RATE_LOWER_LIMIT = 40 +HEART_RATE_UPPER_LIMIT = 180 +BLOOD_PRIMING_RANGE = 300 +BLOOD_PRIMING_TARGET_MAXIMUM = 300 + +#tst_pretreatment_screens +NUM_OF_PRETREATMENT_BULLETS = len(PRE_TREATMENT_SCREENS) +SALINE_BOLUS_CUMULATIVE = 300 + + #patient id -PATIENT_ID = { +KEYBOARD_SWITCH = ["ABC", "&123"] +PATIENT_ID_COMBINATION = { "qwerty" : "qwerty", "sampleid" : "sampleid", "abcdefghijklmnop" : "abcdefghijklmnop", @@ -64,9 +233,11 @@ "5432@qwerty" : "5432qwerty" } -KEYBOARD_SWITCH = ["ABC", "&123"] - - +#Random selection for operational parameter for custom dta +OPERATIONAL_PARAMETERS = {"Heparin Type": HEPARIN_TYPE, "Acid Concentrate": "08-1251-1", + "Bicarbonate Concentrate": BICARBONATE_CONCENTRATE, "Dialyzer Type": "BB Diacap Pro 16H"} + + #dictionary consist of custom treatment values CREATE_CUSTOM_TREATMENT = { "Blood Flow Rate": 250, @@ -85,17 +256,16 @@ "Rinseback Rate" : 100, "Venous Pressure Limit High" : 590, "Venous Pressure Limit Low": 560 - } #dictionary consist of slider values of treatment parameters CREATE_TREATMENT_PARAMETER_RANGE = { "Blood Flow Rate": [100, 125, 150, 175, 200, 225, 250, 275, 300, 325, 350, 375, 400, 425, 450, 475, 500], "Dialysate Flow Rate": [100, 150, 200, 250, 300, 350, 400, 450, 500, 550, 600], "Duration": [60, 75, 90, 105, 120, 135, 150, 165, 180, 195, 240, 255, 270, 285, 300, 315, 330, 345, 360, 375, 390, 405, 420, 435, 450, 465, 480], - "Heparin Dispensing Rate": [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 0], - "Heparin Bolus Volume": [0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2, 0], - "Heparin Stop Time": [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 0], + "Heparin Dispensing Rate": [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1], + "Heparin Bolus Volume": [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2], + "Heparin Stop Time": [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200, 210, 220, 230, 240, 250, 260, 270, 280, 290, 300, 310, 320, 330, 340, 350, 360, 370, 380, 390, 400, 410, 420, 430, 440, 450, 460, 470, 480], "Saline Bolus Volume": [100, 200, 300], "Dialysate Temperature": [35.0, 35.5, 36.0, 36.5, 37.0], "Blood Pressure Measurement Interval": [0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 0], @@ -108,20 +278,102 @@ "blood_flow_rate" : [100, 25, 46], "dialysate_flow_rate" : [100, 50, 75], "duration" : [60, 15, 26.6], - "heparin_dispensing_rate" : [0, 0.1, 75], - "heparin_bolus_volume" : [0, 0.1, 37], - "heparin_stop_time" : [0, 10, 15.9], + "heparin_dispensing_rate" : [0.2, 0.1, 93], + "heparin_bolus_volume" : [0.2, 0.1, 41], + "heparin_stop_time" : [0, 10, 15.5], "saline_bolus" : [100, 100, 375], "dialysate_temperature" : [35, 0.5, 187.5], "arterial_pressure_limit_high" : [20, 10, 11.931], "blood_pressure_measurement_interval" : [0, 5, 62], "rinseback_flow_rate" : [50, 25, 187], } +#ultrafilteration volume based on flow parameters. Python list contains Rotational speed, Motor speed, +# MC speed, MC current and PWM. +TREATMENT_ULTRAFILTRATION_FLOW_PARAMETERS = { + 0 : [100, 0, 0, 0, 0, 0, 0], + 1 : [220, 1.45, 1.45, 1.45, 1.45, 1.45, 1.45], + } +#dictionary contains uf maximum and minimum value's to set. +TREATMENT_ULTRAFILTRATION_TESTING_OPTION = { + 0 : {"uf_maximum" : 600, "uf_minimum" : 0}, + 1 : {"uf_maximum" : 480, "uf_minimum" : 250}, + } + + #tst_pretreatment_screens NUM_OF_PRETREATMENT_BULLETS = len(PRE_TREATMENT_SCREENS) +#dictionary contains saline cumulative and saline delivered value +#key : saline cumulative value. +#value: saline delivered value +SALINE_BOLUS_VALUES = { + 0 : 0, + 1.0 : 1.0, + 125.56 : 100.56, + 165.87 : 145.87, + 220.65 : 220.65, + 325.25 : 300.25, + 400.86 : 380.86, + 500.00 : 500.25, + 634.76 : 634.76, + 823.65 : 800.65, + 999.99 : 999.99, + 1000 : 1000 +} + +#testing options for main treatment saline +SALINE_BOLUS_TARGET = [0, 1, 150, 155, 299, 300] #Boundary Value Analysis + +# pretreatment_patient_connection +SYSTOLIC_PRESSSURE_120 = 120 +SYSTOLIC_PRESSSURE_113 = 113 +SYSTOLIC_PRESSSURE_150 = 150 +SYSTOLIC_PRESSSURE_175 = 175 +SYSTOLIC_PRESSSURE_200 = 200 +SYSTOLIC_PRESSSURE_200 = 200 +SYSTOLIC_PRESSSURE_251 = 251 +SYSTOLIC_PRESSSURE_59 = 59 +SYSTOLIC_PRESSSURE_15 = 15 +DIASTOLIC_PRESSSURE_25 = 25 +DIASTOLIC_PRESSSURE_39 = 39 +DIASTOLIC_PRESSSURE_74 = 74 +DIASTOLIC_PRESSSURE_80 = 80 +DIASTOLIC_PRESSSURE_85 = 85 +DIASTOLIC_PRESSSURE_60 = 60 +DIASTOLIC_PRESSSURE_150 = 150 +DIASTOLIC_PRESSSURE_200 = 200 +DIASTOLIC_PRESSSURE_201 = 201 +HEART_RATE_VAL_39 = 39 +HEART_RATE_VAL_60 = 60 +HEART_RATE_VAL_70 = 70 +HEART_RATE_VAL_85 = 85 +HEART_RATE_VAL_100 = 100 +HEART_RATE_VAL_101 = 101 +HEART_RATE_VAL_110 = 110 +HEART_RATE_VAL_181 = 181 +HEART_RATE_VAL_200 = 200 +UF_MINIMUM_SLIDER_WIDTH = -2 +UF_MAXIMUM_SLIDER_WIDTH = 638.00 +UF_VALID_RANGE = 700 +TRAINING_INDICATOR_SCREEN = 4 +ULTRAFILTRATION_VOLUME_COMBINATION_FROM_ULTRAFILTRATION_SETUP_SCREEN = { + "OPTION_1" : {"uf_maximum" : 800, "uf_minimum" : 0}, + "OPTION_2" : {"uf_maximum" : 500, "uf_minimum" : 0}, + "OPTION_3" : {"uf_maximum" : 550, "uf_minimum" : 0}, + "OPTION_4" : {"uf_maximum" : 300, "uf_minimum" : 0}, + "OPTION_5" : {"uf_maximum" : 280, "uf_minimum" : 0}, + "OPTION_6" : {"uf_maximum" : 765, "uf_minimum" : 0}, + "OPTION_7" : {"uf_maximum" : 680, "uf_minimum" : 0}, + "OPTION_8" : {"uf_maximum" : 1500, "uf_minimum" : 0}, + "OPTION_9" : {"uf_maximum" : 390, "uf_minimum" : 0}, + "OPTION_10" : {"uf_maximum" : 800, "uf_minimum" : 0}, + "OPTION_11" : {"uf_maximum" : 1000, "uf_minimum" : 0}, + "OPTION_12" : {"uf_maximum" : 1250, "uf_minimum" : 0}, + } + + #pre-treatment_priming NOT_VISIBLE = False VISIBLE = True @@ -133,10 +385,141 @@ COUNT_DOWN_TIME_100 = 100 MINIMUM_COUNTDOWN_TIME = 0 ENABLED = True -DISABLED = False -CONSUMABLE_SELF_TEST_BICARB_PUMP_CHECK_STATE = 3 +DISABLED = False + + +#pre-treatment_priming ACCEPTED = True REJECTED = False +#Filter Flush +MAXIMUM_COUNTDOWN_TIME = 300 +MINIMUM_COUNTDOWN_TIME = 0 +TIME_OUT_DURATION_300 = 300 +TIME_OUT_DURATION_200 = 200 +TIME_OUT_DURATION_100 = 100 +COUNT_DOWN_TIME_100 = 100 +MINIMUM_COUNTDOWN_TIME = 0 +CONSUMABLE_SELF_TEST_BICARB_PUMP_CHECK_STATE = 3 +#settings information +BRIGHTNESS_MIN_VAL = 20 +BRIGHTNESS_MAX_VAL = 100 +VOLUME_MIN_VAL = 20 +VOLUME_MAX_VAL = 100 + +#service screen +PASSWORD = 123 + +#wifi screen +IP_ADDRESS = {"valid" : "192.168.1.1","invalid" : "1.2.2.3"} +GATEWAY = {"valid" : "255.255.255.0", "invalid" : "1.2.3.4"} +SUBNET_MASK = {"valid" : "255.255.255.0", "invalid" : "3.4.2.1"} +DNS = {"valid" : "0.0.0.0", "invalid" : "3.2.1.3"} + +#dictionary consist of review parameters values of post treatment +POST_TREATMENT_REVIEW_PARAMETER_RANGE = { + "Patient ID": ["abcd", "xyz"], + "Heparin Stop": [0, 101], + "Device ID": [1234, 1234], + "Heparin Delivered Volume": [10.1, 10.5], + "Blood Flow Rate": [100, 125], + "Treatment Start DateTime": [1654519251, 1623382321], + "Dialysate Flow Rate": [100, 150], + "Treatment End DateTime": [1654519251, 1623382321], + "Treatment Duration": [70, 75], + "Water Sample Test Result": [0, 1], + "Actual Treatment Duration": [62, 126], + "Dialysate Volume Used": [4.0, 6.0], + "Acid ConcentrateType": [0, 1], + "Prescribed UF Volume": [0.3, 0.5], + "Bicarbonate Concentrate Type": [0, 0], + "Target UF Volume": [10.1, 10.5], + "Potassium Concentration": [60, 75], + "Actual UF Volume": [0.3, 0.5], + "Calcium Concentration": [3, 56], + "Prescribed UF Rate": [0.1, 0.55], + "Bicarbonate Concentration": [14, 50], + "Target UF Rate": [0.2, 0.56], + "Sodium Concentration": [4, 6], + "Actual UF Rate": [0.5, 0.6], + "Dialysate Temperature": [35.0, 35.5], + "Saline Bolus Volume": [300, 250], + "Dialyzer Type": [0, 1], + "Average Blood Flow": [54.3, 67.3], + "Heparin Type": [0, 0], + "Average Dialysate Flow": [0.6, 0.5], + "Average Dialysate Temp": [35.0, 35.5], + "Heparin Bolus Volume": [0.0, 0.1], + "Average Arterial Pressure": [0.0, 11.56], + "Heparin Dispense Rate": [0.0, 0.1], + "Average Venous Pressure": [20.0, 101.45], +} + + +VALID = True +INVALID = False + +#cloud sync index +EPOCH_INDEX = 0 +SEQUENCE_INDEX = 1 +CRC_INDEX = 2 +CODE_INDEX = 3 +PARAMETER_COUNT = 4 +PARAMETER_INDEX = 5 + +#cloud_sync_hd_opmodes +OPMODE_INDEX = 5 +SUBMODE = 6 +HD_OPMODES_MSG_PARAMETER_LEN = 7 +HD_OPMODES_CREDENTIAL_PARAMETER_LEN = 6 + +#ui_logs +RESET_BINARY = "0" +SET_BINARY = "1" + + +TREATMENT_DATA_PARAMETER = { + "Blood flow rate" : [1, 2], + "Dialysate flow rate" : [3, 5], + "Uf rate" : [1.234, 3.452], + "Arterial pressure" : [10.123, 10.567], + "Venous pressure" : [10.323, 10.634], + + } +TREATMENT_ALARM_PARAMETER = { + "Alarm Id" : [2, 4], + "Parameter1" : [2.3, 3.7], + "Parameter2" : [3.4, 4.5], + + } +TREATMENT_EVENT_PARAMETER = { + "Event id" : [2, 3], + "Old Value" : [1.523, 1.945], + "New Value" : [2.523, 3.567], + + } + +UF_MINIMUM_SLIDER_WIDTH = -2 +UF_MAXIMUM_SLIDER_WIDTH = 638.00 + + +#dg cleaning +WATER_FLUSH_TIME_HOUR = {"valid" : "23","invalid" : "24"} +WATER_FLUSH_TIME_MINUTE = {"valid" : "59","invalid" : "60"} +WATER_FLUSH_CYCLE = {"valid" : "1", "invalid" : "8"} +HEAT_DISINFECTION_TIME_HOUR = {"valid" : "23","invalid" : "24"} +HEAT_DISINFECTION_TIME_MINUTE = {"valid" : "59","invalid" : "60"} +HEAT_DISINFECTION_CYCLE = {"valid" : "7", "invalid" : "61"} + +#main-treatment heparin +NUM_OF_REQUEST_REJECT_REASONS = 46 + + +#heparin cumualtive values +HEPARIN_VALUES = {"Cumulative Value": [0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 1.0, 15.0, 17.8, 20.0]} +COMPLETE_COLOR= '#4290ec' +ENABLED_COLOR = '#fcfcfc' +INCOMPLETE_COLOR = '#607a91' +NUM_OF_REQUEST_REJECT_REASONS = 46