Index: sources/gui/qml/main.qml =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 --- sources/gui/qml/main.qml (.../main.qml) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/gui/qml/main.qml (.../main.qml) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) @@ -341,6 +341,23 @@ function onStandbyWaitDisinfectChanged ( vValue ) { _mainMenu.isTreatment() } } + Connections { target: vTreatmentVitals + function onDidTimeout() { + // interval set to OFF so just record without vitals + if ( ! vTreatmentVitals.interval ) { + vTreatmentTrends.onNoVitalsRecord() + } + // interval is set and BP cuff is available + else if ( vTreatmentVitals.enableBPCuff ) { + vTreatmentTrends.onIntervalRequestVitals() + } + } + } + + Connections { target: vTreatmentAdjustmentVitals + function onDidTimeout() { vTreatmentTrends.onIntervalTimeoutVitals() } + } + // 9 - Others HeaderBar { id: _headerBar anchors.top: parent.top Index: sources/gui/qml/pages/treatment/TreatmentTrends.qml =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 --- sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/gui/qml/pages/treatment/TreatmentTrends.qml (.../TreatmentTrends.qml) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) @@ -412,11 +412,11 @@ } ValueText { id: _ufVolumeRemovedValue objectName : "_ufVolumeRemovedValue" - value : ufVolumeRemoved.toFixed(Variables.ultrafiltrationPrecision) ?? "--" + value : ufVolumeRemoved ? ufVolumeRemoved.toFixed(Variables.ultrafiltrationPrecision) : "--" } ValueText { id: _ufRateValue objectName : "_ufRateValue" - value : ufRate.toFixed(Variables.ultrafiltrationPrecision) ?? "--" + value : ufRate ? ufRate.toFixed(Variables.ultrafiltrationPrecision) : "--" } ValueText { id: _arterialPressureValue objectName : "_arterialPressureValue" @@ -436,19 +436,19 @@ } ValueText { id: _bloodFlowRateValue objectName : "_bloodFlowRateValue" - value : bloodFlowRate.toFixed(Variables.bloodFlowPrecision) ?? "--" + value : bloodFlowRate ? bloodFlowRate.toFixed(Variables.bloodFlowPrecision) : "--" } ValueText { id: _dialysateFlowRateValue objectName : "_dialysateFlowRateValue" - value : dialysateFlowRate.toFixed(Variables.dialysateFlowPrecision) ?? "--" + value : dialysateFlowRate ? dialysateFlowRate.toFixed(Variables.dialysateFlowPrecision) : "--" } ValueText { id: _dialysateTemperatureValue objectName : "_dialysateTemperatureValue" - value : dialysateTemperature.toFixed(Variables.dialysateTempPrecision) ?? "--" + value : dialysateTemperature ? dialysateTemperature.toFixed(Variables.dialysateTempPrecision) : "--" } ValueText { id: _conductivityValue objectName : "_conductivityValue" - value : conductivity.toFixed(Variables.dialysateCondPrecision) ?? "--" + value : conductivity ? conductivity.toFixed(Variables.dialysateCondPrecision) : "--" showDivider : false } } Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml =================================================================== diff -u -r80b727733768477975addc967b3d6b04ed39e598 -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision 80b727733768477975addc967b3d6b04ed39e598) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentVitals.qml (.../TreatmentAdjustmentVitals.qml) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) @@ -57,14 +57,23 @@ _bphrEntry.heartRate = vHeartRate ? vHeartRate : "" } - function confirm() { + function confirm(isManual) { numPad.hide() _root.close() vTreatmentVitals.doConfirm( _bphrEntry.systolic , _bphrEntry.diastolic , _bphrEntry.heartRate - ) + ) + + if (isManual) { + vTreatmentTrends.onManualVitals( + _bphrEntry.systolic , + _bphrEntry.diastolic, + _bphrEntry.heartRate + ) + } + _headerBar.vitalsRecorded() } @@ -111,7 +120,7 @@ margins : 0 } - onClicked : _root.confirm() + onClicked : _root.confirm(true) } Item { id: _separator @@ -191,7 +200,7 @@ // Vitals Reading Ready function onAdjustmentTriggered ( vValue ) { _root.update ( vTreatmentVitals.systolic__rt, vTreatmentVitals.diastolic_rt, vTreatmentVitals.heartRate_rt ) - _root.confirm() + _root.confirm(false) } } Index: sources/view/td/data/treatment/VTreatmentTrends.cpp =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 --- sources/view/td/data/treatment/VTreatmentTrends.cpp (.../VTreatmentTrends.cpp) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/view/td/data/treatment/VTreatmentTrends.cpp (.../VTreatmentTrends.cpp) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) @@ -76,15 +76,14 @@ { ACTION_VIEW_CONNECTION(DDConductivityData ) ACTION_VIEW_CONNECTION(PressureOcclusionData ) + ACTION_VIEW_CONNECTION(TreatmentLogAlarmData ) + ACTION_VIEW_CONNECTION(TreatmentLogEventData ) ACTION_VIEW_CONNECTION(TreatmentParametersSetPointData ) ACTION_VIEW_CONNECTION(TreatmentSalineData ) ACTION_VIEW_CONNECTION(TreatmentStatesData ) ACTION_VIEW_CONNECTION(TreatmentTimeData ) ACTION_VIEW_CONNECTION(TreatmentUltrafiltrationData ) ACTION_VIEW_CONNECTION(TreatmentVitalsData ) - - ACTION_VIEW_CONNECTION(TreatmentLogAlarmData ) - ACTION_VIEW_CONNECTION(TreatmentLogEventData ) } void VTreatmentTrends::onActionReceive(const DDConductivityData &vData) @@ -99,6 +98,28 @@ _latestData[eDataRole_TMP ] = vData.mTmpPressure; } +void View::VTreatmentTrends::onActionReceive(const TreatmentLogAlarmData &vData) +{ + TrendEntry entry; + entry[eHistoryRole_Timestamp] = QDateTime::currentDateTime(); + entry[eHistoryRole_EntryID] = vData.mAlarmID; + entry[eHistoryRole_Priority] = 0; + entry[eHistoryRole_Message] = _TreatmentLog.alarmTitle(vData.mAlarmID, false); + + _history.insertRow(0, entry); +} + +void View::VTreatmentTrends::onActionReceive(const TreatmentLogEventData &vData) +{ + TrendEntry entry; + entry[eHistoryRole_Timestamp] = QDateTime::currentDateTime(); + entry[eHistoryRole_EntryID] = vData.mEventID; + entry[eHistoryRole_Priority] = 0; + entry[eHistoryRole_Message] = _TreatmentLog.eventTitle(vData.mEventID, false); + + _history.insertRow(0, entry); +} + void VTreatmentTrends::onActionReceive(const TreatmentParametersSetPointData &vData) { _latestData[eDataRole_BloodFlowRate ] = vData.mBloodFlow; @@ -163,7 +184,7 @@ _latestData.clear(); } -void VTreatmentTrends::onRequestVitals() +void VTreatmentTrends::onIntervalRequestVitals() { _savedData = _latestData; _savedData[eDataRole_Timestamp] = QDateTime::currentDateTime(); @@ -172,34 +193,30 @@ _savedData[eDataRole_PulseRate ] = QVariant(); } -void VTreatmentTrends::onReceiveVitals() +void VTreatmentTrends::onIntervalTimeoutVitals() { + _data.insertRow(0, _savedData); + _latestData.clear(); } -void VTreatmentTrends::onTimeoutVitals() +void VTreatmentTrends::onManualVitals(const quint16 vSystolic, const quint16 vDiastolic, const quint16 vHeartRate) { + _latestData[eDataRole_Timestamp ] = QDateTime::currentDateTime(); + _latestData[eDataRole_Systolic ] = vSystolic; + _latestData[eDataRole_Diastolic ] = vDiastolic; + _latestData[eDataRole_PulseRate ] = vHeartRate; + _data.insertRow(0, _latestData); _latestData.clear(); } -void View::VTreatmentTrends::onActionReceive(const TreatmentLogAlarmData &vData) +void VTreatmentTrends::onNoVitalsRecord() { - TrendEntry entry; - entry[eHistoryRole_Timestamp] = QDateTime::currentDateTime(); - entry[eHistoryRole_EntryID] = vData.mAlarmID; - entry[eHistoryRole_Priority] = 0; - entry[eHistoryRole_Message] = _TreatmentLog.alarmTitle(vData.mAlarmID, false); + _latestData[eDataRole_Timestamp ] = QDateTime::currentDateTime(); + _latestData[eDataRole_Systolic ] = QVariant(); + _latestData[eDataRole_Diastolic ] = QVariant(); + _latestData[eDataRole_PulseRate ] = QVariant(); - _history.insertRow(0, entry); + _data.insertRow(0, _latestData); + _latestData.clear(); } - -void View::VTreatmentTrends::onActionReceive(const TreatmentLogEventData &vData) -{ - TrendEntry entry; - entry[eHistoryRole_Timestamp] = QDateTime::currentDateTime(); - entry[eHistoryRole_EntryID] = vData.mEventID; - entry[eHistoryRole_Priority] = 0; - entry[eHistoryRole_Message] = _TreatmentLog.eventTitle(vData.mEventID, false); - - _history.insertRow(0, entry); -} Index: sources/view/td/data/treatment/VTreatmentTrends.h =================================================================== diff -u -rbae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9 -r83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0 --- sources/view/td/data/treatment/VTreatmentTrends.h (.../VTreatmentTrends.h) (revision bae1ae230d8b41f90b1fcd34b9bccdfa87bf3cd9) +++ sources/view/td/data/treatment/VTreatmentTrends.h (.../VTreatmentTrends.h) (revision 83f808d0f503ea847c27c1fbc65c2b95d2e5d6b0) @@ -94,9 +94,10 @@ MListModel* history(); public Q_SLOTS: - void onRequestVitals(); - void onReceiveVitals(); - void onTimeoutVitals(); + void onIntervalRequestVitals(); + void onIntervalTimeoutVitals(); + void onManualVitals(const quint16 vSystolic, const quint16 vDiastolic, const quint16 vHeartRate); + void onNoVitalsRecord(); private: typedef QHash TrendEntry;