/*! * * 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 MTreatmentLogAvrgeData.h * \author (last) Behrouz NematiPour * \date (last) 13-Sep-2023 * \author (original) Behrouz NematiPour * \date (original) 15-May-2021 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTreatmentLogAvrgeData class * \details The post treatment states data model * These are states of the post treatment. * * | MSG | CAN ID | Type | Ack | Src | Dst | Description | * |:----:|:------:|:------:|:---:|:---:|:---:|:-----------:| * |0x9400| 0x020 | 30 min | Y | HD | UI | Treatment Log Average Periodic Data | * * | Payload || * | || * | #1:(F32) | \ref Data::mBloodFlowRate | * | #2:(F32) | \ref Data::mDialysateFlowRate | * | #3:(F32) | \ref Data::mUFRate | * | #4:(F32) | \ref Data::mArterialPressure | * | #5:(F32) | \ref Data::mVenousPressure | * * \sa Data * \sa HD_Post_Treatment_Mode_States * *

Logging info

* | || * | || * | typeText | Datum | * | unitText | HD | * | infoText | TreatmentLogAvrge | * */ class MTreatmentLogAvrgeData : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::F32 mBloodFlowRate ; ///< (F32) Blood Flow Rate (mL/min) Types::F32 mDialysateFlowRate ; ///< (F32) Dialysate Flow Rate (mL/min) Types::F32 mUFRate ; ///< (F32) Ultrafiltration Rate (mmHg) Types::F32 mArterialPressure ; ///< (F32) Arterial Pressure (mmHg) Types::F32 mVenousPressure ; ///< (F32) Venous Pressure (mmHg) } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eHD ; } QString infoText () const override { return QString("TreatmentLogAvrge") ; } struct Data { quint64 mTimeStamp = 0; ///< Timestamp of the received message in secs since epoch float mBloodFlowRate = 0; ///< Blood Flow Rate (mL/min) float mDialysateFlowRate = 0; ///< Dialysate Flow Rate (mL/min) float mUFRate = 0; ///< Ultrafiltration Rate (mmHg) float mArterialPressure = 0; ///< Arterial Pressure (mmHg) float mVenousPressure = 0; ///< Venous Pressure (mmHg) quint16 mSystolic = 0; ///< Systolic Blood Pressure - This value is not coming from FW and will be get from UI and User. quint16 mDiastolic = 0; ///< Diastolic Blood Pressure - This value is not coming from FW and will be get from UI and User. quint16 mHeartRate = 0; ///< Heart Rate - This value is not coming from FW and will be get from UI and User. }; MTreatmentLogAvrgeData() { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MTreatmentLogAvrgeData::Data TreatmentLogAvrgeData;