/*! * * 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 MPreTreatmentStatesData.h * \author (last) Behrouz NematiPour * \date (last) 24-Mar-2023 * \author (original) Behrouz NematiPour * \date (original) 11-Apr-2021 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MPreTreatmentStates class * \details The pre treatment states data model * * | MSG | CAN ID | Box | Type | Ack | Src | Dst | Description | * |:----:|:------:|:---:|:------:|:---:|:---:|:---:|:-----------: | * |0xB700| 0x040 | 7 | 1 Hz | N | TD | All | Pre-Treatment States Data | * * | Payload || * | || * | # 1:(U32) | \ref Data::mSubMode | * | # 2:(U32) | \ref Data::mInstallState | * | # 3:(U32) | \ref Data::mSelfTestDryState | * | # 4:(U32) | \ref Data::mPrimeState | * | # 5:(U32) | \ref Data::mRecirculateState | * | # 6:(U32) | \ref Data::mConfirmRxState | * | # 7:(U32) | \ref Data::mHeparinState | * | # 8:(U32) | \ref Data::mPatientConnectionState | * * \sa Data * \sa TD_PRE_TREATMENT_TUBING_SET_INSTALL_STATE * \sa TD_PRE_TREATMENT_SELF_TEST_DRY_STATE * \sa TD_PRE_TREATMENT_PRIME_STATE * \sa TD_PRE_TREATMENT_RECIRCULATE_STATE * \sa TD_PRE_TREATMENT_CONFIRM_RX_STATE * \sa TD_PRE_TREATMENT_HEPARIN_SETUP_STATE * \sa TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE * * | || * | typeText | Datum | * | unitText | TD | * | infoText | PreTreatmentStates | * */ class MPreTreatmentStates : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mSubMode ; ///< Current pre-treatment sub-mode Types::U32 mInstallState ; ///< Tube set install state Types::U32 mSelfTestDryState ; ///< Self-tests when the cartridge is dry state Types::U32 mPrimeState ; ///< Prime blood and dialysate circuits and run wet self-tests state Types::U32 mRecirculateState ; ///< Re-circulate blood and dialysate circuits state Types::U32 mConfirmRxState ; ///< User reviews and confirms prescription ( Confirm Rx ) Types::U32 mHeparinState ; ///< Heparin setup state Types::U32 mPatientConnectionState ; ///< Patient connection state } _data; public: Type_Enum typeText () const override { return Type_Enum::eDatum ; } Unit_Enum unitText () const override { return Unit_Enum::eTD ; } QString infoText () const override { return QString("PreTreatmentStates"); } struct Data { quint32 mSubMode = 0; ///< SubMode State - TD_Pre_Treatment_Mode_States quint32 mInstallState = 0; ///< mInstallState State - TD_PRE_TREATMENT_TUBING_SET_INSTALL_STATE quint32 mSelfTestDryState = 0; ///< mSelfTestDryState State - TD_PRE_TREATMENT_SELF_TEST_DRY_STATE quint32 mPrimeState = 0; ///< mPrimeState State - TD_PRE_TREATMENT_PRIME_STATE quint32 mRecirculateState = 0; ///< mRecirculateState State - TD_PRE_TREATMENT_RECIRCULATE_STATE quint32 mConfirmRxState = 0; ///< mConfirmRxState State - TD_PRE_TREATMENT_CONFIRM_RX_STATE quint32 mHeparinState = 0; ///< mHeparinState State - TD_PRE_TREATMENT_HEPARIN_SETUP_STATE quint32 mPatientConnectionState = 0; ///< mPatientConnectionState State - TD_PRE_TREATMENT_PATIENT_CONNECTION_STATE }; MPreTreatmentStates() { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MPreTreatmentStates::Data PreTreatmentStatesData;