/*! * * 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 * *

Logging info

* | || * | || * | 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;