/*! * * Copyright (c) 2024-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 VAdjustmentInstitutionalRecord.cpp * \author (last) Dara Navaei * \date (last) 26-Mar-2024 * \author (original) Dara Navaei * \date (original) 28-Feb-2024 * */ #include "VAdjustmentInstitutionalRecord.h" // Project #include "GuiController.h" #include "format.h" VIEW_DEF_CLASS_ADJUSTMENT(VAdjustmentInstitutionalRecord) void View::VAdjustmentInstitutionalRecord::initConnections() { ADJUST_VIEW_CONNECTION(AdjustInstitutionalRequestData) ACTION_VIEW_CONNECTION(AdjustInstitutionalRecordResponseData) } /** // * \brief View::VAdjustmentInstitutionalRecord::onActionReceive // * Slot to handle a adjust institutional record response from FW // * \param actionType The action type must be a institutional record response // * \param messageData The message data must contain the reject reason codes for all parameters // * \returns True if FW OK's treatment parameters, false otherwise */ void View::VAdjustmentInstitutionalRecord::onActionReceive(const AdjustInstitutionalRecordResponseData &vData) { adjustment_Accepted ( vData.mAccepted ); bloodFlowRateMinRejectionReason ( vData.mBloodFlowRateMinRejectionReason ); bloodFlowRateMaxRejectionReason ( vData.mBloodFlowRateMaxRejectionReason ); bloodFlowRateDefRejectionReason ( vData.mBloodFlowRateDefRejectionReason ); dialysateFlowRateMinRejectionReason ( vData.mDialysateFlowRateMinRejectionReason ); dialysateFlowRateMaxRejectionReason ( vData.mDialysateFlowRateMaxRejectionReason ); dialysateFlowRateDefRejectionReason ( vData.mDialysateFlowRateDefRejectionReason ); treatmentDurationMinRejectionReason ( vData.mTreatmentDurationMinRejectionReason ); treatmentDurationMaxRejectionReason ( vData.mTreatmentDurationMaxRejectionReason ); treatmentDurationDefRejectionReason ( vData.mTreatmentDurationDefRejectionReason ); heparinBolusVolumeMinRejectionReason ( vData.mHeparinBolusVolumeMinRejectionReason ); heparinBolusVolumeMaxRejectionReason ( vData.mHeparinBolusVolumeMaxRejectionReason ); heparinBolusVolumeDefRejectionReason ( vData.mHeparinBolusVolumeDefRejectionReason ); heparinDispensingRateMinRejectionReason ( vData.mHeparinDispensingRateMinRejectionReason ); heparinDispensingRateMaxRejectionReason ( vData.mHeparinDispensingRateMaxRejectionReason ); heparinDispensingRateDefRejectionReason ( vData.mHeparinDispensingRateDefRejectionReason ); heparinStopTimeMinRejectionReason ( vData.mHeparinStopTimeMinRejectionReason ); heparinStopTimeMaxRejectionReason ( vData.mHeparinStopTimeMaxRejectionReason ); dialysateTempMinRejectionReason ( vData.mDialysateTempMinRejectionReason ); dialysateTempMaxRejectionReason ( vData.mDialysateTempMaxRejectionReason ); dialysateTempDefRejectionReason ( vData.mDialysateTempDefRejectionReason ); acidConcentratePotassiumMinRejectionReason ( vData.mAcidConcentratePotassiumMinRejectionReason ); acidConcentratePotassiumMaxRejectionReason ( vData.mAcidConcentratePotassiumMaxRejectionReason ); acidConcentrateCalciumMinRejectionReason ( vData.mAcidConcentrateCalciumMinRejectionReason ); acidConcentrateCalciumMaxRejectionReason ( vData.mAcidConcentrateCalciumMaxRejectionReason ); bicarbFinalDialysateCompositionMinRejectionReason ( vData.mBicarbFinalDialysateCompositionMinRejectionReason ); bicarbFinalDialysateCompositionMaxRejectionReason ( vData.mBicarbFinalDialysateCompositionMaxRejectionReason ); bicarbFinalDialysateCompositionDefRejectionReason ( vData.mBicarbFinalDialysateCompositionDefRejectionReason ); sodiumFinalDialysateCompositionMinRejectionReason ( vData.mSodiumFinalDialysateCompositionMinRejectionReason ); sodiumFinalDialysateCompositionMaxRejectionReason ( vData.mSodiumFinalDialysateCompositionMaxRejectionReason ); sodiumFinalDialysateCompositionDefRejectionReason ( vData.mSodiumFinalDialysateCompositionDefRejectionReason ); fluidBolusVolumeMinRejectionReason ( vData.mFluidBolusVolumeMinRejectionReason ); fluidBolusVolumeMaxRejectionReason ( vData.mFluidBolusVolumeMaxRejectionReason ); fluidBolusVolumeDefRejectionReason ( vData.mFluidBolusVolumeDefRejectionReason ); arterialPressureLimitWindowMinRejectionReason ( vData.mArterialPressureLimitWindowMinRejectionReason ); arterialPressureLimitWindowMaxRejectionReason ( vData.mArterialPressureLimitWindowMaxRejectionReason ); arterialPressureLimitWindowDefRejectionReason ( vData.mArterialPressureLimitWindowDefRejectionReason ); venousPressureLimitWindowMinRejectionReason ( vData.mVenousPressureLimitWindowMinRejectionReason ); venousPressureLimitWindowMaxRejectionReason ( vData.mVenousPressureLimitWindowMaxRejectionReason ); venousPressureLimitWindowDefRejectionReason ( vData.mVenousPressureLimitWindowDefRejectionReason ); venousPressureLimitAsymtrcMinRejectionReason ( vData.mVenousPressureLimitAsymtrcMinRejectionReason ); venousPressureLimitAsymtrcMaxRejectionReason ( vData.mVenousPressureLimitAsymtrcMaxRejectionReason ); venousPressureLimitAsymtrcDefRejectionReason ( vData.mVenousPressureLimitAsymtrcDefRejectionReason ); trancembrncPressureLimitWindowMinRejectionReason ( vData.mTrancembrncPressureLimitWindowMinRejectionReason ); trancembrncPressureLimitWindowMaxRejectionReason ( vData.mTrancembrncPressureLimitWindowMaxRejectionReason ); trancembrncPressureLimitWindowDefRejectionReason ( vData.mTrancembrncPressureLimitWindowDefRejectionReason ); ultrafiltrationVolumeMinRejectionReason ( vData.mUltrafiltrationVolumeMinRejectionReason ); ultrafiltrationVolumeMaxRejectionReason ( vData.mUltrafiltrationVolumeMaxRejectionReason ); ultrafiltrationVolumeDefRejectionReason ( vData.mUltrafiltrationVolumeDefRejectionReason ); vitalsIntervalDefRejectionReason ( vData.mVitalsIntervalDefRejectionReason ); rinsebackVolumeMinRejectionReason ( vData.mRinsebackVolumeMinRejectionReason ); rinsebackVolumeMaxRejectionReason ( vData.mRinsebackVolumeMaxRejectionReason ); rinsebackVolumeDefRejectionReason ( vData.mRinsebackVolumeDefRejectionReason ); rinsebackFlowRateMinRejectionReason ( vData.mRinsebackFlowRateMinRejectionReason ); rinsebackFlowRateMaxRejectionReason ( vData.mRinsebackFlowRateMaxRejectionReason ); rinsebackFlowRateDefRejectionReason ( vData.mRinsebackFlowRateDefRejectionReason ); substitutionVolumeMinRejectionReason ( vData.mSubstitutionVolumeMinRejectionReason ); substitutionVolumeMaxRejectionReason ( vData.mSubstitutionVolumeMaxRejectionReason ); substitutionVolumeDefRejectionReason ( vData.mSubstitutionVolumeDefRejectionReason ); // *** has to be the last to let the information to be set and then emit the signal *** // *** otherwise will use the Previous values before being set. *** adjustment ( true ); } /** * \brief VAdjustmentInstitutionalRecord::doConfirm * \details Validates the institutional records with FW */ void View::VAdjustmentInstitutionalRecord::doConfirm() { AdjustInstitutionalRequestData institutionalRecordsRequest; institutionalRecordsRequest.mBloodFlowMin = _bloodFlowRateMin ; institutionalRecordsRequest.mBloodFlowMax = _bloodFlowRateMax ; institutionalRecordsRequest.mBloodFlowDef = _bloodFlowRateDef ; institutionalRecordsRequest.mDialysateFlowMin = _dialysateFlowRateMin ; institutionalRecordsRequest.mDialysateFlowMax = _dialysateFlowRateMax ; institutionalRecordsRequest.mDialysateFlowDef = _dialysateFlowRateDef ; institutionalRecordsRequest.mTreatmentDurationMin = _treatmentDurationMin ; institutionalRecordsRequest.mTreatmentDurationMax = _treatmentDurationMax ; institutionalRecordsRequest.mTreatmentDurationDef = _treatmentDurationDef ; institutionalRecordsRequest.mHepBolusVolumeMin = _heparinBolusVolumeMin ; institutionalRecordsRequest.mHepBolusVolumeMax = _heparinBolusVolumeMax ; institutionalRecordsRequest.mHepBolusVolumeDef = _heparinBolusVolumeDef ; institutionalRecordsRequest.mHepDispRateMin = _heparinDispensingRateMin ; institutionalRecordsRequest.mHepDispRateMax = _heparinDispensingRateMax ; institutionalRecordsRequest.mHepDispRateDef = _heparinDispensingRateDef ; institutionalRecordsRequest.mHepStopTimeMin = _heparinStopTimeMin ; institutionalRecordsRequest.mHepStopTimeMax = _heparinStopTimeMax ; institutionalRecordsRequest.mDialysateTempMin = _dialysateTempMin ; institutionalRecordsRequest.mDialysateTempMax = _dialysateTempMax ; institutionalRecordsRequest.mDialysateTempDef = _dialysateTempDef ; institutionalRecordsRequest.mPotassiumMin = _acidConcentratePotassiumMin ; institutionalRecordsRequest.mPotassiumMax = _acidConcentratePotassiumMax ; institutionalRecordsRequest.mCalciumMin = _acidConcentrateCalciumMin ; institutionalRecordsRequest.mCalciumMax = _acidConcentrateCalciumMax ; institutionalRecordsRequest.mDialysateBicarbonateMin = _bicarbFinalDialysateCompositionMin ; institutionalRecordsRequest.mDialysateBicarbonateMax = _bicarbFinalDialysateCompositionMax ; institutionalRecordsRequest.mDialysateBicarbonateDef = _bicarbFinalDialysateCompositionDef ; institutionalRecordsRequest.mDialysateSodiumMin = _sodiumFinalDialysateCompositionMin ; institutionalRecordsRequest.mDialysateSodiumMax = _sodiumFinalDialysateCompositionMax ; institutionalRecordsRequest.mDialysateSodiumDef = _sodiumFinalDialysateCompositionDef ; institutionalRecordsRequest.mFluidBolusVolumeMin = _fluidBolusVolumeMin ; institutionalRecordsRequest.mFluidBolusVolumeMax = _fluidBolusVolumeMax ; institutionalRecordsRequest.mFluidBolusVolumeDef = _fluidBolusVolumeDef ; institutionalRecordsRequest.mArterialWindowMin = _arterialPressureLimitWindowMin ; institutionalRecordsRequest.mArterialWindowMax = _arterialPressureLimitWindowMax ; institutionalRecordsRequest.mArterialWindowDef = _arterialPressureLimitWindowDef ; institutionalRecordsRequest.mVenousWindowMin = _venousPressureLimitWindowMin ; institutionalRecordsRequest.mVenousWindowMax = _venousPressureLimitWindowMax ; institutionalRecordsRequest.mVenousWindowDef = _venousPressureLimitWindowDef ; institutionalRecordsRequest.mVenousAsymmetricMin = _venousPressureLimitAsymtrcMin ; institutionalRecordsRequest.mVenousAsymmetricMax = _venousPressureLimitAsymtrcMax ; institutionalRecordsRequest.mVenousAsymmetricDef = _venousPressureLimitAsymtrcDef ; institutionalRecordsRequest.mTMPWindowMin = _trancembrncPressureLimitWindowMin ; institutionalRecordsRequest.mTMPWindowMax = _trancembrncPressureLimitWindowMax ; institutionalRecordsRequest.mTMPWindowDef = _trancembrncPressureLimitWindowDef ; institutionalRecordsRequest.mUltrafiltrationVolumeMin = _ultrafiltrationVolumeMin ; institutionalRecordsRequest.mUltrafiltrationVolumeMax = _ultrafiltrationVolumeMax ; institutionalRecordsRequest.mUltrafiltrationVolumeDef = _ultrafiltrationVolumeDef ; institutionalRecordsRequest.mVitalsIntervalDef = _vitalsIntervalDef ; institutionalRecordsRequest.mRinsebackVolumeMin = _rinsebackVolumeMin ; institutionalRecordsRequest.mRinsebackVolumeMax = _rinsebackVolumeMax ; institutionalRecordsRequest.mRinsebackVolumeDef = _rinsebackVolumeDef ; institutionalRecordsRequest.mRinsebackFlowRateMin = _rinsebackFlowRateMin ; institutionalRecordsRequest.mRinsebackFlowRateMax = _rinsebackFlowRateMax ; institutionalRecordsRequest.mRinsebackFlowRateDef = _rinsebackFlowRateDef ; institutionalRecordsRequest.mSubstitutionVolumeMin = _substitutionVolumeMin ; institutionalRecordsRequest.mSubstitutionVolumeMax = _substitutionVolumeMax ; institutionalRecordsRequest.mSubstitutionVolumeDef = _substitutionVolumeDef ; emit didAdjustment(institutionalRecordsRequest); }