Index: sources/gui/qml/compounds/InstitutionalContainer.qml =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/gui/qml/compounds/InstitutionalContainer.qml (.../InstitutionalContainer.qml) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/gui/qml/compounds/InstitutionalContainer.qml (.../InstitutionalContainer.qml) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -50,7 +50,14 @@ property int rejectionDef : 0 property var defModel : [] property bool grabbed : false + property int row : 0 + enum Range { + Min , + Max , + Def + } + contentItem : Row { id: _row spacing : 10 anchors.fill: parent @@ -81,7 +88,7 @@ } onDidChange : function(vValue) { - _root.rejectionMin = Variables.noRejectReason + vInstitutionalRecord.clearRejectionReason( _root.row , InstitutionalContainer.Min ) value = vValue } } @@ -124,7 +131,7 @@ } onDidChange : function(vValue) { - _root.rejectionMax = Variables.noRejectReason + vInstitutionalRecord.clearRejectionReason( _root.row , InstitutionalContainer.Max ) value = vValue } } @@ -169,7 +176,7 @@ } onDidChange : function(vValue) { - _root.rejectionDef = Variables.noRejectReason + vInstitutionalRecord.clearRejectionReason( _root.row , InstitutionalContainer.Def ) value = vValue } } Index: sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/gui/qml/pages/pretreatment/create/PreTreatmentCreateContent.qml (.../PreTreatmentCreateContent.qml) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -244,8 +244,8 @@ horizontalAlignment : Text.AlignRight font.pixelSize : Fonts.fontPixelValueControl color : Colors.offWhite - visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && - ! _pretreatmentPatientIDEntry.textInput.activeFocus + visible : _pretreatmentPatientIDEntry.textInput.text.length === 0 && + ! _pretreatmentPatientIDEntry.textInput.activeFocus } } } @@ -277,10 +277,10 @@ contentItem : ValueAdjuster { id: _bloodFlowRateControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.bloodFlowRateMin - maximum : vInstitutionalRecord.bloodFlowRateMax + minimum : vTreatmentRanges.bloodFlowRateMin + maximum : vTreatmentRanges.bloodFlowRateMax step : vTreatmentRanges.bloodFlowRateRes - defaultValue : vInstitutionalRecord.bloodFlowRateDef + defaultValue : vTreatmentRanges.bloodFlowRateDef value : vTreatmentCreate.bloodFlowRate isActive : vTreatmentCreate.bloodFlowRateSet onDidActiveChange: function(vState) { vTreatmentCreate.bloodFlowRateSet = vState } @@ -326,10 +326,10 @@ contentItem : ValueAdjuster { id: _dialysateFlowRateControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.dialysateFlowRateMin - maximum : vInstitutionalRecord.dialysateFlowRateMax + minimum : vTreatmentRanges.dialysateFlowRateMin + maximum : vTreatmentRanges.dialysateFlowRateMax step : vTreatmentRanges.dialysateFlowRateRes - defaultValue : vInstitutionalRecord.dialysateFlowRateDef + defaultValue : vTreatmentRanges.dialysateFlowRateDef value : vTreatmentCreate.dialysateFlowRate isActive : vTreatmentCreate.dialysateFlowRateSet onDidActiveChange: function(vState) { vTreatmentCreate.dialysateFlowRateSet = vState } @@ -369,10 +369,10 @@ contentItem : ValueAdjuster { id: _durationControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.treatmentDurationMin - maximum : vInstitutionalRecord.treatmentDurationMax + minimum : vTreatmentRanges.treatmentDurationMin + maximum : vTreatmentRanges.treatmentDurationMax step : vTreatmentRanges.treatmentDurationRes - defaultValue : vInstitutionalRecord.treatmentDurationDef + defaultValue : vTreatmentRanges.treatmentDurationDef value : vTreatmentCreate.treatmentDuration isActive : vTreatmentCreate.treatmentDurationSet onDidActiveChange: function(vState) { vTreatmentCreate.treatmentDurationSet = vState } @@ -416,10 +416,10 @@ contentItem : ValueAdjuster { id: _heparinBolusVolumeControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.heparinBolusVolumeMin - maximum : vInstitutionalRecord.heparinBolusVolumeMax + minimum : vTreatmentRanges.heparinBolusVolumeMin + maximum : vTreatmentRanges.heparinBolusVolumeMax step : vTreatmentRanges.heparinBolusVolumeRes - defaultValue : vInstitutionalRecord.heparinBolusVolumeDef + defaultValue : vTreatmentRanges.heparinBolusVolumeDef value : vTreatmentCreate.heparinBolusVolume decimal : Variables.heparinPrecision canOff : true @@ -471,10 +471,10 @@ contentItem : ValueAdjuster { id: _heparinDispensingRateControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.heparinDispensingRateMin - maximum : vInstitutionalRecord.heparinDispensingRateMax + minimum : vTreatmentRanges.heparinDispensingRateMin + maximum : vTreatmentRanges.heparinDispensingRateMax step : vTreatmentRanges.heparinDispensingRateRes - defaultValue : vInstitutionalRecord.heparinDispensingRateDef + defaultValue : vTreatmentRanges.heparinDispensingRateDef value : vTreatmentCreate.heparinDispensingRate decimal : Variables.heparinPrecision canOff : true @@ -510,10 +510,10 @@ contentItem : ValueAdjuster { id: _dialysateTemperatureControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.dialysateTempMin - maximum : vInstitutionalRecord.dialysateTempMax + minimum : vTreatmentRanges.dialysateTempMin + maximum : vTreatmentRanges.dialysateTempMax step : vTreatmentRanges.dialysateTempRes - defaultValue : vInstitutionalRecord.dialysateTempDef + defaultValue : vTreatmentRanges.dialysateTempDef value : vTreatmentCreate.dialysateTemp decimal : Variables.dialysateTempPrecision isActive : vTreatmentCreate.dialysateTempSet @@ -533,7 +533,7 @@ contentItem : ValueAdjuster { id: _heparinStopTimeControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.heparinStopTimeMin + minimum : vTreatmentRanges.heparinStopTimeMin maximum : _durationControl.value step : _durationControl.step defaultValue : _durationControl.value @@ -550,16 +550,16 @@ } LabelUnitContainer { id: _salineBolusVolume - text : qsTr("Fluid Bolus Volume") + text : qsTr("Saline Bolus Volume") unitText : Variables.unitTextFluid valid : ! vTreatmentCreate.salineBolusVolumeRejectReason contentItem : ValueAdjuster { id: _salineBolusVolumeControl editable : _root.editingEnabled - minimum : vInstitutionalRecord.fluidBolusVolumeMin - maximum : vInstitutionalRecord.fluidBolusVolumeMax + minimum : vTreatmentRanges.salineBolusVolumeMin + maximum : vTreatmentRanges.salineBolusVolumeMax step : vTreatmentRanges.salineBolusVolumeRes - defaultValue : vInstitutionalRecord.fluidBolusVolumeDef + defaultValue : vTreatmentRanges.salineBolusVolumeDef value : vTreatmentCreate.salineBolusVolume isActive : vTreatmentCreate.salineBolusVolumeSet onDidActiveChange: function(vState) { vTreatmentCreate.salineBolusVolumeSet = vState } @@ -571,4 +571,3 @@ } } } - Index: sources/gui/qml/pages/settings/SettingsBase.qml =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/gui/qml/pages/settings/SettingsBase.qml (.../SettingsBase.qml) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/gui/qml/pages/settings/SettingsBase.qml (.../SettingsBase.qml) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -112,9 +112,9 @@ textColor : Colors.white imageSource : "" text : "" - anchors.bottomMargin: _root.notificationMargin anchors { bottom : undefined + bottomMargin : _root.notificationMargin verticalCenter : _backButton.verticalCenter left : _backButton.right right : _confirmButton.left Index: sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml (.../SettingsInstitutionalRecord.qml) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/gui/qml/pages/settings/SettingsInstitutionalRecord.qml (.../SettingsInstitutionalRecord.qml) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -32,16 +32,11 @@ itemIndex : SettingsStack.InstitutionalRecord contentArea.anchors.rightMargin : 0 confirmVisible : serviceMode - property bool canEdit : serviceMode - property var title : vInstitutionalRecord.parametersTitle - property var unit : vInstitutionalRecord.parametersUnit - readonly property int min : 0 readonly property int max : 1 readonly property int def : 2 readonly property int defCustom : 3 - readonly property int none : -1 enum Records { @@ -141,74 +136,9 @@ } } - function clearErrors() { - vAdjustmentInstitutionalRecord.bloodFlowRateMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.bloodFlowRateMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.bloodFlowRateDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateFlowRateMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateFlowRateMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateFlowRateDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.treatmentDurationMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.treatmentDurationMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.treatmentDurationDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinBolusVolumeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinBolusVolumeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinBolusVolumeDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinDispensingRateMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinDispensingRateMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinDispensingRateDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinStopTimeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.heparinStopTimeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateTempMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateTempMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.dialysateTempDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.acidConcentratePotassiumMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.acidConcentratePotassiumMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.acidConcentrateCalciumMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.acidConcentrateCalciumMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.fluidBolusVolumeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.fluidBolusVolumeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.fluidBolusVolumeDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.arterialPressureLimitWindowDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitWindowMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitWindowMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitWindowDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.ultrafiltrationVolumeDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.vitalsIntervalDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackVolumeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackVolumeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackVolumeDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackFlowRateMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackFlowRateMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.rinsebackFlowRateDefRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.substitutionVolumeMinRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.substitutionVolumeMaxRejectionReason = Variables.noRejectReason - vAdjustmentInstitutionalRecord.substitutionVolumeDefRejectionReason = Variables.noRejectReason - } - Connections { target: vInstitutionalRecord function onAdjustmentTriggered ( vValue ) { - if ( vInstitutionalRecord.adjustment_Accepted ) { - _root.notificationText = "" - initModel() - } - else { + if ( ! vInstitutionalRecord.adjustment_Accepted ) { _root.notificationText = vInstitutionalRecord.adjustment_ReasonText } } @@ -218,7 +148,7 @@ function onAdjustmentTriggered ( vValue ) { if ( vAdjustmentInstitutionalRecord.adjustment_Accepted ) { _root.notificationText = qsTr("Institutional records and preferences updated") - clearErrors() + vInstitutionalRecord.doAdjustment() // get updated records } else { _root.notificationText = qsTr("Error Adjusting Institutional Records") @@ -235,138 +165,136 @@ // defVal - default value from institutional settings in FW // decimal - preceision of value // rejection- rejection re3ason from adjust record - function initModel() { - institutionalModel.clear() - // Order matters - // BloodFlowRate - institutionalModel.append({ "min" : vTreatmentRanges.bloodFlowRateMin, "max" : vTreatmentRanges.bloodFlowRateMax, - "step" : vTreatmentRanges.bloodFlowRateRes, "decimal" : 0, - "minVal": vInstitutionalRecord.bloodFlowRateMin, "rejectionMax": vAdjustmentInstitutionalRecord.bloodFlowRateMaxRejectionReason, - "maxVal": vInstitutionalRecord.bloodFlowRateMax, "rejectionMin": vAdjustmentInstitutionalRecord.bloodFlowRateMinRejectionReason, - "defVal": vInstitutionalRecord.bloodFlowRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.bloodFlowRateDefRejectionReason }); - // DialysateFlowRate - institutionalModel.append({ "min" : vTreatmentRanges.dialysateFlowRateMin, "max" : vTreatmentRanges.dialysateFlowRateMax, - "step" : vTreatmentRanges.dialysateFlowRateRes, "decimal" : 0, - "minVal": vInstitutionalRecord.dialysateFlowRateMin, "rejectionMin": vAdjustmentInstitutionalRecord.dialysateFlowRateMinRejectionReason, - "maxVal": vInstitutionalRecord.dialysateFlowRateMax, "rejectionMax": vAdjustmentInstitutionalRecord.dialysateFlowRateMaxRejectionReason, - "defVal": vInstitutionalRecord.dialysateFlowRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.dialysateFlowRateDefRejectionReason }); - // TreatmentDuration - institutionalModel.append({ "min" : vTreatmentRanges.treatmentDurationMin, "max" : vTreatmentRanges.treatmentDurationMax, - "step" : vTreatmentRanges.treatmentDurationRes, "decimal" : 0, - "minVal": vInstitutionalRecord.treatmentDurationMin, "rejectionMin": vAdjustmentInstitutionalRecord.treatmentDurationMinRejectionReason, - "maxVal": vInstitutionalRecord.treatmentDurationMax, "rejectionMax": vAdjustmentInstitutionalRecord.treatmentDurationMaxRejectionReason, - "defVal": vInstitutionalRecord.treatmentDurationDef, "rejectionDef": vAdjustmentInstitutionalRecord.treatmentDurationDefRejectionReason }); - // HeparinBolusVolume - institutionalModel.append({ "min" : vTreatmentRanges.heparinBolusVolumeMin, "max" : vTreatmentRanges.heparinBolusVolumeMax, - "step" : vTreatmentRanges.heparinBolusVolumeRes, "decimal" : Variables.heparinPrecision, "canOff": true, - "minVal": vInstitutionalRecord.heparinBolusVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinBolusVolumeMinRejectionReason, - "maxVal": vInstitutionalRecord.heparinBolusVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinBolusVolumeMaxRejectionReason, - "defVal": vInstitutionalRecord.heparinBolusVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.heparinBolusVolumeDefRejectionReason }); - // HeparinDispenseRate - institutionalModel.append({ "min" : vTreatmentRanges.heparinDispensingRateMin, "max" : vTreatmentRanges.heparinDispensingRateMax, - "step" : vTreatmentRanges.heparinDispensingRateRes, "decimal" : Variables.heparinPrecision, "canOff": true, - "minVal": vInstitutionalRecord.heparinDispensingRateMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinDispensingRateMinRejectionReason, - "maxVal": vInstitutionalRecord.heparinDispensingRateMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinDispensingRateMaxRejectionReason, - "defVal": vInstitutionalRecord.heparinDispensingRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.heparinDispensingRateDefRejectionReason }); - // HeparinStopTime - institutionalModel.append({ "min" : vTreatmentRanges.heparinStopTimeMin, "max" : vTreatmentRanges.treatmentDurationMax, - "step" : vTreatmentRanges.treatmentDurationRes, "decimal" : 0, "canOff": true, - "minVal": vInstitutionalRecord.heparinStopTimeMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinStopTimeMinRejectionReason, - "maxVal": vInstitutionalRecord.heparinStopTimeMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinStopTimeMaxRejectionReason, - "defVal": _root.none }); - // DialysateTemperature - institutionalModel.append({ "min" : vTreatmentRanges.dialysateTempMin, "max" : vTreatmentRanges.dialysateTempMax, - "step" : vTreatmentRanges.dialysateTempRes, "decimal" : Variables.dialysateTempPrecision, - "minVal": vInstitutionalRecord.dialysateTempMin, "rejectionMin": vAdjustmentInstitutionalRecord.dialysateTempMinRejectionReason, - "maxVal": vInstitutionalRecord.dialysateTempMax, "rejectionMax": vAdjustmentInstitutionalRecord.dialysateTempMaxRejectionReason, - "defVal": vInstitutionalRecord.dialysateTempDef, "rejectionDef": vAdjustmentInstitutionalRecord.dialysateTempDefRejectionReason }); - // AcidCompositionPotassium - institutionalModel.append({ "min" : vTreatmentRanges.acidConcentratePotassiumMin, "max" : vTreatmentRanges.acidConcentratePotassiumMax, - "step" : vTreatmentRanges.acidConcentratePotassiumRes, "decimal" : Variables.potassiumPrecision, - "minVal": vInstitutionalRecord.acidConcentratePotassiumMin, "rejectionMin": vAdjustmentInstitutionalRecord.acidConcentratePotassiumMinRejectionReason, - "maxVal": vInstitutionalRecord.acidConcentratePotassiumMax, "rejectionMax": vAdjustmentInstitutionalRecord.acidConcentratePotassiumMaxRejectionReason, - "defVal": _root.none, }); - // AcidCompositionCalcium - institutionalModel.append({ "min" : vTreatmentRanges.acidConcentrateCalciumMin, "max" : vTreatmentRanges.acidConcentrateCalciumMax, - "step" : vTreatmentRanges.acidConcentrateCalciumRes, "decimal" : Variables.calciumPrecision, - "minVal": vInstitutionalRecord.acidConcentrateCalciumMin, "rejectionMin": vAdjustmentInstitutionalRecord.acidConcentrateCalciumMinRejectionReason, - "maxVal": vInstitutionalRecord.acidConcentrateCalciumMax, "rejectionMax": vAdjustmentInstitutionalRecord.acidConcentrateCalciumMaxRejectionReason, - "defVal": _root.none }); - // BicarbFinalDialysateComposition - institutionalModel.append({ "min" : vTreatmentRanges.dialysateBicarbonateMin, "max" : vTreatmentRanges.dialysateBicarbonateMax, - "step" : vTreatmentRanges.dialysateBicarbonateRes, "decimal" : 0, - "minVal": vInstitutionalRecord.bicarbFinalDialysateCompositionMin, "rejectionMin": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMinRejectionReason, - "maxVal": vInstitutionalRecord.bicarbFinalDialysateCompositionMax, "rejectionMax": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMaxRejectionReason, - "defVal": vInstitutionalRecord.bicarbFinalDialysateCompositionDef, "rejectionDef": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionDefRejectionReason }); - // SodiumFinalDialysateComposition - institutionalModel.append({ "min" : vTreatmentRanges.dialysateSodiumMin, "max" : vTreatmentRanges.dialysateSodiumMax, - "step" : vTreatmentRanges.dialysateSodiumRes, "decimal" : 0, - "minVal": vInstitutionalRecord.sodiumFinalDialysateCompositionMin, "rejectionMin": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMinRejectionReason, - "maxVal": vInstitutionalRecord.sodiumFinalDialysateCompositionMax, "rejectionMax": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMaxRejectionReason, - "defVal": vInstitutionalRecord.sodiumFinalDialysateCompositionDef, "rejectionDef": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionDefRejectionReason }); - // FluidBolusVolume - institutionalModel.append({ "min" : vTreatmentRanges.salineBolusVolumeMin, "max" : vTreatmentRanges.salineBolusVolumeMax, - "step" : vTreatmentRanges.salineBolusVolumeRes, "decimal" : 0, - "minVal": vInstitutionalRecord.fluidBolusVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.fluidBolusVolumeMinRejectionReason, - "maxVal": vInstitutionalRecord.fluidBolusVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.fluidBolusVolumeMaxRejectionReason, - "defVal": vInstitutionalRecord.fluidBolusVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.fluidBolusVolumeDefRejectionReason }); - // ArterialPressureLimit - institutionalModel.append({ "min" : vTreatmentRanges.arterialPressureLimitWindowMin, "max" : vTreatmentRanges.arterialPressureLimitWindowMax, - "step" : vTreatmentRanges.arterialPressureLimitWindowRes, "decimal" : 0, - "minVal": vInstitutionalRecord.arterialPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMinRejectionReason, - "maxVal": vInstitutionalRecord.arterialPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMaxRejectionReason, - "defVal": vInstitutionalRecord.arterialPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowDefRejectionReason }); - // VenousPressureLimit - institutionalModel.append({ "min" : vTreatmentRanges.venousPressureLimitWindowMin, "max" : vTreatmentRanges.venousPressureLimitWindowMax, - "step" : vTreatmentRanges.venousPressureLimitWindowRes, "decimal" : 0, - "minVal": vInstitutionalRecord.venousPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.venousPressureLimitWindowMinRejectionReason, - "maxVal": vInstitutionalRecord.venousPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.venousPressureLimitWindowMaxRejectionReason, - "defVal": vInstitutionalRecord.venousPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.venousPressureLimitWindowDefRejectionReason }); - // VenousAsymPressureLimit - institutionalModel.append({ "min" : vTreatmentRanges.venousPressureLimitAsymtrcMin, "max" : vTreatmentRanges.venousPressureLimitAsymtrcMax, - "step" : vTreatmentRanges.venousPressureLimitAsymtrcRes, "decimal" : 0, - "minVal": vInstitutionalRecord.venousPressureLimitAsymtrcMin, "rejectionMin": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMinRejectionReason, - "maxVal": vInstitutionalRecord.venousPressureLimitAsymtrcMax, "rejectionMax": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMaxRejectionReason, - "defVal": vInstitutionalRecord.venousPressureLimitAsymtrcDef, "rejectionDef": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcDefRejectionReason }); - // TMPWindowLimit - institutionalModel.append({ "min" : vTreatmentRanges.trancembrncPressureLimitWindowMin, "max" : vTreatmentRanges.trancembrncPressureLimitWindowMax, - "step" : vTreatmentRanges.trancembrncPressureLimitWindowRes, "decimal" : 0, - "minVal": vInstitutionalRecord.trancembrncPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMinRejectionReason, - "maxVal": vInstitutionalRecord.trancembrncPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMaxRejectionReason, - "defVal": vInstitutionalRecord.trancembrncPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowDefRejectionReason }); - // UFVolume - institutionalModel.append({ "min" : vTreatmentRanges.ultrafiltrationVolumeMin, "max" : vTreatmentRanges.ultrafiltrationVolumeMax, - "step" : vTreatmentRanges.ultrafiltrationVolumeRes, "decimal" : Variables.ultrafiltrationPrecision, - "minVal": vInstitutionalRecord.ultrafiltrationVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMinRejectionReason, - "maxVal": vInstitutionalRecord.ultrafiltrationVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMaxRejectionReason, - "defVal": vInstitutionalRecord.ultrafiltrationVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeDefRejectionReason }); - // VitalsInterval - institutionalModel.append({ "min" : 5, "max" : 60, "canOff": true, - "minVal": 5, "step": 0, "decimal": 0, - "maxVal": 60, - "defVal": vInstitutionalRecord.vitalsIntervalDef, "rejectionDef": vAdjustmentInstitutionalRecord.vitalsIntervalDefRejectionReason }); - // RinsebackVolume - institutionalModel.append({ "min" : vTreatmentRanges.rinsebackVolumeMin, "max" : vTreatmentRanges.rinsebackVolumeMax, - "step" : vTreatmentRanges.rinsebackVolumeRes, "decimal" : 0, - "minVal": vInstitutionalRecord.rinsebackVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.rinsebackVolumeMinRejectionReason, - "maxVal": vInstitutionalRecord.rinsebackVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.rinsebackVolumeMaxRejectionReason, - "defVal": vInstitutionalRecord.rinsebackVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.rinsebackVolumeDefRejectionReason }); - // RinsebackFlowRate - institutionalModel.append({ "min" : vTreatmentRanges.rinsebackFlowRateMin, "max" : vTreatmentRanges.rinsebackFlowRateMax, - "step" : vTreatmentRanges.rinsebackFlowRateRes, "decimal" : 0, - "minVal": vInstitutionalRecord.rinsebackFlowRateMin, "rejectionMin": vAdjustmentInstitutionalRecord.rinsebackFlowRateMinRejectionReason, - "maxVal": vInstitutionalRecord.rinsebackFlowRateMax, "rejectionMax": vAdjustmentInstitutionalRecord.rinsebackFlowRateMaxRejectionReason, - "defVal": vInstitutionalRecord.rinsebackFlowRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.rinsebackFlowRateDefRejectionReason }); - // SubstitutionVolume - institutionalModel.append({ "min" : vTreatmentRanges.substitutionVolumeMin, "max" : vTreatmentRanges.substitutionVolumeMax, - "step" : vTreatmentRanges.substitutionVolumeRes, "decimal" : Variables.substitutionPrecision, - "minVal": vInstitutionalRecord.substitutionVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.substitutionVolumeMinRejectionReason, - "maxVal": vInstitutionalRecord.substitutionVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.substitutionVolumeMaxRejectionReason, - "defVal": vInstitutionalRecord.substitutionVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.substitutionVolumeDefRejectionReason }); - } +// function initModel() { +// institutionalModel.clear() +// // Order matters +// // BloodFlowRate +// institutionalModel.append({ "min" : vTreatmentRanges.bloodFlowRateMin, "max" : vTreatmentRanges.bloodFlowRateMax, +// "step" : vTreatmentRanges.bloodFlowRateRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.bloodFlowRateMin, "rejectionMax": vInstitutionalRecord.bloodFlowRateMaxRejectionReason, +// "maxVal": vInstitutionalRecord.bloodFlowRateMax, "rejectionMin": vInstitutionalRecord.bloodFlowRateMinRejectionReason, +// "defVal": vInstitutionalRecord.bloodFlowRateDef, "rejectionDef": vInstitutionalRecord.bloodFlowRateDefRejectionReason }); +// // DialysateFlowRate +// institutionalModel.append({ "min" : vTreatmentRanges.dialysateFlowRateMin, "max" : vTreatmentRanges.dialysateFlowRateMax, +// "step" : vTreatmentRanges.dialysateFlowRateRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.dialysateFlowRateMin, "rejectionMin": vInstitutionalRecord.dialysateFlowRateMinRejectionReason, +// "maxVal": vInstitutionalRecord.dialysateFlowRateMax, "rejectionMax": vInstitutionalRecord.dialysateFlowRateMaxRejectionReason, +// "defVal": vInstitutionalRecord.dialysateFlowRateDef, "rejectionDef": vInstitutionalRecord.dialysateFlowRateDefRejectionReason }); +// // TreatmentDuration +// institutionalModel.append({ "min" : vTreatmentRanges.treatmentDurationMin, "max" : vTreatmentRanges.treatmentDurationMax, +// "step" : vTreatmentRanges.treatmentDurationRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.treatmentDurationMin, "rejectionMin": vAdjustmentInstitutionalRecord.treatmentDurationMinRejectionReason, +// "maxVal": vInstitutionalRecord.treatmentDurationMax, "rejectionMax": vAdjustmentInstitutionalRecord.treatmentDurationMaxRejectionReason, +// "defVal": vInstitutionalRecord.treatmentDurationDef, "rejectionDef": vAdjustmentInstitutionalRecord.treatmentDurationDefRejectionReason }); +// // HeparinBolusVolume +// institutionalModel.append({ "min" : vTreatmentRanges.heparinBolusVolumeMin, "max" : vTreatmentRanges.heparinBolusVolumeMax, +// "step" : vTreatmentRanges.heparinBolusVolumeRes, "decimal" : Variables.heparinPrecision, "canOff": true, +// "minVal": vInstitutionalRecord.heparinBolusVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinBolusVolumeMinRejectionReason, +// "maxVal": vInstitutionalRecord.heparinBolusVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinBolusVolumeMaxRejectionReason, +// "defVal": vInstitutionalRecord.heparinBolusVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.heparinBolusVolumeDefRejectionReason }); +// // HeparinDispenseRate +// institutionalModel.append({ "min" : vTreatmentRanges.heparinDispensingRateMin, "max" : vTreatmentRanges.heparinDispensingRateMax, +// "step" : vTreatmentRanges.heparinDispensingRateRes, "decimal" : Variables.heparinPrecision, "canOff": true, +// "minVal": vInstitutionalRecord.heparinDispensingRateMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinDispensingRateMinRejectionReason, +// "maxVal": vInstitutionalRecord.heparinDispensingRateMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinDispensingRateMaxRejectionReason, +// "defVal": vInstitutionalRecord.heparinDispensingRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.heparinDispensingRateDefRejectionReason }); +// // HeparinStopTime +// institutionalModel.append({ "min" : vTreatmentRanges.heparinStopTimeMin, "max" : vTreatmentRanges.treatmentDurationMax, +// "step" : vTreatmentRanges.treatmentDurationRes, "decimal" : 0, "canOff": true, +// "minVal": vInstitutionalRecord.heparinStopTimeMin, "rejectionMin": vAdjustmentInstitutionalRecord.heparinStopTimeMinRejectionReason, +// "maxVal": vInstitutionalRecord.heparinStopTimeMax, "rejectionMax": vAdjustmentInstitutionalRecord.heparinStopTimeMaxRejectionReason, +// "defVal": _root.none }); +// // DialysateTemperature +// institutionalModel.append({ "min" : vTreatmentRanges.dialysateTempMin, "max" : vTreatmentRanges.dialysateTempMax, +// "step" : vTreatmentRanges.dialysateTempRes, "decimal" : Variables.dialysateTempPrecision, +// "minVal": vInstitutionalRecord.dialysateTempMin, "rejectionMin": vAdjustmentInstitutionalRecord.dialysateTempMinRejectionReason, +// "maxVal": vInstitutionalRecord.dialysateTempMax, "rejectionMax": vAdjustmentInstitutionalRecord.dialysateTempMaxRejectionReason, +// "defVal": vInstitutionalRecord.dialysateTempDef, "rejectionDef": vAdjustmentInstitutionalRecord.dialysateTempDefRejectionReason }); +// // AcidCompositionPotassium +// institutionalModel.append({ "min" : vTreatmentRanges.acidConcentratePotassiumMin, "max" : vTreatmentRanges.acidConcentratePotassiumMax, +// "step" : vTreatmentRanges.acidConcentratePotassiumRes, "decimal" : Variables.potassiumPrecision, +// "minVal": vInstitutionalRecord.acidConcentratePotassiumMin, "rejectionMin": vAdjustmentInstitutionalRecord.acidConcentratePotassiumMinRejectionReason, +// "maxVal": vInstitutionalRecord.acidConcentratePotassiumMax, "rejectionMax": vAdjustmentInstitutionalRecord.acidConcentratePotassiumMaxRejectionReason, +// "defVal": _root.none, }); +// // AcidCompositionCalcium +// institutionalModel.append({ "min" : vTreatmentRanges.acidConcentrateCalciumMin, "max" : vTreatmentRanges.acidConcentrateCalciumMax, +// "step" : vTreatmentRanges.acidConcentrateCalciumRes, "decimal" : Variables.calciumPrecision, +// "minVal": vInstitutionalRecord.acidConcentrateCalciumMin, "rejectionMin": vAdjustmentInstitutionalRecord.acidConcentrateCalciumMinRejectionReason, +// "maxVal": vInstitutionalRecord.acidConcentrateCalciumMax, "rejectionMax": vAdjustmentInstitutionalRecord.acidConcentrateCalciumMaxRejectionReason, +// "defVal": _root.none }); +// // BicarbFinalDialysateComposition +// institutionalModel.append({ "min" : vTreatmentRanges.dialysateBicarbonateMin, "max" : vTreatmentRanges.dialysateBicarbonateMax, +// "step" : vTreatmentRanges.dialysateBicarbonateRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.bicarbFinalDialysateCompositionMin, "rejectionMin": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMinRejectionReason, +// "maxVal": vInstitutionalRecord.bicarbFinalDialysateCompositionMax, "rejectionMax": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionMaxRejectionReason, +// "defVal": vInstitutionalRecord.bicarbFinalDialysateCompositionDef, "rejectionDef": vAdjustmentInstitutionalRecord.bicarbFinalDialysateCompositionDefRejectionReason }); +// // SodiumFinalDialysateComposition +// institutionalModel.append({ "min" : vTreatmentRanges.dialysateSodiumMin, "max" : vTreatmentRanges.dialysateSodiumMax, +// "step" : vTreatmentRanges.dialysateSodiumRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.sodiumFinalDialysateCompositionMin, "rejectionMin": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMinRejectionReason, +// "maxVal": vInstitutionalRecord.sodiumFinalDialysateCompositionMax, "rejectionMax": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionMaxRejectionReason, +// "defVal": vInstitutionalRecord.sodiumFinalDialysateCompositionDef, "rejectionDef": vAdjustmentInstitutionalRecord.sodiumFinalDialysateCompositionDefRejectionReason }); +// // FluidBolusVolume +// institutionalModel.append({ "min" : vTreatmentRanges.salineBolusVolumeMin, "max" : vTreatmentRanges.salineBolusVolumeMax, +// "step" : vTreatmentRanges.salineBolusVolumeRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.fluidBolusVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.fluidBolusVolumeMinRejectionReason, +// "maxVal": vInstitutionalRecord.fluidBolusVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.fluidBolusVolumeMaxRejectionReason, +// "defVal": vInstitutionalRecord.fluidBolusVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.fluidBolusVolumeDefRejectionReason }); +// // ArterialPressureLimit +// institutionalModel.append({ "min" : vTreatmentRanges.arterialPressureLimitWindowMin, "max" : vTreatmentRanges.arterialPressureLimitWindowMax, +// "step" : vTreatmentRanges.arterialPressureLimitWindowRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.arterialPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMinRejectionReason, +// "maxVal": vInstitutionalRecord.arterialPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowMaxRejectionReason, +// "defVal": vInstitutionalRecord.arterialPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.arterialPressureLimitWindowDefRejectionReason }); +// // VenousPressureLimit +// institutionalModel.append({ "min" : vTreatmentRanges.venousPressureLimitWindowMin, "max" : vTreatmentRanges.venousPressureLimitWindowMax, +// "step" : vTreatmentRanges.venousPressureLimitWindowRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.venousPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.venousPressureLimitWindowMinRejectionReason, +// "maxVal": vInstitutionalRecord.venousPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.venousPressureLimitWindowMaxRejectionReason, +// "defVal": vInstitutionalRecord.venousPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.venousPressureLimitWindowDefRejectionReason }); +// // VenousAsymPressureLimit +// institutionalModel.append({ "min" : vTreatmentRanges.venousPressureLimitAsymtrcMin, "max" : vTreatmentRanges.venousPressureLimitAsymtrcMax, +// "step" : vTreatmentRanges.venousPressureLimitAsymtrcRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.venousPressureLimitAsymtrcMin, "rejectionMin": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMinRejectionReason, +// "maxVal": vInstitutionalRecord.venousPressureLimitAsymtrcMax, "rejectionMax": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcMaxRejectionReason, +// "defVal": vInstitutionalRecord.venousPressureLimitAsymtrcDef, "rejectionDef": vAdjustmentInstitutionalRecord.venousPressureLimitAsymtrcDefRejectionReason }); +// // TMPWindowLimit +// institutionalModel.append({ "min" : vTreatmentRanges.trancembrncPressureLimitWindowMin, "max" : vTreatmentRanges.trancembrncPressureLimitWindowMax, +// "step" : vTreatmentRanges.trancembrncPressureLimitWindowRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.trancembrncPressureLimitWindowMin, "rejectionMin": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMinRejectionReason, +// "maxVal": vInstitutionalRecord.trancembrncPressureLimitWindowMax, "rejectionMax": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowMaxRejectionReason, +// "defVal": vInstitutionalRecord.trancembrncPressureLimitWindowDef, "rejectionDef": vAdjustmentInstitutionalRecord.trancembrncPressureLimitWindowDefRejectionReason }); +// // UFVolume +// institutionalModel.append({ "min" : vTreatmentRanges.ultrafiltrationVolumeMin, "max" : vTreatmentRanges.ultrafiltrationVolumeMax, +// "step" : vTreatmentRanges.ultrafiltrationVolumeRes, "decimal" : Variables.ultrafiltrationPrecision, +// "minVal": vInstitutionalRecord.ultrafiltrationVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMinRejectionReason, +// "maxVal": vInstitutionalRecord.ultrafiltrationVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeMaxRejectionReason, +// "defVal": vInstitutionalRecord.ultrafiltrationVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.ultrafiltrationVolumeDefRejectionReason }); +// // VitalsInterval +// institutionalModel.append({ "min" : 5, "max" : 60, "canOff": true, +// "minVal": 5, "step": 0, "decimal": 0, +// "maxVal": 60, +// "defVal": vInstitutionalRecord.vitalsIntervalDef, "rejectionDef": vAdjustmentInstitutionalRecord.vitalsIntervalDefRejectionReason }); +// // RinsebackVolume +// institutionalModel.append({ "min" : vTreatmentRanges.rinsebackVolumeMin, "max" : vTreatmentRanges.rinsebackVolumeMax, +// "step" : vTreatmentRanges.rinsebackVolumeRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.rinsebackVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.rinsebackVolumeMinRejectionReason, +// "maxVal": vInstitutionalRecord.rinsebackVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.rinsebackVolumeMaxRejectionReason, +// "defVal": vInstitutionalRecord.rinsebackVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.rinsebackVolumeDefRejectionReason }); +// // RinsebackFlowRate +// institutionalModel.append({ "min" : vTreatmentRanges.rinsebackFlowRateMin, "max" : vTreatmentRanges.rinsebackFlowRateMax, +// "step" : vTreatmentRanges.rinsebackFlowRateRes, "decimal" : 0, +// "minVal": vInstitutionalRecord.rinsebackFlowRateMin, "rejectionMin": vAdjustmentInstitutionalRecord.rinsebackFlowRateMinRejectionReason, +// "maxVal": vInstitutionalRecord.rinsebackFlowRateMax, "rejectionMax": vAdjustmentInstitutionalRecord.rinsebackFlowRateMaxRejectionReason, +// "defVal": vInstitutionalRecord.rinsebackFlowRateDef, "rejectionDef": vAdjustmentInstitutionalRecord.rinsebackFlowRateDefRejectionReason }); +// // SubstitutionVolume +// institutionalModel.append({ "min" : vTreatmentRanges.substitutionVolumeMin, "max" : vTreatmentRanges.substitutionVolumeMax, +// "step" : vTreatmentRanges.substitutionVolumeRes, "decimal" : Variables.substitutionPrecision, +// "minVal": vInstitutionalRecord.substitutionVolumeMin, "rejectionMin": vAdjustmentInstitutionalRecord.substitutionVolumeMinRejectionReason, +// "maxVal": vInstitutionalRecord.substitutionVolumeMax, "rejectionMax": vAdjustmentInstitutionalRecord.substitutionVolumeMaxRejectionReason, +// "defVal": vInstitutionalRecord.substitutionVolumeDef, "rejectionDef": vAdjustmentInstitutionalRecord.substitutionVolumeDefRejectionReason }); +// } - ListModel { id: institutionalModel } - component HeaderText: Text { id: _headerText property string title : "" property int leftMargin : Variables.defaultMargin * 8.5 @@ -423,40 +351,39 @@ } boundsBehavior : Flickable.StopAtBounds clip : true - model : institutionalModel + model : vInstitutionalRecord.model spacing : anchors.topMargin flickableDirection : Flickable.VerticalFlick delegate: InstitutionalContainer { id: _delegateControl width : _listContent.contentWith - text : _root.title[index] === undefined ? "" : _root.title[index] - unitText : _root.unit[index] === undefined ? "" : _root.unit[index] + text : model.title + unitText : model.unit contentArea.anchors.leftMargin : width * 0.25 - - min : model.min - max : model.max - step : model.step - decimal : model.decimal + row : index + min : model.min ?? 0 + max : model.max ?? 0 + step : model.step ?? 0 + decimal : model.decimal ?? 0 canOff : model.canOff minEditable : _root.canEdit && index !== SettingsInstitutionalRecord.VitalsInterval maxEditable : _root.canEdit && index !== SettingsInstitutionalRecord.VitalsInterval defEditable : _root.canEdit defCustomEditable: _root.canEdit - minVal : model.minVal - maxVal : model.maxVal - defVal : model.defVal - rejectionMin: model.rejectionMin - rejectionMax: model.rejectionMax - rejectionDef: model.rejectionDef + minVal : model.minVal ?? 0 + maxVal : model.maxVal ?? 0 + defVal : model.defVal ?? 0 + rejectionMin: model.rejectionMin ?? 0 + rejectionMax: model.rejectionMax ?? 0 + rejectionDef: model.rejectionDef ?? 0 defText : index === SettingsInstitutionalRecord.HeparinStopTime ? qsTr("Treatment Duration") : qsTr("NA") - defModel : index === SettingsInstitutionalRecord.VitalsInterval ? ["0", "5", "10", "15", "30", "60"] : [] // TODO update for Vitals interval FROM STAGING!!! + defModel : index === SettingsInstitutionalRecord.VitalsInterval ? vTreatmentRanges.bloodPressureMeasureInterval : [] onGrabbedChanged: { _listView.interactive = ! grabbed } } - ScrollBar { flickable: _listView } } } Index: sources/main.h =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/main.h (.../main.h) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/main.h (.../main.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -328,9 +328,9 @@ READONLY( vTYPE , vVARIABLE##Def , vDEFVALUE ) //--------------------------------------------------------------------------------// #define RANGEVALUESET( vTYPE , vVARIABLE , vDEFVALUE ) \ - VALUESET( vTYPE , vVARIABLE##Min , vDEFVALUE ) \ - VALUESET( vTYPE , vVARIABLE##Max , vDEFVALUE ) \ - VALUESET( vTYPE , vVARIABLE##Def , vDEFVALUE ) + PROPERTY( vTYPE , vVARIABLE##Min , vDEFVALUE ) \ + PROPERTY( vTYPE , vVARIABLE##Max , vDEFVALUE ) \ + PROPERTY( vTYPE , vVARIABLE##Def , vDEFVALUE ) //--------------------------------------------------------------------------------// #define MEMBER( vTYPE , vVARIABLE , vDEFVALUE ) \ private: \ Index: sources/model/MListModel.cpp =================================================================== diff -u -r53f7433638ec721d4f687fe8a4ed5d98c03c2fe7 -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/model/MListModel.cpp (.../MListModel.cpp) (revision 53f7433638ec721d4f687fe8a4ed5d98c03c2fe7) +++ sources/model/MListModel.cpp (.../MListModel.cpp) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -29,6 +29,27 @@ } /*! + * \brief Appends a row of data to the end of the model. + * \param[in] data The data to append. +*/ +void View::MListModel::appendRow(const QHash &vData) { + insertRow(rowCount(), vData); +} + +/*! + * \brief Inserts data into the model at a given row. + * \param[in] row The index where the data will be inserted. + * If row is less than 0, then data will be prepended to the model. + * If row is greater than or equal to rowCount(), then data will be appeneded to the model. + * \param[in] data The data to insert into the model. +*/ +void View::MListModel::insertRow(const int vRow, const QHash &vData) { + beginInsertRows(QModelIndex(), rowCount(), rowCount()); + _data.insert(vRow, vData); + endInsertRows(); +} + +/*! * \brief Retrieve the data stored at the given index for the specified role. * \param[in] index Index of the data in the list model. * \param[in] role Role of the data to fetch. @@ -116,6 +137,16 @@ } /*! + * \brief Helper function of setData to update data in the model + * \param[in] vRow row of item to update value + * \param[in] value Value to update. + * \param[in] role The role of the data at the given index to set. + */ +void View::MListModel::updateData (const int vRow, const int vRole, const QVariant& vValue) { + setData(index(vRow,0), vValue, vRole); +} + +/*! * \brief Assignment operator * \return A reference to this object. */ Index: sources/model/MListModel.h =================================================================== diff -u -r8c7b9550b05f223be9d094e850e06f9ed80adb70 -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/model/MListModel.h (.../MListModel.h) (revision 8c7b9550b05f223be9d094e850e06f9ed80adb70) +++ sources/model/MListModel.h (.../MListModel.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -27,6 +27,9 @@ void clear ( ); void setRoleNames(const QHash& vRoleNames ); MListModel &operator = (const QList> &src ); + void appendRow (const QHash &vData ); + void insertRow (const int vRow, const QHash &vData ); + void updateData (const int vRow, const int vRole, const QVariant& vValue ); public slots: QVariantMap get (int vRow ) const; // Exposed to QML Index: sources/view/hd/data/VTreatmentRanges.cpp =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/hd/data/VTreatmentRanges.cpp (.../VTreatmentRanges.cpp) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -12,6 +12,7 @@ * \date (original) 26-Aug-2020 * */ +#include "VInstitutionalRecord.h" #include "VTreatmentRanges.h" #include "VTreatmentCreate.h" @@ -25,14 +26,14 @@ void VTreatmentRanges::initConnections() { ACTION_VIEW_CONNECTION(TreatmentRangesData); ACTION_VIEW_CONNECTION(SettingsData); + ACTION_VIEW_CONNECTION(InstitutionalRecordResponseData); // 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. // VTreatmentRanges -> GUIController -> ApplicationController to handle connect(this , SIGNAL(didTreatmentRangesDone(bool)), &_GuiController, SLOT( doTreatmentRangesDone(bool))); - } void View::VTreatmentRanges::onActionReceive(const TreatmentRangesData &vData) @@ -47,6 +48,37 @@ treatmentRanges_Dialysate_Flow_Max ( vData.mDialysate_Flow_Max - ( mDialysateFlowRateRes ? vData.mDialysate_Flow_Min % mDialysateFlowRateRes : 0 ) ); } +void View::VTreatmentRanges::onActionReceive(const InstitutionalRecordResponseData &vData) +{ + bloodFlowRateMin ( vData.mBloodFlowMin ); + bloodFlowRateMax ( vData.mBloodFlowMax ); + bloodFlowRateDef ( vData.mBloodFlowDef ); + dialysateFlowRateMin ( vData.mDialysateFlowMin ); + dialysateFlowRateMax ( vData.mDialysateFlowMax ); + dialysateFlowRateDef ( vData.mDialysateFlowDef ); + treatmentDurationMin ( vData.mTreatmentDurationMin ); + treatmentDurationMax ( vData.mTreatmentDurationMax ); + treatmentDurationDef ( vData.mTreatmentDurationDef ); + heparinBolusVolumeMin ( vData.mHepBolusVolumeMin ); + heparinBolusVolumeMax ( vData.mHepBolusVolumeMax ); + heparinBolusVolumeDef ( vData.mHepBolusVolumeDef ); + heparinDispensingRateMin ( vData.mHepDispRateMin ); + heparinDispensingRateMax ( vData.mHepDispRateMax ); + heparinDispensingRateDef ( vData.mHepDispRateDef ); + heparinStopTimeMin ( vData.mHepStopTimeMin ); + + acidConcentratePotassiumMin ( vData.mPotassiumMin ); + acidConcentratePotassiumMax ( vData.mPotassiumMax ); + acidConcentrateCalciumMin ( vData.mCalciumMin ); + acidConcentrateCalciumMax ( vData.mCalciumMax ); + dialysateTempMin ( vData.mDialysateTempMin ); + dialysateTempMax ( vData.mDialysateTempMax ); + dialysateTempDef ( vData.mDialysateTempDef ); + salineBolusVolumeMin ( vData.mFluidBolusVolumeMin ); + salineBolusVolumeMax ( vData.mFluidBolusVolumeMax ); + salineBolusVolumeDef ( vData.mFluidBolusVolumeDef ); +} + /** * \brief VTreatmentRanges::doSaveAcidConcentrate * \param vOption - QString new option to save to config file Index: sources/view/hd/data/VTreatmentRanges.h =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/hd/data/VTreatmentRanges.h (.../VTreatmentRanges.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -20,6 +20,7 @@ // Project #include "main.h" // Doxygen : do not remove #include "VView.h" +#include "MTDInstitutionalRecordResponse.h" #include "MTreatmentRangesData.h" #include "MSettings.h" // namespace @@ -45,34 +46,38 @@ READONLY( quint32 , treatmentRanges_Dialysate_Flow_Max , 0) // constant properties coming from the settings + + // Create Rx Parameters RANGESET( quint32 , bloodFlowRate , 0) RANGESET( quint32 , dialysateFlowRate , 0) RANGESET( quint32 , treatmentDuration , 0) - RANGESET( float , heparinDispensingRate , 0) RANGESET( float , heparinBolusVolume , 0) + RANGESET( float , heparinDispensingRate , 0) RANGESET( quint32 , heparinStopTime , 0) - RANGESET( quint32 , salineBolusVolume , 0) + RANGESET( float , acidConcentratePotassium , 0) RANGESET( float , acidConcentrateCalcium , 0) VALUESET( float , potassium , 0) VALUESET( float , calcium , 0) + READONLY( QStringList , acidConcentrateOptions ,{}) + READONLY( QStringList , bicarbonateConcentrateOptions ,{}) + READONLY( QStringList , dialyzerTypeOptions ,{}) + READONLY( QStringList , bloodPressureMeasureInterval ,{}) + RANGESET( float , dialysateTemp , 0) + RANGESET( quint32 , salineBolusVolume , 0) + // Institutional RANGESET( quint32 , dialysateBicarbonate , 0) RANGESET( quint32 , dialysateSodium , 0) READONLY( QStringList , heparinTypeOptions ,{}) - READONLY( QStringList , acidConcentrateOptions ,{}) - READONLY( QStringList , bicarbonateConcentrateOptions ,{}) - READONLY( QStringList , dialyzerTypeOptions ,{}) - READONLY( QStringList , bloodPressureMeasureInterval ,{}) READONLY( QStringList , treatmentModalityOptions ,{}) READONLY( QStringList , hdfTreatmentModeOptions ,{}) READONLY( QStringList , dryBicabCartridgeSizeOptions ,{}) PROPERTY( QString , acidConcentrate ,"") TRIGGER ( bool , acidConcentrateAccepted , false) - RANGESET( float , dialysateTemp , 0) RANGESET( qint32 , trancembrncPressureLimitWindow , 0) RANGESET( qint32 , arterialPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitWindow , 0) @@ -102,6 +107,7 @@ VIEW_DEC_CLASS(VTreatmentRanges ) VIEW_DEC_SLOT(TreatmentRangesData ) VIEW_DEC_SLOT(SettingsData ) + VIEW_DEC_SLOT(InstitutionalRecordResponseData ) signals: void didTreatmentRangesDone (bool vPass ); Index: sources/view/settings/VAdjustmentInstitutionalRecord.cpp =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/settings/VAdjustmentInstitutionalRecord.cpp (.../VAdjustmentInstitutionalRecord.cpp) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/settings/VAdjustmentInstitutionalRecord.cpp (.../VAdjustmentInstitutionalRecord.cpp) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -37,64 +37,6 @@ void View::VAdjustmentInstitutionalRecord::onActionReceive(const AdjustInstitutionalRecordResponseData &vData) { adjustment_Accepted ( vData.mAccepted ); - bloodFlowRateMinRejectionReason ( vData.mBloodFlowRateMinRejectionReason ); - bloodFlowRateMaxRejectionReason ( vData.mBloodFlowRateMaxRejectionReason ); - bloodFlowRateDefRejectionReason ( vData.mBloodFlowRateDefRejectionReason ); - dialysateFlowRateMinRejectionReason ( vData.mDialysateFlowRateMinRejectionReason ); - dialysateFlowRateMaxRejectionReason ( vData.mDialysateFlowRateMaxRejectionReason ); - dialysateFlowRateDefRejectionReason ( vData.mDialysateFlowRateDefRejectionReason ); - treatmentDurationMinRejectionReason ( vData.mTreatmentDurationMinRejectionReason ); - treatmentDurationMaxRejectionReason ( vData.mTreatmentDurationMaxRejectionReason ); - treatmentDurationDefRejectionReason ( vData.mTreatmentDurationDefRejectionReason ); - heparinBolusVolumeMinRejectionReason ( vData.mHeparinBolusVolumeMinRejectionReason ); - heparinBolusVolumeMaxRejectionReason ( vData.mHeparinBolusVolumeMaxRejectionReason ); - heparinBolusVolumeDefRejectionReason ( vData.mHeparinBolusVolumeDefRejectionReason ); - heparinDispensingRateMinRejectionReason ( vData.mHeparinDispensingRateMinRejectionReason ); - heparinDispensingRateMaxRejectionReason ( vData.mHeparinDispensingRateMaxRejectionReason ); - heparinDispensingRateDefRejectionReason ( vData.mHeparinDispensingRateDefRejectionReason ); - heparinStopTimeMinRejectionReason ( vData.mHeparinStopTimeMinRejectionReason ); - heparinStopTimeMaxRejectionReason ( vData.mHeparinStopTimeMaxRejectionReason ); - dialysateTempMinRejectionReason ( vData.mDialysateTempMinRejectionReason ); - dialysateTempMaxRejectionReason ( vData.mDialysateTempMaxRejectionReason ); - dialysateTempDefRejectionReason ( vData.mDialysateTempDefRejectionReason ); - acidConcentratePotassiumMinRejectionReason ( vData.mAcidConcentratePotassiumMinRejectionReason ); - acidConcentratePotassiumMaxRejectionReason ( vData.mAcidConcentratePotassiumMaxRejectionReason ); - acidConcentrateCalciumMinRejectionReason ( vData.mAcidConcentrateCalciumMinRejectionReason ); - acidConcentrateCalciumMaxRejectionReason ( vData.mAcidConcentrateCalciumMaxRejectionReason ); - bicarbFinalDialysateCompositionMinRejectionReason ( vData.mBicarbFinalDialysateCompositionMinRejectionReason ); - bicarbFinalDialysateCompositionMaxRejectionReason ( vData.mBicarbFinalDialysateCompositionMaxRejectionReason ); - bicarbFinalDialysateCompositionDefRejectionReason ( vData.mBicarbFinalDialysateCompositionDefRejectionReason ); - sodiumFinalDialysateCompositionMinRejectionReason ( vData.mSodiumFinalDialysateCompositionMinRejectionReason ); - sodiumFinalDialysateCompositionMaxRejectionReason ( vData.mSodiumFinalDialysateCompositionMaxRejectionReason ); - sodiumFinalDialysateCompositionDefRejectionReason ( vData.mSodiumFinalDialysateCompositionDefRejectionReason ); - fluidBolusVolumeMinRejectionReason ( vData.mFluidBolusVolumeMinRejectionReason ); - fluidBolusVolumeMaxRejectionReason ( vData.mFluidBolusVolumeMaxRejectionReason ); - fluidBolusVolumeDefRejectionReason ( vData.mFluidBolusVolumeDefRejectionReason ); - arterialPressureLimitWindowMinRejectionReason ( vData.mArterialPressureLimitWindowMinRejectionReason ); - arterialPressureLimitWindowMaxRejectionReason ( vData.mArterialPressureLimitWindowMaxRejectionReason ); - arterialPressureLimitWindowDefRejectionReason ( vData.mArterialPressureLimitWindowDefRejectionReason ); - venousPressureLimitWindowMinRejectionReason ( vData.mVenousPressureLimitWindowMinRejectionReason ); - venousPressureLimitWindowMaxRejectionReason ( vData.mVenousPressureLimitWindowMaxRejectionReason ); - venousPressureLimitWindowDefRejectionReason ( vData.mVenousPressureLimitWindowDefRejectionReason ); - venousPressureLimitAsymtrcMinRejectionReason ( vData.mVenousPressureLimitAsymtrcMinRejectionReason ); - venousPressureLimitAsymtrcMaxRejectionReason ( vData.mVenousPressureLimitAsymtrcMaxRejectionReason ); - venousPressureLimitAsymtrcDefRejectionReason ( vData.mVenousPressureLimitAsymtrcDefRejectionReason ); - trancembrncPressureLimitWindowMinRejectionReason ( vData.mTrancembrncPressureLimitWindowMinRejectionReason ); - trancembrncPressureLimitWindowMaxRejectionReason ( vData.mTrancembrncPressureLimitWindowMaxRejectionReason ); - trancembrncPressureLimitWindowDefRejectionReason ( vData.mTrancembrncPressureLimitWindowDefRejectionReason ); - ultrafiltrationVolumeMinRejectionReason ( vData.mUltrafiltrationVolumeMinRejectionReason ); - ultrafiltrationVolumeMaxRejectionReason ( vData.mUltrafiltrationVolumeMaxRejectionReason ); - ultrafiltrationVolumeDefRejectionReason ( vData.mUltrafiltrationVolumeDefRejectionReason ); - vitalsIntervalDefRejectionReason ( vData.mVitalsIntervalDefRejectionReason ); - rinsebackVolumeMinRejectionReason ( vData.mRinsebackVolumeMinRejectionReason ); - rinsebackVolumeMaxRejectionReason ( vData.mRinsebackVolumeMaxRejectionReason ); - rinsebackVolumeDefRejectionReason ( vData.mRinsebackVolumeDefRejectionReason ); - rinsebackFlowRateMinRejectionReason ( vData.mRinsebackFlowRateMinRejectionReason ); - rinsebackFlowRateMaxRejectionReason ( vData.mRinsebackFlowRateMaxRejectionReason ); - rinsebackFlowRateDefRejectionReason ( vData.mRinsebackFlowRateDefRejectionReason ); - substitutionVolumeMinRejectionReason ( vData.mSubstitutionVolumeMinRejectionReason ); - substitutionVolumeMaxRejectionReason ( vData.mSubstitutionVolumeMaxRejectionReason ); - substitutionVolumeDefRejectionReason ( vData.mSubstitutionVolumeDefRejectionReason ); // *** has to be the last to let the information to be set and then emit the signal *** // *** otherwise will use the Previous values before being set. *** Index: sources/view/settings/VAdjustmentInstitutionalRecord.h =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/settings/VAdjustmentInstitutionalRecord.h (.../VAdjustmentInstitutionalRecord.h) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/settings/VAdjustmentInstitutionalRecord.h (.../VAdjustmentInstitutionalRecord.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -38,7 +38,6 @@ // friends friend class ::tst_views; - // The property adjustment_Triggered has to be always true // and to always trigger the change event to work as a notifier for GUI TRIGGER( bool , adjustment , 0) @@ -65,66 +64,6 @@ RANGEVALUESET( quint32 , rinsebackFlowRate , 0) RANGEVALUESET( float , substitutionVolume , 0) - // rejection reasons - TRIGGER(quint32 , bloodFlowRateMinRejectionReason , 0) - TRIGGER(quint32 , bloodFlowRateMaxRejectionReason , 0) - TRIGGER(quint32 , bloodFlowRateDefRejectionReason , 0) - TRIGGER(quint32 , dialysateFlowRateMinRejectionReason , 0) - TRIGGER(quint32 , dialysateFlowRateMaxRejectionReason , 0) - TRIGGER(quint32 , dialysateFlowRateDefRejectionReason , 0) - TRIGGER(quint32 , treatmentDurationMinRejectionReason , 0) - TRIGGER(quint32 , treatmentDurationMaxRejectionReason , 0) - TRIGGER(quint32 , treatmentDurationDefRejectionReason , 0) - TRIGGER(quint32 , heparinBolusVolumeMinRejectionReason , 0) - TRIGGER(quint32 , heparinBolusVolumeMaxRejectionReason , 0) - TRIGGER(quint32 , heparinBolusVolumeDefRejectionReason , 0) - TRIGGER(quint32 , heparinDispensingRateMinRejectionReason , 0) - TRIGGER(quint32 , heparinDispensingRateMaxRejectionReason , 0) - TRIGGER(quint32 , heparinDispensingRateDefRejectionReason , 0) - TRIGGER(quint32 , heparinStopTimeMinRejectionReason , 0) - TRIGGER(quint32 , heparinStopTimeMaxRejectionReason , 0) - TRIGGER(quint32 , dialysateTempMinRejectionReason , 0) - TRIGGER(quint32 , dialysateTempMaxRejectionReason , 0) - TRIGGER(quint32 , dialysateTempDefRejectionReason , 0) - TRIGGER(quint32 , acidConcentratePotassiumMinRejectionReason , 0) - TRIGGER(quint32 , acidConcentratePotassiumMaxRejectionReason , 0) - TRIGGER(quint32 , acidConcentrateCalciumMinRejectionReason , 0) - TRIGGER(quint32 , acidConcentrateCalciumMaxRejectionReason , 0) - TRIGGER(quint32 , bicarbFinalDialysateCompositionMinRejectionReason , 0) - TRIGGER(quint32 , bicarbFinalDialysateCompositionMaxRejectionReason , 0) - TRIGGER(quint32 , bicarbFinalDialysateCompositionDefRejectionReason , 0) - TRIGGER(quint32 , sodiumFinalDialysateCompositionMinRejectionReason , 0) - TRIGGER(quint32 , sodiumFinalDialysateCompositionMaxRejectionReason , 0) - TRIGGER(quint32 , sodiumFinalDialysateCompositionDefRejectionReason , 0) - TRIGGER(quint32 , fluidBolusVolumeMinRejectionReason , 0) - TRIGGER(quint32 , fluidBolusVolumeMaxRejectionReason , 0) - TRIGGER(quint32 , fluidBolusVolumeDefRejectionReason , 0) - TRIGGER(quint32 , arterialPressureLimitWindowMinRejectionReason , 0) - TRIGGER(quint32 , arterialPressureLimitWindowMaxRejectionReason , 0) - TRIGGER(quint32 , arterialPressureLimitWindowDefRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitWindowMinRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitWindowMaxRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitWindowDefRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitAsymtrcMinRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitAsymtrcMaxRejectionReason , 0) - TRIGGER(quint32 , venousPressureLimitAsymtrcDefRejectionReason , 0) - TRIGGER(quint32 , trancembrncPressureLimitWindowMinRejectionReason , 0) - TRIGGER(quint32 , trancembrncPressureLimitWindowMaxRejectionReason , 0) - TRIGGER(quint32 , trancembrncPressureLimitWindowDefRejectionReason , 0) - TRIGGER(quint32 , ultrafiltrationVolumeMinRejectionReason , 0) - TRIGGER(quint32 , ultrafiltrationVolumeMaxRejectionReason , 0) - TRIGGER(quint32 , ultrafiltrationVolumeDefRejectionReason , 0) - TRIGGER(quint32 , vitalsIntervalDefRejectionReason , 0) - TRIGGER(quint32 , rinsebackVolumeMinRejectionReason , 0) - TRIGGER(quint32 , rinsebackVolumeMaxRejectionReason , 0) - TRIGGER(quint32 , rinsebackVolumeDefRejectionReason , 0) - TRIGGER(quint32 , rinsebackFlowRateMinRejectionReason , 0) - TRIGGER(quint32 , rinsebackFlowRateMaxRejectionReason , 0) - TRIGGER(quint32 , rinsebackFlowRateDefRejectionReason , 0) - TRIGGER(quint32 , substitutionVolumeMinRejectionReason , 0) - TRIGGER(quint32 , substitutionVolumeMaxRejectionReason , 0) - TRIGGER(quint32 , substitutionVolumeDefRejectionReason , 0) - VIEW_DEC_CLASS_ADJUSTMENT(VAdjustmentInstitutionalRecord, AdjustInstitutionalRecordResponseData) public slots: Index: sources/view/settings/VInstitutionalRecord.cpp =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/settings/VInstitutionalRecord.cpp (.../VInstitutionalRecord.cpp) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/settings/VInstitutionalRecord.cpp (.../VInstitutionalRecord.cpp) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -18,31 +18,75 @@ #include "GuiController.h" #include "format.h" - VIEW_DEF_CLASS_ADJUSTMENT(VInstitutionalRecord) void View::VInstitutionalRecord::initConnections() { ADJUST_VIEW_CONNECTION(InstitutionalRequestData) ACTION_VIEW_CONNECTION(InstitutionalRecordResponseData) + ACTION_VIEW_CONNECTION(SettingsData); + ACTION_VIEW_CONNECTION(AdjustInstitutionalRecordResponseData) + + _institutionalList.setRoleNames({ + { eRole_Title , "title" }, + { eRole_Units , "unit" }, + { eRole_Min , "min" }, + { eRole_Max , "max" }, + { eRole_Step , "step" }, + { eRole_Decimal , "decimal" }, + { eRole_MinVal , "minVal" }, + { eRole_MaxVal , "maxVal" }, + { eRole_DefVal , "defVal" }, + { eRole_RejectionMin , "rejectionMin" }, + { eRole_RejectionMax , "rejectionMax" }, + { eRole_RejectionDef , "rejectionDef" }, + { eRole_CanOff , "canOff" }, + }); + + initModel(); } +void View::VInstitutionalRecord::initModel() +{ + _institutionalList.insertRow( BloodFlowRate, {{ eRole_Title, tr("Blood Flow Rate") }, { eRole_Units, tr("mL/min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); + _institutionalList.insertRow( DialysateFlowRate, {{ eRole_Title, tr("Dialysate Flow Rate") }, { eRole_Units, tr("mL/min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); + _institutionalList.insertRow( TreatmentDuration, {{ eRole_Title, tr("Treatment Duration") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); + _institutionalList.insertRow( HeparinBolusVolume, {{ eRole_Title, tr("Heparin Bolus Volume") }, { eRole_Units, tr("mL") }, { eRole_Decimal, 1 }, { eRole_CanOff, true }}); + _institutionalList.insertRow( HeparinDispenseRate, {{ eRole_Title, tr("Heparin Dispense Rate") }, { eRole_Units, tr("mL/hr") }, { eRole_Decimal, 1 }, { eRole_CanOff, true }}); + _institutionalList.insertRow( HeparinDispenseRate, {{ eRole_Title, tr("Heparin Stop Time") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, true }}); +// _institutionalList.insertRow( HeparinDispenseRate, {{ eRole_Title, tr("Heparin Stop Time") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); + + + +// _institutionalList.insertRow( BicarbFinalDialysateComposition, {{ eRole_Title, tr("Bicarb. Final Dialysate Composition") }, { eRole_Units, tr("min") }, { eRole_Decimal, 0 }, { eRole_CanOff, false }}); + + + + + +} + void View::VInstitutionalRecord::onActionReceive(const InstitutionalRecordResponseData &vData) { adjustment_Accepted ( vData.mAccepted ); adjustment_Reason ( vData.mReason ); - bloodFlowRateMin ( vData.mBloodFlowMin ); - bloodFlowRateMax ( vData.mBloodFlowMax ); - bloodFlowRateDef ( vData.mBloodFlowDef ); - dialysateFlowRateMin ( vData.mDialysateFlowMin ); - dialysateFlowRateMax ( vData.mDialysateFlowMax ); - dialysateFlowRateDef ( vData.mDialysateFlowDef ); - treatmentDurationMin ( vData.mTreatmentDurationMin ); - treatmentDurationMax ( vData.mTreatmentDurationMax ); - treatmentDurationDef ( vData.mTreatmentDurationDef ); - heparinBolusVolumeMin ( vData.mHepBolusVolumeMin ); - heparinBolusVolumeMax ( vData.mHepBolusVolumeMax ); - heparinBolusVolumeDef ( vData.mHepBolusVolumeDef ); + + _institutionalList.updateData(BloodFlowRate, eRole_MinVal, vData.mBloodFlowMin ); + _institutionalList.updateData(BloodFlowRate, eRole_MaxVal, vData.mBloodFlowMax ); + _institutionalList.updateData(BloodFlowRate, eRole_DefVal, vData.mBloodFlowDef ); + _institutionalList.updateData(DialysateFlowRate, eRole_MinVal, vData.mDialysateFlowMin ); + _institutionalList.updateData(DialysateFlowRate, eRole_MaxVal, vData.mDialysateFlowMax ); + _institutionalList.updateData(DialysateFlowRate, eRole_DefVal, vData.mDialysateFlowDef ); + _institutionalList.updateData(TreatmentDuration, eRole_MinVal, vData.mTreatmentDurationMin ); + _institutionalList.updateData(TreatmentDuration, eRole_MaxVal, vData.mTreatmentDurationMax ); + _institutionalList.updateData(TreatmentDuration, eRole_DefVal, vData.mTreatmentDurationDef ); + _institutionalList.updateData(HeparinBolusVolume, eRole_MinVal, vData.mHepBolusVolumeMin ); + _institutionalList.updateData(HeparinBolusVolume, eRole_MaxVal, vData.mHepBolusVolumeMax ); + _institutionalList.updateData(HeparinBolusVolume, eRole_DefVal, vData.mHepBolusVolumeDef ); + + + + heparinDispensingRateMin ( vData.mHepDispRateMin ); heparinDispensingRateMax ( vData.mHepDispRateMax ); heparinDispensingRateDef ( vData.mHepDispRateDef ); @@ -94,3 +138,180 @@ // *** otherwise will use the Previous values before being set. *** adjustment ( true ); } + +void View::VInstitutionalRecord::onActionReceive(const SettingsData &) +{ + QString mCategory = Storage::Settings_Category_DataList; + bool isConfigsOk = true; // assume configurations are valid + + FROMVARIANT_WITHRETURN ( bloodFlowRateMin , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodFlowRateMax , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bloodFlowRateRes , "Blood Flow Rate Ranges" , "Blood_Flow_Rate_Res" , UInt , isConfigsOk ); + + _institutionalList.updateData(BloodFlowRate, eRole_Min, _bloodFlowRateMin); + _institutionalList.updateData(BloodFlowRate, eRole_Max, _bloodFlowRateMax); + _institutionalList.updateData(BloodFlowRate, eRole_Step, _bloodFlowRateRes); + + + + FROMVARIANT_WITHRETURN ( dialysateFlowRateMin , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateFlowRateMax , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateFlowRateRes , "Dialysate Flow Rate Ranges" , "Dialysate_Flow_Rate_Max" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( treatmentDurationMin , "Treatment Duration Ranges" , "Treatment_Duration_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( treatmentDurationMax , "Treatment Duration Ranges" , "Treatment_Duration_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( treatmentDurationRes , "Treatment Duration Ranges" , "Treatment_Duration_Res" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinDispensingRateMin , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinDispensingRateMax , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinDispensingRateRes , "Heparin Dispensing Rate Ranges" , "Heparin_Dispensing_Rate_Res" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinBolusVolumeMin , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinBolusVolumeMax , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( heparinBolusVolumeRes , "Heparin Bolus Volume Ranges" , "Heparin_Bolus_Volume_Res" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( heparinStopTimeMin , "Heparin Stop Time Ranges" , "Heparin_Stop_Time_Min" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( acidConcentratePotassiumMin , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( acidConcentratePotassiumMax , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( acidConcentratePotassiumRes , "Acid Concentrate Ranges" , "Acid_Concentrate_Potassium_Res" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( acidConcentrateCalciumMin , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( acidConcentrateCalciumMax , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( acidConcentrateCalciumRes , "Acid Concentrate Ranges" , "Acid_Concentrate_Calcium_Max" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( fluidBolusVolumeMin , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( fluidBolusVolumeMax , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( fluidBolusVolumeRes , "Saline Bolus Volume Ranges" , "Saline_Bolus_Volume_Res" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( dialysateTempMin , "Dialysate Temperature" , "Dialysate_Temperature_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateTempMax , "Dialysate Temperature" , "Dialysate_Temperature_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( dialysateTempRes , "Dialysate Temperature" , "Dialysate_Temperature_Res" , Float , isConfigsOk ); + + dialyzerTypeOptions ( _Settings.keys(mCategory , "Dialyzer Type Options" )); + bloodPressureMeasureInterval ( _Settings.keys(mCategory , "Vitals Measurement Interval Options" )); + treatmentModalityOptions ( _Settings.keys(mCategory , "Treatment Modality" )); + hdfTreatmentModeOptions ( _Settings.keys(mCategory , "HDF Treatment Mode" )); + dryBicabCartridgeSizeOptions ( _Settings.keys(mCategory , "Dry Bicarb Cartridge Size" )); + + isConfigsOk = isConfigsOk && !_dialyzerTypeOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_bloodPressureMeasureInterval .isEmpty(); + isConfigsOk = isConfigsOk && !_treatmentModalityOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_hdfTreatmentModeOptions .isEmpty(); + isConfigsOk = isConfigsOk && !_dryBicabCartridgeSizeOptions .isEmpty(); + + FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionMin , "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Min", UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionMax , "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Max", UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( bicarbFinalDialysateCompositionRes , "Dialysate Composition Ranges" , "Dialysate_Composition_Bicarbonate_Res", UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionMin , "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionMax , "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( sodiumFinalDialysateCompositionRes , "Dialysate Composition Ranges" , "Dialysate_Composition_Sodium_Res" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMin , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowMax , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( arterialPressureLimitWindowRes , "Arterial Blood Pressure Ranges" , "Arterial_Adjust_Window_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitWindowRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Window_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMin , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcMax , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( venousPressureLimitAsymtrcRes , "Venous Blood Pressure Ranges" , "Venous_Adjust_Asymmetric_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowMin , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Min" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowMax , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Max" , Int , isConfigsOk ); + FROMVARIANT_WITHRETURN ( trancembrncPressureLimitWindowRes , "Trancememberance Pressure Ranges" , "Trancememberance_Adjust_Window_Res" , Int , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeMin , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeMax , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( ultrafiltrationVolumeRes , "Ultrafiltration Volume Ranges" , "Ultrafiltration_Volume_Res" , Float , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( rinsebackFlowRateMin , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackFlowRateMax , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackFlowRateRes , "Rinseback Flow Rate Ranges" , "Rinseback_Flow_Rate_Res" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( rinsebackVolumeMin , "Rinseback Volume Ranges" , "Rinseback_Volume_Min" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackVolumeMax , "Rinseback Volume Ranges" , "Rinseback_Volume_Max" , UInt , isConfigsOk ); + FROMVARIANT_WITHRETURN ( rinsebackVolumeRes , "Rinseback Volume Ranges" , "Rinseback_Volume_Res" , UInt , isConfigsOk ); + + FROMVARIANT_WITHRETURN ( substitutionVolumeMin , "Substitution Volume Ranges" , "Substitution_Volume_Min" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( substitutionVolumeMax , "Substitution Volume Ranges" , "Substitution_Volume_Max" , Float , isConfigsOk ); + FROMVARIANT_WITHRETURN ( substitutionVolumeRes , "Substitution Volume Ranges" , "Substitution_Volume_Res" , Float , isConfigsOk ); +} + +void View::VInstitutionalRecord::onActionReceive(const AdjustInstitutionalRecordResponseData &vData) +{ + _institutionalList.updateData(BloodFlowRate, eRole_RejectionMin, vData.mBloodFlowRateMinRejectionReason ); + _institutionalList.updateData(BloodFlowRate, eRole_RejectionMax, vData.mBloodFlowRateMaxRejectionReason ); + _institutionalList.updateData(BloodFlowRate, eRole_RejectionDef, vData.mBloodFlowRateDefRejectionReason ); + _institutionalList.updateData(DialysateFlowRate, eRole_RejectionMin, vData.mDialysateFlowRateMinRejectionReason ); + _institutionalList.updateData(DialysateFlowRate, eRole_RejectionMax, vData.mDialysateFlowRateMaxRejectionReason ); + _institutionalList.updateData(DialysateFlowRate, eRole_RejectionDef, vData.mDialysateFlowRateDefRejectionReason ); + _institutionalList.updateData(TreatmentDuration, eRole_RejectionMin, vData.mTreatmentDurationMinRejectionReason ); + _institutionalList.updateData(TreatmentDuration, eRole_RejectionMax, vData.mTreatmentDurationMaxRejectionReason ); + _institutionalList.updateData(TreatmentDuration, eRole_RejectionDef, vData.mTreatmentDurationDefRejectionReason ); + _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionMin, vData.mHeparinBolusVolumeMinRejectionReason ); + _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionMax, vData.mHeparinBolusVolumeMaxRejectionReason ); + _institutionalList.updateData(HeparinBolusVolume, eRole_RejectionDef, vData.mHeparinBolusVolumeDefRejectionReason ); + _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionMin, vData.mHeparinDispensingRateMinRejectionReason ); + _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionMax, vData.mHeparinDispensingRateMaxRejectionReason ); + _institutionalList.updateData(HeparinDispenseRate, eRole_RejectionDef, vData.mHeparinDispensingRateDefRejectionReason ); + +// heparinDispensingRateMinRejectionReason ( vData.mHeparinDispensingRateMinRejectionReason ); +// heparinDispensingRateMaxRejectionReason ( vData.mHeparinDispensingRateMaxRejectionReason ); +// heparinDispensingRateDefRejectionReason ( vData.mHeparinDispensingRateDefRejectionReason ); +// heparinStopTimeMinRejectionReason ( vData.mHeparinStopTimeMinRejectionReason ); +// heparinStopTimeMaxRejectionReason ( vData.mHeparinStopTimeMaxRejectionReason ); +// dialysateTempMinRejectionReason ( vData.mDialysateTempMinRejectionReason ); +// dialysateTempMaxRejectionReason ( vData.mDialysateTempMaxRejectionReason ); +// dialysateTempDefRejectionReason ( vData.mDialysateTempDefRejectionReason ); +// acidConcentratePotassiumMinRejectionReason ( vData.mAcidConcentratePotassiumMinRejectionReason ); +// acidConcentratePotassiumMaxRejectionReason ( vData.mAcidConcentratePotassiumMaxRejectionReason ); +// acidConcentrateCalciumMinRejectionReason ( vData.mAcidConcentrateCalciumMinRejectionReason ); +// acidConcentrateCalciumMaxRejectionReason ( vData.mAcidConcentrateCalciumMaxRejectionReason ); +// bicarbFinalDialysateCompositionMinRejectionReason ( vData.mBicarbFinalDialysateCompositionMinRejectionReason ); +// bicarbFinalDialysateCompositionMaxRejectionReason ( vData.mBicarbFinalDialysateCompositionMaxRejectionReason ); +// bicarbFinalDialysateCompositionDefRejectionReason ( vData.mBicarbFinalDialysateCompositionDefRejectionReason ); +// sodiumFinalDialysateCompositionMinRejectionReason ( vData.mSodiumFinalDialysateCompositionMinRejectionReason ); +// sodiumFinalDialysateCompositionMaxRejectionReason ( vData.mSodiumFinalDialysateCompositionMaxRejectionReason ); +// sodiumFinalDialysateCompositionDefRejectionReason ( vData.mSodiumFinalDialysateCompositionDefRejectionReason ); +// fluidBolusVolumeMinRejectionReason ( vData.mFluidBolusVolumeMinRejectionReason ); +// fluidBolusVolumeMaxRejectionReason ( vData.mFluidBolusVolumeMaxRejectionReason ); +// fluidBolusVolumeDefRejectionReason ( vData.mFluidBolusVolumeDefRejectionReason ); +// arterialPressureLimitWindowMinRejectionReason ( vData.mArterialPressureLimitWindowMinRejectionReason ); +// arterialPressureLimitWindowMaxRejectionReason ( vData.mArterialPressureLimitWindowMaxRejectionReason ); +// arterialPressureLimitWindowDefRejectionReason ( vData.mArterialPressureLimitWindowDefRejectionReason ); +// venousPressureLimitWindowMinRejectionReason ( vData.mVenousPressureLimitWindowMinRejectionReason ); +// venousPressureLimitWindowMaxRejectionReason ( vData.mVenousPressureLimitWindowMaxRejectionReason ); +// venousPressureLimitWindowDefRejectionReason ( vData.mVenousPressureLimitWindowDefRejectionReason ); +// venousPressureLimitAsymtrcMinRejectionReason ( vData.mVenousPressureLimitAsymtrcMinRejectionReason ); +// venousPressureLimitAsymtrcMaxRejectionReason ( vData.mVenousPressureLimitAsymtrcMaxRejectionReason ); +// venousPressureLimitAsymtrcDefRejectionReason ( vData.mVenousPressureLimitAsymtrcDefRejectionReason ); +// trancembrncPressureLimitWindowMinRejectionReason ( vData.mTrancembrncPressureLimitWindowMinRejectionReason ); +// trancembrncPressureLimitWindowMaxRejectionReason ( vData.mTrancembrncPressureLimitWindowMaxRejectionReason ); +// trancembrncPressureLimitWindowDefRejectionReason ( vData.mTrancembrncPressureLimitWindowDefRejectionReason ); +// ultrafiltrationVolumeMinRejectionReason ( vData.mUltrafiltrationVolumeMinRejectionReason ); +// ultrafiltrationVolumeMaxRejectionReason ( vData.mUltrafiltrationVolumeMaxRejectionReason ); +// ultrafiltrationVolumeDefRejectionReason ( vData.mUltrafiltrationVolumeDefRejectionReason ); +// vitalsIntervalDefRejectionReason ( vData.mVitalsIntervalDefRejectionReason ); +// rinsebackVolumeMinRejectionReason ( vData.mRinsebackVolumeMinRejectionReason ); +// rinsebackVolumeMaxRejectionReason ( vData.mRinsebackVolumeMaxRejectionReason ); +// rinsebackVolumeDefRejectionReason ( vData.mRinsebackVolumeDefRejectionReason ); +// rinsebackFlowRateMinRejectionReason ( vData.mRinsebackFlowRateMinRejectionReason ); +// rinsebackFlowRateMaxRejectionReason ( vData.mRinsebackFlowRateMaxRejectionReason ); +// rinsebackFlowRateDefRejectionReason ( vData.mRinsebackFlowRateDefRejectionReason ); +// substitutionVolumeMinRejectionReason ( vData.mSubstitutionVolumeMinRejectionReason ); +// substitutionVolumeMaxRejectionReason ( vData.mSubstitutionVolumeMaxRejectionReason ); +// substitutionVolumeDefRejectionReason ( vData.mSubstitutionVolumeDefRejectionReason ); +} + +void View::VInstitutionalRecord::clearRejectionReason(const int &vRow, const int &vRange) +{ + int role = vRange == Min ? eRole_RejectionDef : + vRange == Max ? eRole_RejectionMax : + vRange == Def ? eRole_RejectionDef : -1; + + _institutionalList.updateData(vRow, role, 0); +} Index: sources/view/settings/VInstitutionalRecord.h =================================================================== diff -u -re49c956894f999f6539b0c404dd1c9b18a76bb4b -rf433eeefae34530e7cc3dc4e5576e43729b236f2 --- sources/view/settings/VInstitutionalRecord.h (.../VInstitutionalRecord.h) (revision e49c956894f999f6539b0c404dd1c9b18a76bb4b) +++ sources/view/settings/VInstitutionalRecord.h (.../VInstitutionalRecord.h) (revision f433eeefae34530e7cc3dc4e5576e43729b236f2) @@ -21,6 +21,9 @@ // Project #include "main.h" // Doxygen : do not remove #include "VAdjustmentResponseBase.h" +#include "MAdjustTDInstitutionalRecordResponse.h" +#include "MListModel.h" +#include "MSettings.h" #include "MTDInstitutionalRecordResponse.h" namespace View { @@ -38,13 +41,59 @@ // friends friend class ::tst_views; + enum { + Min , + Max , + Def , + } Range; + + enum { + eRole_Title = Qt::UserRole , + eRole_Units , + eRole_Min , + eRole_Max , + eRole_Step , + eRole_Decimal , + eRole_MinVal , + eRole_MaxVal , + eRole_DefVal , + eRole_RejectionMin , + eRole_RejectionMax , + eRole_RejectionDef , + eRole_CanOff , + } DataRole; + + enum { + BloodFlowRate , + DialysateFlowRate , + TreatmentDuration , + HeparinBolusVolume , + HeparinDispenseRate , + HeparinStopTime , + DialysateTemperature , + AcidCompositionPotassium , + AcidCompositionCalcium , + BicarbFinalDialysateComposition , + SodiumFinalDialysateComposition , + FluidBolusVolume , + ArterialPressureLimit , + VenousPressureLimit , + VenousAsymPressureLimit , + TMPWindowLimit , + UFVolume , + VitalsInterval , + RinsebackVolume , + RinsebackFlowRate , + SubstitutionVolume + } Records; + const QStringList _titles { - tr("Blood Flow Rate" ), - tr("Dialysate Flow Rate" ), - tr("Treatment Duration" ), - tr("Heparin Bolus Volume" ), - tr("Heparin Dispense Rate" ), - tr("Heparin Stop Time" ), +// tr("Blood Flow Rate" ), +// tr("Dialysate Flow Rate" ), +// tr("Treatment Duration" ), +// tr("Heparin Bolus Volume" ), +// tr("Heparin Dispense Rate" ), +// tr("Heparin Stop Time" ), tr("Dialysate Temperature" ), tr("Acid Composition ([K+])" ), tr("Acid Composition ([Ca2+])" ), @@ -63,12 +112,12 @@ }; const QStringList _units { - tr("mL/min" ), // Blood Flow Rate - tr("mL/min" ), // Dialysate Flow Rate - tr("min" ), // Treatment Duration - tr("mL" ), // Heparin Bolus Volume - tr("mL/hr" ), // Heparin Dispense Rate - tr("min" ), // Heparin Stop Time +// tr("mL/min" ), // Blood Flow Rate +// tr("mL/min" ), // Dialy/*s*/ate Flow Rate +// tr("min" ), // Treatment Duration +// tr("mL" ), // Heparin Bolus Volume +// tr("mL/hr" ), // Heparin Dispense Rate +// tr("min" ), // Heparin Stop Time tr("°C" ), // Dialysate Temperature tr("mEq/L" ), // Acid Composition ([K+]) tr("mEq/L" ), // Acid Composition ([Ca2+]) @@ -99,9 +148,10 @@ RANGESET( float , dialysateTemp , 0) RANGESET( float , acidConcentratePotassium , 0) RANGESET( float , acidConcentrateCalcium , 0) + RANGESET( quint32 , fluidBolusVolume , 0) + RANGESET( quint32 , bicarbFinalDialysateComposition , 0) RANGESET( quint32 , sodiumFinalDialysateComposition , 0) - RANGESET( quint32 , fluidBolusVolume , 0) RANGESET( qint32 , arterialPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitWindow , 0) RANGESET( qint32 , venousPressureLimitAsymtrc , 0) @@ -117,23 +167,29 @@ READONLY( QStringList , hdfTreatmentModeOptions ,{}) READONLY( QStringList , dryBicabCartridgeSizeOptions ,{}) READONLY( QStringList , dialyzerTypeOptions ,{}) + READONLY( QStringList , bloodPressureMeasureInterval ,{}) - PROPERTY(QStringList , parametersTitle , titles()) - PROPERTY(QStringList , parametersUnit , units ()) + Q_PROPERTY(MListModel* model READ model NOTIFY didModelChange) - VIEW_DEC_CLASS_ADJUSTMENT(VInstitutionalRecord, InstitutionalRecordResponseData) + VIEW_DEC_CLASS_ADJUSTMENT(VInstitutionalRecord, InstitutionalRecordResponseData ) + VIEW_DEC_SLOT(SettingsData ) + VIEW_DEC_SLOT(AdjustInstitutionalRecordResponseData ) private: - QStringList titles() { return _titles; } - QStringList units () { return _units ; } + MListModel* model () { return &_institutionalList; } + MListModel _institutionalList; + void initModel(); public slots: void doAdjustment() { InstitutionalRequestData data; emit didAdjustment(data); } + void clearRejectionReason(const int &vRow, const int &vRange); + signals: void didAdjustment(const InstitutionalRequestData &vData); + void didModelChange(); }; }