Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -r54b6ca60bd6dbd679bb759a110675eee1de8872a -r2ef03b2ce51b4dc507f66e9671953a8e0824bde9 --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 54b6ca60bd6dbd679bb759a110675eee1de8872a) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 2ef03b2ce51b4dc507f66e9671953a8e0824bde9) @@ -1,3 +1,17 @@ +/*! + * + * 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 VTreatmentCreate.h + * \author (last) Behrouz NematiPour + * \date (last) 24-Jan-2024 + * \author (original) Peter Lucia + * \date (original) 22-Sep-2020 + * + */ #pragma once // Qt @@ -10,8 +24,11 @@ // Project #include "MPreTreatmentAdjustParametersValidationResponse.h" +#include "MAdjustHDSerialNumberResponse.h" + #include "GuiController.h" #include "StorageGlobals.h" +#include "VView.h" // forward declaration class tst_views; @@ -20,8 +37,6 @@ using namespace Gui; using namespace Model; -#define UNSET 9999 - namespace View { /*! @@ -59,184 +74,79 @@ // friends friend class::tst_views; -public: - explicit VTreatmentCreate(QObject *parent = nullptr); + QString _HDSerialNumber = ""; - // TODO: these values shall be moved to the Model. - // mL/min - static constexpr quint32 bloodFlowRate_Min = 100 ; // PRS 30 - static constexpr quint32 bloodFlowRate_Max = 500 ; // PRS 30 - static constexpr quint32 bloodFlowRate_Res = 25 ; // PRS 30 - static constexpr quint32 bloodFlowRate_Def = bloodFlowRate_Min ; // PRS 30 + PROPERTY(bool , heparinDispensingRateOff , true) + PROPERTY(bool , heparinBolusVolumeOff , true) - // mL/min - static constexpr quint32 dialysateFlowRate_Min = 100 ; // PRS 345 - static constexpr quint32 dialysateFlowRate_Max = 600 ; // PRS 345 - static constexpr quint32 dialysateFlowRate_Res = 50 ; // PRS 345 - static constexpr quint32 dialysateFlowRate_Def = dialysateFlowRate_Min ; // PRS 345 + VALUESET(quint32 , bloodFlowRate , 0) + VALUESET(quint32 , dialysateFlowRate , 0) + VALUESET(quint32 , treatmentDuration , 0) + VALUESET(float , heparinDispensingRate , 0) + VALUESET(float , heparinBolusVolume , 0) + VALUESET(quint32 , heparinStopTime , 0) + VALUESET(quint32 , salineBolusVolume , 0) - // minutes - static constexpr quint32 duration_Min = 60 ; // PRS 346 - static constexpr quint32 duration_Max = 480 ; // PRS 346 - static constexpr quint32 duration_Res = 15 ; // PRS 346 - static constexpr quint32 duration_Def = duration_Min ; // PRS 346 + VALUESET(quint32 , heparinType , 0) + VALUESET(quint32 , acidConcentrate , 0) + VALUESET(quint32 , bicarbonateConcentrate , 0) + VALUESET(quint32 , dialyzerType , 0) - // mL/hr (0 = off) - static constexpr qreal heparinDispensingRate_Min = 0.2 ; // PRS 347 - static constexpr qreal heparinDispensingRate_Max = 1.0 ; // PRS 347 - static constexpr qreal heparinDispensingRate_Res = 0.1 ; // PRS 347 - static constexpr qreal heparinDispensingRate_Def = heparinDispensingRate_Min ; // PRS 347 + VALUESET(qreal , dialysateTemp , 0) + VALUESET(qint32 , arterialPressureLimitWindow , 0) + VALUESET(qint32 , venousPressureLimitWindow , 0) + VALUESET(qint32 , venousPressureLimitAsymtrc , 0) + VALUESET(quint32 , bloodPressureMeasureInterval , 0) + VALUESET(quint32 , rinsebackFlowRate , 0) - // mL - static constexpr qreal heparinBolusVolume_Min = 0.2 ; // PRS 348 - static constexpr qreal heparinBolusVolume_Max = 2.0 ; // PRS 348 - static constexpr qreal heparinBolusVolume_Res = 0.1 ; // PRS 348 - static constexpr qreal heparinBolusVolume_Def = heparinBolusVolume_Min ; // PRS 348 + VALUESET(QString , patientID ,"") + VALUESET(bool , continueEnabled , 0) - // min - static constexpr quint32 heparinStopTime_Min = 0 ; // PRS 464 - static constexpr quint32 heparinStopTime_Max = 470 ; // PRS 464 - static constexpr quint32 heparinStopTime_Res = 10 ; // PRS 464 - static constexpr quint32 heparinStopTime_Def = heparinStopTime_Min ; // PRS 464 + PROPERTY(QString , txCode , "") - // mL - static constexpr quint32 salineBolusVolume_Min = 100 ; // PRS 350 - static constexpr quint32 salineBolusVolume_Max = 300 ; // PRS 350 - static constexpr quint32 salineBolusVolume_Res = 100 ; // PRS 350 - static constexpr quint32 salineBolusVolume_Def = salineBolusVolume_Min ; // PRS 350 + 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 ) - static constexpr quint32 heparinType_Res = 1 ; // PRS ??? - static constexpr quint32 acidConcentrate_Res = 1 ; // PRS 35 - static constexpr quint32 bicarbonateConcentrate_Res = 1 ; // PRS 351 - static constexpr quint32 dialyzerType_Res = 1 ; // PRS 352 + TRIGGER(quint32 , heparinTypeRejectReason , 0 ) + TRIGGER(quint32 , acidConcentrateRejectReason , 0 ) + TRIGGER(quint32 , bicarbonateConcentrateRejectReason , 0 ) + TRIGGER(quint32 , dialyzerTypeRejectReason , 0 ) - // Celsius - static constexpr qreal dialysateTemp_Min = 35 ; // PRS 353 - static constexpr qreal dialysateTemp_Max = 38 ; // PRS 353 - static constexpr qreal dialysateTemp_Res = 0.5 ; // PRS 353 - static constexpr qreal dialysateTemp_Def = dialysateTemp_Min ; // PRS 353 + TRIGGER (quint32 , dialysateTempRejectReason , 0 ) + TRIGGER (quint32 , arterialPressureLimitWindowRejectReason , 0 ) + TRIGGER (quint32 , venousPressureLimitWindowRejectReason , 0 ) + TRIGGER (quint32 , venousPressureLimitAsymtrcRejectReason , 0 ) + TRIGGER (quint32 , bloodPressureMeasureIntervalRejectReason , 0 ) + TRIGGER (quint32 , rinsebackFlowRateRejectReason , 0 ) - // mmHg - static constexpr qint32 arterialPressureLimitLow_Min = -300 ; // PRS 354 - static constexpr qint32 arterialPressureLimitLow_Max = -30 ; // PRS 354 - static constexpr qint32 arterialPressureLimitLow_Res = 10 ; // PRS 354 - static constexpr qint32 arterialPressureLimitLow_Def = arterialPressureLimitLow_Min ; // PRS 354 - // mmHg - static constexpr qint32 arterialPressureLimitHigh_Min = -270 ; // PRS 355 - static constexpr qint32 arterialPressureLimitHigh_Max = 0 ; // PRS 355 - static constexpr qint32 arterialPressureLimitHigh_Res = 10 ; // PRS 355 - static constexpr qint32 arterialPressureLimitHigh_Def = arterialPressureLimitHigh_Min ; // PRS 355 + VIEW_DEC_CLASS(VTreatmentCreate) + VIEW_DEC_SLOT(AdjustParametersValidationResponseData) + VIEW_DEC_SLOT(AdjustSerialNumberHDResponseData) - // mmHg - static constexpr qint32 venousPressureLimitLow_Min = 20 ; // PRS 356 - static constexpr qint32 venousPressureLimitLow_Max = 570 ; // PRS 356 - static constexpr qint32 venousPressureLimitLow_Res = 10 ; // PRS 356 - static constexpr qint32 venousPressureLimitLow_Def = venousPressureLimitLow_Min ; // PRS 356 - - // mmHg - static constexpr qint32 venousPressureLimitHigh_Min = 50 ; // PRS 357 - static constexpr qint32 venousPressureLimitHigh_Max = 600 ; // PRS 357 - static constexpr qint32 venousPressureLimitHigh_Res = 10 ; // PRS 357 - static constexpr qint32 venousPressureLimitHigh_Def = venousPressureLimitHigh_Min ; // PRS 357 - - // min - static constexpr quint32 bloodPressureMeasureInterval_Min = 0 ; // PRS 358 - static constexpr quint32 bloodPressureMeasureInterval_Max = 60 ; // PRS 358 - static constexpr quint32 bloodPressureMeasureInterval_Res = 5 ; // PRS 358 - static constexpr quint32 bloodPressureMeasureInterval_Def = bloodPressureMeasureInterval_Min ; // PRS 358 - - // mL/min - static constexpr quint32 rinsebackFlowRate_Min = 50 ; // PRS 359 - static constexpr quint32 rinsebackFlowRate_Max = 150 ; // PRS 359 - static constexpr quint32 rinsebackFlowRate_Res = 25 ; // PRS 359 - static constexpr quint32 rinsebackFlowRate_Def = rinsebackFlowRate_Min ; // PRS 359 - - enum ACID_ENUM { - eAcidUnset = 9999, - eAcid01 = 0, - eAcid02 , - eAcid03 , - }; - - enum BICARBONATE_ENUM { - eBicarbUnset= 9999, - eBicarb01 = 0, - }; - - enum DIALYZER_ENUM { - eDialyzerUnset = 9999, - eDialyzer01 = 0, - eDialyzer02 , - eDialyzer03 , - }; - - enum HEPARIN_ENUM { - eHeparinUnset = 9999, - eHeparin01 = 0, - }; - -protected: - TREATMENT_PARAMETER(quint32, bloodFlowRate, bloodFlowRate_Def, bloodFlowRate_Min, bloodFlowRate_Max, bloodFlowRate_Res) - TREATMENT_PARAMETER(quint32, dialysateFlowRate, dialysateFlowRate_Def, dialysateFlowRate_Min, dialysateFlowRate_Max, dialysateFlowRate_Res) - TREATMENT_PARAMETER(quint32, duration, duration_Def, duration_Min, duration_Max, duration_Res) - TREATMENT_PARAMETER(qreal, heparinDispensingRate, heparinDispensingRate_Def, heparinDispensingRate_Min, heparinDispensingRate_Max, heparinDispensingRate_Res) - TREATMENT_PARAMETER(qreal, heparinBolusVolume, heparinBolusVolume_Def, heparinBolusVolume_Min, heparinBolusVolume_Max, heparinBolusVolume_Res) - TREATMENT_PARAMETER(quint32, heparinStopTime, heparinStopTime_Def, heparinStopTime_Min, heparinStopTime_Max, heparinStopTime_Res) - TREATMENT_PARAMETER(quint32, salineBolusVolume, salineBolusVolume_Def, salineBolusVolume_Min, salineBolusVolume_Max, salineBolusVolume_Res) - - TREATMENT_PARAMETER(quint32, heparinType, eHeparinUnset, eHeparin01, eHeparin01, heparinType_Res) - TREATMENT_PARAMETER(quint32, acidConcentrate, eAcidUnset, eAcid01, eAcid03, acidConcentrate_Res) - TREATMENT_PARAMETER(quint32, bicarbonateConcentrate, eBicarbUnset, eBicarb01, eBicarb01, bicarbonateConcentrate_Res) - TREATMENT_PARAMETER(quint32, dialyzerType, eDialyzerUnset, eDialyzer01, eDialyzer03, dialyzerType_Res) - - TREATMENT_PARAMETER(qreal, dialysateTemp, dialysateTemp_Def, dialysateTemp_Min, dialysateTemp_Max, dialysateTemp_Res) - TREATMENT_PARAMETER(qint32, arterialPressureLimitLow, arterialPressureLimitLow_Def, arterialPressureLimitLow_Min, arterialPressureLimitLow_Max, arterialPressureLimitLow_Res) - TREATMENT_PARAMETER(qint32, arterialPressureLimitHigh, arterialPressureLimitHigh_Def, arterialPressureLimitHigh_Min, arterialPressureLimitHigh_Max, arterialPressureLimitHigh_Res) - TREATMENT_PARAMETER(qint32, venousPressureLimitLow, venousPressureLimitLow_Def, venousPressureLimitLow_Min, venousPressureLimitLow_Max, venousPressureLimitLow_Res) - TREATMENT_PARAMETER(qint32, venousPressureLimitHigh, venousPressureLimitHigh_Def, venousPressureLimitHigh_Min, venousPressureLimitHigh_Max, venousPressureLimitHigh_Res) - TREATMENT_PARAMETER(quint32, bloodPressureMeasureInterval, bloodPressureMeasureInterval_Def, bloodPressureMeasureInterval_Min, bloodPressureMeasureInterval_Max, bloodPressureMeasureInterval_Res) - TREATMENT_PARAMETER(quint32, rinsebackFlowRate, rinsebackFlowRate_Def, rinsebackFlowRate_Min, rinsebackFlowRate_Max, rinsebackFlowRate_Res) - -protected: - PROPERTY(QString , patientID , "") - PROPERTY(QStringList, heparinTypeOptions , {}) - PROPERTY(QStringList, acidConcentrateOptions , {}) - PROPERTY(QStringList, bicarbonateConcentrateOptions , {}) - PROPERTY(QStringList, dialyzerTypeOptions , {}) - PROPERTY(bool , continueEnabled , false) - - AdjustParametersValidationRequestData treatmentData; // OK - - bool validate(const AdjustParametersValidationRequestData &vData); - void setTreatmentData(); - private: QString enumToString(GuiRequestReasons vEnum); + void generateTxCode(); + signals: void didAdjustment(const AdjustParametersValidationRequestData &data); void didAdjustment(const AdjustParametersConfirmRequestData &data); - void resetCreateTreatment(); - void fwValidationFailed(QString reason); - void fwValidationSuccess(); - void scrollToParameter(QString parameter); + void didValidationFail(); + void didValidationPass(); -private slots: - bool onActionReceive(AdjustParametersValidationResponseData data); - void onSettingsDone(); - public slots: - void doResetCreateTreatment(); - void doValidation(); - void doConfirm(); - void doCancel(); - void doUserModifiedParameters(); + void doValidation (); + void doConfirm (); + void doCancel (); - QStringList doGetPrescriptionParameterNames(); QStringList doGetPrescriptionParameterValues(); - QStringList doGetOperatingParameterNames(); QStringList doGetOperatingParameterValues(); }; }