/*! * * Copyright (c) 2024-2025 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 MTDInstitutionalRecordResponse.h * \author (last) Nico Ramirez * \date (last) 20-Nov-2025 * \author (original) Nico Ramirez * \date (original) 20-Nov-2025 * */ #pragma once // Qt #include // Project #include "MAbstract.h" #include "types.h" // forward declarations class tst_models; namespace Model { /*! * \brief The MTDInstitutionalRecordResponse class * \details The TD Institutional response model * * | MSG | CAN ID | Type | Ack | Src | Dest | Description | * |:----:|:------:|:----:|:---:|:---:|:----:|:-----------:| * |0x8300| 0x020 | Rsp | Y | HD | UI | Service Mode | * * | Payload || * | || * | #1: (U32) | \ref Data::mAccepted | * | #2: (U32) | \ref Data::mReason | * | #3: (U32) | \ref Data::mBloodFlowMin | * | #4: (U32) | \ref Data::mBloodFlowMax | * | #5: (U32) | \ref Data::mBloodFlowDef | * | #6: (U32) | \ref Data::mDialysateFlowMin | * | #7: (U32) | \ref Data::mDialysateFlowMax | * | #8: (U32) | \ref Data::mDialysateFlowDef | * | #9: (U32) | \ref Data::mTreatmentDurationMin | * | #10:(U32) | \ref Data::mTreatmentDurationMax | * | #11:(U32) | \ref Data::mTreatmentDurationDef | * | #12:(F32) | \ref Data::mHepBolusVolumeMin | * | #13:(F32) | \ref Data::mHepBolusVolumeMax | * | #14:(F32) | \ref Data::mHepBolusVolumeDef | * | #15:(F32) | \ref Data::mHepDispRateMin | * | #16:(F32) | \ref Data::mHepDispRateMax | * | #17:(F32) | \ref Data::mHepDispRateDef | * | #18:(U32) | \ref Data::mHepStopTimeMin | * | #19:(U32) | \ref Data::mHepStopTimeMax | * | #20:(F32) | \ref Data::mDialysateTempMin | * | #21:(F32) | \ref Data::mDialysateTempMax | * | #22:(F32) | \ref Data::mDialysateTempDef | * | #23:(F32) | \ref Data::mPotassiumMin | * | #24:(F32) | \ref Data::mPotassiumMax | * | #25:(F32) | \ref Data::mCalciumMin | * | #26:(F32) | \ref Data::mCalciumMax | * | #27:(U32) | \ref Data::mDialysateBicarbonateMin | * | #28:(U32) | \ref Data::mDialysateBicarbonateMax | * | #29:(U32) | \ref Data::mDialysateBicarbonateDef | * | #30:(U32) | \ref Data::mDialysateSodiumMin | * | #31:(U32) | \ref Data::mDialysateSodiumMax | * | #32:(U32) | \ref Data::mDialysateSodiumDef | * | #33:(U32) | \ref Data::mFluidBolusVolumeMin | * | #34:(U32) | \ref Data::mFluidBolusVolumeMax | * | #35:(U32) | \ref Data::mFluidBolusVolumeDef | * | #36:(U32) | \ref Data::mArterialWindowMin | * | #37:(U32) | \ref Data::mArterialWindowMax | * | #38:(U32) | \ref Data::mArterialWindowDef | * | #39:(U32) | \ref Data::mVenousWindowMin | * | #40:(U32) | \ref Data::mVenousWindowMax | * | #41:(U32) | \ref Data::mVenousWindowDef | * | #42:(U32) | \ref Data::mVenousAsymmetricMin | * | #43:(U32) | \ref Data::mVenousAsymmetricMax | * | #44:(U32) | \ref Data::mVenousAsymmetricDef | * | #45:(U32) | \ref Data::mTMPWindowMin | * | #46:(U32) | \ref Data::mTMPWindowMax | * | #47:(U32) | \ref Data::mTMPWindowDef | * | #48:(F32) | \ref Data::mUltrafiltrationVolumeMin | * | #49:(F32) | \ref Data::mUltrafiltrationVolumeMax | * | #50:(F32) | \ref Data::mUltrafiltrationVolumeDef | * | #51:(U32) | \ref Data::mVitalsIntervalDef | * | #52:(U32) | \ref Data::mRinsebackVolumeMin | * | #53:(U32) | \ref Data::mRinsebackVolumeMax | * | #54:(U32) | \ref Data::mRinsebackVolumeDef | * | #55:(U32) | \ref Data::mRinsebackFlowRateMin | * | #56:(U32) | \ref Data::mRinsebackFlowRateMax | * | #57:(U32) | \ref Data::mRinsebackFlowRateDef | * | #58:(F32) | \ref Data::mSubstitutionVolumeMin | * | #59:(F32) | \ref Data::mSubstitutionVolumeMax | * | #60:(F32) | \ref Data::mSubstitutionVolumeDef | * * \sa Data * *

Logging info

* | || * | || * | typeText | Event | * | unitText | HD | * | infoText | ServiceMode | * */ class MInstitutionalRecordResponse : public MAbstract { // friends friend class ::tst_models; QVariantList parameters() const override; struct { Types::U32 mAccepted ; Types::U32 mReason ; Types::U32 mBloodFlowMin ; Types::U32 mBloodFlowMax ; Types::U32 mBloodFlowDef ; Types::U32 mDialysateFlowMin ; Types::U32 mDialysateFlowMax ; Types::U32 mDialysateFlowDef ; Types::U32 mTreatmentDurationMin ; Types::U32 mTreatmentDurationMax ; Types::U32 mTreatmentDurationDef ; Types::F32 mHepBolusVolumeMin ; Types::F32 mHepBolusVolumeMax ; Types::F32 mHepBolusVolumeDef ; Types::F32 mHepDispRateMin ; Types::F32 mHepDispRateMax ; Types::F32 mHepDispRateDef ; Types::U32 mHepStopTimeMin ; Types::U32 mHepStopTimeMax ; Types::F32 mDialysateTempMin ; Types::F32 mDialysateTempMax ; Types::F32 mDialysateTempDef ; Types::F32 mPotassiumMin ; Types::F32 mPotassiumMax ; Types::F32 mCalciumMin ; Types::F32 mCalciumMax ; Types::U32 mDialysateBicarbonateMin ; Types::U32 mDialysateBicarbonateMax ; Types::U32 mDialysateBicarbonateDef ; Types::U32 mDialysateSodiumMin ; Types::U32 mDialysateSodiumMax ; Types::U32 mDialysateSodiumDef ; Types::U32 mFluidBolusVolumeMin ; Types::U32 mFluidBolusVolumeMax ; Types::U32 mFluidBolusVolumeDef ; Types::U32 mArterialWindowMin ; Types::U32 mArterialWindowMax ; Types::U32 mArterialWindowDef ; Types::U32 mVenousWindowMin ; Types::U32 mVenousWindowMax ; Types::U32 mVenousWindowDef ; Types::U32 mVenousAsymmetricMin ; Types::U32 mVenousAsymmetricMax ; Types::U32 mVenousAsymmetricDef ; Types::U32 mTMPWindowMin ; Types::U32 mTMPWindowMax ; Types::U32 mTMPWindowDef ; Types::F32 mUltrafiltrationVolumeMin ; Types::F32 mUltrafiltrationVolumeMax ; Types::F32 mUltrafiltrationVolumeDef ; Types::U32 mVitalsIntervalDef ; Types::U32 mRinsebackVolumeMin ; Types::U32 mRinsebackVolumeMax ; Types::U32 mRinsebackVolumeDef ; Types::U32 mRinsebackFlowRateMin ; Types::U32 mRinsebackFlowRateMax ; Types::U32 mRinsebackFlowRateDef ; Types::F32 mSubstitutionVolumeMin ; Types::F32 mSubstitutionVolumeMax ; Types::F32 mSubstitutionVolumeDef ; } _data; public: Type_Enum typeText () const override { return Type_Enum::eEvent ; } Unit_Enum unitText () const override { return Unit_Enum::eTD ; } QString infoText () const override { return QString("InstitutionalRecord") ; } struct Data { bool mAccepted = true ; /*!< Accepted value of type quint32 extracted out */ quint32 mReason = 0 ; /*!< Reason value of type quint32 extracted out */ quint32 mBloodFlowMin ; quint32 mBloodFlowMax ; quint32 mBloodFlowDef ; quint32 mDialysateFlowMin ; quint32 mDialysateFlowMax ; quint32 mDialysateFlowDef ; quint32 mTreatmentDurationMin ; quint32 mTreatmentDurationMax ; quint32 mTreatmentDurationDef ; float mHepBolusVolumeMin ; float mHepBolusVolumeMax ; float mHepBolusVolumeDef ; float mHepDispRateMin ; float mHepDispRateMax ; float mHepDispRateDef ; quint32 mHepStopTimeMin ; quint32 mHepStopTimeMax ; float mDialysateTempMin ; float mDialysateTempMax ; float mDialysateTempDef ; float mPotassiumMin ; float mPotassiumMax ; float mCalciumMin ; float mCalciumMax ; quint32 mDialysateBicarbonateMin ; quint32 mDialysateBicarbonateMax ; quint32 mDialysateBicarbonateDef ; quint32 mDialysateSodiumMin ; quint32 mDialysateSodiumMax ; quint32 mDialysateSodiumDef ; quint32 mFluidBolusVolumeMin ; quint32 mFluidBolusVolumeMax ; quint32 mFluidBolusVolumeDef ; quint32 mArterialWindowMin ; quint32 mArterialWindowMax ; quint32 mArterialWindowDef ; quint32 mVenousWindowMin ; quint32 mVenousWindowMax ; quint32 mVenousWindowDef ; quint32 mVenousAsymmetricMin ; quint32 mVenousAsymmetricMax ; quint32 mVenousAsymmetricDef ; quint32 mTMPWindowMin ; quint32 mTMPWindowMax ; quint32 mTMPWindowDef ; float mUltrafiltrationVolumeMin ; float mUltrafiltrationVolumeMax ; float mUltrafiltrationVolumeDef ; quint32 mVitalsIntervalDef ; quint32 mRinsebackVolumeMin ; quint32 mRinsebackVolumeMax ; quint32 mRinsebackVolumeDef ; quint32 mRinsebackFlowRateMin ; quint32 mRinsebackFlowRateMax ; quint32 mRinsebackFlowRateDef ; float mSubstitutionVolumeMin ; float mSubstitutionVolumeMax ; float mSubstitutionVolumeDef ; }; MInstitutionalRecordResponse () { } bool fromByteArray (const QByteArray &vByteArray , int *vIndex = nullptr) override; Data data ( ) const ; }; } typedef Model::MInstitutionalRecordResponse::Data InstitutionalRecordResponseData;