/*! * * Copyright (c) 2021-2023 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) 09-Dec-2021 * \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::bloodFlowRate | * | #03:(U32) | \ref Data::dialysateFlowRate | * | #04:(U32) | \ref Data::duration | * | #05:(U32) | \ref Data::heparinStopTime | * | #06:(U32) | \ref Data::salineBolus | * | #07:(U32) | \ref Data::acidConcentrate | * | #08:(U32) | \ref Data::bicarbonateConcentrate | * | #09:(U32) | \ref Data::dialyzerType | * | #10:(U32) | \ref Data::heparinType | * | #11:(U32) | \ref Data::bloodPressureMeasureInterval | * | #12:(U32) | \ref Data::rinsebackFlowRate | * | #13:(U32) | \ref Data::arterialPressureLimitLow | * | #14:(U32) | \ref Data::arterialPressureLimitHigh | * | #15:(U32) | \ref Data::venousPressureLimitLow | * | #16:(U32) | \ref Data::venousPressureLimitHigh | * | #17:(U32) | \ref Data::heparinDispensingRate | * | #18:(U32) | \ref Data::heparinBolusVolume | * | #19:(U32) | \ref Data::dialysateTemp | * * \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 bloodFlowRate ; ///< User set blood flow rate (in mL/min) Types::U32 dialysateFlowRate ; ///< User set dialysate flow rate (in mL/min) Types::U32 duration ; ///< User set treatment duration (in min) Types::U32 heparinStopTime ; ///< User set heparin pre-stop time (in min) Types::U32 salineBolus ; ///< User set saline bolus volume (in mL) Types::U32 acidConcentrate ; ///< User set acid concentrate option Types::U32 bicarbonateConcentrate ; ///< User set bicarbonate concentrate option Types::U32 dialyzerType ; ///< User set dialyzer type option Types::U32 heparinType ; ///< User set heparin type option Types::U32 bloodPressureMeasureInterval ; ///< User set blood pressure measurement interval (in min) Types::U32 rinsebackFlowRate ; ///< User set rinseback flow rate (in mL/min) Types::U32 arterialPressureLimitLow ; ///< User set lower alarm limit for arterial pressure (in mmHg) Types::U32 arterialPressureLimitHigh ; ///< User set upper alarm limit for arterial pressure (in mmHg) Types::U32 venousPressureLimitLow ; ///< User set lower alarm limit for venous pressure (in mmHg) Types::U32 venousPressureLimitHigh ; ///< User set upper alarm limit for venous pressure (in mmHg) Types::U32 heparinDispensingRate ; ///< User set heparin dispense rate (in mL/hr) Types::U32 heparinBolusVolume ; ///< User set heparin bolus volume (in mL) Types::U32 dialysateTemp ; ///< 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 bloodFlowRate = 0; quint32 dialysateFlowRate = 0; quint32 duration = 0; quint32 heparinStopTime = 0; quint32 salineBolus = 0; quint32 acidConcentrate = 0; quint32 bicarbonateConcentrate = 0; quint32 dialyzerType = 0; quint32 heparinType = 0; quint32 bloodPressureMeasureInterval = 0; quint32 rinsebackFlowRate = 0; quint32 arterialPressureLimitLow = 0; quint32 arterialPressureLimitHigh = 0; quint32 venousPressureLimitLow = 0; quint32 venousPressureLimitHigh = 0; quint32 heparinDispensingRate = 0; quint32 heparinBolusVolume = 0; quint32 dialysateTemp = 0; }; MAdjustParametersValidationResponse () {} bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MAdjustParametersValidationResponse::Data AdjustParametersValidationResponseData;