Index: leahi.pro =================================================================== diff -u -rb0ad6789ac542b1c24db1d89af3d4e1411a4d4f1 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- leahi.pro (.../leahi.pro) (revision b0ad6789ac542b1c24db1d89af3d4e1411a4d4f1) +++ leahi.pro (.../leahi.pro) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -181,6 +181,7 @@ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.h \ sources/model/td/adjustment/settings/MTDAdvancedInstitutionalRecordResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustPressuresWideningResponse.h \ + sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.h \ sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsResponse.h \ sources/model/td/data/MTDAirBubbleData.h \ sources/model/td/data/MTDAirPumpData.h \ @@ -300,6 +301,7 @@ sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSaline.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSetPoints.h \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationConfirm.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationEdit.h \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationState.h \ @@ -552,6 +554,7 @@ sources/model/td/adjustment/settings/MAdjustTDVersionsResponse.cpp \ sources/model/td/adjustment/settings/MTDAdvancedInstitutionalRecordResponse.cpp \ sources/model/td/adjustment/treatment/MTreatmentAdjustPressuresWideningResponse.cpp \ + sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.cpp \ sources/model/td/data/MTDAirBubbleData.cpp \ sources/model/td/data/MTDAirPumpData.cpp \ sources/model/td/data/MTDAirTrapData.cpp \ @@ -782,6 +785,7 @@ sources/view/td/adjustment/treatment/VTreatmentAdjustmentPressuresLimits.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSaline.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentSetPoints.cpp \ + sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationState.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationEdit.cpp \ sources/view/td/adjustment/treatment/VTreatmentAdjustmentUltrafiltrationConfirm.cpp \ Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -r54dac829fccaf4646e2e21c18226893afd3d8e73 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 54dac829fccaf4646e2e21c18226893afd3d8e73) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -302,6 +302,23 @@ /*! * \brief MessageDispatcher::onAdjustment + * \details This method transmits the set points adjustment request message. + * \param vData - Data model contains set points adjustment values + * \return void + */ +void MessageDispatcher::onAdjustment(const AdjustVitalsAlarmLimitsRequestData &vData) +{ + QVariantList mData; + mData += vData.systolicBpLowAlarmLimit ; + mData += vData.systolicBpHighAlarmLimit ; + mData += vData.heartRateLowAlarmLimit ; + mData += vData.heartRateHighAlarmLimit ; + mData += vData.vitalsInterval ; + onActionTransmit(GuiActionType::ID_AdjustVitalsAlarmLimitsReq, mData); +} + +/*! + * \brief MessageDispatcher::onAdjustment * \details This method transmits the dialysate temperature adjustment request message. * \param vData - Data model contains dialysate temperature adjustment values * \return void Index: sources/canbus/MessageDispatcher.h =================================================================== diff -u -r9403146058e7c4cef17bd542bbd39bbf032be9f3 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 9403146058e7c4cef17bd542bbd39bbf032be9f3) +++ sources/canbus/MessageDispatcher.h (.../MessageDispatcher.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -133,6 +133,7 @@ GuiActionType::ID_AdjustDurationEditReq , GuiActionType::ID_AdjustDurationConfirmReq , GuiActionType::ID_AdjustSetPointsReq , + GuiActionType::ID_AdjustVitalsAlarmLimitsReq , GuiActionType::ID_AdjustBloodFlowRateReq , GuiActionType::ID_AdjustDialysateFlowRateReq , GuiActionType::ID_AdjustDialysateTemperatureReq , Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -r54dac829fccaf4646e2e21c18226893afd3d8e73 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 54dac829fccaf4646e2e21c18226893afd3d8e73) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -170,8 +170,11 @@ {Gui::GuiActionType::ID_AdjustDurationConfirmRsp , 2 * 4 }, // 2 parameters each 4bytes // ---- - {Gui::GuiActionType::ID_AdjustSetPointsReq , 10 * 4 }, // 5 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustSetPointsReq , 10 * 4 }, // 10 parameter each 4bytes {Gui::GuiActionType::ID_AdjustSetPointsRsp , 11 * 4 }, // 11 parameters each 4bytes + // ---- + {Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsReq , 5 * 4 }, // 5 parameter each 4bytes + {Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsRsp , 6 * 4 }, // 6 parameters each 4bytes // ---- {Gui::GuiActionType::ID_AdjustBloodFlowRateReq , 1 * 4 }, // 1 parameter each 4bytes Index: sources/canbus/MessageInterpreter.cpp =================================================================== diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) +++ sources/canbus/MessageInterpreter.cpp (.../MessageInterpreter.cpp) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -251,6 +251,7 @@ case Gui::GuiActionType::ID_AdjustDurationEditReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDurationEditRequestData ); break; case Gui::GuiActionType::ID_AdjustDurationConfirmReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDurationConfirmRequestData ); break; case Gui::GuiActionType::ID_AdjustSetPointsReq : INTERPRET_TRANSMIT_MESSAGE(AdjustSetPointsRequestData ); break; + case Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsReq : INTERPRET_TRANSMIT_MESSAGE(AdjustVitalsAlarmLimitsRequestData ); break; case Gui::GuiActionType::ID_AdjustBloodFlowRateReq : INTERPRET_TRANSMIT_MESSAGE(AdjustBloodFlowRateRequestData ); break; case Gui::GuiActionType::ID_AdjustDialysateFlowRateReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDialysateFlowRateRequestData ); break; case Gui::GuiActionType::ID_AdjustDialysateTemperatureReq : INTERPRET_TRANSMIT_MESSAGE(AdjustDialysateTemperatureRequestData ); break; @@ -549,6 +550,7 @@ case Gui::GuiActionType::ID_AdjustDurationEditRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationEditRsp ); break; case Gui::GuiActionType::ID_AdjustDurationConfirmRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDurationConfirmRsp ); break; case Gui::GuiActionType::ID_AdjustSetPointsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustSetPointsRsp ); break; + case Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustVitalsAlarmLimitsRsp ); break; case Gui::GuiActionType::ID_AdjustBloodFlowRateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustBloodFlowRateRsp ); break; case Gui::GuiActionType::ID_AdjustDialysateFlowRateRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDialysateFlowRateRsp ); break; case Gui::GuiActionType::ID_AdjustDialysateTemperatureRsp : ok = notify(vMessage, vData, Gui::GuiActionType::ID_AdjustDialysateTemperatureRsp ); break; Index: sources/gui/GuiGlobals.cpp =================================================================== diff -u -r7c78fc682c3b1dbfe2e416e3812f98e15875b751 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 7c78fc682c3b1dbfe2e416e3812f98e15875b751) +++ sources/gui/GuiGlobals.cpp (.../GuiGlobals.cpp) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -159,6 +159,7 @@ #include "VTreatmentAdjustmentIsolatedUFDurationEdit.h" #include "VTreatmentAdjustmentIsolatedUFVolumeEdit.h" #include "VTreatmentAdjustmentSetPoints.h" +#include "VTreatmentAdjustmentVitalsAlarmLimits.h" // ----- Post-Treatment Adjustments #include "VPostTreatmentAdjustPatientDisconnectionConfirm.h" #include "VPostTreatmentAdjustDisposablesRemovalConfirm.h" Index: sources/gui/GuiGlobals.h =================================================================== diff -u -r90213417dbea130b76ae45a35083d188bd43f45e -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 90213417dbea130b76ae45a35083d188bd43f45e) +++ sources/gui/GuiGlobals.h (.../GuiGlobals.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -276,6 +276,9 @@ ID_AdjustVitalsReq = 0x6300, // 99 ID_AdjustVitalsRsp = 0x6400, // 100 + ID_AdjustVitalsAlarmLimitsReq = 0xB800, // 184 + ID_AdjustVitalsAlarmLimitsRsp = 0xB900, // 100 + ID_AdjustHeparinReq = 0x8A00, // 138 ID_AdjustHeparinRsp = 0x8B00, // 139 @@ -339,7 +342,7 @@ ID_AdjustDisinfectStartReq = 0x7F0F, // 127 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustDisinfectStartRsp = 0x800F, // 128 //// ----- @CRAPIZED: had to change to avoid duplication - ID_AdjustDGCleaningUsageReq = 0xB800, // 184 + ID_AdjustDGCleaningUsageReq = 0xB80F, // 184 //// ----- @CRAPIZED: had to change to avoid duplication ID_AdjustDGCleaningUsageRsp = 0x8D0F, // 141 //// ----- @CRAPIZED: had to change to avoid duplication // RO Water Input Mode Index: sources/gui/qml/main.qml =================================================================== diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/qml/main.qml (.../main.qml) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) +++ sources/gui/qml/main.qml (.../main.qml) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -134,6 +134,7 @@ import VTreatmentAdjustmentDurationEdit 0.1 import VTreatmentAdjustmentDurationConfirm 0.1 import VTreatmentAdjustmentSetPoints 0.1 +import VTreatmentAdjustmentVitalsAlarmLimits 0.1 import VTreatmentAdjustmentBloodFlowRate 0.1 import VTreatmentAdjustmentDialysateFlowRate 0.1 import VTreatmentAdjustmentDialysateTemperature 0.1 @@ -303,6 +304,7 @@ VTreatmentAdjustmentDurationEdit { id: vTreatmentAdjustmentDurationEdit } VTreatmentAdjustmentDurationConfirm { id: vTreatmentAdjustmentDurationConfirm } VTreatmentAdjustmentSetPoints { id: vTreatmentAdjustmentSetPoints } + VTreatmentAdjustmentVitalsAlarmLimits { id: vTreatmentAdjustmentVitalsAlarmLimits } VTreatmentAdjustmentBloodFlowRate { id: vTreatmentAdjustmentBloodFlowRate } VTreatmentAdjustmentDialysateFlowRate { id: vTreatmentAdjustmentDialysateFlowRate } VTreatmentAdjustmentDialysateTemperature { id: vTreatmentAdjustmentDialysateTemperature } Index: sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml =================================================================== diff -u -rd66feb12d37023f6f67672ff4acdb5abebdbff15 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml (.../TreatmentSectionHeader.qml) (revision d66feb12d37023f6f67672ff4acdb5abebdbff15) +++ sources/gui/qml/pages/treatment/TreatmentSectionHeader.qml (.../TreatmentSectionHeader.qml) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -67,6 +67,21 @@ color: Colors.textTextRectLabel } + + IconButton { id : _editButton + anchors { + verticalCenter : _title.verticalCenter + left : _title.right + rightMargin : Variables.defaultMargin + } + visible : showEdit + enabled : editEnabled && _root.setEditActive + iconSize : 30 + iconImageSource : enabled ? "qrc:/images/iEdit" : "qrc:/images/iEditDisabled" + onPressed : _root.editClicked() + } + + Row { id: _buttonRow spacing : Variables.defaultMargin * 1.5 anchors { @@ -102,12 +117,5 @@ _root.lockClicked() } } - - IconButton { id : _editButton - visible : showEdit - enabled : editEnabled && _root.setEditActive - iconImageSource : enabled ? "qrc:/images/iEdit" : "qrc:/images/iEditDisabled" - onPressed : _root.editClicked() - } } } Index: sources/gui/qml/pages/treatment/TreatmentStack.qml =================================================================== diff -u -r5601274da6b6a67a1887c3994640a47549ae9e26 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 5601274da6b6a67a1887c3994640a47549ae9e26) +++ sources/gui/qml/pages/treatment/TreatmentStack.qml (.../TreatmentStack.qml) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -216,6 +216,18 @@ } } + + Connections { target: vTreatmentAdjustmentVitalsAlarmLimits + function onAdjustmentTriggered ( vValue ) { + if (vTreatmentAdjustmentVitalsAlarmLimits.adjustment_Accepted) { + if ( _treatmentAdjustmentVitalsInterval.isValid ) { _treatmentAdjustmentVitalsInterval.close() } + } + else { + _treatmentAdjustmentVitalsInterval.notification.text = vTreatmentAdjustmentVitalsAlarmLimits.text() + } + } + } + Connections { target: vTreatmentAdjustmentBloodPrime function onAdjustmentTriggered ( vValue ) { if (vTreatmentAdjustmentBloodPrime.adjustment_Accepted) { Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml =================================================================== diff -u -rbea36be2766046e63c4e82539a630b5cee7ce1c6 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision bea36be2766046e63c4e82539a630b5cee7ce1c6) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitalsInterval.qml (.../TreatmentAdjustmentVitalsInterval.qml) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -23,48 +23,137 @@ TreatmentAdjustmentBase { id: _root contentItem.objectName: "TreatmentAdjustmentVitalsInterval" - titleText : qsTr("Vitals Interval") + titleText : qsTr("Vitals Settings") titlePixelSize : Fonts.fontPixelSection - height : Variables.smallDialogHeight - width : Variables.smallDialogWidth + readonly property int containerWidth : (_root.width - (Variables.defaultMargin * 5))/2 + readonly property bool isValid : _systolicLowAlarmLimit .valid && + _systolicHighAlarmLimit .valid && + _heartRateLowAlarmLimit .valid && + _heartRateHighAlarmLimit .valid && + _bpMeasurementInterval .valid + function confirm() { vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[_bpMeasurementIntervalControl.currentIndex] + vTreatmentAdjustmentVitalsAlarmLimits.doAdjustment(_systolicLowAlarmLimit.value , + _systolicHighAlarmLimit.value , + _heartRateLowAlarmLimit.value , + _heartRateHighAlarmLimit.value , + vTreatmentCreate.bloodPressureMeasureInterval ) vTreatmentVitals.doTimerStart() - _root.close() } onOpened: _bpMeasurementIntervalControl.currentIndex = vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - LabelUnitContainer { id: _bpMeasurementInterval + + Row { id: _controlRow + objectName : "_controlRow" anchors { - verticalCenter : _root.contentItem.verticalCenter - verticalCenterOffset: Variables.defaultMargin * -3 // better align label with dialog height - horizontalCenter: _root.contentItem.horizontalCenter + top : parent.top + topMargin : Variables.defaultMargin * 2 + bottom : _confirmButton.top + horizontalCenter: parent.horizontalCenter } + spacing : Variables.defaultMargin - text : qsTr("Vitals Interval") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason - width : Variables.adjustmentLabelUnitContainerWidth - height : Variables.adjustmentLabelUnitContainerHeight + Column { id: _controlLeftColumn + objectName : "_controlLeftColumn" + spacing : Variables.defaultMargin - contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet - value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - model : vTreatmentRanges.bloodPressureMeasureInterval - defaultValue : vTreatmentRanges.vitalsInterval - canOff : true + LabelUnitValueAdjuster { id: _systolicLowAlarmLimit + width : _root.containerWidth + text : qsTr("Systolic BP Low Alarm Limit") + unitText : Variables.unitTextBloodPressure + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.systolicBpLowAlarmLimitRejectionReson + minimum : vTreatmentRanges.systolicBloodPressureLowAlarmLimitMin + maximum : vTreatmentRanges.systolicBloodPressureLowAlarmLimitMax + step : vTreatmentRanges.systolicBloodPressureLowAlarmLimitRes + value : vTreatmentRanges.systolicBloodPressureLowAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _systolicLowAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.systolicBpLowAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } - onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + LabelUnitValueAdjuster { id: _systolicHighAlarmLimit + width : _root.containerWidth + text : qsTr("Systolic BP Low Alarm Limit") + unitText : Variables.unitTextBloodPressure + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.systolicBpHighAlarmLimitRejectionReson + minimum : vTreatmentRanges.systolicBloodPressureHighAlarmLimitMin + maximum : vTreatmentRanges.systolicBloodPressureHighAlarmLimitMax + step : vTreatmentRanges.systolicBloodPressureHighAlarmLimitRes + value : vTreatmentRanges.systolicBloodPressureHighAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _systolicHighAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.systolicBpHighAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } + } - onDidChange : function(vValue) { - if ( ! _bpMeasurementInterval.valid ) { - vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason + Column { id: _controlRightColumn + objectName: "_controlRightColumn" + spacing: Variables.defaultMargin + + LabelUnitValueAdjuster { id: _heartRateLowAlarmLimit + width : _root.containerWidth + text : qsTr("Heart Rate Low Alarm Limit") + unitText : Variables.unitTextHeartBeat + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.heartRateLowAlarmLimitRejectionReson + minimum : vTreatmentRanges.heartRateLowAlarmLimitMin + maximum : vTreatmentRanges.heartRateLowAlarmLimitMax + step : vTreatmentRanges.heartRateLowAlarmLimitRes + value : vTreatmentRanges.heartRateLowAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _heartRateLowAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.heartRateLowAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue } - vTreatmentCreate.bloodPressureMeasureIntervalSet = true } + + LabelUnitValueAdjuster { id: _heartRateHighAlarmLimit + width : _root.containerWidth + text : qsTr("Heart Rate High Alarm Limit") + unitText : Variables.unitTextHeartBeat + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.heartRateHighAlarmLimitRejectionReson + minimum : vTreatmentRanges.heartRateHighAlarmLimitMin + maximum : vTreatmentRanges.heartRateHighAlarmLimitMax + step : vTreatmentRanges.heartRateHighAlarmLimitRes + value : vTreatmentRanges.heartRateHighAlarmLimitDef + isActive : true + onDidChange : function(vValue) { + if ( ! _heartRateHighAlarmLimit.valid ) { vTreatmentAdjustmentVitalsAlarmLimits.heartRateHighAlarmLimitRejectionReson = Variables.noRejectReason } + value = vValue + } + } + + LabelUnitContainer { id: _bpMeasurementInterval + text : qsTr("Vitals Interval") + unitText : Variables.unitTextDuration + valid : ! vTreatmentAdjustmentVitalsAlarmLimits.vitalsIntervalRejectionReson + width : _root.containerWidth + height : Variables.adjustmentLabelUnitContainerHeight + + contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl + isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) + model : vTreatmentRanges.bloodPressureMeasureInterval + defaultValue : vTreatmentRanges.vitalsInterval + canOff : true + + onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + + onDidChange : function(vValue) { + if ( ! _bpMeasurementInterval.valid ) { + vTreatmentAdjustmentVitalsAlarmLimits.vitalsIntervalRejectionReson = Variables.noRejectReason + } + vTreatmentCreate.bloodPressureMeasureIntervalSet = true + } + } + } } } Index: sources/model/MModel.h =================================================================== diff -u -rc70815ad2b3beadf61832f2e4d12eb90d476e020 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/model/MModel.h (.../MModel.h) (revision c70815ad2b3beadf61832f2e4d12eb90d476e020) +++ sources/model/MModel.h (.../MModel.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -154,6 +154,7 @@ #include "MTreatmentAdjustDurationEditResponse.h" #include "MTreatmentAdjustDurationConfirmResponse.h" #include "MTreatmentAdjustSetPointsResponse.h" +#include "MTreatmentAdjustVitalsAlarmLimitsResponse.h" #include "MTreatmentAdjustBloodFlowRateResponse.h" #include "MTreatmentAdjustDialysateFlowRateResponse.h" #include "MTreatmentAdjustDialysateTemperatureResponse.h" @@ -468,6 +469,7 @@ REGISTER_METATYPE( AdjustDurationEditRequestData ) \ REGISTER_METATYPE( AdjustDurationConfirmRequestData ) \ REGISTER_METATYPE( AdjustSetPointsRequestData ) \ + REGISTER_METATYPE( AdjustVitalsAlarmLimitsRequestData ) \ REGISTER_METATYPE( AdjustBloodFlowRateRequestData ) \ REGISTER_METATYPE( AdjustDialysateFlowRateRequestData ) \ REGISTER_METATYPE( AdjustDialysateTemperatureRequestData ) \ @@ -519,6 +521,7 @@ REGISTER_METATYPE( AdjustDurationEditResponseData ) \ REGISTER_METATYPE( AdjustDurationConfirmResponseData ) \ REGISTER_METATYPE( AdjustSetPointsResponseData ) \ + REGISTER_METATYPE( AdjustVitalsAlarmLimitsResponseData ) \ REGISTER_METATYPE( AdjustBloodFlowRateResponseData ) \ REGISTER_METATYPE( AdjustDialysateFlowRateResponseData ) \ REGISTER_METATYPE( AdjustDialysateTemperatureResponseData ) \ @@ -695,6 +698,7 @@ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDurationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDurationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustSetPointsResponseData ) \ + ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustVitalsAlarmLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustBloodFlowRateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDialysateFlowRateResponseData ) \ ACTION_RECEIVE_BRIDGE_CONNECTION(vSOURCE, AdjustDialysateTemperatureResponseData ) \ @@ -747,6 +751,7 @@ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDurationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDurationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustSetPointsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustVitalsAlarmLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustBloodFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDialysateFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_CONNECTION(vSOURCE, AdjustDialysateTemperatureRequestData ) \ @@ -942,6 +947,7 @@ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationEditResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDurationConfirmResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustSetPointsResponseData ) \ + ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustVitalsAlarmLimitsResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustBloodFlowRateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDialysateFlowRateResponseData ) \ ACTION_RECEIVE_BRIDGE_DEFINITION( AdjustDialysateTemperatureResponseData ) \ @@ -1016,6 +1022,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDurationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDurationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustSetPointsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustVitalsAlarmLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustBloodFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDialysateFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION( AdjustDialysateTemperatureRequestData ) \ @@ -1089,6 +1096,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDurationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDurationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustSetPointsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustVitalsAlarmLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustBloodFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDialysateFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_NOEMIT( AdjustDialysateTemperatureRequestData ) \ @@ -1162,6 +1170,7 @@ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDurationEditRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDurationConfirmRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustSetPointsRequestData ) \ + ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustVitalsAlarmLimitsRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustBloodFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDialysateFlowRateRequestData ) \ ADJUST_TRANSMT_BRIDGE_DEFINITION_PUBLIC( AdjustDialysateTemperatureRequestData ) \ @@ -1320,6 +1329,7 @@ ACTION_RECEIVE_SIGNAL( AdjustDurationEditResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDurationConfirmResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustSetPointsResponseData ) \ + ACTION_RECEIVE_SIGNAL( AdjustVitalsAlarmLimitsResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustBloodFlowRateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDialysateFlowRateResponseData ) \ ACTION_RECEIVE_SIGNAL( AdjustDialysateTemperatureResponseData ) \ Index: sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h =================================================================== diff -u -r90213417dbea130b76ae45a35083d188bd43f45e -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 90213417dbea130b76ae45a35083d188bd43f45e) +++ sources/model/hd/adjustment/treatment/MTreatmentAdjustRequests.h (.../MTreatmentAdjustRequests.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -225,6 +225,43 @@ }; /*! + * \brief The MAdjustVitalsAlarmLimitsReq class + * \details The vitals alarm limits change request model + * + * | MSG | CAN ID | Type | Ack | Src | Dst | Description | + * |:----:|:------:|:------:|:---:|:---:|:---:|:-------------------:| + * |0xB800| 0x100 | Req | Y | UI | TD | Vitals Alarm Limits | + * + * | Payload || + * | || + * | #1:(U32) | \ref systolicBpLowAlarmLimit | + * | #2:(U32) | \ref systolicBpHighAlarmLimit | + * | #3:(U32) | \ref heartRateLowAlarmLimit | + * | #4:(U32) | \ref heartRateHighAlarmLimit | + * | #5:(U32) | \ref vitalsInterval | + * + */ +class MAdjustVitalsAlarmLimitsReq : public MModel { +public: + quint32 systolicBpLowAlarmLimit = 0; + quint32 systolicBpHighAlarmLimit = 0; + quint32 heartRateLowAlarmLimit = 0; + quint32 heartRateHighAlarmLimit = 0; + quint32 vitalsInterval = 0; + + QString toString() { + return toString({systolicBpLowAlarmLimit, + systolicBpHighAlarmLimit, + heartRateLowAlarmLimit, + heartRateHighAlarmLimit, + vitalsInterval}); + } + static QString toString(const QVariantList &vParameters) { + return MModel::toString("AdjustVitalsAlarmLimitsReq", vParameters); + } +}; + +/*! * \brief The MAdjustBloodFlowRateReq class * \details The treatment duration change request model * @@ -780,6 +817,7 @@ typedef Model:: MAdjustDurationEditReq AdjustDurationEditRequestData; typedef Model:: MAdjustDurationConfirmReq AdjustDurationConfirmRequestData; typedef Model:: MAdjustSetPointsReq AdjustSetPointsRequestData; +typedef Model:: MAdjustVitalsAlarmLimitsReq AdjustVitalsAlarmLimitsRequestData; typedef Model:: MAdjustBloodFlowRateReq AdjustBloodFlowRateRequestData; typedef Model:: MAdjustDialysateFlowRateReq AdjustDialysateFlowRateRequestData; typedef Model:: MAdjustDialysateTemperatureReq AdjustDialysateTemperatureRequestData; Index: sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.cpp =================================================================== diff -u --- sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.cpp (revision 0) +++ sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.cpp (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -0,0 +1,48 @@ +#include "MTreatmentAdjustVitalsAlarmLimitsResponse.h" + +using namespace Model; + +QVariantList MAdjustVitalsAlarmLimitResponse::parameters() const { + return { + _data.mAccepted .value, + _data.mSystolicBpLowAlarmLimitRejectionReson .value, + _data.mSystolicBpHighAlarmLimitRejectionReson.value, + _data.mHeartRateLowAlarmLimitRejectionReson .value, + _data.mHeartRateHighAlarmLimitRejectionReson .value, + _data.mVitalsIntervalRejectionReson .value, + }; +} + +bool MAdjustVitalsAlarmLimitResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { + int index = 0; // message data start position + if ( ! GetValue(vByteArray, index, _data.mAccepted )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSystolicBpLowAlarmLimitRejectionReson )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSystolicBpHighAlarmLimitRejectionReson)) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeartRateLowAlarmLimitRejectionReson )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeartRateHighAlarmLimitRejectionReson )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mVitalsIntervalRejectionReson )) goto lError; + + return true ; + +lError: + if(vIndex) { *vIndex = index; } + + return false ; +} + +/*! + * \brief MAdjustVitalsAlarmLimitResponse::data + * \details Provides model's Data from the received messages data values + * \return Data + */ +AdjustVitalsAlarmLimitsResponseData MAdjustVitalsAlarmLimitResponse::data() const { + Data data; + data.mAccepted = _data.mAccepted .value; + data.mSystolicBpLowAlarmLimitRejectionReson = _data.mSystolicBpLowAlarmLimitRejectionReson .value; + data.mSystolicBpHighAlarmLimitRejectionReson = _data.mSystolicBpHighAlarmLimitRejectionReson .value; + data.mHeartRateLowAlarmLimitRejectionReson = _data.mHeartRateLowAlarmLimitRejectionReson .value; + data.mHeartRateHighAlarmLimitRejectionReson = _data.mHeartRateHighAlarmLimitRejectionReson .value; + data.mVitalsIntervalRejectionReson = _data.mVitalsIntervalRejectionReson .value; + + return data; +} Index: sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.h =================================================================== diff -u --- sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.h (revision 0) +++ sources/model/td/adjustment/treatment/MTreatmentAdjustVitalsAlarmLimitsResponse.h (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -0,0 +1,81 @@ +#pragma once + +// Qt +#include + +// Project +#include "MAbstract.h" +#include "types.h" + +// forward declarations +class tst_models; + +namespace Model { + +/*! + * \brief The MAdjustVitalsAlarmLimitsResponse class + * \details The Vitals Alarm Limits adjustment response model + * + * | MSG | CAN ID | Type | Ack | Src | Dest | Description | + * |:----:|:------:|:----:|:---:|:---:|:----:|:----------------------------: | + * |0xB900| 0x020 | Rsp | Y | TD | UI | Adjust Vitals Alarm Limits Response | + * + * | Payload || + * | || + * | #1:(U32) | \ref mAccepted | + * | #2:(U32) | \ref mSystolicBpLowAlarmLimitRejectionReson | + * | #3:(U32) | \ref mSystolicBpHighAlarmLimitRejectionReson | + * | #4:(U32) | \ref mHeartRateLowAlarmLimitRejectionReson | + * | #5:(U32) | \ref mHeartRateHighAlarmLimitRejectionReson | + * | #6:(U32) | \ref mVitalsIntervalRejectionReson | + * + * \sa Data + * \sa MAdjustVitalsAlarmLimitResponse : Adjust Set Points Request + * + *

Logging info

+ * | || + * | || + * | typeText | Event | + * | unitText | TD | + * | infoText | VitalsAlarmLimits | + * + */ +class MAdjustVitalsAlarmLimitResponse : public MAbstract { + + // friends + friend class ::tst_models; + + QVariantList parameters() const override; + + struct { + Types::U32 mAccepted ; + Types::U32 mSystolicBpLowAlarmLimitRejectionReson ; + Types::U32 mSystolicBpHighAlarmLimitRejectionReson ; + Types::U32 mHeartRateLowAlarmLimitRejectionReson ; + Types::U32 mHeartRateHighAlarmLimitRejectionReson ; + Types::U32 mVitalsIntervalRejectionReson ; + } _data; + +public: + + Type_Enum typeText () const override { return Type_Enum::eEvent ; } + Unit_Enum unitText () const override { return Unit_Enum::eTD ; } + QString infoText () const override { return QString("AdjustVitalsAlarmLimits"); } + + struct Data { + quint32 mAccepted = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mSystolicBpLowAlarmLimitRejectionReson = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mSystolicBpHighAlarmLimitRejectionReson = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mHeartRateLowAlarmLimitRejectionReson = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mHeartRateHighAlarmLimitRejectionReson = 0; /*!< Reason value of type quint32 extracted out */ + quint32 mVitalsIntervalRejectionReson = 0; /*!< Reason value of type quint32 extracted out */ + }; + + MAdjustVitalsAlarmLimitResponse () { } + + bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; + Data data ( ) const ; +}; +} + +typedef Model::MAdjustVitalsAlarmLimitResponse::Data AdjustVitalsAlarmLimitsResponseData; Index: sources/view/VView.h =================================================================== diff -u -r7c78fc682c3b1dbfe2e416e3812f98e15875b751 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/view/VView.h (.../VView.h) (revision 7c78fc682c3b1dbfe2e416e3812f98e15875b751) +++ sources/view/VView.h (.../VView.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -249,6 +249,7 @@ REGISTER_TYPE( VTreatmentAdjustmentIsolatedUFDurationEdit ) \ REGISTER_TYPE( VTreatmentAdjustmentIsolatedUFVolumeEdit ) \ REGISTER_TYPE( VTreatmentAdjustmentSetPoints ) \ + REGISTER_TYPE( VTreatmentAdjustmentVitalsAlarmLimits ) \ REGISTER_TYPE( VTreatmentCreate ) \ REGISTER_TYPE( VTreatmentIsolatedUF ) \ REGISTER_TYPE( VTreatmentTrends ) \ Index: sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.cpp =================================================================== diff -u --- sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.cpp (revision 0) +++ sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.cpp (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -0,0 +1,51 @@ +#include "VTreatmentAdjustmentVitalsAlarmLimits.h" + +// Project +#include "GuiController.h" + +VIEW_DEF_CLASS_ADJUSTMENT(VTreatmentAdjustmentVitalsAlarmLimits) + +void VTreatmentAdjustmentVitalsAlarmLimits::initConnections() +{ + ACTION_VIEW_CONNECTION(AdjustVitalsAlarmLimitsResponseData); + ADJUST_VIEW_CONNECTION(AdjustVitalsAlarmLimitsRequestData ); +} + +void VTreatmentAdjustmentVitalsAlarmLimits::onActionReceive(const AdjustVitalsAlarmLimitsResponseData &vData) +{ + adjustment_Accepted ( vData.mAccepted ); + + systolicBpLowAlarmLimitRejectionReson (vData.mSystolicBpLowAlarmLimitRejectionReson ); + systolicBpHighAlarmLimitRejectionReson (vData.mSystolicBpHighAlarmLimitRejectionReson ); + heartRateLowAlarmLimitRejectionReson (vData.mHeartRateLowAlarmLimitRejectionReson ); + heartRateHighAlarmLimitRejectionReson (vData.mHeartRateHighAlarmLimitRejectionReson ); + vitalsIntervalRejectionReson (vData.mVitalsIntervalRejectionReson ); + + // *** has to be the last to let the information to be set and then emit the signal *** + // *** otherwise will use the previous values before being set. *** + adjustment ( true ); +} + +/*! + * \brief doAdjustment + * \details the invocable slot to adjust the vitals alarm limits + * \param vSystolicBpLowAlarmLimit + * \param vSystolicBpHighAlarmLimit + * \param vHeartRateLowAlarmLimit + * \param vHeartRateHighAlarmLimit + * \param vVitalsInterval + */ +void VTreatmentAdjustmentVitalsAlarmLimits::doAdjustment(const quint32 vSystolicBpLowAlarmLimit , + const quint32 vSystolicBpHighAlarmLimit, + const quint32 vHeartRateLowAlarmLimit , + const quint32 vHeartRateHighAlarmLimit , + const quint32 vVitalsInterval ) +{ + _data.systolicBpLowAlarmLimit = vSystolicBpLowAlarmLimit ; + _data.systolicBpHighAlarmLimit = vSystolicBpHighAlarmLimit; + _data.heartRateLowAlarmLimit = vHeartRateLowAlarmLimit ; + _data.heartRateHighAlarmLimit = vHeartRateHighAlarmLimit ; + _data.vitalsInterval = vVitalsInterval ; + + emit didAdjustment(_data); +} Index: sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.h =================================================================== diff -u --- sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.h (revision 0) +++ sources/view/td/adjustment/treatment/VTreatmentAdjustmentVitalsAlarmLimits.h (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -0,0 +1,55 @@ +#pragma once + +#include + +// Project +#include "main.h" // Doxygen : do not remove +#include "VAdjustmentResponseBase.h" +#include "MTreatmentAdjustVitalsAlarmLimitsResponse.h" + +namespace View { + +/*! + * \brief The VTreatmentAdjustmentVitalsAlarmLimits class + * \details View for Model's Data representation. + * + * \sa Model::MTreatmentAdjustVitalsAlarmLimitsResponse + * + */ +class VTreatmentAdjustmentVitalsAlarmLimits : public VAdjustmentResponseBase +{ + Q_OBJECT + + // friends + friend class ::tst_views; + + AdjustVitalsAlarmLimitsRequestData _data; + + // The property adjustment_Triggered has to be always true + // and to always trigger the change event to work as a notifier for GUI + TRIGGER( bool , adjustment , 0) + + TRIGGER(quint32 , systolicBpLowAlarmLimitRejectionReson , 0) + TRIGGER(quint32 , systolicBpHighAlarmLimitRejectionReson , 0) + TRIGGER(quint32 , heartRateLowAlarmLimitRejectionReson , 0) + TRIGGER(quint32 , heartRateHighAlarmLimitRejectionReson , 0) + TRIGGER(quint32 , vitalsIntervalRejectionReson , 0) + + VIEW_DEC_CLASS_ADJUSTMENT(VTreatmentAdjustmentVitalsAlarmLimits, AdjustVitalsAlarmLimitsResponseData) + +public slots: + void doAdjustment(const quint32 vSystolicBpLowAlarmLimit , + const quint32 vSystolicBpHighAlarmLimit , + const quint32 vHeartRateLowAlarmLimit , + const quint32 vHeartRateHighAlarmLimit , + const quint32 vVitalsInterval ); + +signals: + /*! + * \brief didAdjustment + * \details the notification signal to adjust the fluid bolus volume + * \param vData - data model for the fluid bolus volume adjustment request + */ + void didAdjustment(const AdjustVitalsAlarmLimitsRequestData &vData); +}; +} Index: sources/view/td/data/VTreatmentRanges.cpp =================================================================== diff -u -rfb1185f1c17778a9f8b300170d8d635a1532f6b4 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision fb1185f1c17778a9f8b300170d8d635a1532f6b4) +++ sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -391,5 +391,25 @@ FROMVARIANT_WITHRETURN ( primeDiscardVolumeMax , "Prime Discard Volume Ranges" , "Prime_Discard_Volume_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( primeDiscardVolumeRes , "Prime Discard Volume Ranges" , "Prime_Discard_Volume_Res" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureLowAlarmLimitDef, "Systolic BP Low Alarm Limit Ranges" , "Systolic_BP_Low_Alarm_Limit_Def" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureLowAlarmLimitMin, "Systolic BP Low Alarm Limit Ranges" , "Systolic_BP_Low_Alarm_Limit_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureLowAlarmLimitMax, "Systolic BP Low Alarm Limit Ranges" , "Systolic_BP_Low_Alarm_Limit_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureLowAlarmLimitRes, "Systolic BP Low Alarm Limit Ranges" , "Systolic_BP_Low_Alarm_Limit_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( systolicBloodPressureHighAlarmLimitDef, "Systolic BP High Alarm Limit Ranges" , "Systolic_BP_High_Alarm_Limit_Def" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureHighAlarmLimitMin, "Systolic BP High Alarm Limit Ranges" , "Systolic_BP_High_Alarm_Limit_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureHighAlarmLimitMax, "Systolic BP High Alarm Limit Ranges" , "Systolic_BP_High_Alarm_Limit_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( systolicBloodPressureHighAlarmLimitRes, "Systolic BP High Alarm Limit Ranges" , "Systolic_BP_High_Alarm_Limit_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heartRateLowAlarmLimitDef , "Heart Rate Low Alarm Limit Ranges" , "Heart_Rate_Low_Alarm_Limit_Def" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateLowAlarmLimitMin , "Heart Rate Low Alarm Limit Ranges" , "Heart_Rate_Low_Alarm_Limit_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateLowAlarmLimitMax , "Heart Rate Low Alarm Limit Ranges" , "Heart_Rate_Low_Alarm_Limit_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateLowAlarmLimitRes , "Heart Rate Low Alarm Limit Ranges" , "Heart_Rate_Low_Alarm_Limit_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heartRateHighAlarmLimitDef , "Heart Rate High Alarm Limit Ranges" , "Heart_Rate_High_Alarm_Limit_Def" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateHighAlarmLimitMin , "Heart Rate High Alarm Limit Ranges" , "Heart_Rate_High_Alarm_Limit_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateHighAlarmLimitMax , "Heart Rate High Alarm Limit Ranges" , "Heart_Rate_High_Alarm_Limit_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heartRateHighAlarmLimitRes , "Heart Rate High Alarm Limit Ranges" , "Heart_Rate_High_Alarm_Limit_Res" , Int , isConfigsOk ); + emit didTreatmentRangesDone( isConfigsOk ); } Index: sources/view/td/data/VTreatmentRanges.h =================================================================== diff -u -rfb1185f1c17778a9f8b300170d8d635a1532f6b4 -r59a1b4dceeb629ed08a434775d819ce108fe894b --- sources/view/td/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision fb1185f1c17778a9f8b300170d8d635a1532f6b4) +++ sources/view/td/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision 59a1b4dceeb629ed08a434775d819ce108fe894b) @@ -116,6 +116,12 @@ RANGESET( qint32 , arterialPressureMonitor , 0) RANGESET( qint32 , venousPressureMonitor , 0) + // vitals alarm limits + RANGESET( qint32 , systolicBloodPressureLowAlarmLimit , 0) + RANGESET( qint32 , systolicBloodPressureHighAlarmLimit , 0) + RANGESET( qint32 , heartRateLowAlarmLimit , 0) + RANGESET( qint32 , heartRateHighAlarmLimit , 0) + // ultrafiltration RANGESET( float , ultrafiltrationVolume , 0)