/*! * * 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 VInstitutionalRecord.cpp * \author (last) Dara Navaei * \date (last) 26-Mar-2024 * \author (original) Dara Navaei * \date (original) 28-Feb-2024 * */ #include "VInstitutionalRecord.h" // Project #include "GuiController.h" #include "format.h" VIEW_DEF_CLASS_ADJUSTMENT(VInstitutionalRecord) void View::VInstitutionalRecord::initConnections() { ADJUST_VIEW_CONNECTION(InstitutionalRequestData) ACTION_VIEW_CONNECTION(InstitutionalRecordResponseData) ACTION_VIEW_CONNECTION(SettingsData); ACTION_VIEW_CONNECTION(AdjustInstitutionalRecordResponseData) _institutionalList.setRoleNames({ { eRole_Title , "title" }, { eRole_Units , "unit" }, { eRole_Min , "min" }, { eRole_Max , "max" }, { eRole_Step , "step" }, { eRole_Decimal , "decimal" }, { eRole_MinVal , "minVal" }, { eRole_MaxVal , "maxVal" }, { eRole_DefVal , "defVal" }, { eRole_RejectionMin , "rejectionMin" }, { eRole_RejectionMax , "rejectionMax" }, { eRole_RejectionDef , "rejectionDef" }, { eRole_CanOff , "canOff" }, }); initModel(); } void View::VInstitutionalRecord::initModel() { _institutionalList.insertRow( BloodFlowRate, {{ eRole_Title, tr("Blood Flow Rate") }, { eRole_Units, tr("mL/min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( DialysateFlowRate, {{ eRole_Title, tr("Dialysate Flow Rate") }, { eRole_Units, tr("mL/min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( TreatmentDuration, {{ eRole_Title, tr("Treatment Duration") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( HeparinBolusVolume, {{ eRole_Title, tr("Heparin Bolus Volume") }, { eRole_Units, tr("mL") }, { eRole_Decimal, 1 }, { eRole_CanOff, true }}); _institutionalList.insertRow( HeparinDispenseRate, {{ eRole_Title, tr("Heparin Dispense Rate") }, { eRole_Units, tr("mL/hr") }, { eRole_Decimal, 1 }, { eRole_CanOff, true }}); _institutionalList.insertRow( HeparinStopTime, {{ eRole_Title, tr("Heparin Stop Time") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, true }}); _institutionalList.insertRow( DialysateTemperature, {{ eRole_Title, tr("Dialysate Temperature") }, { eRole_Units, tr("°C") }, { eRole_Decimal, 1 }, { eRole_CanOff, false }}); _institutionalList.insertRow( AcidCompositionPotassium, {{ eRole_Title, tr("Acid Composition ([K+])") }, { eRole_Units, tr("mEq/L" ) }, { eRole_Decimal, 1 }, { eRole_CanOff, false }}); _institutionalList.insertRow( AcidCompositionCalcium, {{ eRole_Title, tr("Acid Composition ([Ca2+])") }, { eRole_Units, tr("mEq/L" ) }, { eRole_Decimal, 2 }, { eRole_CanOff, false }}); _institutionalList.insertRow( BicarbFinalDialysateComposition, {{ eRole_Title, tr("Bicarb. Final Dialysate Composition") }, { eRole_Units, tr("mEq/L" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( SodiumFinalDialysateComposition, {{ eRole_Title, tr("Sodium Final Dialysate Composition") }, { eRole_Units, tr("mEq/L" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( FluidBolusVolume, {{ eRole_Title, tr("Fluid Bolus Volume") }, { eRole_Units, tr("mL" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( ArterialPressureLimit, {{ eRole_Title, tr("Arterial Pressure Limit") }, { eRole_Units, tr("mmHg" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( VenousPressureLimit, {{ eRole_Title, tr("Venous Pressure Limit") }, { eRole_Units, tr("mmHg" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( VenousAsymPressureLimit, {{ eRole_Title, tr("Venous Asym Pressure Limit") }, { eRole_Units, tr("mmHg" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( TMPWindowLimit, {{ eRole_Title, tr("TMP Window Limit") }, { eRole_Units, tr("mmHg" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( UFVolume, {{ eRole_Title, tr("UF Volume") }, { eRole_Units, tr("L" ) }, { eRole_Decimal, 2 }, { eRole_CanOff, false }}); _institutionalList.insertRow( VitalsInterval, {{ eRole_Title, tr("Vitals Interval") }, { eRole_Units, tr("min" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, true }}); _institutionalList.insertRow( RinsebackVolume, {{ eRole_Title, tr("Rinseback Volume") }, { eRole_Units, tr("mL" ) }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( RinsebackFlowRate, {{ eRole_Title, tr("Rinseback Flow Rate") }, { eRole_Units, tr("mL/min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); _institutionalList.insertRow( SubstitutionVolume, {{ eRole_Title, tr("Substitution Volume") }, { eRole_Units, tr("L") }, { eRole_Decimal, 2 }, { eRole_CanOff, false }}); } void View::VInstitutionalRecord::onActionReceive(const InstitutionalRecordResponseData &vData) { adjustment_Accepted ( vData.mAccepted ); adjustment_Reason ( vData.mReason ); _institutionalList.updateData( BloodFlowRate, eRole_MinVal, vData.mBloodFlowMin ); _institutionalList.updateData( BloodFlowRate, eRole_MaxVal, vData.mBloodFlowMax ); _institutionalList.updateData( BloodFlowRate, eRole_DefVal, vData.mBloodFlowDef ); _institutionalList.updateData( DialysateFlowRate, eRole_MinVal, vData.mDialysateFlowMin ); _institutionalList.updateData( DialysateFlowRate, eRole_MaxVal, vData.mDialysateFlowMax ); _institutionalList.updateData( DialysateFlowRate, eRole_DefVal, vData.mDialysateFlowDef ); _institutionalList.updateData( TreatmentDuration, eRole_MinVal, vData.mTreatmentDurationMin ); _institutionalList.updateData( TreatmentDuration, eRole_MaxVal, vData.mTreatmentDurationMax ); _institutionalList.updateData( TreatmentDuration, eRole_DefVal, vData.mTreatmentDurationDef ); _institutionalList.updateData( HeparinBolusVolume, eRole_MinVal, vData.mHepBolusVolumeMin ); _institutionalList.updateData( HeparinBolusVolume, eRole_MaxVal, vData.mHepBolusVolumeMax ); _institutionalList.updateData( HeparinBolusVolume, eRole_DefVal, vData.mHepBolusVolumeDef ); _institutionalList.updateData( HeparinDispenseRate, eRole_MinVal, vData.mHepDispRateMin ); _institutionalList.updateData( HeparinDispenseRate, eRole_MaxVal, vData.mHepDispRateMax ); _institutionalList.updateData( HeparinDispenseRate, eRole_DefVal, vData.mHepDispRateDef ); _institutionalList.updateData( HeparinStopTime, eRole_MinVal, vData.mHepStopTimeMin ); _institutionalList.updateData( HeparinStopTime, eRole_MaxVal, vData.mHepStopTimeMax ); _institutionalList.updateData( HeparinStopTime, eRole_DefVal, None ); _institutionalList.updateData( DialysateTemperature, eRole_MinVal, vData.mDialysateTempMin ); _institutionalList.updateData( DialysateTemperature, eRole_MaxVal, vData.mDialysateTempMax ); _institutionalList.updateData( DialysateTemperature, eRole_DefVal, vData.mDialysateTempDef ); _institutionalList.updateData( AcidCompositionPotassium, eRole_MinVal, vData.mPotassiumMin ); _institutionalList.updateData( AcidCompositionPotassium, eRole_MaxVal, vData.mPotassiumMax ); _institutionalList.updateData( AcidCompositionPotassium, eRole_DefVal, None ); _institutionalList.updateData( AcidCompositionCalcium, eRole_MinVal, vData.mCalciumMin ); _institutionalList.updateData( AcidCompositionCalcium, eRole_MaxVal, vData.mCalciumMax ); _institutionalList.updateData( AcidCompositionCalcium, eRole_DefVal, None ); _institutionalList.updateData( BicarbFinalDialysateComposition, eRole_MinVal, vData.mDialysateBicarbonateMin ); _institutionalList.updateData( BicarbFinalDialysateComposition, eRole_MaxVal, vData.mDialysateBicarbonateMax ); _institutionalList.updateData( BicarbFinalDialysateComposition, eRole_DefVal, vData.mDialysateBicarbonateDef ); _institutionalList.updateData( SodiumFinalDialysateComposition, eRole_MinVal, vData.mDialysateSodiumMin ); _institutionalList.updateData( SodiumFinalDialysateComposition, eRole_MaxVal, vData.mDialysateSodiumMax ); _institutionalList.updateData( SodiumFinalDialysateComposition, eRole_DefVal, vData.mDialysateSodiumDef ); _institutionalList.updateData( FluidBolusVolume, eRole_MinVal, vData.mFluidBolusVolumeMin ); _institutionalList.updateData( FluidBolusVolume, eRole_MaxVal, vData.mFluidBolusVolumeMax ); _institutionalList.updateData( FluidBolusVolume, eRole_DefVal, vData.mFluidBolusVolumeDef ); _institutionalList.updateData( ArterialPressureLimit, eRole_MinVal, vData.mArterialWindowMin ); _institutionalList.updateData( ArterialPressureLimit, eRole_MaxVal, vData.mArterialWindowMax ); _institutionalList.updateData( ArterialPressureLimit, eRole_DefVal, vData.mArterialWindowDef ); _institutionalList.updateData( VenousPressureLimit, eRole_MinVal, vData.mVenousWindowMin ); _institutionalList.updateData( VenousPressureLimit, eRole_MaxVal, vData.mVenousWindowMax ); _institutionalList.updateData( VenousPressureLimit, eRole_DefVal, vData.mVenousWindowDef ); _institutionalList.updateData( VenousAsymPressureLimit, eRole_MinVal, vData.mVenousAsymmetricMin ); _institutionalList.updateData( VenousAsymPressureLimit, eRole_MaxVal, vData.mVenousAsymmetricMax ); _institutionalList.updateData( VenousAsymPressureLimit, eRole_DefVal, vData.mVenousAsymmetricDef ); _institutionalList.updateData( TMPWindowLimit, eRole_MinVal, vData.mTMPWindowMin ); _institutionalList.updateData( TMPWindowLimit, eRole_MaxVal, vData.mTMPWindowMax ); _institutionalList.updateData( TMPWindowLimit, eRole_DefVal, vData.mTMPWindowDef ); _institutionalList.updateData( UFVolume, eRole_MinVal, vData.mUltrafiltrationVolumeMin ); _institutionalList.updateData( UFVolume, eRole_MaxVal, vData.mUltrafiltrationVolumeMax ); _institutionalList.updateData( UFVolume, eRole_DefVal, vData.mUltrafiltrationVolumeDef ); _institutionalList.updateData( VitalsInterval, eRole_MinVal, 5 ); _institutionalList.updateData( VitalsInterval, eRole_MaxVal, 60 ); _institutionalList.updateData( VitalsInterval, eRole_DefVal, vData.mVitalsIntervalDef ); _institutionalList.updateData( RinsebackVolume, eRole_MinVal, vData.mRinsebackVolumeMin ); _institutionalList.updateData( RinsebackVolume, eRole_MaxVal, vData.mRinsebackVolumeMax ); _institutionalList.updateData( RinsebackVolume, eRole_DefVal, vData.mRinsebackVolumeDef ); _institutionalList.updateData( RinsebackFlowRate, eRole_MinVal, vData.mRinsebackFlowRateMin ); _institutionalList.updateData( RinsebackFlowRate, eRole_MaxVal, vData.mRinsebackFlowRateMax ); _institutionalList.updateData( RinsebackFlowRate, eRole_DefVal, vData.mRinsebackFlowRateDef ); _institutionalList.updateData( SubstitutionVolume, eRole_MinVal, vData.mSubstitutionVolumeMin ); _institutionalList.updateData( SubstitutionVolume, eRole_MaxVal, vData.mSubstitutionVolumeMax ); _institutionalList.updateData( SubstitutionVolume, eRole_DefVal, vData.mSubstitutionVolumeDef ); // *** 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 ); } void View::VInstitutionalRecord::onActionReceive(const SettingsData &) { QString mCategory = Storage::Settings_Category_DataList; bool isConfigsOk = true; // assume configurations are valid FROMVARIANT_WITHRETURN ( bloodFlowRateMin , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( bloodFlowRateMax , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( bloodFlowRateRes , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( BloodFlowRate, eRole_Min, _bloodFlowRateMin ); _institutionalList.updateData ( BloodFlowRate, eRole_Max, _bloodFlowRateMax ); _institutionalList.updateData ( BloodFlowRate, eRole_Step, _bloodFlowRateRes ); FROMVARIANT_WITHRETURN ( dialysateFlowRateMin , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( dialysateFlowRateMax , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( dialysateFlowRateRes , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Max" , UInt , isConfigsOk ); _institutionalList.updateData ( DialysateFlowRate, eRole_Min, _dialysateFlowRateMin ); _institutionalList.updateData ( DialysateFlowRate, eRole_Max, _dialysateFlowRateMax ); _institutionalList.updateData ( DialysateFlowRate, eRole_Step, _dialysateFlowRateRes ); FROMVARIANT_WITHRETURN ( treatmentDurationMin , "Treatment Duration Ranges" , "Treatment_Duration_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( treatmentDurationMax , "Treatment Duration Ranges" , "Treatment_Duration_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( treatmentDurationRes , "Treatment Duration Ranges" , "Treatment_Duration_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( TreatmentDuration, eRole_Min, _treatmentDurationMin ); _institutionalList.updateData ( TreatmentDuration, eRole_Max, _treatmentDurationMax ); _institutionalList.updateData ( TreatmentDuration, eRole_Step, _treatmentDurationRes ); FROMVARIANT_WITHRETURN ( heparinBolusVolumeMin , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( heparinBolusVolumeMax , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( heparinBolusVolumeRes , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Res" , Float , isConfigsOk ); _institutionalList.updateData ( HeparinBolusVolume, eRole_Min, _heparinBolusVolumeMin ); _institutionalList.updateData ( HeparinBolusVolume, eRole_Max, _heparinBolusVolumeMax ); _institutionalList.updateData ( HeparinBolusVolume, eRole_Step, _heparinBolusVolumeRes ); FROMVARIANT_WITHRETURN ( heparinDispensingRateMin , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( heparinDispensingRateMax , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( heparinDispensingRateRes , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Res" , Float , isConfigsOk ); _institutionalList.updateData ( HeparinDispenseRate, eRole_Min, _heparinDispensingRateMin ); _institutionalList.updateData ( HeparinDispenseRate, eRole_Max, _heparinDispensingRateMax ); _institutionalList.updateData ( HeparinDispenseRate, eRole_Step, _heparinDispensingRateRes ); FROMVARIANT_WITHRETURN ( heparinStopTimeMin , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Min" , UInt , isConfigsOk ); _institutionalList.updateData ( HeparinStopTime, eRole_Min, _heparinStopTimeMin ); _institutionalList.updateData ( HeparinStopTime, eRole_Max, _treatmentDurationMax ); _institutionalList.updateData ( HeparinStopTime, eRole_Step, _treatmentDurationRes ); FROMVARIANT_WITHRETURN ( dialysateTempMin , "Dialysate Temperature" , "Dialysate_Temperature_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( dialysateTempMax , "Dialysate Temperature" , "Dialysate_Temperature_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( dialysateTempRes , "Dialysate Temperature" , "Dialysate_Temperature_Res" , Float , isConfigsOk ); _institutionalList.updateData ( DialysateTemperature, eRole_Min, _dialysateTempMin ); _institutionalList.updateData ( DialysateTemperature, eRole_Max, _dialysateTempMax ); _institutionalList.updateData ( DialysateTemperature, eRole_Step, _dialysateTempRes ); FROMVARIANT_WITHRETURN ( acidConcentratePotassiumMin , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( acidConcentratePotassiumMax , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( acidConcentratePotassiumRes , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Res" , Float , isConfigsOk ); _institutionalList.updateData ( AcidCompositionPotassium, eRole_Min, _acidConcentratePotassiumMin ); _institutionalList.updateData ( AcidCompositionPotassium, eRole_Max, _acidConcentratePotassiumMax ); _institutionalList.updateData ( AcidCompositionPotassium, eRole_Step, _acidConcentratePotassiumRes ); FROMVARIANT_WITHRETURN ( acidConcentrateCalciumMin , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( acidConcentrateCalciumMax , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( acidConcentrateCalciumRes , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Max" , Float , isConfigsOk ); _institutionalList.updateData ( AcidCompositionCalcium, eRole_Min, _acidConcentrateCalciumMin ); _institutionalList.updateData ( AcidCompositionCalcium, eRole_Max, _acidConcentrateCalciumMax ); _institutionalList.updateData ( AcidCompositionCalcium, eRole_Step, _acidConcentrateCalciumRes ); FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionMin, "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Min", UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionMax, "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Max", UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionRes, "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Res", UInt , isConfigsOk ); _institutionalList.updateData ( BicarbFinalDialysateComposition, eRole_Min, _bicarbFinalDialysateCompositionMin ); _institutionalList.updateData ( BicarbFinalDialysateComposition, eRole_Max, _bicarbFinalDialysateCompositionMax ); _institutionalList.updateData ( BicarbFinalDialysateComposition, eRole_Step, _bicarbFinalDialysateCompositionRes ); FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionMin, "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionMax, "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionRes, "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( SodiumFinalDialysateComposition, eRole_Min, _sodiumFinalDialysateCompositionMin ); _institutionalList.updateData ( SodiumFinalDialysateComposition, eRole_Max, _sodiumFinalDialysateCompositionMax ); _institutionalList.updateData ( SodiumFinalDialysateComposition, eRole_Step, _sodiumFinalDialysateCompositionRes ); FROMVARIANT_WITHRETURN ( fluidBolusVolumeMin , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( fluidBolusVolumeMax , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( fluidBolusVolumeRes , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( FluidBolusVolume, eRole_Min, _fluidBolusVolumeMin ); _institutionalList.updateData ( FluidBolusVolume, eRole_Max, _fluidBolusVolumeMax ); _institutionalList.updateData ( FluidBolusVolume, eRole_Step, _fluidBolusVolumeRes ); FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMin , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Min" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMax , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Max" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowRes , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Res" , Int , isConfigsOk ); _institutionalList.updateData ( ArterialPressureLimit, eRole_Min, _arterialPressureLimitWindowMin ); _institutionalList.updateData ( ArterialPressureLimit, eRole_Max, _arterialPressureLimitWindowMax ); _institutionalList.updateData ( ArterialPressureLimit, eRole_Step, _arterialPressureLimitWindowRes ); FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Min" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Max" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( venousPressureLimitWindowRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Res" , Int , isConfigsOk ); _institutionalList.updateData ( VenousPressureLimit, eRole_Min, _venousPressureLimitWindowMin ); _institutionalList.updateData ( VenousPressureLimit, eRole_Max, _venousPressureLimitWindowMax ); _institutionalList.updateData ( VenousPressureLimit, eRole_Step, _venousPressureLimitWindowRes ); FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Min" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Max" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Res" , Int , isConfigsOk ); _institutionalList.updateData ( VenousAsymPressureLimit, eRole_Min, _venousPressureLimitAsymtrcMin ); _institutionalList.updateData ( VenousAsymPressureLimit, eRole_Max, _venousPressureLimitAsymtrcMax ); _institutionalList.updateData ( VenousAsymPressureLimit, eRole_Step, _venousPressureLimitAsymtrcRes ); FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowMin , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Min" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowMax , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Max" , Int , isConfigsOk ); FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowRes , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Res" , Int , isConfigsOk ); _institutionalList.updateData ( TMPWindowLimit, eRole_Min, _trancembrncPressureLimitWindowMin ); _institutionalList.updateData ( TMPWindowLimit, eRole_Max, _trancembrncPressureLimitWindowMax ); _institutionalList.updateData ( TMPWindowLimit, eRole_Step, _trancembrncPressureLimitWindowRes ); FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeMin , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeMax , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeRes , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Res" , Float , isConfigsOk ); _institutionalList.updateData ( UFVolume, eRole_Min, _ultrafiltrationVolumeMin ); _institutionalList.updateData ( UFVolume, eRole_Max, _ultrafiltrationVolumeMax ); _institutionalList.updateData ( UFVolume, eRole_Step, _ultrafiltrationVolumeRes ); dialyzerTypeOptions ( _Settings.keys(mCategory , "Dialyzer Type Options" )); bloodPressureMeasureInterval ( _Settings.keys(mCategory , "Vitals Measurement Interval Options" )); treatmentModalityOptions ( _Settings.keys(mCategory , "Treatment Modality" )); hdfTreatmentModeOptions ( _Settings.keys(mCategory , "HDF Treatment Mode" )); dryBicabCartridgeSizeOptions ( _Settings.keys(mCategory , "Dry Bicarb Cartridge Size" )); isConfigsOk = isConfigsOk && !_dialyzerTypeOptions .isEmpty(); isConfigsOk = isConfigsOk && !_bloodPressureMeasureInterval .isEmpty(); isConfigsOk = isConfigsOk && !_treatmentModalityOptions .isEmpty(); isConfigsOk = isConfigsOk && !_hdfTreatmentModeOptions .isEmpty(); isConfigsOk = isConfigsOk && !_dryBicabCartridgeSizeOptions .isEmpty(); FROMVARIANT_WITHRETURN ( rinsebackVolumeMin , "Rinseback Volume Ranges" , "Rinseback_Volume_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackVolumeMax , "Rinseback Volume Ranges" , "Rinseback_Volume_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackVolumeRes , "Rinseback Volume Ranges" , "Rinseback_Volume_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( RinsebackVolume, eRole_Min, _rinsebackVolumeMin ); _institutionalList.updateData ( RinsebackVolume, eRole_Max, _rinsebackVolumeMax ); _institutionalList.updateData ( RinsebackVolume, eRole_Step, _rinsebackVolumeRes ); FROMVARIANT_WITHRETURN ( rinsebackFlowRateMin , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Min" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackFlowRateMax , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Max" , UInt , isConfigsOk ); FROMVARIANT_WITHRETURN ( rinsebackFlowRateRes , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Res" , UInt , isConfigsOk ); _institutionalList.updateData ( RinsebackFlowRate, eRole_Min, _rinsebackFlowRateMin ); _institutionalList.updateData ( RinsebackFlowRate, eRole_Max, _rinsebackFlowRateMax ); _institutionalList.updateData ( RinsebackFlowRate, eRole_Step, _rinsebackFlowRateRes ); FROMVARIANT_WITHRETURN ( substitutionVolumeMin , "Substitution Volume Ranges" , "Substitution_Volume_Min" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( substitutionVolumeMax , "Substitution Volume Ranges" , "Substitution_Volume_Max" , Float , isConfigsOk ); FROMVARIANT_WITHRETURN ( substitutionVolumeRes , "Substitution Volume Ranges" , "Substitution_Volume_Res" , Float , isConfigsOk ); _institutionalList.updateData ( SubstitutionVolume, eRole_Min, _substitutionVolumeMin ); _institutionalList.updateData ( SubstitutionVolume, eRole_Max, _substitutionVolumeMax ); _institutionalList.updateData ( SubstitutionVolume, eRole_Step, _substitutionVolumeRes ); } void View::VInstitutionalRecord::onActionReceive(const AdjustInstitutionalRecordResponseData &vData) { _institutionalList.updateData(BloodFlowRate, eRole_RejectionMin, vData.mBloodFlowRateMinRejectionReason ); _institutionalList.updateData(BloodFlowRate, eRole_RejectionMax, vData.mBloodFlowRateMaxRejectionReason ); _institutionalList.updateData(BloodFlowRate, eRole_RejectionDef, vData.mBloodFlowRateDefRejectionReason ); _institutionalList.updateData(DialysateFlowRate, eRole_RejectionMin, vData.mDialysateFlowRateMinRejectionReason ); _institutionalList.updateData(DialysateFlowRate, eRole_RejectionMax, vData.mDialysateFlowRateMaxRejectionReason ); _institutionalList.updateData(DialysateFlowRate, eRole_RejectionDef, vData.mDialysateFlowRateDefRejectionReason ); _institutionalList.updateData(TreatmentDuration, eRole_RejectionMin, vData.mTreatmentDurationMinRejectionReason ); _institutionalList.updateData(TreatmentDuration, eRole_RejectionMax, vData.mTreatmentDurationMaxRejectionReason ); _institutionalList.updateData(TreatmentDuration, eRole_RejectionDef, vData.mTreatmentDurationDefRejectionReason ); _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionMin, vData.mHeparinBolusVolumeMinRejectionReason ); _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionMax, vData.mHeparinBolusVolumeMaxRejectionReason ); _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionDef, vData.mHeparinBolusVolumeDefRejectionReason ); _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionMin, vData.mHeparinDispensingRateMinRejectionReason ); _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionMax, vData.mHeparinDispensingRateMaxRejectionReason ); _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionDef, vData.mHeparinDispensingRateDefRejectionReason ); _institutionalList.updateData(HeparinStopTime, eRole_RejectionMin, vData.mHeparinStopTimeMinRejectionReason ); _institutionalList.updateData(HeparinStopTime, eRole_RejectionMax, vData.mHeparinStopTimeMaxRejectionReason ); _institutionalList.updateData(DialysateTemperature, eRole_RejectionMin, vData.mDialysateTempMinRejectionReason ); _institutionalList.updateData(DialysateTemperature, eRole_RejectionMax, vData.mDialysateTempMaxRejectionReason ); _institutionalList.updateData(DialysateTemperature, eRole_RejectionDef, vData.mDialysateTempDefRejectionReason ); _institutionalList.updateData(AcidCompositionPotassium, eRole_RejectionMin, vData.mAcidConcentratePotassiumMinRejectionReason ); _institutionalList.updateData(AcidCompositionPotassium, eRole_RejectionMax, vData.mAcidConcentratePotassiumMaxRejectionReason ); _institutionalList.updateData(AcidCompositionCalcium, eRole_RejectionMin, vData.mAcidConcentrateCalciumMinRejectionReason ); _institutionalList.updateData(AcidCompositionCalcium, eRole_RejectionMax, vData.mAcidConcentrateCalciumMaxRejectionReason ); _institutionalList.updateData(BicarbFinalDialysateComposition, eRole_RejectionMin, vData.mBicarbFinalDialysateCompositionMinRejectionReason ); _institutionalList.updateData(BicarbFinalDialysateComposition, eRole_RejectionMax, vData.mBicarbFinalDialysateCompositionMaxRejectionReason ); _institutionalList.updateData(BicarbFinalDialysateComposition, eRole_RejectionDef, vData.mBicarbFinalDialysateCompositionDefRejectionReason ); _institutionalList.updateData(SodiumFinalDialysateComposition, eRole_RejectionMin, vData.mSodiumFinalDialysateCompositionMinRejectionReason ); _institutionalList.updateData(SodiumFinalDialysateComposition, eRole_RejectionMax, vData.mSodiumFinalDialysateCompositionMaxRejectionReason ); _institutionalList.updateData(SodiumFinalDialysateComposition, eRole_RejectionDef, vData.mSodiumFinalDialysateCompositionDefRejectionReason ); _institutionalList.updateData(FluidBolusVolume, eRole_RejectionMin, vData.mFluidBolusVolumeMinRejectionReason ); _institutionalList.updateData(FluidBolusVolume, eRole_RejectionMax, vData.mFluidBolusVolumeMaxRejectionReason ); _institutionalList.updateData(FluidBolusVolume, eRole_RejectionDef, vData.mFluidBolusVolumeDefRejectionReason ); _institutionalList.updateData(ArterialPressureLimit, eRole_RejectionMin, vData.mArterialPressureLimitWindowMinRejectionReason ); _institutionalList.updateData(ArterialPressureLimit, eRole_RejectionMax, vData.mArterialPressureLimitWindowMaxRejectionReason ); _institutionalList.updateData(ArterialPressureLimit, eRole_RejectionDef, vData.mArterialPressureLimitWindowDefRejectionReason ); _institutionalList.updateData(VenousPressureLimit, eRole_RejectionMin, vData.mVenousPressureLimitWindowMinRejectionReason ); _institutionalList.updateData(VenousPressureLimit, eRole_RejectionMax, vData.mVenousPressureLimitWindowMaxRejectionReason ); _institutionalList.updateData(VenousPressureLimit, eRole_RejectionDef, vData.mVenousPressureLimitWindowDefRejectionReason ); _institutionalList.updateData(VenousAsymPressureLimit, eRole_RejectionMin, vData.mVenousPressureLimitAsymtrcMinRejectionReason ); _institutionalList.updateData(VenousAsymPressureLimit, eRole_RejectionMax, vData.mVenousPressureLimitAsymtrcMaxRejectionReason ); _institutionalList.updateData(VenousAsymPressureLimit, eRole_RejectionDef, vData.mVenousPressureLimitAsymtrcDefRejectionReason ); _institutionalList.updateData(TMPWindowLimit, eRole_RejectionMin, vData.mTrancembrncPressureLimitWindowMinRejectionReason ); _institutionalList.updateData(TMPWindowLimit, eRole_RejectionMax, vData.mTrancembrncPressureLimitWindowMaxRejectionReason ); _institutionalList.updateData(TMPWindowLimit, eRole_RejectionDef, vData.mTrancembrncPressureLimitWindowDefRejectionReason ); _institutionalList.updateData(UFVolume, eRole_RejectionMin, vData.mUltrafiltrationVolumeMinRejectionReason ); _institutionalList.updateData(UFVolume, eRole_RejectionMax, vData.mUltrafiltrationVolumeMaxRejectionReason ); _institutionalList.updateData(UFVolume, eRole_RejectionDef, vData.mUltrafiltrationVolumeDefRejectionReason ); _institutionalList.updateData(VitalsInterval, eRole_RejectionDef, vData.mVitalsIntervalDefRejectionReason ); _institutionalList.updateData(RinsebackVolume, eRole_RejectionMin, vData.mRinsebackVolumeMinRejectionReason ); _institutionalList.updateData(RinsebackVolume, eRole_RejectionMax, vData.mRinsebackVolumeMaxRejectionReason ); _institutionalList.updateData(RinsebackVolume, eRole_RejectionDef, vData.mRinsebackVolumeDefRejectionReason ); _institutionalList.updateData(RinsebackFlowRate, eRole_RejectionMin, vData.mRinsebackFlowRateMinRejectionReason ); _institutionalList.updateData(RinsebackFlowRate, eRole_RejectionMax, vData.mRinsebackFlowRateMaxRejectionReason ); _institutionalList.updateData(RinsebackFlowRate, eRole_RejectionDef, vData.mRinsebackFlowRateDefRejectionReason ); _institutionalList.updateData(SubstitutionVolume, eRole_RejectionMin, vData.mSubstitutionVolumeMinRejectionReason ); _institutionalList.updateData(SubstitutionVolume, eRole_RejectionMax, vData.mSubstitutionVolumeMaxRejectionReason ); _institutionalList.updateData(SubstitutionVolume, eRole_RejectionDef, vData.mSubstitutionVolumeDefRejectionReason ); } void View::VInstitutionalRecord::clearRejectionReason(const int &vRow, const int &vRange) { int role = vRange == Min ? eRole_RejectionMin : vRange == Max ? eRole_RejectionMax : vRange == Def ? eRole_RejectionDef : -1; _institutionalList.updateData(vRow, role, 0); }