/*!
*
* 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 MPreTreatmentAdjustParametersValidationResponse.h
* \author (last) Behrouz NematiPour
* \date (last) 31-May-2023
* \author (original) Behrouz NematiPour
* \date (original) 11-Apr-2021
*
*/
#pragma once
// Qt
// Project
#include "types.h"
#include "MAbstract.h"
class tst_models;
namespace Model {
/*!
* \brief The MAdjustParametersValidationResponse class
* \details The treatment parameters response model
*
* | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description |
* |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:------------------------------: |
* |0x3600| 0x020 | 6 | Rsp | Y | HD | UI | Treatment Parameters Response |
*
* | Payload ||
* | ||
* | #01:(U32) | \ref Data::mAccepted |
* | #02:(U32) | \ref Data::mBloodFlowRate |
* | #03:(U32) | \ref Data::mDialysateFlowRate |
* | #04:(U32) | \ref Data::mDuration |
* | #05:(U32) | \ref Data::mHeparinStopTime |
* | #06:(U32) | \ref Data::mSalineBolus |
* | #07:(U32) | \ref Data::mAcidConcentrate |
* | #08:(U32) | \ref Data::mBicarbonateConcentrate |
* | #09:(U32) | \ref Data::mDialyzerType |
* | #10:(U32) | \ref Data::mHeparinType |
* | #11:(U32) | \ref Data::mBloodPressureMeasureInterval |
* | #12:(U32) | \ref Data::mRinsebackFlowRate |
* | #13:(U32) | \ref Data::mArterialPressureLimitWindow |
* | #14:(U32) | \ref Data::mVenousPressureLimitWindow |
* | #15:(U32) | \ref Data::mVenousPressureLimitAsymtrc |
* | #16:(U32) | \ref Data::mHeparinDispensingRate |
* | #17:(U32) | \ref Data::mHeparinBolusVolume |
* | #18:(U32) | \ref Data::mDialysateTemp |
*
* \sa Data
*
*
* | ||
* | ||
* | typeText | Event |
* | unitText | HD |
* | infoText | TreatmentParametersResponse |
*
*/
class MAdjustParametersValidationResponse : public MAbstract
{
friend class::tst_models;
QVariantList parameters() const override;
struct {
Types::U32 mAccepted ;
Types::U32 mBloodFlowRate ; ///< User set blood flow rate (in mL/min)
Types::U32 mDialysateFlowRate ; ///< User set dialysate flow rate (in mL/min)
Types::U32 mDuration ; ///< User set treatment duration (in min)
Types::U32 mHeparinStopTime ; ///< User set heparin pre-stop time (in min)
Types::U32 mSalineBolus ; ///< User set saline bolus volume (in mL)
Types::U32 mAcidConcentrate ; ///< User set acid concentrate option
Types::U32 mBicarbonateConcentrate ; ///< User set bicarbonate concentrate option
Types::U32 mDialyzerType ; ///< User set dialyzer type option
Types::U32 mHeparinType ; ///< User set heparin type option
Types::U32 mBloodPressureMeasureInterval ; ///< User set blood pressure measurement interval (in min)
Types::U32 mRinsebackFlowRate ; ///< User set rinseback flow rate (in mL/min)
Types::U32 mArterialPressureLimitWindow ; ///< User set window alarm limit for arterial pressure (in mmHg)
Types::U32 mVenousPressureLimitWindow ; ///< User set window alarm limit for venous pressure (in mmHg)
Types::U32 mVenousPressureLimitAsymtrc ; ///< User set asymtrc alarm limit for venous pressure (in mmHg)
Types::U32 mHeparinDispensingRate ; ///< User set heparin dispense rate (in mL/hr)
Types::U32 mHeparinBolusVolume ; ///< User set heparin bolus volume (in mL)
Types::U32 mDialysateTemp ; ///< User set dialysate temperature (in deg C)
} _data;
public:
Type_Enum typeText () const override { return Type_Enum::eEvent; }
Unit_Enum unitText () const override { return Unit_Enum::eHD ; }
QString infoText () const override { return QString("ParametersValidation"); }
struct Data {
quint32 mAccepted = 0;
quint32 mBloodFlowRate = 0;
quint32 mDialysateFlowRate = 0;
quint32 mDuration = 0;
quint32 mHeparinStopTime = 0;
quint32 mSalineBolus = 0;
quint32 mAcidConcentrate = 0;
quint32 mBicarbonateConcentrate = 0;
quint32 mDialyzerType = 0;
quint32 mHeparinType = 0;
quint32 mBloodPressureMeasureInterval = 0;
quint32 mRinsebackFlowRate = 0;
quint32 mArterialPressureLimitWindow = 0;
quint32 mVenousPressureLimitWindow = 0;
quint32 mVenousPressureLimitAsymtrc = 0;
quint32 mHeparinDispensingRate = 0;
quint32 mHeparinBolusVolume = 0;
quint32 mDialysateTemp = 0;
};
MAdjustParametersValidationResponse () {}
bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override;
Data data ( ) const ;
};
}
typedef Model::MAdjustParametersValidationResponse::Data AdjustParametersValidationResponseData;