Index: leahi.qrc =================================================================== diff -u -r9cc47cf817b3236812926e3a92373db89932fe72 -r56381aae237db191956aff493907cd1f0801216b --- leahi.qrc (.../leahi.qrc) (revision 9cc47cf817b3236812926e3a92373db89932fe72) +++ leahi.qrc (.../leahi.qrc) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -267,6 +267,8 @@ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreate.qml sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml + sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml + sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml sources/gui/qml/pages/treatment/TreatmentStack.qml Index: sources/canbus/MessageDispatcher.cpp =================================================================== diff -u -rf723048b0efe2edf7cb08b9bba2ef67c55917503 -r56381aae237db191956aff493907cd1f0801216b --- sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision f723048b0efe2edf7cb08b9bba2ef67c55917503) +++ sources/canbus/MessageDispatcher.cpp (.../MessageDispatcher.cpp) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -651,25 +651,28 @@ void MessageDispatcher::onAdjustment(const AdjustParametersValidationRequestData &vData) { QVariantList mData; + mData += vData.mTreatmentModality ; + mData += vData.mHDFTreatmentMode ; mData += vData.mBloodFlowRate ; mData += vData.mDialysateFlowRate ; mData += vData.mTreatmentDuration ; - mData += vData.mSalineBolusVolume ; - mData += vData.mHeparinStopTime ; + mData += vData.mHeparinDeliveryDuration ; mData += vData.mHeparinType ; - mData += vData.mAcidConcentrate ; - mData += vData.mBicarbonateConcentrate ; + mData += vData.mDryBicarbCartSize ; + mData += vData.mSodium ; + mData += vData.mBicarbonate ; mData += vData.mDialyzerType ; + mData += vData.mFluidBolusVolume ; mData += vData.mBloodPressureMeasureInterval ; - mData += vData.mRinsebackFlowRate ; + mData += vData.mPrimeDiscardVolume ; mData += vData.mRinsebackVolume ; - mData += vData.mArterialPressureLimitWindow ; - mData += vData.mVenousPressureLimitWindow ; - mData += vData.mVenousPressureLimitAsymtrc ; - mData += vData.mTransmembranePressureLimitWindow; - mData += vData.mDialysateTemp ; - mData += vData.mHeparinDispensingRate ; + mData += vData.mHepatitusBStatus ; + mData += vData.mSubstitutionFluidVolume ; mData += vData.mHeparinBolusVolume ; + mData += vData.mHeparinDispensingRate ; + mData += vData.mDialysateTemp ; + mData += vData.mPotassium ; + mData += vData.mCalcium ; onActionTransmit(GuiActionType::ID_AdjustParametersValidationReq, mData); } Index: sources/canbus/MessageGlobals.h =================================================================== diff -u -rf723048b0efe2edf7cb08b9bba2ef67c55917503 -r56381aae237db191956aff493907cd1f0801216b --- sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision f723048b0efe2edf7cb08b9bba2ef67c55917503) +++ sources/canbus/MessageGlobals.h (.../MessageGlobals.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -221,8 +221,8 @@ {Gui::GuiActionType::ID_AdjustInitTreatmentReq , 1 * 4 }, // 1 parameters each 4bytes {Gui::GuiActionType::ID_AdjustInitTreatmentRsp , 2 * 4 }, // 2 parameters each 4bytes // Pre-Treatment Treatment Parameters Validation/Confirm - {Gui::GuiActionType::ID_AdjustParametersValidationReq , 19 * 4 }, //19 parameters each 4bytes - {Gui::GuiActionType::ID_AdjustParametersValidationRsp , 20 * 4 }, //18 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustParametersValidationReq , 22 * 4 }, //23 parameters each 4bytes + {Gui::GuiActionType::ID_AdjustParametersValidationRsp , 23 * 4 }, //24 parameters each 4bytes {Gui::GuiActionType::ID_AdjustParametersConfirmReq , 1 * 4 }, // 1 parameters each 4bytes // Pre-Treatment Water Sample {Gui::GuiActionType::ID_DGFilterFlushData , 2 * 4 }, // 2 parameters each 4bytes Index: sources/gui/qml/components/MainMenu.qml =================================================================== diff -u -r11cf98a0aae3c01a7e7608b0c9f8a4c2112ca997 -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision 11cf98a0aae3c01a7e7608b0c9f8a4c2112ca997) +++ sources/gui/qml/components/MainMenu.qml (.../MainMenu.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -33,6 +33,7 @@ property int titlePixelSize : 40 property color backgroundColor : Colors.backgroundMainMenu property int highlightHeight : 10 + property int highlightWidth : 0 readonly property int currentScreen : model.get(index).screen ?? 0 width : parent.width @@ -75,7 +76,7 @@ bottomMargin: (height / 2) * -1 } height : _root.highlightHeight - width : parent.width / 2 + width : _root.highlightWidth ? _root.highlightWidth : parent.width / 2 radius : 10 color : Colors.backgroundButtonSelect } Index: sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml =================================================================== diff -u -r69c86c57349b7d4a6ba47a801ba27b1c470fade5 -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 69c86c57349b7d4a6ba47a801ba27b1c470fade5) +++ sources/gui/qml/dialogs/diagnostics/DiagnosticsSwipe.qml (.../DiagnosticsSwipe.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -51,7 +51,7 @@ model : _model onItemPressed: function (vIndex) { - view.currentIndex = vIndex + _view.currentIndex = vIndex } ListModel { id: _model Index: sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml =================================================================== diff -u -ref583f0056a0fb8c66a64e132be159719b2bc2f6 -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision ef583f0056a0fb8c66a64e132be159719b2bc2f6) +++ sources/gui/qml/pages/pretreatment/PreTreatmentStack.qml (.../PreTreatmentStack.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -245,8 +245,9 @@ // Slots Connections { target: vTDOpMode - function onPreTreatmentChanged( vValue ) { if ( vSettings.advancedMode ) { page ( _pretreatmentInstallation , vValue )} - else { page ( _pretreatmentConcentrates , vValue )} + function onPreTreatmentChanged( vValue ) { if ( ! vTreatmentCreate.txCode ) { vTreatmentCreate.generateTxCode() } + if ( vSettings.advancedMode ) { page ( _pretreatmentInstallation , vValue )} + else { page ( _pretreatmentConcentrates , vValue )} } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -ra563e719d85e3274b0cd0fa831ef8257032e49bc -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision a563e719d85e3274b0cd0fa831ef8257032e49bc) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -36,10 +36,16 @@ readonly property string selectRx : qsTr( "Select Rx" ) readonly property string clearAll : qsTr( "Clear All" ) + property int currentIndex : PreTreatmentCreateContent.PatientPrescription property bool editingEnabled : true onIsValidatedChanged : canEdit ( ! isValidated ) + enum Page { + PatientPrescription , + TreatmentSettings + } + function canEdit (state) { editingEnabled = state && ! vTDOpMode.inTreatment } function activateAndRefresh() { @@ -49,9 +55,9 @@ vTreatmentCreate.treatmentDurationSet = true vTreatmentCreate.heparinDispensingRateSet = true vTreatmentCreate.heparinBolusVolumeSet = true - vTreatmentCreate.heparinStopTimeSet = true + vTreatmentCreate.heparinDeliveryDurationSet = true vTreatmentCreate.dialysateTempSet = true - vTreatmentCreate.salineBolusVolumeSet = true + vTreatmentCreate.fluidBolusVolumeSet = true vTreatmentCreate.bloodPressureMeasureIntervalSet = true vTreatmentCreate.acidConcentrateSet = true vTreatmentCreate.bicarbonateConcentrateSet = true @@ -64,9 +70,9 @@ _durationControl .refresh() _heparinDispensingRateControl .refresh() _heparinBolusVolumeControl .refresh() - _heparinStopTimeControl .refresh() + _heparinDeliveryDurationControl .refresh() _dialysateTemperatureControl .refresh() - _salineBolusVolumeControl .refresh() + _fluidBolusVolumeControl .refresh() _bpMeasurementIntervalControl .refresh() } @@ -77,57 +83,60 @@ _durationControl .clear() _heparinDispensingRateControl .clear() _heparinBolusVolumeControl .clear() - _heparinStopTimeControl .clear() + _heparinDeliveryDurationControl .clear() _acidConcentrateComboBox .clear() _bicarbonateConcentrateComboBox .clear() _dialyzerTypeComboBox .clear() _dialysateTemperatureControl .clear() - _salineBolusVolumeControl .clear() + _fluidBolusVolumeControl .clear() _bpMeasurementIntervalControl .clear() clearErrors() canEdit (true) } function clearErrors() { + vTreatmentCreate.treatmentModalityRejectReason = Variables.noRejectReason + vTreatmentCreate.hDFTreatmentModeRejectReason = Variables.noRejectReason vTreatmentCreate.bloodFlowRateRejectReason = Variables.noRejectReason vTreatmentCreate.dialysateFlowRateRejectReason = Variables.noRejectReason vTreatmentCreate.treatmentDurationRejectReason = Variables.noRejectReason - vTreatmentCreate.heparinDispensingRateRejectReason = Variables.noRejectReason - vTreatmentCreate.heparinBolusVolumeRejectReason = Variables.noRejectReason - vTreatmentCreate.heparinStopTimeRejectReason = Variables.noRejectReason - vTreatmentCreate.acidConcentrateRejectReason = Variables.noRejectReason - vTreatmentCreate.bicarbonateConcentrateRejectReason = Variables.noRejectReason + vTreatmentCreate.heparinDeliveryDurationRejectReason = Variables.noRejectReason + vTreatmentCreate.heparinTypeRejectReason = Variables.noRejectReason + vTreatmentCreate.dryBicarbCartSizeRejectReason = Variables.noRejectReason + vTreatmentCreate.sodiumRejectReason = Variables.noRejectReason + vTreatmentCreate.bicarbonateRejectReason = Variables.noRejectReason vTreatmentCreate.dialyzerTypeRejectReason = Variables.noRejectReason - vTreatmentCreate.dialysateTempRejectReason = Variables.noRejectReason - vTreatmentCreate.salineBolusVolumeRejectReason = Variables.noRejectReason + vTreatmentCreate.fluidBolusVolumeRejectReason = Variables.noRejectReason vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason + vTreatmentCreate.primeDiscardVolumeRejectReason = Variables.noRejectReason + vTreatmentCreate.rinsebackVolumeRejectReason = Variables.noRejectReason + vTreatmentCreate.hepatitusBStatusRejectReason = Variables.noRejectReason + vTreatmentCreate.substitutionFluidVolumeRejectReason = Variables.noRejectReason + vTreatmentCreate.heparinBolusVolumeRejectReason = Variables.noRejectReason + vTreatmentCreate.heparinDispensingRateRejectReason = Variables.noRejectReason + vTreatmentCreate.dialysateTempRejectReason = Variables.noRejectReason + vTreatmentCreate.potassiumRejectReason = Variables.noRejectReason + vTreatmentCreate.calciumRejectReason = Variables.noRejectReason } function confirmReady () { - return _bloodFlowRateControl .isActive && _bloodFlowRate .valid && - _dialysateFlowRateControl .isActive && _dialysateFlowRate .valid && - _durationControl .isActive && _duration .valid && + return _bloodFlowRateControl .isActive && _bloodFlowRate .valid && + _dialysateFlowRateControl .isActive && _dialysateFlowRate .valid && + _durationControl .isActive && _duration .valid && ( _root.heparinFeatured ? _heparinDispensingRateControl .isActive && _heparinDispensingRate .valid && - _heparinBolusVolumeControl .isActive && _heparinBolusVolume .valid && - _heparinStopTimeControl .isActive && _heparinStopTime .valid : true ) && + _heparinBolusVolumeControl .isActive && _heparinBolusVolume .valid && + _heparinDeliveryDurationControl .isActive && _heparinDeliveryDuration .valid : true ) && _acidConcentrateComboBox .isActive && _bicarbonateConcentrateComboBox .isActive && _dialyzerTypeComboBox .isActive && - _dialysateTemperatureControl .isActive && _dialysateTemperature .valid && - _salineBolusVolumeControl .isActive && _salineBolusVolume .valid && + _dialysateTemperatureControl .isActive && _dialysateTemperature .valid && + _fluidBolusVolumeControl .isActive && _fluidBolusVolume .valid && _bpMeasurementIntervalControl .isActive } function validate () { vTreatmentCreate .patientID = _pretreatmentPatientIDEntry.text vPostTreatmentAdjustmentTreatmentLog.patientID = _pretreatmentPatientIDEntry.text // store for the TreatmentLog - - vTreatmentCreate.arterialPressureLimitWindow = vTreatmentRanges.arterialPressureLimitWindowDef // these parameters don't have a user option on create treatment, so sending the default. - vTreatmentCreate.venousPressureLimitWindow = vTreatmentRanges.venousPressureLimitWindowDef // these parameters don't have a user option on create treatment, so sending the default. - vTreatmentCreate.venousPressureLimitAsymtrc = vTreatmentRanges.venousPressureLimitAsymtrcDef // these parameters don't have a user option on create treatment, so sending the default. - vTreatmentCreate.transmembranePressureLimitWindow = vTreatmentRanges.transmembranePressureLimitWindowDef // these parameters don't have a user option on create treatment, so sending the default. - vTreatmentCreate.rinsebackVolume = vTreatmentRanges.rinsebackVolumeDef // these parameters don't have a user option on create treatment, so sending the default. - vTreatmentCreate.rinsebackFlowRate = vTreatmentRanges.rinsebackFlowRateDef // these parameters don't have a user option on create treatment, so sending the default. vTreatmentCreate.doValidation ( ) } @@ -146,6 +155,7 @@ function onAccepted () { vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.find(_acidConcentrateAdjustment.adjustment) _acidConcentrateComboBox.currentIndex = vTreatmentCreate.acidConcentrate + vTreatmentCreate.acidConcentrateConversionFactor = vTreatmentRanges.acidConcentrateValues[vTreatmentCreate.acidConcentrate] } } @@ -155,22 +165,44 @@ onClicked : focus = true // grab focus here } - Text { id: _prescriptionTitle + MainMenu { id: _prescriptionMenu anchors { - top : parent.top - topMargin : Variables.defaultMargin - left : parent.left + top : parent.top + topMargin : Variables.defaultMargin + left : parent.left } - text : qsTr("Prescription") - color : Colors.textMain - font.pixelSize : Fonts.fontPixelTitle - font.weight : Font.Medium + + width : _root.width / 2.5 + index : _root.currentIndex + color : Colors.transparent + titlePixelSize : 30 + model : _model + highlightWidth : width / 2.5 + + onItemPressed: function (vIndex) { + _root.currentIndex = vIndex + } + + ListModel { id: _model + ListElement { text: qsTr("Patient Prescription") ; visible: true } + ListElement { text: qsTr("Treatment Settings") ; visible: true } + } } - BaseComboBox { id: _prescriptionMenu + Line { anchors { - left : _prescriptionTitle.right - verticalCenter : _prescriptionTitle.verticalCenter + bottom : _prescriptionMenu.bottom + right : parent.right + left : parent.left + } + + color : Colors.panelBorderColor + } + + BaseComboBox { id: _prescriptionDotMenu + anchors { + left : _prescriptionMenu.right + verticalCenter : _prescriptionMenu.verticalCenter verticalCenterOffset: 5 } @@ -200,9 +232,45 @@ } } + Row { id: _qrRow + height : _root.cellHeight + spacing : Variables.defaultMargin + anchors { + left : parent.left + leftMargin : (_root.width / 2) + (_root.columnSpacing * 2) + verticalCenter : _prescriptionMenu.verticalCenter + verticalCenterOffset: -10 + } + QRCode { id: _qrCode + anchors.verticalCenter : parent.verticalCenter + qrcode : vTreatmentCreate.txCode + clear : ! _root.visible + } + + Text { id: _txCode + anchors.bottom : _qrCode.bottom + text : vTreatmentCreate.txCode ? qsTr("Tx Code: ") + vTreatmentCreate.txCode : " " + color : "#DBE9FA" + font.pixelSize : Fonts.fontPixelButton + } + } + + Item { id: _view + anchors { + top : _prescriptionMenu.bottom + topMargin : Variables.defaultMargin * 2 + left : _root.left + right : _root.right + bottom : parent.bottom + } + + PreTreatmentCreateTreatmentSettings { id: _preTreatmentCreateTreatmentSettings; visible: _root.currentIndex === PreTreatmentCreateContent.PatientPrescription } + PreTreatmentCreatePatientPrescription { id: _preTreatmentCreatePatientPrescription; visible: _root.currentIndex === PreTreatmentCreateContent.TreatmentSettings } + } + Grid { id: _contentGrid anchors { - top : _prescriptionTitle.bottom + top : _prescriptionMenu.bottom topMargin : Variables.defaultMargin * 2 left : _root.left right : _root.right @@ -212,8 +280,8 @@ flow : Grid.LeftToRight rows : _root.heparinFeatured ? 7 : 6 columns : 2 - rowSpacing :_root.columnSpacing - columnSpacing : _root.rowSpacing + rowSpacing : _root.columnSpacing + columnSpacing : _root.rowSpacing Item { id: _patientIDItem height : _root.cellHeight @@ -254,25 +322,8 @@ } } - Row { id: _qrRow - height : _root.cellHeight - spacing : Variables.defaultMargin - QRCode { id: _qrCode - anchors.verticalCenter : parent.verticalCenter - anchors.verticalCenterOffset: -5 - qrcode : vTreatmentCreate.txCode - clear : ! _root.visible - } - Text { id: _txCode - anchors.bottom : _qrCode.bottom - text : vTreatmentCreate.txCode ? qsTr("Tx Code: ") + vTreatmentCreate.txCode : " " - color : "#DBE9FA" - font.pixelSize : Fonts.fontPixelButton - } - } - LabelUnitContainer { id: _bloodFlowRate text : qsTr("Blood Flow Rate") unitText : Variables.unitTextFlowRate @@ -296,7 +347,7 @@ LabelUnitContainer { id: _acidConcentrate text : qsTr("Acid Concentrate") - showEdit : _root.editingEnabled +// showEdit : _root.editingEnabled // Hide 👋📋 TODO Phase 2 onEditClicked : _acidConcentrateAdjustment.open() valid : ! vTreatmentCreate.acidConcentrateRejectReason @@ -318,8 +369,10 @@ if ( ! _acidConcentrate.valid ) { vTreatmentCreate.acidConcentrateRejectReason = Variables.noRejectReason } vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.currentIndex vTreatmentCreate.acidConcentrateSet = true - vTreatmentRanges.doPopulateAcidConcentrate( vTreatmentCreate.acidConcentrateSet, - vTreatmentCreate.acidConcentrate) +// vTreatmentCreate.acidConcentrateConversionFactor = vTreatmentRanges.acidConcentrateValues[vTreatmentCreate.acidConcentrate] + + print( vTreatmentRanges.acidConcentrateModel.get(vTreatmentCreate.acidConcentrate).value ) + } } } @@ -346,23 +399,23 @@ } LabelUnitContainer { id: _bicarbonateConcentrate - text : qsTr("Bicarbonate Concentrate") - valid : ! vTreatmentCreate.bicarbonateConcentrateRejectReason + text : qsTr("Bicarbonate Concentrate Size") + valid : ! vTreatmentCreate.dryBicarbCartSizeRejectReason contentItem : BaseComboBox { id: _bicarbonateConcentrateComboBox anchors.rightMargin : Variables.defaultMargin * 2 anchors.leftMargin : anchors.rightMargin anchors.topMargin : Variables.defaultMargin / 2 anchors.bottomMargin: anchors.topMargin - isActive : vTreatmentCreate.bicarbonateConcentrateSet + isActive : vTreatmentCreate.dryBicarbCartSizeSet enabled : _root.editingEnabled - currentIndex : vTreatmentCreate.bicarbonateConcentrate - model : vTreatmentRanges.bicarbonateConcentrateOptions - onClear : vTreatmentCreate.bicarbonateConcentrateSet = false + currentIndex : vTreatmentCreate.dryBicarbCartSize + model : vTreatmentRanges.dryBicabCartridgeSizeOptions + onClear : vTreatmentCreate.dryBicarbCartSizeSet = false onActivated : { - if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.bicarbonateConcentrateRejectReason = Variables.noRejectReason } - vTreatmentCreate.bicarbonateConcentrate = _bicarbonateConcentrateComboBox.currentIndex - vTreatmentCreate.bicarbonateConcentrateSet = true + if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.dryBicarbCartSizeRejectReason = Variables.noRejectReason } + vTreatmentCreate.dryBicarbCartSize = _bicarbonateConcentrateComboBox.currentIndex + vTreatmentCreate.dryBicarbCartSizeSet = true } } } @@ -386,7 +439,7 @@ vTreatmentCreate.treatmentDuration = vValue // set heparin time to clear when set - if ( _heparinStopTimeControl.enabled ) { _heparinStopTimeControl.clear() } + if ( _heparinDeliveryDurationControl.enabled ) { _heparinDeliveryDurationControl.clear() } } } } @@ -483,21 +536,21 @@ onDidChange : function(vValue) { if ( ! _heparinDispensingRate.valid ) { vTreatmentCreate.heparinDispensingRateRejectReason = Variables.noRejectReason } // set heparin time to clear when set OFF to value - if ( ! vTreatmentCreate.heparinDispensingRate && vValue ) { _heparinStopTimeControl.clear() } + if ( ! vTreatmentCreate.heparinDispensingRate && vValue ) { _heparinDeliveryDurationControl.clear() } vTreatmentCreate.heparinDispensingRate = vValue // if set to OFF set heparin stop time 0 if ( ! vTreatmentCreate.heparinDispensingRate ) { - vTreatmentCreate.heparinStopTimeSet = true - vTreatmentCreate.heparinStopTime = 0 + vTreatmentCreate.heparinDeliveryDurationSet = true + vTreatmentCreate.heparinDeliveryDuration = 0 } } onIsActiveChanged: { if ( ! vTreatmentCreate.heparinDispensingRate && isActive ) { - vTreatmentCreate.heparinStopTimeSet = true - vTreatmentCreate.heparinStopTime = 0 + vTreatmentCreate.heparinDeliveryDurationSet = true + vTreatmentCreate.heparinDeliveryDuration = 0 } } } @@ -525,47 +578,47 @@ } } - LabelUnitContainer { id: _heparinStopTime + LabelUnitContainer { id: _heparinDeliveryDuration text : qsTr("Heparin Delivery Duration") unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.heparinStopTimeRejectReason + valid : ! vTreatmentCreate.heparinDeliveryDurationRejectReason visible : _root.heparinFeatured - contentItem : ValueAdjuster { id: _heparinStopTimeControl + contentItem : ValueAdjuster { id: _heparinDeliveryDurationControl editable : _root.editingEnabled minimum : vTreatmentRanges.heparinStopTimeMin maximum : _durationControl.value step : _durationControl.step defaultValue : _durationControl.value - value : vTreatmentCreate.heparinStopTime + value : vTreatmentCreate.heparinDeliveryDuration enabled : vTreatmentCreate.heparinDispensingRate canOff : true - isActive : vTreatmentCreate.heparinStopTimeSet - onDidActiveChange: function(vState) { vTreatmentCreate.heparinStopTimeSet = vState } + isActive : vTreatmentCreate.heparinDeliveryDurationSet + onDidActiveChange: function(vState) { vTreatmentCreate.heparinDeliveryDurationSet = vState } onDidChange : function(vValue) { - if ( ! _heparinStopTime.valid ) { vTreatmentCreate.heparinStopTimeRejectReason = Variables.noRejectReason } - vTreatmentCreate.heparinStopTime = vValue + if ( ! _heparinDeliveryDuration.valid ) { vTreatmentCreate.heparinDeliveryDurationRejectReason = Variables.noRejectReason } + vTreatmentCreate.heparinDeliveryDuration = vValue } } } - LabelUnitContainer { id: _salineBolusVolume - text : qsTr("Saline Bolus Volume") + LabelUnitContainer { id: _fluidBolusVolume + text : qsTr("Fluid Bolus Volume") unitText : Variables.unitTextFluid - valid : ! vTreatmentCreate.salineBolusVolumeRejectReason + valid : ! vTreatmentCreate.fluidBolusVolumeRejectReason - contentItem : ValueAdjuster { id: _salineBolusVolumeControl + contentItem : ValueAdjuster { id: _fluidBolusVolumeControl editable : _root.editingEnabled minimum : vTreatmentRanges.salineBolusVolumeMin maximum : vTreatmentRanges.salineBolusVolumeMax step : vTreatmentRanges.salineBolusVolumeRes defaultValue : vTreatmentRanges.salineBolusVolumeDef - value : vTreatmentCreate.salineBolusVolume - isActive : vTreatmentCreate.salineBolusVolumeSet - onDidActiveChange: function(vState) { vTreatmentCreate.salineBolusVolumeSet = vState } + value : vTreatmentCreate.fluidBolusVolume + isActive : vTreatmentCreate.fluidBolusVolumeSet + onDidActiveChange: function(vState) { vTreatmentCreate.fluidBolusVolumeSet = vState } onDidChange : function(vValue) { - if ( ! _salineBolusVolume.valid ) { vTreatmentCreate.salineBolusVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.salineBolusVolume = vValue + if ( ! _fluidBolusVolume.valid ) { vTreatmentCreate.fluidBolusVolumeRejectReason = Variables.noRejectReason } + vTreatmentCreate.fluidBolusVolume = vValue } } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (revision 56381aae237db191956aff493907cd1f0801216b) @@ -0,0 +1,8 @@ +import QtQuick 2.0 + +Rectangle { + anchors.fill: parent + + color: "blue" + +} Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml =================================================================== diff -u --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml (revision 0) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml (revision 56381aae237db191956aff493907cd1f0801216b) @@ -0,0 +1,7 @@ +import QtQuick 2.0 + +Rectangle { + anchors.fill: parent + color: "red" + +} Index: sources/gui/qml/pages/treatment/TreatmentHeparin.qml =================================================================== diff -u -r3c543158a4f8165fe878b59e5d09ea82e06c53f5 -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 3c543158a4f8165fe878b59e5d09ea82e06c53f5) +++ sources/gui/qml/pages/treatment/TreatmentHeparin.qml (.../TreatmentHeparin.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -50,9 +50,9 @@ isPaused ? qsTr("Pause") : isCompleted ? qsTr("Complete") : qsTr("Active") - readonly property var titles : [ qsTr("Heparin Type"), qsTr("Dispensing Rate"), qsTr("Bolus Volume"), qsTr("Stop Time") ] - readonly property var units : [ Variables.unitHeparinType, Variables.unitTextDispensingRate, Variables.unitTextDispensingRate, Variables.unitTextDuration ] - readonly property var values : [ vTreatmentRanges.heparinTypeOptions[vTreatmentCreate.heparinType], vTreatmentCreate.heparinDispensingRate, vTreatmentCreate.heparinBolusVolume, vTreatmentCreate.heparinStopTime ] + readonly property var titles : [ qsTr("Heparin Type"), qsTr("Dispensing Rate"), qsTr("Bolus Volume"), qsTr("Stop Time") ] + readonly property var units : [ Variables.unitHeparinType, Variables.unitTextDispensingRate, Variables.unitTextDispensingRate, Variables.unitTextDuration ] + readonly property var values : [ vTreatmentRanges.heparinTypeOptions[vTreatmentCreate.heparinType], vTreatmentCreate.heparinDispensingRate, vTreatmentCreate.heparinBolusVolume, vTreatmentCreate.heparinDeliveryDuration] readonly property real cumulative : vTreatmentHeparin.cumulative readonly property real target : vTreatmentHeparin.target Index: sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSetPoints.qml =================================================================== diff -u -rc9764bd0ad823c5c1725d7c7f556290c2c459d4d -r56381aae237db191956aff493907cd1f0801216b --- sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSetPoints.qml (.../TreatmentAdjustmentSetPoints.qml) (revision c9764bd0ad823c5c1725d7c7f556290c2c459d4d) +++ sources/gui/qml/pages/treatment/adjustments/TreatmentAdjustmentSetPoints.qml (.../TreatmentAdjustmentSetPoints.qml) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -183,7 +183,7 @@ objectName : "_bicarbConcentrate" width : _private.containerWidth height : Variables.adjustmentLabelUnitContainerHeight - text : qsTr("Bicarbonate Concentrate") + text : qsTr("Bicarbonate Concentrate Size") titleFontSize : _private.titleFontPixelSize unitFontSize : _private.unitFontPixelSize @@ -196,15 +196,15 @@ rightMargin : anchors.leftMargin } font.pixelSize : _private.titleFontPixelSize - isActive : vTreatmentCreate.bicarbonateConcentrateSet - currentIndex : vTreatmentCreate.bicarbonateConcentrate - model : vTreatmentRanges.bicarbonateConcentrateOptions - onClear : vTreatmentCreate.bicarbonateConcentrateSet = false + isActive : vTreatmentCreate.dryBicarbCartSizeSet + currentIndex : vTreatmentCreate.dryBicarbCartSize + model : vTreatmentRanges.dryBicabCartridgeSizeOptions + onClear : vTreatmentCreate.dryBicarbCartSizeSet = false onActivated : { if ( ! _bicarbConcentrate.valid ) { vTreatmentCreate.bicarbonateConcentrateRejectReason = Variables.noRejectReason } - vTreatmentCreate.bicarbonateConcentrate = _bicarbConcentrateComboBox.currentIndex - vTreatmentCreate.bicarbonateConcentrateSet = true + vTreatmentCreate.dryBicarbCartSize = _bicarbConcentrateComboBox.currentIndex + vTreatmentCreate.dryBicarbCartSizeSet = true } } } Index: sources/model/MListModel.h =================================================================== diff -u -rf433eeefae34530e7cc3dc4e5576e43729b236f2 -r56381aae237db191956aff493907cd1f0801216b --- sources/model/MListModel.h (.../MListModel.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) +++ sources/model/MListModel.h (.../MListModel.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -34,6 +34,14 @@ public slots: QVariantMap get (int vRow ) const; // Exposed to QML + Q_INVOKABLE QStringList getRoleNames() const { + QStringList keys; + for (const auto &roleName : roleNames()) { + keys << QString(roleName); + } + return keys; + } + private: QList> _data; QHash _roleNames; Index: sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.cpp =================================================================== diff -u -rb1462640e36df3f567c42aa8c8cbd6dafe865625 -r56381aae237db191956aff493907cd1f0801216b --- sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.cpp (.../MPreTreatmentAdjustParametersValidationResponse.cpp) (revision b1462640e36df3f567c42aa8c8cbd6dafe865625) +++ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.cpp (.../MPreTreatmentAdjustParametersValidationResponse.cpp) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -19,50 +19,56 @@ QVariantList MAdjustParametersValidationResponse::parameters() const { return { _data.mAccepted .value, - _data.mBloodFlowRateRejectReason .value, - _data.mDialysateFlowRateRejectReason .value, - _data.mTreatmentDurationRejectReason .value, - _data.mSalineBolusVolumeRejectReason .value, - _data.mHeparinStopTimeRejectReason .value, - _data.mHeparinTypeRejectReason .value, - _data.mAcidConcentrateRejectReason .value, - _data.mBicarbonateConcentrateRejectReason .value, - _data.mDialyzerTypeRejectReason .value, - _data.mBloodPressureMeasureIntervalRejectReason .value, - _data.mRinsebackFlowRateRejectReason .value, - _data.mRinsebackVolumeRejectReason .value, - _data.mArterialPressureLimitWindowRejectReason .value, - _data.mVenousPressureLimitWindowRejectReason .value, - _data.mVenousPressureLimitAsymtrcRejectReason .value, - _data.mTransmembranePressureLimitWindowRejectReason .value, - _data.mDialysateTempRejectReason .value, - _data.mHeparinDispensingRateRejectReason .value, - _data.mHeparinBolusVolumeRejectReason .value + _data.mTreatmentModalityRejectionReason .value, + _data.mHDFTreatmentModeRejectionReason .value, + _data.mBloodFlowRateRejectionReason .value, + _data.mDialysateFlowRateRejectionReason .value, + _data.mTreatmentDurationRejectionReason .value, + _data.mHeparinDeliveryDurationRejectionReason .value, + _data.mHeparinTypeRejectionReason .value, + _data.mDryBicarbCartSizeRejectionReason .value, + _data.mSodiumRejectionReason .value, + _data.mBicarbonateRejectionReason .value, + _data.mDialyzerTypeRejectionReason .value, + _data.mFluidBolusVolumeRejectionReason .value, + _data.mBloodPressureMeasureIntervalRejectionReason .value, + _data.mPrimeDiscardVolumeRejectionReason .value, + _data.mRinsebackVolumeRejectionReason .value, + _data.mHepatitusBStatusRejectionReason .value, + _data.mSubstitutionFluidVolumeRejectionReason .value, + _data.mHeparinBolusVolumeRejectionReason .value, + _data.mHeparinDispensingRateRejectionReason .value, + _data.mDialysateTempRejectionReason .value, + _data.mPotassiumRejectionReason .value, + _data.mCalciumRejectionReason .value }; } bool MAdjustParametersValidationResponse::fromByteArray(const QByteArray &vByteArray, int *vIndex) { int index = 0; // message data start position if ( ! GetValue(vByteArray, index, _data.mAccepted )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mBloodFlowRateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mDialysateFlowRateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mTreatmentDurationRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mSalineBolusVolumeRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mHeparinStopTimeRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mHeparinTypeRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mAcidConcentrateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mBicarbonateConcentrateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mDialyzerTypeRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mBloodPressureMeasureIntervalRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mRinsebackFlowRateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mRinsebackVolumeRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mArterialPressureLimitWindowRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mVenousPressureLimitWindowRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mVenousPressureLimitAsymtrcRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mTransmembranePressureLimitWindowRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mDialysateTempRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mHeparinDispensingRateRejectReason )) goto lError; - if ( ! GetValue(vByteArray, index, _data.mHeparinBolusVolumeRejectReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTreatmentModalityRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHDFTreatmentModeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBloodFlowRateRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialysateFlowRateRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mTreatmentDurationRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeparinDeliveryDurationRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeparinTypeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDryBicarbCartSizeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSodiumRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBicarbonateRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialyzerTypeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mFluidBolusVolumeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mBloodPressureMeasureIntervalRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPrimeDiscardVolumeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mRinsebackVolumeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHepatitusBStatusRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mSubstitutionFluidVolumeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeparinBolusVolumeRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mHeparinDispensingRateRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mDialysateTempRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mPotassiumRejectionReason )) goto lError; + if ( ! GetValue(vByteArray, index, _data.mCalciumRejectionReason )) goto lError; return true ; @@ -75,24 +81,27 @@ MAdjustParametersValidationResponse::Data MAdjustParametersValidationResponse::data() const { Data data; data.mAccepted = _data.mAccepted .value; - data.mBloodFlowRateRejectReason = _data.mBloodFlowRateRejectReason .value; - data.mDialysateFlowRateRejectReason = _data.mDialysateFlowRateRejectReason .value; - data.mTreatmentDurationRejectReason = _data.mTreatmentDurationRejectReason .value; - data.mSalineBolusVolumeRejectReason = _data.mSalineBolusVolumeRejectReason .value; - data.mHeparinStopTimeRejectReason = _data.mHeparinStopTimeRejectReason .value; - data.mHeparinTypeRejectReason = _data.mHeparinTypeRejectReason .value; - data.mAcidConcentrateRejectReason = _data.mAcidConcentrateRejectReason .value; - data.mBicarbonateConcentrateRejectReason = _data.mBicarbonateConcentrateRejectReason .value; - data.mDialyzerTypeRejectReason = _data.mDialyzerTypeRejectReason .value; - data.mBloodPressureMeasureIntervalRejectReason = _data.mBloodPressureMeasureIntervalRejectReason .value; - data.mRinsebackFlowRateRejectReason = _data.mRinsebackFlowRateRejectReason .value; - data.mRinsebackVolumeRejectReason = _data.mRinsebackVolumeRejectReason .value; - data.mArterialPressureLimitWindowRejectReason = _data.mArterialPressureLimitWindowRejectReason .value; - data.mVenousPressureLimitWindowRejectReason = _data.mVenousPressureLimitWindowRejectReason .value; - data.mVenousPressureLimitAsymtrcRejectReason = _data.mVenousPressureLimitAsymtrcRejectReason .value; - data.mTransmembranePressureLimitWindowRejectReason = _data.mTransmembranePressureLimitWindowRejectReason .value; - data.mDialysateTempRejectReason = _data.mDialysateTempRejectReason .value; - data.mHeparinDispensingRateRejectReason = _data.mHeparinDispensingRateRejectReason .value; - data.mHeparinBolusVolumeRejectReason = _data.mHeparinBolusVolumeRejectReason .value; + data.mTreatmentModalityRejectionReason = _data.mTreatmentModalityRejectionReason .value; + data.mHDFTreatmentModeRejectionReason = _data.mHDFTreatmentModeRejectionReason .value; + data.mBloodFlowRateRejectionReason = _data.mBloodFlowRateRejectionReason .value; + data.mDialysateFlowRateRejectionReason = _data.mDialysateFlowRateRejectionReason .value; + data.mTreatmentDurationRejectionReason = _data.mTreatmentDurationRejectionReason .value; + data.mHeparinDeliveryDurationRejectionReason = _data.mHeparinDeliveryDurationRejectionReason .value; + data.mHeparinTypeRejectionReason = _data.mHeparinTypeRejectionReason .value; + data.mDryBicarbCartSizeRejectionReason = _data.mDryBicarbCartSizeRejectionReason .value; + data.mSodiumRejectionReason = _data.mSodiumRejectionReason .value; + data.mBicarbonateRejectionReason = _data.mBicarbonateRejectionReason .value; + data.mDialyzerTypeRejectionReason = _data.mDialyzerTypeRejectionReason .value; + data.mFluidBolusVolumeRejectionReason = _data.mFluidBolusVolumeRejectionReason .value; + data.mBloodPressureMeasureIntervalRejectionReason = _data.mBloodPressureMeasureIntervalRejectionReason .value; + data.mPrimeDiscardVolumeRejectionReason = _data.mPrimeDiscardVolumeRejectionReason .value; + data.mRinsebackVolumeRejectionReason = _data.mRinsebackVolumeRejectionReason .value; + data.mHepatitusBStatusRejectionReason = _data.mHepatitusBStatusRejectionReason .value; + data.mSubstitutionFluidVolumeRejectionReason = _data.mSubstitutionFluidVolumeRejectionReason .value; + data.mHeparinBolusVolumeRejectionReason = _data.mHeparinBolusVolumeRejectionReason .value; + data.mHeparinDispensingRateRejectionReason = _data.mHeparinDispensingRateRejectionReason .value; + data.mDialysateTempRejectionReason = _data.mDialysateTempRejectionReason .value; + data.mPotassiumRejectionReason = _data.mPotassiumRejectionReason .value; + data.mCalciumRejectionReason = _data.mCalciumRejectionReason .value; return data; } Index: sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.h =================================================================== diff -u -rb1462640e36df3f567c42aa8c8cbd6dafe865625 -r56381aae237db191956aff493907cd1f0801216b --- sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.h (.../MPreTreatmentAdjustParametersValidationResponse.h) (revision b1462640e36df3f567c42aa8c8cbd6dafe865625) +++ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustParametersValidationResponse.h (.../MPreTreatmentAdjustParametersValidationResponse.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -36,33 +36,36 @@ * | Payload || * | || * | #01:(U32) | \ref Data::mAccepted | - * | #02:(U32) | \ref Data::mBloodFlowRateRejectReason | - * | #03:(U32) | \ref Data::mDialysateFlowRateRejectReason | - * | #04:(U32) | \ref Data::mTreatmentDurationRejectReason | - * | #05:(U32) | \ref Data::mSalineBolusVolumeRejectReason | - * | #06:(U32) | \ref Data::mHeparinStopTimeRejectReason | - * | #07:(U32) | \ref Data::mHeparinTypeRejectReason | - * | #08:(U32) | \ref Data::mAcidConcentrateRejectReason | - * | #09:(U32) | \ref Data::mBicarbonateConcentrateRejectReason | - * | #10:(U32) | \ref Data::mDialyzerTypeRejectReason | - * | #11:(U32) | \ref Data::mBloodPressureMeasureIntervalRejectReason | - * | #12:(U32) | \ref Data::mRinsebackFlowRateRejectReason | - * | #13:(U32) | \ref Data::mRinsebackVolumeRejectReason | - * | #14:(U32) | \ref Data::mArterialPressureLimitWindowRejectReason | - * | #15:(U32) | \ref Data::mVenousPressureLimitWindowRejectReason | - * | #16:(U32) | \ref Data::mVenousPressureLimitAsymtrcRejectReason | - * | #17:(U32) | \ref Data::mTransmembranePressureLimitWindowRejectReason | - * | #18:(U32) | \ref Data::mDialysateTempRejectReason | - * | #19:(U32) | \ref Data::mHeparinDispensingRateRejectReason | - * | #20:(U32) | \ref Data::mHeparinBolusVolumeRejectReason | + * | #02:(U32) | \ref Data::mTreatmentModalityRejectionReason | + * | #03:(U32) | \ref Data::mHDFTreatmentModeRejectionReason | + * | #04:(U32) | \ref Data::mBloodFlowRateRejectionReason | + * | #05:(U32) | \ref Data::mDialysateFlowRateRejectionReason | + * | #06:(U32) | \ref Data::mTreatmentDurationRejectionReason | + * | #07:(U32) | \ref Data::mHeparinDeliveryDurationRejectionReason | + * | #08:(U32) | \ref Data::mHeparinTypeRejectionReason | + * | #09:(U32) | \ref Data::mDryBicarbCartSizeRejectionReason | + * | #10:(U32) | \ref Data::mSodiumRejectionReason | + * | #11:(U32) | \ref Data::mBicarbonateRejectionReason | + * | #12:(U32) | \ref Data::mDialyzerTypeRejectionReason | + * | #13:(U32) | \ref Data::mFluidBolusVolumeRejectionReason | + * | #14:(U32) | \ref Data::mBloodPressureMeasureIntervalRejectionReason | + * | #15:(U32) | \ref Data::mPrimeDiscardVolumeRejectionReason | + * | #16:(U32) | \ref Data::mRinsebackVolumeRejectionReason | + * | #17:(U32) | \ref Data::mHepatitusBStatusRejectionReason | + * | #18:(U32) | \ref Data::mSubstitutionFluidVolumeRejectionReason | + * | #19:(U32) | \ref Data::mHeparinBolusVolumeRejectionReason | + * | #20:(U32) | \ref Data::mHeparinDispensingRateRejectionReason | + * | #21:(U32) | \ref Data::mDialysateTempRejectionReason | + * | #22:(U32) | \ref Data::mPotassiumRejectionReason | + * | #23:(U32) | \ref Data::mCalciumRejectionReason | * * \sa Data * *

Logging info

* | || * | || * | typeText | Event | - * | unitText | HD | + * | unitText | TD | * | infoText | TreatmentParametersResponse | * */ @@ -74,25 +77,28 @@ struct { Types::U32 mAccepted ; - Types::U32 mBloodFlowRateRejectReason ; - Types::U32 mDialysateFlowRateRejectReason ; - Types::U32 mTreatmentDurationRejectReason ; - Types::U32 mSalineBolusVolumeRejectReason ; - Types::U32 mHeparinStopTimeRejectReason ; - Types::U32 mHeparinTypeRejectReason ; - Types::U32 mAcidConcentrateRejectReason ; - Types::U32 mBicarbonateConcentrateRejectReason ; - Types::U32 mDialyzerTypeRejectReason ; - Types::U32 mBloodPressureMeasureIntervalRejectReason ; - Types::U32 mRinsebackFlowRateRejectReason ; - Types::U32 mRinsebackVolumeRejectReason ; - Types::U32 mArterialPressureLimitWindowRejectReason ; - Types::U32 mVenousPressureLimitWindowRejectReason ; - Types::U32 mVenousPressureLimitAsymtrcRejectReason ; - Types::U32 mTransmembranePressureLimitWindowRejectReason ; - Types::U32 mDialysateTempRejectReason ; - Types::U32 mHeparinDispensingRateRejectReason ; - Types::U32 mHeparinBolusVolumeRejectReason ; + Types::U32 mTreatmentModalityRejectionReason ; + Types::U32 mHDFTreatmentModeRejectionReason ; + Types::U32 mBloodFlowRateRejectionReason ; + Types::U32 mDialysateFlowRateRejectionReason ; + Types::U32 mTreatmentDurationRejectionReason ; + Types::U32 mHeparinDeliveryDurationRejectionReason ; + Types::U32 mHeparinTypeRejectionReason ; + Types::U32 mDryBicarbCartSizeRejectionReason ; + Types::U32 mSodiumRejectionReason ; + Types::U32 mBicarbonateRejectionReason ; + Types::U32 mDialyzerTypeRejectionReason ; + Types::U32 mFluidBolusVolumeRejectionReason ; + Types::U32 mBloodPressureMeasureIntervalRejectionReason ; + Types::U32 mPrimeDiscardVolumeRejectionReason ; + Types::U32 mRinsebackVolumeRejectionReason ; + Types::U32 mHepatitusBStatusRejectionReason ; + Types::U32 mSubstitutionFluidVolumeRejectionReason ; + Types::U32 mHeparinBolusVolumeRejectionReason ; + Types::U32 mHeparinDispensingRateRejectionReason ; + Types::U32 mDialysateTempRejectionReason ; + Types::U32 mPotassiumRejectionReason ; + Types::U32 mCalciumRejectionReason ; } _data; public: @@ -103,25 +109,28 @@ struct Data { quint32 mAccepted = 0; - quint32 mBloodFlowRateRejectReason = 0; - quint32 mDialysateFlowRateRejectReason = 0; - quint32 mTreatmentDurationRejectReason = 0; - quint32 mSalineBolusVolumeRejectReason = 0; - quint32 mHeparinStopTimeRejectReason = 0; - quint32 mHeparinTypeRejectReason = 0; - quint32 mAcidConcentrateRejectReason = 0; - quint32 mBicarbonateConcentrateRejectReason = 0; - quint32 mDialyzerTypeRejectReason = 0; - quint32 mBloodPressureMeasureIntervalRejectReason = 0; - quint32 mRinsebackFlowRateRejectReason = 0; - quint32 mRinsebackVolumeRejectReason = 0; - quint32 mArterialPressureLimitWindowRejectReason = 0; - quint32 mVenousPressureLimitWindowRejectReason = 0; - quint32 mVenousPressureLimitAsymtrcRejectReason = 0; - quint32 mTransmembranePressureLimitWindowRejectReason = 0; - quint32 mDialysateTempRejectReason = 0; - quint32 mHeparinDispensingRateRejectReason = 0; - quint32 mHeparinBolusVolumeRejectReason = 0; + quint32 mTreatmentModalityRejectionReason = 0; + quint32 mHDFTreatmentModeRejectionReason = 0; + quint32 mBloodFlowRateRejectionReason = 0; + quint32 mDialysateFlowRateRejectionReason = 0; + quint32 mTreatmentDurationRejectionReason = 0; + quint32 mHeparinDeliveryDurationRejectionReason = 0; + quint32 mHeparinTypeRejectionReason = 0; + quint32 mDryBicarbCartSizeRejectionReason = 0; + quint32 mSodiumRejectionReason = 0; + quint32 mBicarbonateRejectionReason = 0; + quint32 mDialyzerTypeRejectionReason = 0; + quint32 mFluidBolusVolumeRejectionReason = 0; + quint32 mBloodPressureMeasureIntervalRejectionReason = 0; + quint32 mPrimeDiscardVolumeRejectionReason = 0; + quint32 mRinsebackVolumeRejectionReason = 0; + quint32 mHepatitusBStatusRejectionReason = 0; + quint32 mSubstitutionFluidVolumeRejectionReason = 0; + quint32 mHeparinBolusVolumeRejectionReason = 0; + quint32 mHeparinDispensingRateRejectionReason = 0; + quint32 mDialysateTempRejectionReason = 0; + quint32 mPotassiumRejectionReason = 0; + quint32 mCalciumRejectionReason = 0; }; MAdjustParametersValidationResponse () {} Index: sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustRequests.h =================================================================== diff -u -r6d843984ed0b24bc188f96020cd9cc9e18e09906 -r56381aae237db191956aff493907cd1f0801216b --- sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustRequests.h (.../MPreTreatmentAdjustRequests.h) (revision 6d843984ed0b24bc188f96020cd9cc9e18e09906) +++ sources/model/hd/adjustment/pretreatment/MPreTreatmentAdjustRequests.h (.../MPreTreatmentAdjustRequests.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -72,70 +72,82 @@ * * | Payload || * | || - * | #01:(U32) | \ref mBloodFlowRate | - * | #02:(U32) | \ref mDialysateFlowRate | - * | #03:(U32) | \ref mTreatmentDuration | - * | #04:(U32) | \ref mSalineBolusVolume | - * | #05:(U32) | \ref mHeparinStopTime | - * | #06:(U32) | \ref mHeparinType | - * | #07:(U32) | \ref mAcidConcentrate | - * | #08:(U32) | \ref mBicarbonateConcentrate | - * | #09:(U32) | \ref mDialyzerType | - * | #10:(U32) | \ref mBloodPressureMeasureInterval | - * | #11:(U32) | \ref mRinsebackFlowRate | - * | #12:(U32) | \ref mRinsebackVolume | - * | #13:(S32) | \ref mArterialPressureLimitWindow | - * | #14:(S32) | \ref mVenousPressureLimitWindow | - * | #15:(S32) | \ref mVenousPressureLimitAsymtrc | - * | #16:(S32) | \ref mTransmembranePressureLimitWindow | - * | #17:(F32) | \ref mDialysateTemp | - * | #18:(F32) | \ref mHeparinDispensingRate | - * | #19:(F32) | \ref mHeparinBolusVolume | + * | #01:(U32) | \ref mTreatmentModality | + * | #02:(U32) | \ref mHDFTreatmentMode | + * | #03:(U32) | \ref mBloodFlowRate | + * | #04:(U32) | \ref mDialysateFlowRate | + * | #05:(U32) | \ref mTreatmentDuration | + * | #06:(U32) | \ref mHeparinDeliveryDuration | + * | #07:(U32) | \ref mHeparinType | + * | #08:(U32) | \ref mDryBicarbCartSize | + * | #09:(U32) | \ref mSodium | + * | #10:(U32) | \ref mBicarbonate | + * | #11:(U32) | \ref mDialyzerType | + * | #12:(U32) | \ref mFluidBolusVolume | + * | #13:(U32) | \ref mBloodPressureMeasureInterval | + * | #14:(U32) | \ref mPrimeDiscardVolume | + * | #15:(U32) | \ref mRinsebackVolume | + * | #16:(U32) | \ref mHepatitusBStatus | + * | #17:(F32) | \ref mSubstitutionFluidVolume | + * | #18:(F32) | \ref mHeparinBolusVolume | + * | #19:(F32) | \ref mHeparinDispensingRate | + * | #20:(F32) | \ref mDialysateTemp | + * | #21:(F32) | \ref mAcidConcentrateConversionFactor | + * | #22:(F32) | \ref mUFVolume | + * | #23:(U32) | \ref mUFPreWeight | + * | #24:(U32) | \ref mUFEstimatedTargetWeight | + * */ class MAdjustParametersValidationReq : public MModel { public: + quint32 mTreatmentModality = 0; // + quint32 mHDFTreatmentMode = 0; // quint32 mBloodFlowRate = 0; // mL/min quint32 mDialysateFlowRate = 0; // mL/min - quint32 mTreatmentDuration = 0; // minutes - quint32 mSalineBolusVolume = 0; // mL - quint32 mHeparinStopTime = 0; // min + quint32 mTreatmentDuration = 0; // min + quint32 mHeparinDeliveryDuration = 0; // min quint32 mHeparinType = 0; // - quint32 mAcidConcentrate = 0; // - quint32 mBicarbonateConcentrate = 0; // + quint32 mDryBicarbCartSize = 0; // + quint32 mSodium = 0; // mEq/L + quint32 mBicarbonate = 0; // mEq/L quint32 mDialyzerType = 0; // - quint32 mBloodPressureMeasureInterval = 0; // minutes - quint32 mRinsebackFlowRate = 0; // mL/min + quint32 mFluidBolusVolume = 0; // mL + quint32 mBloodPressureMeasureInterval = 0; // min + quint32 mPrimeDiscardVolume = 0; // mL quint32 mRinsebackVolume = 0; // mL - qint32 mArterialPressureLimitWindow = 0; // mmHg - qint32 mVenousPressureLimitWindow = 0; // mmHg - qint32 mVenousPressureLimitAsymtrc = 0; // mmHg - qint32 mTransmembranePressureLimitWindow = 0; // mmHg - float mDialysateTemp = 0; // Celsius - float mHeparinDispensingRate = 0; // mL/hr + quint32 mHepatitusBStatus = 0; // + float mSubstitutionFluidVolume = 0; // L float mHeparinBolusVolume = 0; // mL + float mHeparinDispensingRate = 0; // mL/hr + float mDialysateTemp = 0; // Celsius + float mPotassium = 0; // mEq/L + float mCalcium = 0; // mEq/L QString toString() { return toString({ - mBloodFlowRate , - mDialysateFlowRate , - mTreatmentDuration , - mSalineBolusVolume , - mHeparinStopTime , - mHeparinType , - mAcidConcentrate , - mBicarbonateConcentrate , - mDialyzerType , - mBloodPressureMeasureInterval , - mRinsebackFlowRate , - mRinsebackVolume , - mArterialPressureLimitWindow , - mVenousPressureLimitWindow , - mVenousPressureLimitAsymtrc , - mTransmembranePressureLimitWindow , - mDialysateTemp , - mHeparinDispensingRate , - mHeparinBolusVolume , + mTreatmentModality , + mHDFTreatmentMode , + mBloodFlowRate , + mDialysateFlowRate , + mTreatmentDuration , + mHeparinDeliveryDuration , + mHeparinType , + mDryBicarbCartSize , + mSodium , + mBicarbonate , + mDialyzerType , + mFluidBolusVolume , + mBloodPressureMeasureInterval , + mPrimeDiscardVolume , + mRinsebackVolume , + mHepatitusBStatus , + mSubstitutionFluidVolume , + mHeparinBolusVolume , + mHeparinDispensingRate , + mDialysateTemp , + mPotassium , + mCalcium , }); } static QString toString(const QVariantList &vParameters) { Index: sources/view/VTreatmentCreate.cpp =================================================================== diff -u -rb1462640e36df3f567c42aa8c8cbd6dafe865625 -r56381aae237db191956aff493907cd1f0801216b --- sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision b1462640e36df3f567c42aa8c8cbd6dafe865625) +++ sources/view/VTreatmentCreate.cpp (.../VTreatmentCreate.cpp) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -34,7 +34,6 @@ ACTION_VIEW_CONNECTION(AdjustSerialNumberTDResponseData ) } - /** * \brief VCreateTreatment::doValidation * Validates the treatment profile locally, then requests validation of it with FW @@ -43,25 +42,28 @@ AdjustParametersValidationRequestData data; - data.mBloodFlowRate = _bloodFlowRate ; - data.mDialysateFlowRate = _dialysateFlowRate ; - data.mTreatmentDuration = _treatmentDuration ; - data.mSalineBolusVolume = _salineBolusVolume ; - data.mHeparinStopTime = _heparinStopTime ; - data.mHeparinType = _heparinType ; - data.mAcidConcentrate = _acidConcentrate ; - data.mBicarbonateConcentrate = _bicarbonateConcentrate ; - data.mDialyzerType = _dialyzerType ; - data.mBloodPressureMeasureInterval = _bloodPressureMeasureInterval ; - data.mRinsebackFlowRate = _rinsebackFlowRate ; - data.mRinsebackVolume = _rinsebackVolume ; - data.mArterialPressureLimitWindow = _arterialPressureLimitWindow ; - data.mVenousPressureLimitWindow = _venousPressureLimitWindow ; - data.mVenousPressureLimitAsymtrc = _venousPressureLimitAsymtrc ; - data.mTransmembranePressureLimitWindow = _transmembranePressureLimitWindow; - data.mDialysateTemp = _dialysateTemp ; - data.mHeparinDispensingRate = _heparinDispensingRate ; - data.mHeparinBolusVolume = _heparinBolusVolume ; + data.mTreatmentModality = _treatmentModality ; + data.mHDFTreatmentMode = _hdfTreatmentMode ; + data.mBloodFlowRate = _bloodFlowRate ; + data.mDialysateFlowRate = _dialysateFlowRate ; + data.mTreatmentDuration = _treatmentDuration ; + data.mHeparinDeliveryDuration = _heparinDeliveryDuration ; + data.mHeparinType = _heparinType ; + data.mDryBicarbCartSize = _dryBicarbCartSize ; + data.mSodium = _sodium ; + data.mBicarbonate = _bicarbonate ; + data.mDialyzerType = _dialyzerType ; + data.mFluidBolusVolume = _fluidBolusVolume ; + data.mBloodPressureMeasureInterval = _bloodPressureMeasureInterval ; + data.mPrimeDiscardVolume = _primeDiscardVolume ; + data.mRinsebackVolume = _rinsebackVolume ; + data.mHepatitusBStatus = _hepatitusBStatus ; + data.mSubstitutionFluidVolume = _substitutionFluidVolume ; + data.mHeparinBolusVolume = _heparinBolusVolume ; + data.mHeparinDispensingRate = _heparinDispensingRate ; + data.mDialysateTemp = _dialysateTemp ; +// data.mPotassium = _potassium ; +// data.mCalcium = _calcium ; parametersConfirmed(false); parametersValidated(false); @@ -115,30 +117,32 @@ */ void VTreatmentCreate::onActionReceive(const AdjustParametersValidationResponseData &data) { if (! data.mAccepted) { - bloodFlowRateRejectReason (data.mBloodFlowRateRejectReason ); - dialysateFlowRateRejectReason (data.mDialysateFlowRateRejectReason ); - treatmentDurationRejectReason (data.mTreatmentDurationRejectReason ); - heparinDispensingRateRejectReason (data.mHeparinDispensingRateRejectReason ); - heparinBolusVolumeRejectReason (data.mHeparinBolusVolumeRejectReason ); - heparinStopTimeRejectReason (data.mHeparinStopTimeRejectReason ); - salineBolusVolumeRejectReason (data.mSalineBolusVolumeRejectReason ); - heparinTypeRejectReason (data.mHeparinTypeRejectReason ); - acidConcentrateRejectReason (data.mAcidConcentrateRejectReason ); - bicarbonateConcentrateRejectReason (data.mBicarbonateConcentrateRejectReason ); - dialyzerTypeRejectReason (data.mDialyzerTypeRejectReason ); - dialysateTempRejectReason (data.mDialysateTempRejectReason ); - arterialPressureLimitWindowRejectReason (data.mArterialPressureLimitWindowRejectReason ); - venousPressureLimitWindowRejectReason (data.mVenousPressureLimitWindowRejectReason ); - venousPressureLimitAsymtrcRejectReason (data.mVenousPressureLimitAsymtrcRejectReason ); - bloodPressureMeasureIntervalRejectReason (data.mBloodPressureMeasureIntervalRejectReason ); - rinsebackFlowRateRejectReason (data.mRinsebackFlowRateRejectReason ); - rinsebackVolumeRejectReason (data.mRinsebackVolumeRejectReason ); - transmembranePressureLimitWindowRejectReason(data.mTransmembranePressureLimitWindowRejectReason ); + treatmentModalityRejectReason (data.mTreatmentModalityRejectionReason ); + hDFTreatmentModeRejectReason (data.mHDFTreatmentModeRejectionReason ); + bloodFlowRateRejectReason (data.mBloodFlowRateRejectionReason ); + dialysateFlowRateRejectReason (data.mDialysateFlowRateRejectionReason ); + treatmentDurationRejectReason (data.mTreatmentDurationRejectionReason ); + heparinDeliveryDurationRejectReason (data.mHeparinDeliveryDurationRejectionReason ); + heparinTypeRejectReason (data.mHeparinTypeRejectionReason ); + dryBicarbCartSizeRejectReason (data.mDryBicarbCartSizeRejectionReason ); + sodiumRejectReason (data.mSodiumRejectionReason ); + bicarbonateRejectReason (data.mBicarbonateRejectionReason ); + dialyzerTypeRejectReason (data.mDialyzerTypeRejectionReason ); + fluidBolusVolumeRejectReason (data.mFluidBolusVolumeRejectionReason ); + bloodPressureMeasureIntervalRejectReason (data.mBloodPressureMeasureIntervalRejectionReason ); + primeDiscardVolumeRejectReason (data.mPrimeDiscardVolumeRejectionReason ); + rinsebackVolumeRejectReason (data.mRinsebackVolumeRejectionReason ); + hepatitusBStatusRejectReason (data.mHepatitusBStatusRejectionReason ); + substitutionFluidVolumeRejectReason (data.mSubstitutionFluidVolumeRejectionReason ); + heparinBolusVolumeRejectReason (data.mHeparinBolusVolumeRejectionReason ); + heparinDispensingRateRejectReason (data.mHeparinDispensingRateRejectionReason ); + dialysateTempRejectReason (data.mDialysateTempRejectionReason ); + potassiumRejectReason (data.mPotassiumRejectionReason ); + calciumRejectReason (data.mCalciumRejectionReason ); parametersValidated(false); } else { - if ( _txCode.isEmpty()) { generateTxCode(); } parametersValidated(true); emit didValidationPass(); } @@ -166,67 +170,3 @@ _TreatmentLog.gTxCode(_txCode); LOG_APPED_UI(QString("Generated Treatment Code is %1").arg(_txCode)); } - -/*! - * \brief VCreateTreatment::doGetPrescriptionParameterValues - * \details Gets a list of the prescription parameter values - * \return (QStringList) The list of parameter values with units - */ -QStringList VTreatmentCreate::doGetPrescriptionParameterValues() { - return QStringList() << QString("%1 mL/min" ).arg(_bloodFlowRate ) - << QString("%1 mL/min" ).arg(_dialysateFlowRate ) - << QString("%1 min" ).arg(_treatmentDuration ) - << ( _heparinDispensingRate ? QString("%1 mL/hr" ).arg(_heparinDispensingRate) : tr("OFF") ) - << ( _heparinBolusVolume ? QString("%1 mL" ).arg(_heparinBolusVolume ) : tr("OFF") ) - << ( _heparinDispensingRate ? QString("%1 min" ).arg(_heparinStopTime ) : tr("OFF") ) - << QString("%1 mL" ).arg(_salineBolusVolume ) ; -} - -/*! - * \brief VCreateTreatment::doGetOperatingParameterValues - * \details Gets the operating parameter values - * \return (QStringList) The list of operating parameter values with units where applicable - */ -QStringList VTreatmentCreate::doGetOperatingParameterValues() -{ - QString mHeparinType ; - QString mAcidConcentrate ; - QString mBicarbonateConcentrate ; - QString mDialyzerType ; - - QStringList mHeparinTypeOptions ; - QStringList mAcidConcentrateOptions ; - QStringList mBicarbonateConcentrateOptions ; - QStringList mDialyzerTypeOptions ; - - QString mCategory = Storage::Settings_Category_DataList; - - if ( heparinTypeSet () ) { // this is managed on UI with heparinTypeSet() // && ( _heparinDispensingRate || _heparinBolusVolume ) - mHeparinTypeOptions = _Settings.keys(mCategory, "Heparin Type Options" ); - if ((int) _heparinType < mHeparinTypeOptions .length()) mHeparinType = mHeparinTypeOptions .at( _heparinType ); - } else { mHeparinType = tr("NONE"); } - - if ( acidConcentrateSet () ) { - mAcidConcentrateOptions = _Settings.keys(mCategory, "Acid Concentrate Options" ); - if ((int) _acidConcentrate < mAcidConcentrateOptions .length()) mAcidConcentrate = mAcidConcentrateOptions .at( _acidConcentrate ); - } else { mAcidConcentrate = tr("NONE"); } - - if ( bicarbonateConcentrateSet () ) { - mBicarbonateConcentrateOptions = _Settings.keys(mCategory, "Bicarbonate Concentrate Options" ); - if ((int) _bicarbonateConcentrate < mBicarbonateConcentrateOptions .length()) mBicarbonateConcentrate = mBicarbonateConcentrateOptions .at( _bicarbonateConcentrate ); - } else { mBicarbonateConcentrate = tr("NONE"); } - - if ( dialyzerTypeSet () ) { - mDialyzerTypeOptions = _Settings.keys(mCategory, "Dialyzer Type Options" ); - if ((int) _dialyzerType < mDialyzerTypeOptions .length()) mDialyzerType = mDialyzerTypeOptions .at( _dialyzerType ); - } else { mDialyzerType = tr("NONE"); } - - - return QStringList() << mHeparinType - << mAcidConcentrate - << mBicarbonateConcentrate - << mDialyzerType - << QString("%0 °C" ).arg(_dialysateTemp ) - << ( _bloodPressureMeasureInterval ? QString("%0 min").arg(_bloodPressureMeasureInterval) : tr("OFF") ) - ; -} Index: sources/view/VTreatmentCreate.h =================================================================== diff -u -r9cc47cf817b3236812926e3a92373db89932fe72 -r56381aae237db191956aff493907cd1f0801216b --- sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 9cc47cf817b3236812926e3a92373db89932fe72) +++ sources/view/VTreatmentCreate.h (.../VTreatmentCreate.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -79,28 +79,30 @@ PROPERTY(bool , heparinDispensingRateOff , true) PROPERTY(bool , heparinBolusVolumeOff , true) + VALUESET(quint32 , treatmentModality , 0) VALUESET(quint32 , hdfTreatmentMode , 0) VALUESET(quint32 , bloodFlowRate , 0) VALUESET(quint32 , dialysateFlowRate , 0) VALUESET(quint32 , treatmentDuration , 0) - VALUESET(quint32 , salineBolusVolume , 0) - VALUESET(quint32 , heparinStopTime , 0) + VALUESET(quint32 , heparinDeliveryDuration , 0) VALUESET(quint32 , heparinType , 0) - VALUESET(quint32 , acidConcentrate , 0) - VALUESET(quint32 , bicarbonateConcentrate , 0) + VALUESET(quint32 , dryBicarbCartSize , 0) + VALUESET(quint32 , sodium , 0) + VALUESET(quint32 , bicarbonate , 0) VALUESET(quint32 , dialyzerType , 0) + VALUESET(quint32 , fluidBolusVolume , 0) VALUESET(quint32 , bloodPressureMeasureInterval , 0) - VALUESET(quint32 , rinsebackFlowRate , 0) + VALUESET(quint32 , primeDiscardVolume , 0) VALUESET(quint32 , rinsebackVolume , 0) - VALUESET(qint32 , arterialPressureLimitWindow , 0) - VALUESET(qint32 , venousPressureLimitWindow , 0) - VALUESET(qint32 , venousPressureLimitAsymtrc , 0) - VALUESET(qint32 , transmembranePressureLimitWindow , 0) - VALUESET(float , dialysateTemp , 0) - VALUESET(float , heparinDispensingRate , 0) - VALUESET(float , heparinBolusVolume , 0) + VALUESET(quint32 , hepatitusBStatus , 0) VALUESET(float , substitutionFluidVolume , 0) + VALUESET(float , heparinBolusVolume , 0) + VALUESET(float , heparinDispensingRate , 0) + VALUESET(float , dialysateTemp , 0) + VALUESET(float , acidConcentrateConversionFactor , 0) + VALUESET(quint32 , acidConcentrate , 0) + VALUESET(QString , patientID ,"") VALUESET(bool , parametersValidated , 0) VALUESET(bool , parametersConfirmed , 0) @@ -113,25 +115,28 @@ PROPERTY(QString , txCode ,"") + TRIGGER(quint32 , treatmentModalityRejectReason , 0) + TRIGGER(quint32 , hDFTreatmentModeRejectReason , 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 , heparinDeliveryDurationRejectReason , 0) TRIGGER(quint32 , heparinTypeRejectReason , 0) - TRIGGER(quint32 , acidConcentrateRejectReason , 0) - TRIGGER(quint32 , bicarbonateConcentrateRejectReason , 0) + TRIGGER(quint32 , dryBicarbCartSizeRejectReason , 0) + TRIGGER(quint32 , sodiumRejectReason , 0) + TRIGGER(quint32 , bicarbonateRejectReason , 0) TRIGGER(quint32 , dialyzerTypeRejectReason , 0) - TRIGGER(quint32 , dialysateTempRejectReason , 0) - TRIGGER(quint32 , arterialPressureLimitWindowRejectReason , 0) - TRIGGER(quint32 , venousPressureLimitWindowRejectReason , 0) - TRIGGER(quint32 , venousPressureLimitAsymtrcRejectReason , 0) + TRIGGER(quint32 , fluidBolusVolumeRejectReason , 0) TRIGGER(quint32 , bloodPressureMeasureIntervalRejectReason , 0) - TRIGGER(quint32 , rinsebackFlowRateRejectReason , 0) + TRIGGER(quint32 , primeDiscardVolumeRejectReason , 0) TRIGGER(quint32 , rinsebackVolumeRejectReason , 0) - TRIGGER(quint32 , transmembranePressureLimitWindowRejectReason , 0) + TRIGGER(quint32 , hepatitusBStatusRejectReason , 0) + TRIGGER(quint32 , substitutionFluidVolumeRejectReason , 0) + TRIGGER(quint32 , heparinBolusVolumeRejectReason , 0) + TRIGGER(quint32 , heparinDispensingRateRejectReason , 0) + TRIGGER(quint32 , dialysateTempRejectReason , 0) + TRIGGER(quint32 , potassiumRejectReason , 0) + TRIGGER(quint32 , calciumRejectReason , 0) VIEW_DEC_CLASS(VTreatmentCreate) VIEW_DEC_SLOT(AdjustParametersValidationResponseData) @@ -140,7 +145,6 @@ private: QString enumToString(GuiRequestReasons vEnum); - void generateTxCode(); signals: void didAdjustment(const AdjustParametersValidationRequestData &data); @@ -152,8 +156,7 @@ void doValidation (); void doConfirm (); void doCancel (); + void generateTxCode(); - QStringList doGetPrescriptionParameterValues(); - QStringList doGetOperatingParameterValues(); }; } Index: sources/view/td/data/VTreatmentRanges.cpp =================================================================== diff -u -r863906f104a18dbe6020b939b739214679d49d8a -r56381aae237db191956aff493907cd1f0801216b --- sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 863906f104a18dbe6020b939b739214679d49d8a) +++ sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -28,6 +28,11 @@ ACTION_VIEW_CONNECTION(SettingsData); ACTION_VIEW_CONNECTION(InstitutionalRecordResponseData); + _acidConcentrateModel.setRoleNames( { + { eRole_Key , "key" }, + { eRole_Value , "value" }, + }); + // since we do not have access to this object because it is created in QML. // Connection to the GuiController made here // It should be defined in the class which wants to connect to signal. @@ -246,7 +251,26 @@ hdfTreatmentModeOptions ( _Settings.keys(mCategory , "HDF Treatment Mode" )); dryBicabCartridgeSizeOptions ( _Settings.keys(mCategory , "Dry Bicarb Cartridge Size" )); waterSampleTestResultRequired ( _Settings.keys(mCategory , "Water Sample Test Result Required" )); + QVariantList mAcidConcentrateValues = _Settings.values(mCategory , "Acid Concentrate Options" ); +// for (int i = 0; i < _acidConcentrateValues.size(); ++i) { +// bool ok = false; +// _acidConcentrateValues[i] = _Settings.value(mCategory, "Acid Concentrate Options" , _acidConcentrateOptions[i] ).toFloat(&ok); +// isConfigsOk = isConfigsOk && ok; +// } + + + for (int i = 0; i < _acidConcentrateOptions.size(); ++i) { + bool ok = false; +// _acidConcentrateValues[i] = _Settings.value(mCategory, "Acid Concentrate Options" , _acidConcentrateOptions[i] ).toFloat(&ok); + _acidConcentrateModel.insertRow( i, {{ eRole_Key, _acidConcentrateOptions[i]}, { eRole_Value, mAcidConcentrateValues[i].toFloat(&ok) }}); + + + + isConfigsOk = isConfigsOk && ok; + + } + isConfigsOk = isConfigsOk && !_heparinTypeOptions .isEmpty(); if ( _heparinTypeOptions.isEmpty() ) { heparinTypeOptions({"-- --"}); } isConfigsOk = isConfigsOk && !_acidConcentrateOptions .isEmpty(); Index: sources/view/td/data/VTreatmentRanges.h =================================================================== diff -u -r1164ea502e3fabdb55aa41923e0e566505f197ef -r56381aae237db191956aff493907cd1f0801216b --- sources/view/td/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision 1164ea502e3fabdb55aa41923e0e566505f197ef) +++ sources/view/td/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision 56381aae237db191956aff493907cd1f0801216b) @@ -23,6 +23,7 @@ #include "MTDInstitutionalRecordResponse.h" #include "MTreatmentRangesData.h" #include "MSettings.h" +#include "MListModel.h" // namespace namespace View { @@ -39,6 +40,11 @@ const QString _vitalsDef = "30"; // LEAHI_PRS_215 + enum { + eRole_Key = Qt::UserRole + 1 , + eRole_Value , + } DataRole; + // Real-time properties received from TD from TreatmentRangesData READONLY( quint32 , treatmentRanges_Duration_Min , 0) READONLY( quint32 , treatmentRanges_Duration_Max , 0) @@ -62,6 +68,7 @@ VALUESET( float , potassium , 0) VALUESET( float , calcium , 0) READONLY( QStringList , acidConcentrateOptions ,{}) + READONLY( QVariantList , acidConcentrateValues ,{}) READONLY( QStringList , bicarbonateConcentrateOptions ,{}) READONLY( QStringList , dialyzerTypeOptions ,{}) READONLY( QStringList , bloodPressureMeasureInterval ,{}) @@ -70,6 +77,8 @@ RANGESET( float , dialysateTemp , 0) RANGESET( quint32 , salineBolusVolume , 0) + Q_PROPERTY(MListModel* acidConcentrateModel READ acidConcentrateModel NOTIFY didAcidConcentrateModelChange) + // Institutional RANGESET( quint32 , dialysateBicarbonate , 0) RANGESET( quint32 , dialysateSodium , 0) @@ -117,9 +126,14 @@ VIEW_DEC_SLOT(InstitutionalRecordResponseData ) signals: - void didTreatmentRangesDone (bool vPass ); - void didPopulateAcidConcentrate ( ); + void didTreatmentRangesDone (bool vPass ); + void didPopulateAcidConcentrate ( ); + void didAcidConcentrateModelChange ( ); +private: + MListModel* acidConcentrateModel () { return &_acidConcentrateModel; } + MListModel _acidConcentrateModel; + public slots: void doSaveAcidConcentrate (const QString &vOption ); void doClearAcidConcentrate (const bool vSet );