Index: sources/view/hd/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp =================================================================== diff -u -re125bd5cf13750eaf241d518b9c846139afaa81c -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 --- sources/view/hd/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp (.../VPostTreatmentAdjustTreatmentLog.cpp) (revision e125bd5cf13750eaf241d518b9c846139afaa81c) +++ sources/view/hd/adjustment/posttreatment/VPostTreatmentAdjustTreatmentLog.cpp (.../VPostTreatmentAdjustTreatmentLog.cpp) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) @@ -1,33 +1,73 @@ /*! * - * Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. + * Copyright (c) 2021-2024 Diality Inc. - All Rights Reserved. * \copyright * THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, IN PART OR IN * WHOLE, WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. * * \file VPostTreatmentAdjustTreatmentLog.cpp * \author (last) Behrouz NematiPour - * \date (last) 11-Apr-2021 + * \date (last) 21-Nov-2023 * \author (original) Behrouz NematiPour * \date (original) 11-Apr-2021 * */ #include "VPostTreatmentAdjustTreatmentLog.h" +// Qt +#include +#include + // Project #include "GuiController.h" +//#include "FileHandler.h" +using namespace Storage; + VIEW_DEF_CLASS_ADJUSTMENT(VPostTreatmentAdjustmentTreatmentLog) /*! \brief Connection Initializer \details All the class signal/slot connections are defined here. */ void View::VPostTreatmentAdjustmentTreatmentLog::initConnections() { - ADJUST_VIEW_CONNECTION(AdjustTreatmentLogRequestData); + ADJUST_VIEW_CONNECTION(AdjustTreatmentLogRequestData ); ACTION_VIEW_CONNECTION(AdjustTreatmentLogResponseData); + + ACTION_VIEW_CONNECTION(TreatmentLogAvrgeData); + ACTION_VIEW_CONNECTION(TreatmentLogAlarmData); + ACTION_VIEW_CONNECTION(TreatmentLogEventData); + + connect(&_TreatmentLog , &TreatmentLog::isIdleNotified, + [=](bool vIdle) { isIdle(vIdle); } ); + + connect(&_TreatmentLog , &TreatmentLog::didTxCodeReceive, + [=](const QString &vTxCode) { txCode( vTxCode ); } ); + + connect(&_TreatmentLog , &TreatmentLog::didNotification, + [=](const QString &vNotification) { notification(vNotification); } ); } /*! + * \brief View::VPostTreatmentAdjustmentTreatmentLog::doRequest + * \details the invocable slot to send user's treatment log request + */ +void View::VPostTreatmentAdjustmentTreatmentLog::doRequest() { + _TreatmentLog.clearModel(); + parametersText ( {} ); + + AdjustTreatmentLogRequestData data; + emit didAdjustment(data); +} + +/*! + * \brief View::VPostTreatmentAdjustmentTreatmentLog::doExport + * \details the invocable slot to send user's treatment log export request to the controller + */ +void View::VPostTreatmentAdjustmentTreatmentLog::doExport() { + _TreatmentLog.doExport(); +} + +/*! * \brief VPostTreatmentAdjustmentUltrafiltrationInit::onActionReceive * \details received response model data handler * \param vData - model data @@ -37,43 +77,22 @@ adjustment_Accepted ( vData.mAccepted ); adjustment_Reason ( vData.mReason ); - // Formatted values - QStringList mParametersText; - QString mStr = "%1"; - mParametersText += mStr.arg(vData.mBloodFlowRate ); - mParametersText += mStr.arg(vData.mDialysateFlowRate ); - mParametersText += mStr.arg(vData.mTreatmentDuration ); - mParametersText += mStr.arg(vData.mActualTreatmentDuration ); - mParametersText += mStr.arg(vData.mAcidConcentrateType ); - mParametersText += mStr.arg(vData.mBicarbonateConcentrateType ); - mParametersText += mStr.arg(vData.mPotassiumConcentration ); - mParametersText += mStr.arg(vData.mCalciumConcentration ); - mParametersText += mStr.arg(vData.mBicarbonateConcentration ); - mParametersText += mStr.arg(vData.mSodiumConcentration ); - mParametersText += mStr.arg(vData.mDialysateTemperature ,0,'f',3); - mParametersText += mStr.arg(vData.mDialyzerType ); - mParametersText += mStr.arg(vData.mTreatmentDateTime ); - mParametersText += mStr.arg(vData.mAverageBloodFlow ,0,'f',3); - mParametersText += mStr.arg(vData.mAverageDialysateFlow ,0,'f',3); - mParametersText += mStr.arg(vData.mDialysateVolumeUsed ,0,'f',3); - mParametersText += mStr.arg(vData.mAverageDialysateTemp ,0,'f',3); - mParametersText += mStr.arg(vData.mTargetUFVolume ,0,'f',3); - mParametersText += mStr.arg(vData.mActualUFVolume ,0,'f',3); - mParametersText += mStr.arg(vData.mTargetUFRate ,0,'f',3); - mParametersText += mStr.arg(vData.mActualUFRate ,0,'f',3); - mParametersText += mStr.arg(vData.mSalineBolusVolume ); - mParametersText += mStr.arg(vData.mHeparinType ); - mParametersText += mStr.arg(vData.mHeparinConcentration ); - mParametersText += mStr.arg(vData.mHeparinBolusVolume ,0,'f',3); - mParametersText += mStr.arg(vData.mHeparinDispenseRate ,0,'f',3); - mParametersText += mStr.arg(vData.mHeparinPreStop ); - mParametersText += mStr.arg(vData.mHeparinDeliveredVolume ,0,'f',3); - mParametersText += mStr.arg(vData.mAverageArterialPressure ,0,'f',3); - mParametersText += mStr.arg(vData.mAverageVenousPressure ,0,'f',3); - mParametersText += mStr.arg(vData.mEndTreatmentEarlyAlarm ); - mParametersText += mStr.arg(vData.mDeviceID ); - mParametersText += mStr.arg(vData.mWaterSampleTestResult ); - parametersText( mParametersText ); + // init the TreatmentLog model + _TreatmentLog.initModel ( vData, _patientID.trimmed(), heparinBolusVolumeOff(), heparinDispensingRateOff()); + if ( vData.mAccepted ) { + //TODO Commented out for now + // It is needed to display NONE for the heparin items if the heparin set to off on Create Treatment Parameters screen. + // The problem is the data comes from the _TreatmentLog model + // But if that model changes to have the NONE values, then the CloudSync or Cloud may reject the TxLog. + // When the Cloud is updated we can as well update the entire flow. + // For now it will only updates the display/Gui value. + // Look for the https://diality.atlassian.net/browse/DEN-15911 + // to know were to update for full model the view update. + // When the model updated the valueGui() can be removed and valuesLog() can be used. + parametersText ( _TreatmentLog.values() ); + } else { + parametersText ( {} ); + } // raw values bloodFlowRate ( vData.mBloodFlowRate ); @@ -88,40 +107,44 @@ sodiumConcentration ( vData.mSodiumConcentration ); dialysateTemperature ( vData.mDialysateTemperature ); dialyzerType ( vData.mDialyzerType ); - treatmentDateTime ( vData.mTreatmentDateTime ); + treatmentStartEpoch ( vData.mTreatmentStartEpoch ); + treatmentEndEpoch ( vData.mTreatmentEndEpoch ); averageBloodFlow ( vData.mAverageBloodFlow ); averageDialysateFlow ( vData.mAverageDialysateFlow ); dialysateVolumeUsed ( vData.mDialysateVolumeUsed ); averageDialysateTemp ( vData.mAverageDialysateTemp ); + originUFVolume ( vData.mOriginUFVolume ); targetUFVolume ( vData.mTargetUFVolume ); actualUFVolume ( vData.mActualUFVolume ); + originUFRate ( vData.mOriginUFRate ); targetUFRate ( vData.mTargetUFRate ); actualUFRate ( vData.mActualUFRate ); salineBolusVolume ( vData.mSalineBolusVolume ); - heparinType ( vData.mHeparinType ); - heparinConcentration ( vData.mHeparinConcentration ); heparinBolusVolume ( vData.mHeparinBolusVolume ); heparinDispenseRate ( vData.mHeparinDispenseRate ); - heparinPreStop ( vData.mHeparinPreStop ); + heparinStop ( vData.mHeparinStop ); heparinDeliveredVolume ( vData.mHeparinDeliveredVolume ); averageArterialPressure ( vData.mAverageArterialPressure ); averageVenousPressure ( vData.mAverageVenousPressure ); - endTreatmentEarlyAlarm ( vData.mEndTreatmentEarlyAlarm ); deviceID ( vData.mDeviceID ); waterSampleTestResult ( vData.mWaterSampleTestResult ); + heparinType ( vData.mHeparinType ); + heparinConcentration ( vData.mHeparinConcentration ); + if (adjustment_Accepted()) + _TreatmentLog.doSave(); // *** 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 View::VPostTreatmentAdjustmentTreatmentLog::doConfirm - * \details the invocable slot to send user's Disposables Removal confirm + * \brief VPostTreatmentAdjustmentUltrafiltrationInit::onActionReceive + * \details received response model data handler + * \param vData - model data */ -void View::VPostTreatmentAdjustmentTreatmentLog::doRequest() { - AdjustTreatmentLogRequestData data; - emit didAdjustment(data); -} +void View::VPostTreatmentAdjustmentTreatmentLog::onActionReceive(const TreatmentLogAvrgeData &vData){ _TreatmentLog.append(vData); } +void View::VPostTreatmentAdjustmentTreatmentLog::onActionReceive(const TreatmentLogAlarmData &vData){ _TreatmentLog.append(vData); } +void View::VPostTreatmentAdjustmentTreatmentLog::onActionReceive(const TreatmentLogEventData &vData){ _TreatmentLog.append(vData); }