Index: config.xml
===================================================================
diff -u -r5985872d9acb96ae2ef85f620a159bcbf21cc3ca -r1de7a1d5daa737a8375b1e57174f7243c46e653c
--- config.xml (.../config.xml) (revision 5985872d9acb96ae2ef85f620a159bcbf21cc3ca)
+++ config.xml (.../config.xml) (revision 1de7a1d5daa737a8375b1e57174f7243c46e653c)
@@ -4,4 +4,5 @@
+
Index: shared/scripts/configuration/config.py
===================================================================
diff -u -rf8943fd4831755c59de02301e92eed5e2dc6eee5 -r1de7a1d5daa737a8375b1e57174f7243c46e653c
--- shared/scripts/configuration/config.py (.../config.py) (revision f8943fd4831755c59de02301e92eed5e2dc6eee5)
+++ shared/scripts/configuration/config.py (.../config.py) (revision 1de7a1d5daa737a8375b1e57174f7243c46e653c)
@@ -8,7 +8,7 @@
#
# @file utils.py
#
-# @author (last) Joseph varghese
+# @author (last) LTTS
# @date (last) 18-Jan-2022
#
############################################################################
@@ -322,50 +322,6 @@
ACCEPTED = True
REJECTED = False
ALARM_LIST_TITLE = "Alarm list"
-
-REJECTION_REASON = {
- 0: "No Active Alarm List",
- 1: "REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE",
- 2: "REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM",
- 3: "REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE",
- 4: "REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE",
- 5: "REQUEST_REJECT_REASON_TREATMENT_TOO_CLOSE_TO_FINISHED",
- 6: "REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE",
- 7: "REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT",
- 8: "REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE",
- 9: "REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE",
- 10: "REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE",
- 11: "REQUEST_REJECT_REASON_UF_VOLUME_OUT_OF_RANGE",
- 12: "REQUEST_REJECT_REASON_UF_RATE_OUT_OF_RANGE",
- 13: "REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_MINIMUM",
- 14: "REQUEST_REJECT_REASON_UF_NOT_IN_PROGESS",
- 15: "REQUEST_REJECT_REASON_UF_NOT_PAUSED",
- 16: "REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS",
- 17: "REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE",
- 18: "REQUEST_REJECT_REASON_HEPARIN_PRESTOP_EXCEEDS_DURATION",
- 19: "REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH",
- 20: "REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH",
- 21: "REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED",
- 22: "REQUEST_REJECT_REASON_SALINE_BOLUS_NOT_IN_PROGRESS",
- 23: "REQUEST_REJECT_REASON_ACTION_DISABLED_IN_CURRENT_STATE",
- 24: "REQUEST_REJECT_REASON_ALARM_IS_ACTIVE",
- 25: "REQUEST_REJECT_REASON_INVALID_COMMAND",
- 26: "REQUEST_REJECT_REASON_TREATMENT_IS_COMPLETED",
- 27: "REQUEST_REJECT_REASON_ADDL_RINSEBACK_MAX_VOLUME_REACHED",
- 28: "REQUEST_REJECT_REASON_UF_VOLUME_NOT_SET",
- 29: "REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM",
- 30: "REQUEST_REJECT_REASON_HEPARIN_PAUSE_INVALID_IN_THIS_STATE",
- 31: "REQUEST_REJECT_REASON_HEPARIN_NOT_PAUSED",
- 32: "REQUEST_REJECT_REASON_DG_COMM_LOST",
- 33: "REQUEST_REJECT_REASON_DRAIN_NOT_COMPLETE",
- 34: "REQUEST_REJECT_REASON_DG_NOT_IN_STANDBY_IDLE_STATE",
- 35: "REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT",
- 36: "REQUEST_REJECT_REASON_INVALID_DATE_OR_TIME",
- 37: "REQUEST_REJECT_REASON_NO_NEW_TREATMENT_ALARM_TRIGGERED",
- 38: "REQUEST_REJECT_REASON_BATTERY_IS_NOT_CHARGED",
- 39: "REQUEST_REJECT_REASON_RINSEBACK_NOT_COMPLETED",
- }
-
UNDEFINED_ALARM_ID_MSG = "ALARM_ID_UNDEFINED"
ALARM_TITLE = "Alarm"
@@ -424,4 +380,109 @@
BLOOD_PRIMING_TEXT = "Blood Priming"
SALINE_UNIT = "mL"
BLOOD_PRIMING_DEFAULT_VALUE = "0 mL"
+SALINE_BOLUS_CUMULATIVE = 300
+# dictionary of rejection reason from application source code.
+# message location -> denali-> Headers-> common-> MsgDefs.h
+REJECTION_REASON = {
+ 0 : "REQUEST_REJECT_REASON_NONE" , # Used when there is no rejection
+ 1 : "REQUEST_REJECT_REASON_NOT_ALLOWED_IN_CURRENT_MODE" , # "REQuest is not allowed in the current operating mode
+ 2 : "REQUEST_REJECT_REASON_TIMEOUT_WAITING_FOR_USER_CONFIRM" , # Validated "REQuest was not confirmed by user in reasonable time
+ 3 : "REQUEST_REJECT_REASON_NOT_IN_TREATMENT_MODE" , # "REQuest is not allowed if not in treatment mode
+ 4 : "REQUEST_REJECT_REASON_INVALID_TREATMENT_STATE" , # "REQuest is not allowed in current treatment state
+ 5 : "REQUEST_REJECT_REASON_TREATMENT_TOO_CLOSE_TO_FINISHED" , # "REQuest is not allowed so near end of treatment
+ 6 : "REQUEST_REJECT_REASON_TREATMENT_TIME_OUT_OF_RANGE" , # Treatment duration is out of range
+ 7 : "REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_CURRENT" , # Treatment time change is less than currently elapsed treatment time
+ 8 : "REQUEST_REJECT_REASON_BLOOD_FLOW_OUT_OF_RANGE" , # Blood flow is out of range
+ 9 : "REQUEST_REJECT_REASON_DIAL_FLOW_OUT_OF_RANGE" , # Dialysate flow is out of range
+ 10 : "REQUEST_REJECT_REASON_DIAL_VOLUME_OUT_OF_RANGE" , # Dialysate flow rate or treatment duration causes dialysate volume to exceed limit
+ 11 : "REQUEST_REJECT_REASON_UF_VOLUME_OUT_OF_RANGE" , # Ultrafiltration volume is out of range
+ 12 : "REQUEST_REJECT_REASON_UF_RATE_OUT_OF_RANGE" , # Ultrafiltration rate is out of range
+ 13 : "REQUEST_REJECT_REASON_TREATMENT_TIME_LESS_THAN_MINIMUM" , # Treatment time change is less than minimum treatment time
+ 14 : "REQUEST_REJECT_REASON_UF_NOT_IN_PROGESS" , # Ultrafiltration is not currently in progress
+ 15 : "REQUEST_REJECT_REASON_UF_NOT_PAUSED" , # Ultrafiltration is not currently paused
+ 16 : "REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS" , # A saline bolus is in progress
+ 17 : "REQUEST_REJECT_REASON_PARAM_OUT_OF_RANGE" , # A treatment parameter is out of range
+ 18 : "REQUEST_REJECT_REASON_HEPARIN_PRESTOP_EXCEEDS_DURATION" , # The Heparin pre-stop setting is greater than the treatment duration
+ 19 : "REQUEST_REJECT_REASON_ARTERIAL_PRESSURE_LOW_VS_HIGH" , # Arterial pressure low and high alarm limits are not inconsistent
+ 20 : "REQUEST_REJECT_REASON_VENOUS_PRESSURE_LOW_VS_HIGH" , # Venous pressure low and high alarm limits are inconsistent
+ 21 : "REQUEST_REJECT_REASON_SALINE_MAX_VOLUME_REACHED" , # Saline bolus volume maximum has been reached - no more saline allowed
+ 22 : "REQUEST_REJECT_REASON_SALINE_BOLUS_NOT_IN_PROGRESS" , # A saline bolus is not in progress
+ 23 : "REQUEST_REJECT_REASON_ACTION_DISABLED_IN_CURRENT_STATE" , # "REQuested user action is disabled in current state
+ 24 : "REQUEST_REJECT_REASON_ALARM_IS_ACTIVE" , # "REQuested user action not allowed while alarm is active
+ 25 : "REQUEST_REJECT_REASON_INVALID_COMMAND" , # "REQuested user action invalid
+ 26 : "REQUEST_REJECT_REASON_TREATMENT_IS_COMPLETED" , # The treatment has been completed
+ 27 : "REQUEST_REJECT_REASON_ADDL_RINSEBACK_MAX_VOLUME_REACHED" , # Rinseback additional volume maximum has been reached - no more additional rinsebacks allowed
+ 28 : "REQUEST_REJECT_REASON_UF_VOLUME_NOT_SET" , # Ultrafiltration volume is not set yet
+ 29 : "REQUEST_REJECT_REASON_NO_PATIENT_CONNECTION_CONFIRM" , # The user has not confirmed patient connection
+ 30 : "REQUEST_REJECT_REASON_HEPARIN_PAUSE_INVALID_IN_THIS_STATE" , # Heparin cannot be paused if not currently deliverying Heparin
+ 31 : "REQUEST_REJECT_REASON_HEPARIN_NOT_PAUSED" , # Heparin cannot be resumed if not paused
+ 32 : "REQUEST_REJECT_REASON_DG_COMM_LOST" , # Treatment cannot initiate if DG comm is lost
+ 33 : "REQUEST_REJECT_REASON_DRAIN_NOT_COMPLETE" , # Post-treatment reservoirs drain not complete
+ 34 : "REQUEST_REJECT_REASON_DG_NOT_IN_STANDBY_IDLE_STATE" , # Treatment cannot initiate if DG is not in standby idle state
+ 35 : "REQUEST_REJECT_REASON_INVALID_REQUEST_FORMAT" , # "REQuest message not formatted properly
+ 36 : "REQUEST_REJECT_REASON_INVALID_DATE_OR_TIME" , # Given date/time is invalid
+ 37 : "REQUEST_REJECT_REASON_NO_NEW_TREATMENT_ALARM_TRIGGERED" , # Treatment cannot initiate if an alarm with no new treatment property has triggered before
+ 38 : "REQUEST_REJECT_REASON_BATTERY_IS_NOT_CHARGED" , # Battery does not have enough charge to start treatment
+ 39 : "REQUEST_REJECT_REASON_RINSEBACK_NOT_COMPLETED" , # Cannot move on to recirculate without completing full rinseback
+}
+
+NUM_OF_REQUEST_REJECT_REASONS = 39
+
+#main treatment pressure
+PRESSURE_TITLE = "PRESSURES"
+ARTERIAL_TITLE = "Arterial"
+VENOUS_TITLE = "Venous"
+VENOUS_UOM = "mmHg"
+ARTERIAL_UOM = "mmHg"
+LOW_TEXT = "LOW"
+HIGH_TEXT = "HIGH"
+ACCEPTED = True
+REJECTED = False
+
+#pressure
+PRESSURE_STEPS = 10
+ARTERIAL_PRESSURE_MINIMUM = -400
+ARTERIAL_PRESSURE_MAXIMUM = +600
+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
+FLOW_UNIT = "mL/min"
+BLOOD_FLOW_TEXT = "blood"
+DIALYSATE_FLOW_TEXT = "dialysate"
+
+#main treatment screen
+VITALS_TITLE = "VITALS"
+OUT_OF_RANGE_COLOR = "#c53b33"
+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
+HEART_RATE_TITLE = "Heart Rate"
+BLOOD_PRESSURE_TITLE = "Blood Pressure"
+BLOOD_PRESSURE_UNIT = "mmHg"
+HEART_RATE_UNIT = "BPM"
+
Index: shared/scripts/configuration/utility.py
===================================================================
diff -u -rc7858ffd4c77881ebf25737b47bf079b189744cf -r1de7a1d5daa737a8375b1e57174f7243c46e653c
--- shared/scripts/configuration/utility.py (.../utility.py) (revision c7858ffd4c77881ebf25737b47bf079b189744cf)
+++ shared/scripts/configuration/utility.py (.../utility.py) (revision 1de7a1d5daa737a8375b1e57174f7243c46e653c)
@@ -13,16 +13,19 @@
# @date (last) 15-Jan-2022
#
############################################################################
-
+
import names
-import sys
import squish
+import sys
import test
-from builtins import int as pyInt
from configuration import config
+from dialin.ui import utils
+from builtins import int as pyInt
+from datetime import datetime
from dialin.ui.hd_simulator import HDSimulator
+
def check_if_object_is_within_the_container(obj=None, container=None):
"""
check if an object is inside a container
@@ -31,12 +34,12 @@
@return boolean true and false
"""
container = squish.findObject(container)
- containerPos = container.mapToGlobal(squish.QPoint(0, 0))
+ containerPos = container.mapToGlobal(QPoint(0, 0))
container_x, container_y = pyInt(containerPos.x), pyInt(containerPos.y)
container_width, container_height = pyInt(container.width), pyInt(container.height)
obj = squish.findObject(obj)
- objPos = obj.mapToGlobal(squish.QPoint(0, 0))
+ objPos = obj.mapToGlobal(QPoint(0, 0))
obj_x, obj_y = pyInt(objPos.x), pyInt(objPos.y)
obj_width, obj_height = pyInt(obj.width), pyInt(obj.height)
@@ -68,12 +71,64 @@
screenHeight = pyInt(ScreenObj.height)
screenWidth = pyInt(ScreenObj.width)
squish.mouseWheel(ScreenObj, screenWidth-1000,
- screenHeight-10, 0, -50, squish.Qt.NoModifier)
+ screenHeight-10, 0, -50, Qt.NoModifier)
raise LookupError("zone object is not in view to the user after " + \
"trying 100 times")
+
+def pressure_pop_up_text_obj(text):
+ names.o_pop_up_pressure_text_obj["text"] = text
+ return names.o_pop_up_pressure_text_obj
+
+def pressure_text_obj(text):
+ names.o_pressure_text_obj["text"] = text
+ return names.o_pressure_text_obj
+def get_current_date_and_time():
+
+ date_format='%Y/%b/%d - %H:%M'
+ date = datetime.now()
+ return str(date.strftime(date_format))
+
+def enter_keypad_value(entry):
+ """
+ Method to enter user desired
+ value using keypad
+ @param entry: (str) User expected value
+ """
+ test.startSection("Entering {}".format(entry))
+ for value in entry:
+ value = pyInt(value)
+ key_val = squish.waitForObject(keypad_input(value))
+ squish.mouseClick(key_val)
+ utils.waitForGUI(1)
+ test.endSection()
+
+def erase_entered_value(input_field):
+ """
+ Method to erase the entered value
+ @param input_field - (obj) object of input field
+ """
+ test.startSection("Erasing value")
+ input_field= squish.waitForObject(input_field)
+ entered_value = str(input_field.text)
+ for value in entered_value:
+ utils.waitForGUI(1)
+ squish.mouseClick(squish.waitForObjectExists(names.o_back_space_key))
+
+ test.compare(str(input_field.text), "", "Input field should be empty")
+ test.endSection()
+
+def vitals_reading_obj(reading):
+ names.o_vitals_reading["text"] = reading
+ return names.o_vitals_reading
+
+def keypad_input(key_value):
+ names.o_keypad_input["text"] = key_value
+ return names.o_keypad_input
+
+
def scroll_to_value_on_pop_up(value=None, container=None):
"""
scroll to the to the value if object is hidden
@@ -108,4 +163,4 @@
def get_alarm_msg_obj(msg):
names.o_alarm_message["text"] = msg
return names.o_alarm_message
-
\ No newline at end of file
+
Index: shared/scripts/names.py
===================================================================
diff -u -rdfc4bc50e405d3691b009bc39463f8e1b2c77f2c -r1de7a1d5daa737a8375b1e57174f7243c46e653c
--- shared/scripts/names.py (.../names.py) (revision dfc4bc50e405d3691b009bc39463f8e1b2c77f2c)
+++ shared/scripts/names.py (.../names.py) (revision 1de7a1d5daa737a8375b1e57174f7243c46e653c)
@@ -1,12 +1,13 @@
# encoding: UTF-8
-from objectmaphelper import *
# Top Parents
o_QQuickView = { "type": "QQuickView"}
-o_Overlay = {"container": o_QQuickView, "type": "Overlay" }
+o_Overlay = {"container": o_QQuickView, "type": "Overlay"}
+o_Gui_MainView = { "type": "Gui::MainView" }
+
# Modal Dialog
o_modalDialog = {"container": o_Overlay , "id": "_backgroundRect", "type": "Rectangle", "unnamed": 1, "visible": True}
@@ -100,13 +101,98 @@
o_edit_uf_value = {"container": o_Overlay, "text": "EDIT ULTRAFILTRATION VOLUME", "type": "Text", "unnamed": 1, "visible": True}
o_uf_back_button = {"container": o_Overlay, "text": "BACK", "type": "Text", "unnamed": 1, "visible": True}
o_uf_close_button = {"container": o_Overlay, "id": "_image", "source": "qrc:/images/iClose", "type": "Image", "unnamed": 1, "visible": True}
-o_fluid_text = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "Volume Delivered", "type": "Text", "unnamed": 1, "visible": True}
o_cumulative_fluid_text = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "Cumulative Delivered", "type": "Text", "unnamed": 1, "visible": True}
+# Saline Bolus
+o_treatmentHome = {"container": o_QQuickView , "id": "_treatmentHome" , "type": "TreatmentHome", "unnamed": 1, "visible": True}
+o_treatmentStart_TreatmentStart = {"container": o_QQuickView, "id": "_treatmentStart", "type": "TreatmentStart", "unnamed": 1, "visible": True}
+o_fluid_text = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "Volume Delivered", "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentStart_SalineSection = {"container": o_treatmentHome, "id": "_salineTouchArea", "type": "TreatmentSaline", "unnamed": 1, "visible": True}
+o_treatmentHome_mL_Text = {"container": o_treatmentHome, "text": "mL", "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentHome_cumalative_value = {"container": o_treatmentHome, "occurrence": 39, "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentHome_cumalative_unit = {"container": o_treatmentHome, "occurrence": 38, "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentHome_delivered_value = {"container": o_treatmentHome, "occurrence": 36, "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentHome_delivered_unit = {"container": o_treatmentHome, "occurrence": 35, "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentHome_ultrafiltrationTouchArea_TreatmentUltrafiltration = {"container": o_treatmentHome, "id": "_ultrafiltrationTouchArea", "type": "TreatmentUltrafiltration", "unnamed": 1, "visible": True}
+o_treatmentHome_startFluidButton_TouchRect = {"container": o_treatmentHome, "id": "_startFluidButton", "type": "TouchRect", "unnamed": 1, "visible": True}
+o_treatment_notification_rejection = {"container": ":o_treatmentHome", "occurrence": 3, "objectName": "NotificationBar", "type": "NotificationBarSmall", "visible": True}
+#main treatment pressure
+#arterial title text
+o_arterial_title = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "Arterial", "type": "Text", "unnamed": 1, "visible": True}
+#pressure adjustment pop up related objects
+o_pop_up_pressure_text_obj = {"container": o_Overlay, "type": "Text", "unnamed": 1, "visible": True}
+o_pop_up_close_btn = {"container": o_Overlay, "id": "_image", "source": "qrc:/images/iClose", "type": "Image", "unnamed": 1, "visible": True}
+o_pop_up_confirm_btn = {"container": o_Overlay, "text": "CONFIRM", "type": "Text", "unnamed": 1, "visible": True}
+o_pressure_text_obj = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "type": "Text", "unnamed": 1, "visible": True}
+o_pop_up_rejected_msg = {"container": o_Overlay, "type": "Text", "unnamed": 1, "visible": True}
+# Pressure Adjustment
+o_treatmentAdjustmentPressures_Screen = {"container": o_Overlay, "objectName": "TreatmentAdjustmentPressures", "type": "ContentItem"}
+# arterial pressure range slider
+o_arterial_range_slider = {"container": o_treatmentAdjustmentPressures_Screen, "id": "_arterialPressure", "type": "PressureRangeSlider"}
+# arterial progress
+o_arterial_progress = {"container": o_arterial_range_slider , "id": "_pressureRangeBar", "type": "RangeBar"}
+o_arterial_marker = {"container": o_arterial_progress, "id": "_rangeMarkerValue", "type": "RangeMarker"}
+o_arterial_progress_text_value = {"container": o_arterial_marker, "id": "_textValue", "type": "Text"}
+# arterial slider
+o_arterial_slider = {"container": o_arterial_range_slider, "id": "_pressureSlider" , "type": "RangeSlider"}
+# arterial limits bar
+o_arterial_limitbar = {"container": o_arterial_range_slider, "id": "_rangeRect", "type": "RangeRect"}
+# venous pressure range slider
+o_venous_range_slider= {"container": o_treatmentAdjustmentPressures_Screen, "id": "_venousPressure", "type": "PressureRangeSlider"}
+o_venous_progress = {"container": o_venous_range_slider , "id": "_pressureRangeBar", "type": "RangeBar"}
+o_venous_marker = {"container": o_venous_progress , "id": "_rangeMarkerValue", "type": "RangeMarker" }
+o_venous_progress_text_value = {"container": o_venous_marker , "id": "_textValue", "type": "Text"}
+# venous progress
+o_venous_slider = {"container": o_venous_range_slider , "id": "_pressureSlider" , "type": "RangeSlider" }
+o_venous_limitbar = {"container": o_venous_range_slider, "id": "_rangeRect" , "type": "RangeRect"}
+#arterial adjustment low slider title text
+o_arterial_text_low = {"container": o_Overlay, "text": "LOW", "type": "Text", "unnamed": 1, "visible": True}
+#venous adjustment low slider title text
+o_venous_text_low = {"container": o_Overlay, "occurrence": 2, "text": "LOW", "type": "Text", "unnamed": 1, "visible": True}
+#flows
+o_treatment_blood_flow_touch_area = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "FLOWS", "type": "Text", "unnamed": 1, "visible": True}
+o_treatmentStart_TreatmentStart = {"container": o_QQuickView, "id": "_treatmentStart", "type": "TreatmentStart", "unnamed": 1, "visible": True}
+o_treatment_blood_flow_rate = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "id": "_bloodFlow", "type": "TextRect", "unnamed": 1, "visible": True}
+o_treatment_dialysate_flow_rate = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "id": "_dialysateInletFlow", "type": "TextRect", "unnamed": 1, "visible": True}
+o_treatment_blood_flow_adjustment = {"container": o_Overlay, "id": "_bloodFlowTextRect", "type": "TextRect", "unnamed": 1, "visible": True}
+o_treatment_dialysate_flow_adjustment = {"container": o_Overlay, "id": "_dialysateInletFlowTextRect", "type": "TextRect", "unnamed": 1, "visible": True}
+o_treatment_flow_adjustment_close = {"container": o_Overlay, "id": "_closeButton", "type": "CloseButton", "unnamed": 1, "visible": True}
+o_treatment_notification_bar = {"container": o_Overlay, "type": "Text", "unnamed": 1, "visible": True}
+o_dialysateFlowSlider_Slider = {"container": o_Overlay, "id": "_dialysateFlowSlider", "type": "Slider", "unnamed": 1, "visible": True}
+o_blood_flow_slider = {"container": o_Overlay, "id": "_bloodFlowSlider", "type": "Slider", "unnamed": 1, "visible": True}
+o_blood_flow_minimum_value = {"container": o_Overlay, "text": "100mL/min", "type": "Text", "unnamed": 1, "visible": True}
+o_blood_flow_maximum_value = {"container": o_Overlay, "text": "500mL/min", "type": "Text", "unnamed": 1, "visible": True}
+o_dialysate_flow_minimum_value = {"container": o_Overlay, "text": "0mL/min", "type": "Text", "unnamed": 1, "visible": True}
+o_dialysate_flow_maximum_value = {"container": o_Overlay, "occurrence": 2, "text": "0mL/min", "type": "Text", "unnamed": 1, "visible": True}
+o_handler_Rectangle = {"container": o_Overlay, "gradient": 0, "id": "_handler", "type": "Rectangle", "unnamed": 1, "visible": True}
+#vitals
+#vitals title text on main-treatment screen
+o_vitals_title = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "VITALS", "type": "Text", "unnamed": 1, "visible": True}
+#unit of measurement for blood pressure and heart rate
+o_bp_uom = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "mmHg", "type": "Text", "unnamed": 1, "visible": True}
+o_hr_uom = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "text": "BPM", "type": "Text", "unnamed": 1, "visible": True}
+#reading of vitals
+o_vitals_reading = {"container": o_treatmentStack_treatmentHome_TreatmentHome, "type": "Text", "unnamed": 1, "visible": True}
+#vitals pop up confirm and close button
+o_vitals_confrim_btn = {"container": o_treatmentStack_TreatmentStack, "text": "CONFIRM", "type": "Text", "unnamed": 1, "visible": True}
+o_vitals_close_btn = {"container": o_treatmentStack_TreatmentStack, "id": "_image", "source": "qrc:/images/iClose", "type": "Image", "unnamed": 1, "visible": True}
+#vitals title text vitals pop up
+o_vitals_pop_up_title = {"container": o_treatmentStack_TreatmentStack, "text": "VITALS", "type": "Text", "unnamed": 1, "visible": True}
+o_pop_up_bp_title = {"container": o_treatmentStack_TreatmentStack, "text": "Blood Pressure", "type": "Text", "unnamed": 1, "visible": True}
+o_pop_up_heart_rate_title = {"container": o_treatmentStack_TreatmentStack, "text": "Heart Rate", "type": "Text", "unnamed": 1, "visible": True}
+#unit of measurement for blood pressure and heart rate on pop up
+o_pop_up_bp_uom = {"container": o_treatmentStack_TreatmentStack, "text": "mmHg", "type": "Label", "unnamed": 1, "visible": True}
+o_pop_up_heart_rate_uom = {"container": o_treatmentStack_TreatmentStack, "text": "BPM", "type": "Label", "unnamed": 1, "visible": True}
+#systolic, diastolic and heart rate input field
+o_pop_up_systolic_input_field = {"container": o_treatmentStack_TreatmentStack, "echoMode": 0, "id": "_input", "type": "TextInput", "unnamed": 1, "visible": True}
+o_pop_up_diastolic_input_field = {"container": o_treatmentStack_TreatmentStack, "echoMode": 0, "id": "_input", "occurrence": 2, "type": "TextInput", "unnamed": 1, "visible": True}
+o_pop_up_heart_rate_input_field = {"backgroundcolor": "#254670", "container": o_treatmentStack_TreatmentStack, "echoMode": 0, "id": "_input", "occurrence": 3, "type": "TextInput", "unnamed": 1, "visible": True}
+#virtal keypad input field
+o_keypad_input = {"container": o_Gui_MainView, "id":"keyText", "type": "Text", "unnamed": 1, "visible": True}
+#virtal keypad back space key
+o_back_space_key = {"container": o_Gui_MainView, "id": "backspaceKeyIcon", "source": "qrc:/QtQuick/VirtualKeyboard/content/styles/default/images/backspace-868482.svg", "type": "Image", "unnamed": 1, "visible": True}
-
-
\ No newline at end of file
Index: suite.conf
===================================================================
diff -u -rf8943fd4831755c59de02301e92eed5e2dc6eee5 -r1de7a1d5daa737a8375b1e57174f7243c46e653c
--- suite.conf (.../suite.conf) (revision f8943fd4831755c59de02301e92eed5e2dc6eee5)
+++ suite.conf (.../suite.conf) (revision 1de7a1d5daa737a8375b1e57174f7243c46e653c)
@@ -4,6 +4,6 @@
IMPLICITAUTSTART=0
LANGUAGE=Python
OBJECTMAPSTYLE=script
-TEST_CASES=tst_environment tst_post tst_standbymode tst_In_treatment tst_ui_alarms_list tst_ui_alarms_dialog
+TEST_CASES=tst_environment tst_post tst_standbymode tst_In_treatment tst_main_treatment_pressure tst_treatment_blood_dialysateflow_rate tst_main_treatment_vitals tst_ui_alarms_list tst_ui_alarms_dialog
VERSION=3
WRAPPERS=Qt