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