Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml =================================================================== diff -u -r4a3504bdb88da3e7ae9b5d43d5ab5b11c9b7f884 -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision 4a3504bdb88da3e7ae9b5d43d5ab5b11c9b7f884) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreatePatientPrescription.qml (.../PreTreatmentCreatePatientPrescription.qml) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -8,191 +8,414 @@ import "qrc:/components" import "qrc:/compounds" - Row { id: _root readonly property int cellWidth : Variables.createRxLabelUnitContainerWidth readonly property int cellHeight : Variables.createRxLabelUnitContainerHeight + readonly property bool heparinFeatured : vSettings.heparinSyringePump + readonly property string patientID : _pretreatmentPatientIDEntry.text + property bool isHDFFeatured : vTreatmentCreate.treatmentModality === HeaderBar.Mode_HDF + property bool isHeparinOn : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON + property bool editingEnabled : true property int columnSpacing : 15 spacing : Variables.defaultMargin * 3 - function setPresetParameters () { - vTreatmentCreate.sodiumSet = true - vTreatmentCreate.bicarbonateSet = true - vTreatmentCreate.fluidBolusVolumeSet = true - vTreatmentCreate.rinsebackVolumeSet = true - vTreatmentCreate.bloodPressureMeasureIntervalSet = true - vTreatmentCreate.hepatitusBStatusSet = true + enum HeparinEnabled { + OFF, + ON + } - vTreatmentCreate.sodium = vTreatmentRanges.dialysateSodiumDef - vTreatmentCreate.bicarbonate = vTreatmentRanges.dialysateBicarbonateDef - vTreatmentCreate.fluidBolusVolume = vTreatmentRanges.salineBolusVolumeDef - vTreatmentCreate.rinsebackVolume = vTreatmentRanges.rinsebackVolumeDef - vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vTreatmentRanges.vitalsInterval] - vTreatmentCreate.hepatitusBStatus = 0 + signal clearHeparinDuration() + + onIsHDFFeaturedChanged: { + if ( ! isHDFFeatured ) { + vTreatmentCreate.hdfTreatmentMode = 0 + vTreatmentCreate.substitutionFluidVolume = 0 + } } + function setPresetParameters () { + vTreatmentCreate.dialysateTempSet = true + vTreatmentCreate.dialysateTemp = vTreatmentRanges.dialysateTempDef + _heparinRxControl.value = 0 + _heparinRx.reset() + vTreatmentCreate.ufPreWeight = vTreatmentRanges.weightDef + vTreatmentCreate.ufEstimatedTargetWeight = vTreatmentRanges.weightDef + } + function refreshAll () { - _sodium .refresh() - _bicarbonate .refresh() - _fluidBolusVolume .refresh() - _primeRinsebackVolume .refresh() - _bpMeasurementIntervalControl .refresh() - _hepatitusStatusControl .refresh() + _hdfTreatmentModeControl .refresh() + _subFluidVolume .refresh() + _bloodFlowRate .refresh() + _dialysateFlowRate .refresh() + _duration .refresh() + _ufVolume .refresh() + _heparinRxAdjustment .refresh() + _dialysateTemperature .refresh() } function clear () { - _sodium .clear() - _bicarbonate .clear() - _fluidBolusVolume .clear() - _primeRinsebackVolume .clear() - _bpMeasurementIntervalControl .clear() - _hepatitusStatusControl . clear() + vTreatmentCreate.patientID = "" + _hdfTreatmentModeControl .clear() + _subFluidVolume .clear() + _bloodFlowRate .clear() + _dialysateFlowRate .clear() + _duration .clear() + _ufVolume .clear() + _heparinRxAdjustment .clear() + _acidConcentrateComboBox .clear() + _bicarbonateConcentrateComboBox .clear() + _dialyzerTypeComboBox .clear() + _dialysateTemperature .clear() } function ready () { - return _sodium .isActive && _sodium .valid && - _bicarbonate .isActive && _bicarbonate .valid && - _fluidBolusVolume .isActive && _fluidBolusVolume .valid && - _primeRinsebackVolume .isActive && _primeRinsebackVolume .valid && - _bpMeasurementIntervalControl .isActive && _bpMeasurementInterval .valid && - _hepatitusStatusControl .isActive && _hepatitusStatus .valid + + return (_root.isHDFFeatured ? _hdfTreatmentModeControl.isActive && _hdfTreatmentMode .valid && + _subFluidVolume .isActive && _subFluidVolume .valid : true ) && + _bloodFlowRate .isActive && _bloodFlowRate .valid && + _dialysateFlowRate .isActive && _dialysateFlowRate .valid && + _duration .isActive && _duration .valid && + _ufVolume .isActive && _ufVolume .valid && + (_root.isHeparinOn && _root. heparinFeatured ? _heparinRxAdjustment.confirmReady() : true ) && + _acidConcentrateComboBox .isActive && _acidConcentrate .valid && + _bicarbonateConcentrateComboBox .isActive && _bicarbonateConcentrate .valid && + _dialyzerTypeComboBox .isActive && _dialyzerType .valid && + _dialysateTemperature .isActive && _dialysateTemperature .valid } Column { id: _leftColumn spacing : _root.columnSpacing - LabelUnitValueAdjuster { id: _sodium - text : qsTr("Sodium (Na)") - unitText : Variables.unitTextConcentration - valid : ! vTreatmentCreate.sodiumRejectReason + LabelUnitContainer { id: _patientID + text : qsTr("Patient ID") + contentArea.anchors.leftMargin : 120 + + contentItem : TextEntry { id: _pretreatmentPatientIDEntry + clip : true + textInput.width : parent.width - Variables.defaultMargin * 4 + text : vTreatmentCreate.patientID + anchors.centerIn : parent + textInput.maximumLength : 20 // LEAHI-PRS-236 + textInput.rightPadding : Variables.defaultMargin + textInput.leftPadding : Variables.defaultMargin * 14 + textInput.inputMethodHints : Qt.ImhPreferLowercase + textInput.echoMode : TextInput.Normal + textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } + line.visible : false + enabled : _root.editingEnabled + onEditingFinished : vTreatmentCreate.patientID = text + + Text { id: _patientIDPlaceHolderText + text : Variables.emptyEntry + anchors.fill : parent + rightPadding : 125 + horizontalAlignment : Text.AlignRight + font.pixelSize : Fonts.fontPixelValueControl + color : Colors.offWhite + visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && + ! _pretreatmentPatientIDEntry.textInput.activeFocus + } + } + } + + LabelUnitContainer { id: _treatmentModality + text : qsTr("Treatment Modality") + valid : ! vTreatmentCreate.treatmentModalityRejectReason + + contentItem : BaseComboBox { id: _treatmentModalityComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : true // PRS-215 + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.treatmentModality + model : vTreatmentRanges.treatmentModalityOptions + centerHorizontally : true + + onActivated : { + if ( ! _treatmentModality.valid ) { vTreatmentCreate.treatmentModalityRejectReason = Variables.noRejectReason } + vTreatmentCreate.treatmentModality = _treatmentModalityComboBox.currentIndex + } + } + } + + LabelUnitContainer { id: _hdfTreatmentMode + text : _root.isHDFFeatured ? qsTr("HDF Operating Mode") : "" + valid : ! vTreatmentCreate.hDFTreatmentModeRejectReason + height : _root.isHDFFeatured ? _root.cellHeight : 0 + + contentItem : ValueAdjusterCustom { id: _hdfTreatmentModeControl + value : vTreatmentCreate.hdfTreatmentMode + model : vTreatmentRanges.hdfTreatmentModeOptions + isActive : vTreatmentCreate.hdfTreatmentModeSet + editable : _root.editingEnabled + visible : _root.isHDFFeatured + + onDidActiveChange: function(vState) { vTreatmentCreate.hdfTreatmentModeSet = vState } + + onDidChange : function(vValue) { + if ( ! _hdfTreatmentMode.valid ) { vTreatmentCreate.hDFTreatmentModeRejectReason = Variables.noRejectReason } + vTreatmentCreate.hdfTreatmentModeSet = true + vTreatmentCreate.hdfTreatmentMode = vValue + } + } + Behavior on height { NumberAnimation { duration: 250 } } + } + + LabelUnitValueAdjuster { id: _subFluidVolume + text : _root.isHDFFeatured ? qsTr("Substitution Fluid Volume") : "" width : _root.cellWidth - height : _root.cellHeight + height : _root.isHDFFeatured ? _root.cellHeight : 0 + contentItem.visible: _root.isHDFFeatured + unitText : _root.isHDFFeatured ? Variables.unitVolume : "" + valid : ! vTreatmentCreate.substitutionFluidVolumeRejectReason editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateSodiumMin - maximum : vTreatmentRanges.dialysateSodiumMax - step : vTreatmentRanges.dialysateSodiumRes - defaultValue : vTreatmentRanges.dialysateSodiumDef - value : vTreatmentCreate.sodium - isActive : vTreatmentCreate.sodiumSet - onDidActiveChange : function(vState) { vTreatmentCreate.sodiumSet = vState } + minimum : vTreatmentRanges.substitutionVolumeMin + maximum : vTreatmentRanges.substitutionVolumeMax + step : vTreatmentRanges.substitutionVolumeRes + defaultValue : vTreatmentRanges.substitutionVolumeDef + decimal : Variables.substitutionPrecision + value : vTreatmentCreate.substitutionFluidVolume + isActive : vTreatmentCreate.substitutionFluidVolumeSet + + onDidActiveChange : function(vState) { vTreatmentCreate.substitutionFluidVolumeSet = vState } onDidChange : function(vValue) { - if ( ! _sodium.valid ) { vTreatmentCreate.sodiumRejectReason = Variables.noRejectReason } - vTreatmentCreate.sodium = vValue + if ( ! _subFluidVolume.valid ) { vTreatmentCreate.substitutionFluidVolumeRejectReason = Variables.noRejectReason } + vTreatmentCreate.substitutionFluidVolume = vValue } + Behavior on height { NumberAnimation { duration: 250 } } } - LabelUnitValueAdjuster { id: _bicarbonate - text : qsTr("Bicarbonate") - unitText : Variables.unitTextConcentration - valid : ! vTreatmentCreate.bicarbonateRejectReason + LabelUnitValueAdjuster { id: _bloodFlowRate + text : qsTr("Blood Flow Rate") + unitText : Variables.unitTextFlowRate + valid : ! vTreatmentCreate.bloodFlowRateRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateBicarbonateMin - maximum : vTreatmentRanges.dialysateBicarbonateMax - step : vTreatmentRanges.dialysateBicarbonateRes - defaultValue : vTreatmentRanges.dialysateBicarbonateDef - value : vTreatmentCreate.bicarbonate - isActive : vTreatmentCreate.bicarbonateSet - onDidActiveChange : function(vState) { vTreatmentCreate.bicarbonateSet = vState } + minimum : vTreatmentRanges.bloodFlowRateMin + maximum : vTreatmentRanges.bloodFlowRateMax + step : vTreatmentRanges.bloodFlowRateRes + defaultValue : vTreatmentRanges.bloodFlowRateDef + value : vTreatmentCreate.bloodFlowRate + isActive : vTreatmentCreate.bloodFlowRateSet + onDidActiveChange : function(vState) { vTreatmentCreate.bloodFlowRateSet = vState } onDidChange : function(vValue) { - if ( ! _sodium.valid ) { vTreatmentCreate.bicarbonateRejectReason = Variables.noRejectReason } - vTreatmentCreate.bicarbonate = vValue + if ( ! _bloodFlowRate.valid ) { vTreatmentCreate.bloodFlowRateRejectReason = Variables.noRejectReason } + vTreatmentCreate.bloodFlowRate = vValue } } - LabelUnitValueAdjuster { id: _fluidBolusVolume - text : qsTr("Fluid Bolus Volume") - unitText : Variables.unitTextFluid - valid : ! vTreatmentCreate.fluidBolusVolumeRejectReason + LabelUnitValueAdjuster { id: _dialysateFlowRate + text : qsTr("Dialysate Flow Rate") + unitText : Variables.unitTextFlowRate + valid : ! vTreatmentCreate.dialysateFlowRateRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.salineBolusVolumeMin - maximum : vTreatmentRanges.salineBolusVolumeMax - step : vTreatmentRanges.salineBolusVolumeRes - defaultValue : vTreatmentRanges.salineBolusVolumeDef - value : vTreatmentCreate.fluidBolusVolume - isActive : vTreatmentCreate.fluidBolusVolumeSet - onDidActiveChange : function(vState) { vTreatmentCreate.fluidBolusVolumeSet = vState } - onDidChange : function(vValue) { - if ( ! _fluidBolusVolume.valid ) { vTreatmentCreate.fluidBolusVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.fluidBolusVolume = vValue + minimum : vTreatmentRanges.dialysateFlowRateMin + maximum : vTreatmentRanges.dialysateFlowRateMax + step : vTreatmentRanges.dialysateFlowRateRes + defaultValue : vTreatmentRanges.dialysateFlowRateDef + value : vTreatmentCreate.dialysateFlowRate + isActive : vTreatmentCreate.dialysateFlowRateSet + onDidActiveChange : function(vState) { vTreatmentCreate.dialysateFlowRateSet = vState } + onDidChange : function(vValue) { + if ( ! _dialysateFlowRate.valid ) { vTreatmentCreate.dialysateFlowRateRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialysateFlowRate = vValue } } - LabelUnitValueAdjuster { id: _primeRinsebackVolume - text : qsTr("Prime Rinseback Volume") - unitText : Variables.unitTextFluid - valid : ! vTreatmentCreate.rinsebackVolumeRejectReason + LabelUnitValueAdjuster { id: _duration + text : qsTr("Duration") + unitText : Variables.unitTextDuration + valid : ! vTreatmentCreate.treatmentDurationRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.rinsebackVolumeMin - maximum : vTreatmentRanges.rinsebackVolumeMax - step : vTreatmentRanges.rinsebackVolumeRes - defaultValue : vTreatmentRanges.rinsebackVolumeDef - value : vTreatmentCreate.rinsebackVolume - isActive : vTreatmentCreate.rinsebackVolumeSet - onDidActiveChange : function(vState) { vTreatmentCreate.rinsebackVolumeSet = vState } + minimum : vTreatmentRanges.treatmentDurationMin + maximum : vTreatmentRanges.treatmentDurationMax + step : vTreatmentRanges.treatmentDurationRes + defaultValue : vTreatmentRanges.treatmentDurationDef + value : vTreatmentCreate.treatmentDuration + isActive : vTreatmentCreate.treatmentDurationSet + onDidActiveChange: function(vState) { vTreatmentCreate.treatmentDurationSet = vState } onDidChange : function(vValue) { - if ( ! _primeRinsebackVolume.valid ) { vTreatmentCreate.rinsebackVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.rinsebackVolume = vValue + if ( ! _duration.valid ) { vTreatmentCreate.treatmentDurationRejectReason = Variables.noRejectReason } + vTreatmentCreate.treatmentDuration = vValue + + // set heparin time to clear when set + clearHeparinDuration() } } } Column { id: _rightColumn spacing : _root.columnSpacing - LabelUnitContainer { id: _bpMeasurementInterval - text : qsTr("Vitals Interval") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason + LabelUnitValueAdjuster { id: _ufVolume + text : qsTr("Ultrafiltration Volume") + width : _root.cellWidth + height : _root.cellHeight + unitText : Variables.unitVolume + showEdit : true + needsAttention : vTreatmentCreate.ufPreWeightRejectionReason || vTreatmentCreate.ufEstimatedTargetWeightRejectionReason + valid : ! vTreatmentCreate.ufVolumeRejectionReason + editable : _root.editingEnabled + minimum : vTreatmentRanges.ultrafiltrationVolumeMin + maximum : vTreatmentRanges.ultrafiltrationVolumeMax + step : vTreatmentRanges.ultrafiltrationVolumeRes + defaultValue : vTreatmentRanges.ultrafiltrationVolumeDef + decimal : Variables.ultrafiltrationPrecision + value : vTreatmentCreate.ultrafiltrationVolume + isActive : vTreatmentCreate.ultrafiltrationVolumeSet - contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl - editable : _root.editingEnabled - isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet - defaultValue : vTreatmentRanges.vitalsInterval - value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) - model : vTreatmentRanges.bloodPressureMeasureInterval - canOff : true + onDidActiveChange : function(vState) { vTreatmentCreate.ultrafiltrationVolumeSet = vState } + onDidChange : function(vValue) { + if ( ! _ufVolume.valid ) { vTreatmentCreate.ufVolumeRejectionReason = Variables.noRejectReason } + vTreatmentCreate.ultrafiltrationVolume = vValue - onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } + // zero target eight if UF volume is entered + vTreatmentCreate.ufEstimatedTargetWeight = 0 + } + onEditClicked :_ufVolumeAdjustment.open() + } + + LabelUnitContainer { id: _heparinRx + text : qsTr("Heparin Rx") + valid : ! vTreatmentCreate.heparinDeliveryDurationRejectReason && + ! vTreatmentCreate.heparinTypeRejectReason && + ! vTreatmentCreate.heparinBolusVolumeRejectReason && + ! vTreatmentCreate.heparinDispensingRateRejectReason + visible : _root.heparinFeatured + showEdit : true + needsAttention : ! _heparinRxAdjustment.confirmReady() + editEnabled : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON + + function reset() { + vTreatmentCreate.heparinBolusVolume = 0 + vTreatmentCreate.heparinDispensingRate = 0 + vTreatmentCreate.heparinDeliveryDuration = 0 + } + + contentItem : ValueAdjusterCustom { id: _heparinRxControl + defaultValue : 0 + value : 0 + editable : _root.editingEnabled + model : [qsTr("OFF"), qsTr("ON")] onDidChange : function(vValue) { - if ( ! _bpMeasurementInterval.valid ) { - vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason + value = vValue + if ( value ) { + _heparinRxAdjustment.open() } - - vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vValue] + else { + reset() + } } } + + onEditClicked : _heparinRxAdjustment.open() } - LabelUnitContainer { id: _hepatitusStatus - text : qsTr("Hepatitus Status") - valid : ! vTreatmentCreate.hepatitusBStatusRejectReason + LabelUnitContainer { id: _acidConcentrate + text : qsTr("Acid Concentrate") +// showEdit : _root.editingEnabled // Hide 👋📋 TODO Phase 2 + onEditClicked : _acidConcentrateAdjustment.open() + valid : ! vTreatmentCreate.acidConcentrateConversionFactorRejectionReason && ! vTreatmentCreate.acidConcentrateIndexRejectionReason - contentItem : ValueAdjusterCustom { id: _hepatitusStatusControl - editable : _root.editingEnabled - isActive : vTreatmentCreate.hepatitusBStatusSet - value : vTreatmentCreate.hepatitusBStatus - defaultValue : vTreatmentCreate.hepatitusBStatus - model : vTreatmentRanges.hepatitisStatus + contentItem : BaseComboBox { id: _acidConcentrateComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.acidConcentrateSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.acidConcentrate + centerHorizontally : true + model : vTreatmentRanges.acidConcentrateOptions + onClear : { + vTreatmentRanges.doClearAcidConcentrate(vTreatmentCreate.acidConcentrateSet) + vTreatmentCreate.acidConcentrateSet = false + } - onDidActiveChange: function(vState) { vTreatmentCreate.hepatitusBStatusSet = vState } + onActivated : { + if ( ! _acidConcentrate.valid ) { vTreatmentCreate.acidConcentrateConversionFactorRejectionReason = Variables.noRejectReason + vTreatmentCreate.acidConcentrateIndexRejectionReason = Variables.noRejectReason } + vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.currentIndex + vTreatmentCreate.acidConcentrateSet = true + vTreatmentCreate.acidConcentrateConversionFactor = vTreatmentRanges.acidConcentrateModel.get(vTreatmentCreate.acidConcentrate).value + } + } + } - onDidChange : function(vValue) { - if ( ! _hepatitusStatus.valid ) { - vTreatmentCreate.hepatitusBStatusRejectReason = Variables.noRejectReason - } + LabelUnitContainer { id: _bicarbonateConcentrate + text : qsTr("Bicarbonate Concentrate Size") + valid : ! vTreatmentCreate.dryBicarbCartSizeRejectReason - vTreatmentCreate.hepatitusBStatus = vValue + contentItem : BaseComboBox { id: _bicarbonateConcentrateComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.dryBicarbCartSizeSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.dryBicarbCartSize + model : vTreatmentRanges.dryBicabCartridgeSizeOptions + centerHorizontally : true + onClear : vTreatmentCreate.dryBicarbCartSizeSet = false + onActivated : { + if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.dryBicarbCartSizeRejectReason = Variables.noRejectReason } + vTreatmentCreate.dryBicarbCartSize = _bicarbonateConcentrateComboBox.currentIndex + vTreatmentCreate.dryBicarbCartSizeSet = true } } } + + LabelUnitContainer { id: _dialyzerType + text : qsTr("Dialyzer Type") + valid : ! vTreatmentCreate.dialyzerTypeRejectReason + + contentItem : BaseComboBox { id: _dialyzerTypeComboBox + anchors.rightMargin : Variables.defaultMargin * 2 + anchors.leftMargin : anchors.rightMargin + anchors.topMargin : Variables.defaultMargin / 2 + anchors.bottomMargin: anchors.topMargin + isActive : vTreatmentCreate.dialyzerTypeSet + enabled : _root.editingEnabled + currentIndex : vTreatmentCreate.dialyzerType + model : vTreatmentRanges.dialyzerTypeOptions + onClear : vTreatmentCreate.dialyzerTypeSet = false + onActivated : { + if ( ! _dialyzerType.valid ) { vTreatmentCreate.dialyzerTypeRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialyzerType = _dialyzerTypeComboBox.currentIndex + vTreatmentCreate.dialyzerTypeSet = true + } + } + } + + LabelUnitValueAdjuster { id: _dialysateTemperature + text : qsTr("Dialysate Temperature") + unitText : Variables.unitTextTemperature + valid : ! vTreatmentCreate.dialysateTempRejectReason + width : _root.cellWidth + height : _root.cellHeight + editable : _root.editingEnabled + minimum : vTreatmentRanges.dialysateTempMin + maximum : vTreatmentRanges.dialysateTempMax + step : vTreatmentRanges.dialysateTempRes + defaultValue : vTreatmentRanges.dialysateTempDef + value : vTreatmentCreate.dialysateTemp + decimal : Variables.dialysateTempPrecision + isActive : vTreatmentCreate.dialysateTempSet + onDidActiveChange : function(vState) { vTreatmentCreate.dialysateTempSet = vState } + onDidChange : function(vValue) { + if ( ! _dialysateTemperature.valid ) { vTreatmentCreate.dialysateTempRejectReason = Variables.noRejectReason } + vTreatmentCreate.dialysateTemp = vValue + } + } } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml =================================================================== diff -u -r81ed00031f6f2b4124a17ac8054b4a3815e2e2bc -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml (.../PreTreatmentCreateTreatmentSettings.qml) (revision 81ed00031f6f2b4124a17ac8054b4a3815e2e2bc) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateTreatmentSettings.qml (.../PreTreatmentCreateTreatmentSettings.qml) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -8,414 +8,191 @@ import "qrc:/components" import "qrc:/compounds" + Row { id: _root readonly property int cellWidth : Variables.createRxLabelUnitContainerWidth readonly property int cellHeight : Variables.createRxLabelUnitContainerHeight - readonly property bool heparinFeatured : vSettings.heparinSyringePump - readonly property string patientID : _pretreatmentPatientIDEntry.text - property bool isHDFFeatured : vTreatmentCreate.treatmentModality === HeaderBar.Mode_HDF - property bool isHeparinOn : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON - property bool editingEnabled : true property int columnSpacing : 15 spacing : Variables.defaultMargin * 3 - enum HeparinEnabled { - OFF, - ON - } + function setPresetParameters () { + vTreatmentCreate.sodiumSet = true + vTreatmentCreate.bicarbonateSet = true + vTreatmentCreate.fluidBolusVolumeSet = true + vTreatmentCreate.rinsebackVolumeSet = true + vTreatmentCreate.bloodPressureMeasureIntervalSet = true + vTreatmentCreate.hepatitusBStatusSet = true - signal clearHeparinDuration() - - onIsHDFFeaturedChanged: { - if ( ! isHDFFeatured ) { - vTreatmentCreate.hdfTreatmentMode = 0 - vTreatmentCreate.substitutionFluidVolume = 0 - } + vTreatmentCreate.sodium = vTreatmentRanges.dialysateSodiumDef + vTreatmentCreate.bicarbonate = vTreatmentRanges.dialysateBicarbonateDef + vTreatmentCreate.fluidBolusVolume = vTreatmentRanges.salineBolusVolumeDef + vTreatmentCreate.rinsebackVolume = vTreatmentRanges.rinsebackVolumeDef + vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vTreatmentRanges.vitalsInterval] + vTreatmentCreate.hepatitusBStatus = 0 } - function setPresetParameters () { - vTreatmentCreate.dialysateTempSet = true - vTreatmentCreate.dialysateTemp = vTreatmentRanges.dialysateTempDef - _heparinRxControl.value = 0 - _heparinRx.reset() - vTreatmentCreate.ufPreWeight = vTreatmentRanges.weightDef - vTreatmentCreate.ufEstimatedTargetWeight = vTreatmentRanges.weightDef - } - function refreshAll () { - _hdfTreatmentModeControl .refresh() - _subFluidVolume .refresh() - _bloodFlowRate .refresh() - _dialysateFlowRate .refresh() - _duration .refresh() - _ufVolume .refresh() - _heparinRxAdjustment .refresh() - _dialysateTemperature .refresh() + _sodium .refresh() + _bicarbonate .refresh() + _fluidBolusVolume .refresh() + _primeRinsebackVolume .refresh() + _bpMeasurementIntervalControl .refresh() + _hepatitusStatusControl .refresh() } function clear () { - vTreatmentCreate.patientID = "" - _hdfTreatmentModeControl .clear() - _subFluidVolume .clear() - _bloodFlowRate .clear() - _dialysateFlowRate .clear() - _duration .clear() - _ufVolume .clear() - _heparinRxAdjustment .clear() - _acidConcentrateComboBox .clear() - _bicarbonateConcentrateComboBox .clear() - _dialyzerTypeComboBox .clear() - _dialysateTemperature .clear() + _sodium .clear() + _bicarbonate .clear() + _fluidBolusVolume .clear() + _primeRinsebackVolume .clear() + _bpMeasurementIntervalControl .clear() + _hepatitusStatusControl . clear() } function ready () { - - return (_root.isHDFFeatured ? _hdfTreatmentModeControl.isActive && _hdfTreatmentMode .valid && - _subFluidVolume .isActive && _subFluidVolume .valid : true ) && - _bloodFlowRate .isActive && _bloodFlowRate .valid && - _dialysateFlowRate .isActive && _dialysateFlowRate .valid && - _duration .isActive && _duration .valid && - _ufVolume .isActive && _ufVolume .valid && - (_root.isHeparinOn && _root. heparinFeatured ? _heparinRxAdjustment.confirmReady() : true ) && - _acidConcentrateComboBox .isActive && _acidConcentrate .valid && - _bicarbonateConcentrateComboBox .isActive && _bicarbonateConcentrate .valid && - _dialyzerTypeComboBox .isActive && _dialyzerType .valid && - _dialysateTemperature .isActive && _dialysateTemperature .valid + return _sodium .isActive && _sodium .valid && + _bicarbonate .isActive && _bicarbonate .valid && + _fluidBolusVolume .isActive && _fluidBolusVolume .valid && + _primeRinsebackVolume .isActive && _primeRinsebackVolume .valid && + _bpMeasurementIntervalControl .isActive && _bpMeasurementInterval .valid && + _hepatitusStatusControl .isActive && _hepatitusStatus .valid } Column { id: _leftColumn spacing : _root.columnSpacing - LabelUnitContainer { id: _patientID - text : qsTr("Patient ID") - contentArea.anchors.leftMargin : 120 - - contentItem : TextEntry { id: _pretreatmentPatientIDEntry - clip : true - textInput.width : parent.width - Variables.defaultMargin * 4 - text : vTreatmentCreate.patientID - anchors.centerIn : parent - textInput.maximumLength : 20 // LEAHI-PRS-236 - textInput.rightPadding : Variables.defaultMargin - textInput.leftPadding : Variables.defaultMargin * 14 - textInput.inputMethodHints : Qt.ImhPreferLowercase - textInput.echoMode : TextInput.Normal - textInput.validator : RegExpValidator { regExp: Variables.regExp_PatientID } - line.visible : false - enabled : _root.editingEnabled - onEditingFinished : vTreatmentCreate.patientID = text - - Text { id: _patientIDPlaceHolderText - text : Variables.emptyEntry - anchors.fill : parent - rightPadding : 125 - horizontalAlignment : Text.AlignRight - font.pixelSize : Fonts.fontPixelValueControl - color : Colors.offWhite - visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && - ! _pretreatmentPatientIDEntry.textInput.activeFocus - } - } - } - - LabelUnitContainer { id: _treatmentModality - text : qsTr("Treatment Modality") - valid : ! vTreatmentCreate.treatmentModalityRejectReason - - contentItem : BaseComboBox { id: _treatmentModalityComboBox - anchors.rightMargin : Variables.defaultMargin * 2 - anchors.leftMargin : anchors.rightMargin - anchors.topMargin : Variables.defaultMargin / 2 - anchors.bottomMargin: anchors.topMargin - isActive : true // PRS-215 - enabled : _root.editingEnabled - currentIndex : vTreatmentCreate.treatmentModality - model : vTreatmentRanges.treatmentModalityOptions - centerHorizontally : true - - onActivated : { - if ( ! _treatmentModality.valid ) { vTreatmentCreate.treatmentModalityRejectReason = Variables.noRejectReason } - vTreatmentCreate.treatmentModality = _treatmentModalityComboBox.currentIndex - } - } - } - - LabelUnitContainer { id: _hdfTreatmentMode - text : _root.isHDFFeatured ? qsTr("HDF Operating Mode") : "" - valid : ! vTreatmentCreate.hDFTreatmentModeRejectReason - height : _root.isHDFFeatured ? _root.cellHeight : 0 - - contentItem : ValueAdjusterCustom { id: _hdfTreatmentModeControl - value : vTreatmentCreate.hdfTreatmentMode - model : vTreatmentRanges.hdfTreatmentModeOptions - isActive : vTreatmentCreate.hdfTreatmentModeSet - editable : _root.editingEnabled - visible : _root.isHDFFeatured - - onDidActiveChange: function(vState) { vTreatmentCreate.hdfTreatmentModeSet = vState } - - onDidChange : function(vValue) { - if ( ! _hdfTreatmentMode.valid ) { vTreatmentCreate.hDFTreatmentModeRejectReason = Variables.noRejectReason } - vTreatmentCreate.hdfTreatmentModeSet = true - vTreatmentCreate.hdfTreatmentMode = vValue - } - } - Behavior on height { NumberAnimation { duration: 250 } } - } - - LabelUnitValueAdjuster { id: _subFluidVolume - text : _root.isHDFFeatured ? qsTr("Substitution Fluid Volume") : "" + LabelUnitValueAdjuster { id: _sodium + text : qsTr("Sodium (Na)") + unitText : Variables.unitTextConcentration + valid : ! vTreatmentCreate.sodiumRejectReason width : _root.cellWidth - height : _root.isHDFFeatured ? _root.cellHeight : 0 - contentItem.visible: _root.isHDFFeatured - unitText : _root.isHDFFeatured ? Variables.unitVolume : "" - valid : ! vTreatmentCreate.substitutionFluidVolumeRejectReason + height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.substitutionVolumeMin - maximum : vTreatmentRanges.substitutionVolumeMax - step : vTreatmentRanges.substitutionVolumeRes - defaultValue : vTreatmentRanges.substitutionVolumeDef - decimal : Variables.substitutionPrecision - value : vTreatmentCreate.substitutionFluidVolume - isActive : vTreatmentCreate.substitutionFluidVolumeSet - - onDidActiveChange : function(vState) { vTreatmentCreate.substitutionFluidVolumeSet = vState } + minimum : vTreatmentRanges.dialysateSodiumMin + maximum : vTreatmentRanges.dialysateSodiumMax + step : vTreatmentRanges.dialysateSodiumRes + defaultValue : vTreatmentRanges.dialysateSodiumDef + value : vTreatmentCreate.sodium + isActive : vTreatmentCreate.sodiumSet + onDidActiveChange : function(vState) { vTreatmentCreate.sodiumSet = vState } onDidChange : function(vValue) { - if ( ! _subFluidVolume.valid ) { vTreatmentCreate.substitutionFluidVolumeRejectReason = Variables.noRejectReason } - vTreatmentCreate.substitutionFluidVolume = vValue + if ( ! _sodium.valid ) { vTreatmentCreate.sodiumRejectReason = Variables.noRejectReason } + vTreatmentCreate.sodium = vValue } - Behavior on height { NumberAnimation { duration: 250 } } } - LabelUnitValueAdjuster { id: _bloodFlowRate - text : qsTr("Blood Flow Rate") - unitText : Variables.unitTextFlowRate - valid : ! vTreatmentCreate.bloodFlowRateRejectReason + LabelUnitValueAdjuster { id: _bicarbonate + text : qsTr("Bicarbonate") + unitText : Variables.unitTextConcentration + valid : ! vTreatmentCreate.bicarbonateRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.bloodFlowRateMin - maximum : vTreatmentRanges.bloodFlowRateMax - step : vTreatmentRanges.bloodFlowRateRes - defaultValue : vTreatmentRanges.bloodFlowRateDef - value : vTreatmentCreate.bloodFlowRate - isActive : vTreatmentCreate.bloodFlowRateSet - onDidActiveChange : function(vState) { vTreatmentCreate.bloodFlowRateSet = vState } + minimum : vTreatmentRanges.dialysateBicarbonateMin + maximum : vTreatmentRanges.dialysateBicarbonateMax + step : vTreatmentRanges.dialysateBicarbonateRes + defaultValue : vTreatmentRanges.dialysateBicarbonateDef + value : vTreatmentCreate.bicarbonate + isActive : vTreatmentCreate.bicarbonateSet + onDidActiveChange : function(vState) { vTreatmentCreate.bicarbonateSet = vState } onDidChange : function(vValue) { - if ( ! _bloodFlowRate.valid ) { vTreatmentCreate.bloodFlowRateRejectReason = Variables.noRejectReason } - vTreatmentCreate.bloodFlowRate = vValue + if ( ! _sodium.valid ) { vTreatmentCreate.bicarbonateRejectReason = Variables.noRejectReason } + vTreatmentCreate.bicarbonate = vValue } } - LabelUnitValueAdjuster { id: _dialysateFlowRate - text : qsTr("Dialysate Flow Rate") - unitText : Variables.unitTextFlowRate - valid : ! vTreatmentCreate.dialysateFlowRateRejectReason + LabelUnitValueAdjuster { id: _fluidBolusVolume + text : qsTr("Fluid Bolus Volume") + unitText : Variables.unitTextFluid + valid : ! vTreatmentCreate.fluidBolusVolumeRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateFlowRateMin - maximum : vTreatmentRanges.dialysateFlowRateMax - step : vTreatmentRanges.dialysateFlowRateRes - defaultValue : vTreatmentRanges.dialysateFlowRateDef - value : vTreatmentCreate.dialysateFlowRate - isActive : vTreatmentCreate.dialysateFlowRateSet - onDidActiveChange : function(vState) { vTreatmentCreate.dialysateFlowRateSet = vState } - onDidChange : function(vValue) { - if ( ! _dialysateFlowRate.valid ) { vTreatmentCreate.dialysateFlowRateRejectReason = Variables.noRejectReason } - vTreatmentCreate.dialysateFlowRate = vValue + minimum : vTreatmentRanges.salineBolusVolumeMin + maximum : vTreatmentRanges.salineBolusVolumeMax + step : vTreatmentRanges.salineBolusVolumeRes + defaultValue : vTreatmentRanges.salineBolusVolumeDef + value : vTreatmentCreate.fluidBolusVolume + isActive : vTreatmentCreate.fluidBolusVolumeSet + onDidActiveChange : function(vState) { vTreatmentCreate.fluidBolusVolumeSet = vState } + onDidChange : function(vValue) { + if ( ! _fluidBolusVolume.valid ) { vTreatmentCreate.fluidBolusVolumeRejectReason = Variables.noRejectReason } + vTreatmentCreate.fluidBolusVolume = vValue } } - LabelUnitValueAdjuster { id: _duration - text : qsTr("Duration") - unitText : Variables.unitTextDuration - valid : ! vTreatmentCreate.treatmentDurationRejectReason + LabelUnitValueAdjuster { id: _primeRinsebackVolume + text : qsTr("Prime Rinseback Volume") + unitText : Variables.unitTextFluid + valid : ! vTreatmentCreate.rinsebackVolumeRejectReason width : _root.cellWidth height : _root.cellHeight editable : _root.editingEnabled - minimum : vTreatmentRanges.treatmentDurationMin - maximum : vTreatmentRanges.treatmentDurationMax - step : vTreatmentRanges.treatmentDurationRes - defaultValue : vTreatmentRanges.treatmentDurationDef - value : vTreatmentCreate.treatmentDuration - isActive : vTreatmentCreate.treatmentDurationSet - onDidActiveChange: function(vState) { vTreatmentCreate.treatmentDurationSet = vState } + minimum : vTreatmentRanges.rinsebackVolumeMin + maximum : vTreatmentRanges.rinsebackVolumeMax + step : vTreatmentRanges.rinsebackVolumeRes + defaultValue : vTreatmentRanges.rinsebackVolumeDef + value : vTreatmentCreate.rinsebackVolume + isActive : vTreatmentCreate.rinsebackVolumeSet + onDidActiveChange : function(vState) { vTreatmentCreate.rinsebackVolumeSet = vState } onDidChange : function(vValue) { - if ( ! _duration.valid ) { vTreatmentCreate.treatmentDurationRejectReason = Variables.noRejectReason } - vTreatmentCreate.treatmentDuration = vValue - - // set heparin time to clear when set - clearHeparinDuration() + if ( ! _primeRinsebackVolume.valid ) { vTreatmentCreate.rinsebackVolumeRejectReason = Variables.noRejectReason } + vTreatmentCreate.rinsebackVolume = vValue } } } Column { id: _rightColumn spacing : _root.columnSpacing - LabelUnitValueAdjuster { id: _ufVolume - text : qsTr("Ultrafiltration Volume") - width : _root.cellWidth - height : _root.cellHeight - unitText : Variables.unitVolume - showEdit : true - needsAttention : vTreatmentCreate.ufPreWeightRejectionReason || vTreatmentCreate.ufEstimatedTargetWeightRejectionReason - valid : ! vTreatmentCreate.ufVolumeRejectionReason - editable : _root.editingEnabled - minimum : vTreatmentRanges.ultrafiltrationVolumeMin - maximum : vTreatmentRanges.ultrafiltrationVolumeMax - step : vTreatmentRanges.ultrafiltrationVolumeRes - defaultValue : vTreatmentRanges.ultrafiltrationVolumeDef - decimal : Variables.ultrafiltrationPrecision - value : vTreatmentCreate.ultrafiltrationVolume - isActive : vTreatmentCreate.ultrafiltrationVolumeSet + LabelUnitContainer { id: _bpMeasurementInterval + text : qsTr("Vitals Interval") + unitText : Variables.unitTextDuration + valid : ! vTreatmentCreate.bloodPressureMeasureIntervalRejectReason - onDidActiveChange : function(vState) { vTreatmentCreate.ultrafiltrationVolumeSet = vState } - onDidChange : function(vValue) { - if ( ! _ufVolume.valid ) { vTreatmentCreate.ufVolumeRejectionReason = Variables.noRejectReason } - vTreatmentCreate.ultrafiltrationVolume = vValue + contentItem : ValueAdjusterCustom { id: _bpMeasurementIntervalControl + editable : _root.editingEnabled + isActive : vTreatmentCreate.bloodPressureMeasureIntervalSet + defaultValue : vTreatmentRanges.vitalsInterval + value : vTreatmentRanges.bloodPressureMeasureInterval.indexOf(vTreatmentCreate.bloodPressureMeasureInterval.toString()) + model : vTreatmentRanges.bloodPressureMeasureInterval + canOff : true - // zero target eight if UF volume is entered - vTreatmentCreate.ufEstimatedTargetWeight = 0 - } + onDidActiveChange: function(vState) { vTreatmentCreate.bloodPressureMeasureIntervalSet = vState } - onEditClicked :_ufVolumeAdjustment.open() - } - - LabelUnitContainer { id: _heparinRx - text : qsTr("Heparin Rx") - valid : ! vTreatmentCreate.heparinDeliveryDurationRejectReason && - ! vTreatmentCreate.heparinTypeRejectReason && - ! vTreatmentCreate.heparinBolusVolumeRejectReason && - ! vTreatmentCreate.heparinDispensingRateRejectReason - visible : _root.heparinFeatured - showEdit : true - needsAttention : ! _heparinRxAdjustment.confirmReady() - editEnabled : _heparinRxControl.value === PreTreatmentCreateTreatmentSettings.ON - - function reset() { - vTreatmentCreate.heparinBolusVolume = 0 - vTreatmentCreate.heparinDispensingRate = 0 - vTreatmentCreate.heparinDeliveryDuration = 0 - } - - contentItem : ValueAdjusterCustom { id: _heparinRxControl - defaultValue : 0 - value : 0 - editable : _root.editingEnabled - model : [qsTr("OFF"), qsTr("ON")] onDidChange : function(vValue) { - value = vValue - if ( value ) { - _heparinRxAdjustment.open() + if ( ! _bpMeasurementInterval.valid ) { + vTreatmentCreate.bloodPressureMeasureIntervalRejectReason = Variables.noRejectReason } - else { - reset() - } + + vTreatmentCreate.bloodPressureMeasureInterval = vTreatmentRanges.bloodPressureMeasureInterval[vValue] } } - - onEditClicked : _heparinRxAdjustment.open() } - LabelUnitContainer { id: _acidConcentrate - text : qsTr("Acid Concentrate") -// showEdit : _root.editingEnabled // Hide 👋📋 TODO Phase 2 - onEditClicked : _acidConcentrateAdjustment.open() - valid : ! vTreatmentCreate.acidConcentrateConversionFactorRejectionReason && ! vTreatmentCreate.acidConcentrateIndexRejectionReason + LabelUnitContainer { id: _hepatitusStatus + text : qsTr("Hepatitus Status") + valid : ! vTreatmentCreate.hepatitusBStatusRejectReason - contentItem : BaseComboBox { id: _acidConcentrateComboBox - anchors.rightMargin : Variables.defaultMargin * 2 - anchors.leftMargin : anchors.rightMargin - anchors.topMargin : Variables.defaultMargin / 2 - anchors.bottomMargin: anchors.topMargin - isActive : vTreatmentCreate.acidConcentrateSet - enabled : _root.editingEnabled - currentIndex : vTreatmentCreate.acidConcentrate - centerHorizontally : true - model : vTreatmentRanges.acidConcentrateOptions - onClear : { - vTreatmentRanges.doClearAcidConcentrate(vTreatmentCreate.acidConcentrateSet) - vTreatmentCreate.acidConcentrateSet = false - } + contentItem : ValueAdjusterCustom { id: _hepatitusStatusControl + editable : _root.editingEnabled + isActive : vTreatmentCreate.hepatitusBStatusSet + value : vTreatmentCreate.hepatitusBStatus + defaultValue : vTreatmentCreate.hepatitusBStatus + model : vTreatmentRanges.hepatitisStatus - onActivated : { - if ( ! _acidConcentrate.valid ) { vTreatmentCreate.acidConcentrateConversionFactorRejectionReason = Variables.noRejectReason - vTreatmentCreate.acidConcentrateIndexRejectionReason = Variables.noRejectReason } - vTreatmentCreate.acidConcentrate = _acidConcentrateComboBox.currentIndex - vTreatmentCreate.acidConcentrateSet = true - vTreatmentCreate.acidConcentrateConversionFactor = vTreatmentRanges.acidConcentrateModel.get(vTreatmentCreate.acidConcentrate).value - } - } - } + onDidActiveChange: function(vState) { vTreatmentCreate.hepatitusBStatusSet = vState } - LabelUnitContainer { id: _bicarbonateConcentrate - text : qsTr("Bicarbonate Concentrate Size") - valid : ! vTreatmentCreate.dryBicarbCartSizeRejectReason + onDidChange : function(vValue) { + if ( ! _hepatitusStatus.valid ) { + vTreatmentCreate.hepatitusBStatusRejectReason = Variables.noRejectReason + } - contentItem : BaseComboBox { id: _bicarbonateConcentrateComboBox - anchors.rightMargin : Variables.defaultMargin * 2 - anchors.leftMargin : anchors.rightMargin - anchors.topMargin : Variables.defaultMargin / 2 - anchors.bottomMargin: anchors.topMargin - isActive : vTreatmentCreate.dryBicarbCartSizeSet - enabled : _root.editingEnabled - currentIndex : vTreatmentCreate.dryBicarbCartSize - model : vTreatmentRanges.dryBicabCartridgeSizeOptions - centerHorizontally : true - onClear : vTreatmentCreate.dryBicarbCartSizeSet = false - onActivated : { - if ( ! _bicarbonateConcentrate.valid ) { vTreatmentCreate.dryBicarbCartSizeRejectReason = Variables.noRejectReason } - vTreatmentCreate.dryBicarbCartSize = _bicarbonateConcentrateComboBox.currentIndex - vTreatmentCreate.dryBicarbCartSizeSet = true + vTreatmentCreate.hepatitusBStatus = vValue } } } - - LabelUnitContainer { id: _dialyzerType - text : qsTr("Dialyzer Type") - valid : ! vTreatmentCreate.dialyzerTypeRejectReason - - contentItem : BaseComboBox { id: _dialyzerTypeComboBox - anchors.rightMargin : Variables.defaultMargin * 2 - anchors.leftMargin : anchors.rightMargin - anchors.topMargin : Variables.defaultMargin / 2 - anchors.bottomMargin: anchors.topMargin - isActive : vTreatmentCreate.dialyzerTypeSet - enabled : _root.editingEnabled - currentIndex : vTreatmentCreate.dialyzerType - model : vTreatmentRanges.dialyzerTypeOptions - onClear : vTreatmentCreate.dialyzerTypeSet = false - onActivated : { - if ( ! _dialyzerType.valid ) { vTreatmentCreate.dialyzerTypeRejectReason = Variables.noRejectReason } - vTreatmentCreate.dialyzerType = _dialyzerTypeComboBox.currentIndex - vTreatmentCreate.dialyzerTypeSet = true - } - } - } - - LabelUnitValueAdjuster { id: _dialysateTemperature - text : qsTr("Dialysate Temperature") - unitText : Variables.unitTextTemperature - valid : ! vTreatmentCreate.dialysateTempRejectReason - width : _root.cellWidth - height : _root.cellHeight - editable : _root.editingEnabled - minimum : vTreatmentRanges.dialysateTempMin - maximum : vTreatmentRanges.dialysateTempMax - step : vTreatmentRanges.dialysateTempRes - defaultValue : vTreatmentRanges.dialysateTempDef - value : vTreatmentCreate.dialysateTemp - decimal : Variables.dialysateTempPrecision - isActive : vTreatmentCreate.dialysateTempSet - onDidActiveChange : function(vState) { vTreatmentCreate.dialysateTempSet = vState } - onDidChange : function(vValue) { - if ( ! _dialysateTemperature.valid ) { vTreatmentCreate.dialysateTempRejectReason = Variables.noRejectReason } - vTreatmentCreate.dialysateTemp = vValue - } - } } } Index: sources/model/MListModel.cpp =================================================================== diff -u -r63d974e3d2d03c93e0398de17bd6ca2d2e039982 -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/model/MListModel.cpp (.../MListModel.cpp) (revision 63d974e3d2d03c93e0398de17bd6ca2d2e039982) +++ sources/model/MListModel.cpp (.../MListModel.cpp) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -110,7 +110,7 @@ * \brief Return a list of roles from each row of model * \param[in] vRole Role of model to populate list */ -QStringList View::MListModel::getAllByRole( int vRole ) const +QStringList View::MListModel::getAllRoles( int vRole ) const { QStringList result; Index: sources/model/MListModel.h =================================================================== diff -u -r63d974e3d2d03c93e0398de17bd6ca2d2e039982 -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/model/MListModel.h (.../MListModel.h) (revision 63d974e3d2d03c93e0398de17bd6ca2d2e039982) +++ sources/model/MListModel.h (.../MListModel.h) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -30,7 +30,7 @@ void appendRow (const QHash &vData ); void insertRow (const int vRow, const QHash &vData ); void updateData (const int vRow, const int vRole, const QVariant& vValue ); - QStringList getAllByRole(int vRole ) const; + QStringList getAllRoles (int vRole ) const; public slots: QVariantMap get (int vRow ) const; // Exposed to QML Index: sources/view/td/data/VTreatmentRanges.cpp =================================================================== diff -u -r63d974e3d2d03c93e0398de17bd6ca2d2e039982 -raf80aaa1c114eab78444e973c86b3c42dd85ef52 --- sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision 63d974e3d2d03c93e0398de17bd6ca2d2e039982) +++ sources/view/td/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision af80aaa1c114eab78444e973c86b3c42dd85ef52) @@ -260,7 +260,7 @@ isConfigsOk = isConfigsOk && ok; } - acidConcentrateOptions (_acidConcentrateModel.getAllByRole(eRole_Key)); + acidConcentrateOptions (_acidConcentrateModel.getAllRoles(eRole_Key)); isConfigsOk = isConfigsOk && !_heparinTypeOptions .isEmpty(); if ( _heparinTypeOptions.isEmpty() ) { heparinTypeOptions({"-- --"}); }