/*! * * Copyright (c) 2020-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 VRxProfiles.h * \author (last) Behrouz NematiPour * \date (last) 24-Jan-2024 * \author (original) Peter Lucia * \date (original) 22-Sep-2020 * */ #pragma once // Qt #include #include #include #include #include #include // Project #include "MPreTreatmentAdjustParametersValidationResponse.h" #include "GuiController.h" #include "StorageGlobals.h" #include "VView.h" // forward declaration class tst_views; using namespace Storage; using namespace Gui; using namespace Model; namespace View { class VRxProfiles : public QObject { Q_OBJECT // friends friend class::tst_views; PROPERTY(bool , heparinDispensingRateOff , true) PROPERTY(bool , heparinBolusVolumeOff , true) VALUESET(quint32 , bloodFlowRate , 0) VALUESET(quint32 , dialysateFlowRate , 0) VALUESET(quint32 , treatmentDuration , 0) VALUESET(quint32 , salineBolusVolume , 0) VALUESET(quint32 , heparinStopTime , 0) VALUESET(quint32 , heparinType , 0) VALUESET(quint32 , acidConcentrate , 0) VALUESET(quint32 , bicarbonateConcentrate , 0) VALUESET(quint32 , dialyzerType , 0) VALUESET(quint32 , bloodPressureMeasureInterval , 0) VALUESET(quint32 , rinsebackFlowRate , 0) VALUESET(quint32 , rinsebackVolume , 0) VALUESET(qint32 , arterialPressureLimitWindow , 0) VALUESET(qint32 , venousPressureLimitWindow , 0) VALUESET(qint32 , venousPressureLimitAsymtrc , 0) VALUESET(qint32 , trancembrncPressureLimitWindow , 0) VALUESET(float , dialysateTemp , 0) VALUESET(float , heparinDispensingRate , 0) VALUESET(float , heparinBolusVolume , 0) VALUESET(bool , parametersValidated , 0) VALUESET(bool , parametersConfirmed , 0) TRIGGER(quint32 , bloodFlowRateRejectReason , 0) TRIGGER(quint32 , dialysateFlowRateRejectReason , 0) TRIGGER(quint32 , treatmentDurationRejectReason , 0) TRIGGER(quint32 , heparinDispensingRateRejectReason , 0) TRIGGER(quint32 , heparinBolusVolumeRejectReason , 0) TRIGGER(quint32 , heparinStopTimeRejectReason , 0) TRIGGER(quint32 , salineBolusVolumeRejectReason , 0) TRIGGER(quint32 , heparinTypeRejectReason , 0) TRIGGER(quint32 , acidConcentrateRejectReason , 0) TRIGGER(quint32 , bicarbonateConcentrateRejectReason , 0) TRIGGER(quint32 , dialyzerTypeRejectReason , 0) TRIGGER(quint32 , dialysateTempRejectReason , 0) TRIGGER(quint32 , arterialPressureLimitWindowRejectReason , 0) TRIGGER(quint32 , venousPressureLimitWindowRejectReason , 0) TRIGGER(quint32 , venousPressureLimitAsymtrcRejectReason , 0) TRIGGER(quint32 , bloodPressureMeasureIntervalRejectReason , 0) TRIGGER(quint32 , rinsebackFlowRateRejectReason , 0) TRIGGER(quint32 , rinsebackVolumeRejectReason , 0) TRIGGER(quint32 , trancembrncPressureLimitWindowRejectReason , 0) VIEW_DEC_CLASS(VRxProfiles) VIEW_DEC_SLOT(AdjustParametersValidationResponseData) private: QString enumToString(GuiRequestReasons vEnum); signals: void didAdjustment(const AdjustParametersValidationRequestData &data); void didAdjustment(const AdjustParametersConfirmRequestData &data); void didValidationFail(); void didValidationPass(); void didRxProfileList(); private slots: void onRxProfileList(const QFileInfoList &vRxProfiles); public slots: void doValidation (); void doConfirm (); void doCancel (); void doInitRxProfilesList (); QStringList doGetPrescriptionParameterValues(); QStringList doGetOperatingParameterValues(); }; }