|
|
@@ -103,7 +103,7 @@ extension Bolus {
|
|
|
}
|
|
|
|
|
|
// CALCULATIONS FOR THE BOLUS CALCULATOR
|
|
|
- func calculateInsulin() {
|
|
|
+ func calculateInsulin() -> Decimal {
|
|
|
// for mmol conversion
|
|
|
var conversion: Decimal = 1.0
|
|
|
if units == .mmolL {
|
|
|
@@ -153,7 +153,10 @@ extension Bolus {
|
|
|
insulinCalculated = max(insulinCalculated, 0)
|
|
|
let insulinCalculatedAsDouble = Double(insulinCalculated)
|
|
|
roundedInsulinCalculated = Decimal(round(100 * insulinCalculatedAsDouble) / 100)
|
|
|
- insulinRecommended = min(insulinCalculated, maxBolus)
|
|
|
+
|
|
|
+ insulinCalculated = min(insulinCalculated, maxBolus)
|
|
|
+
|
|
|
+ return insulinCalculated
|
|
|
}
|
|
|
|
|
|
func add() {
|
|
|
@@ -192,11 +195,9 @@ extension Bolus {
|
|
|
self.basal = self.provider.suggestion?.rate ?? 0
|
|
|
self.carbRatio = self.provider.suggestion?.carbRatio ?? 0
|
|
|
|
|
|
- if !self.useCalc {
|
|
|
- if self.settingsManager.settings.insulinReqPercentage != 100 {
|
|
|
- self.insulinRecommended = self.insulin * (self.settingsManager.settings.insulinReqPercentage / 100)
|
|
|
- } else { self.insulinRecommended = self.insulin }
|
|
|
- }
|
|
|
+ if self.settingsManager.settings.insulinReqPercentage != 100 {
|
|
|
+ self.insulinRecommended = self.insulin * (self.settingsManager.settings.insulinReqPercentage / 100)
|
|
|
+ } else { self.insulinRecommended = self.insulin }
|
|
|
|
|
|
self.errorString = self.provider.suggestion?.manualBolusErrorString ?? 0
|
|
|
if self.errorString != 0 {
|
|
|
@@ -207,11 +208,13 @@ extension Bolus {
|
|
|
self.minPredBG = (self.provider.suggestion?.minPredBG ?? 0) * conversion
|
|
|
} else { self.error = false }
|
|
|
|
|
|
- if !self.useCalc {
|
|
|
- self.insulinRecommended = self.apsManager
|
|
|
- .roundBolus(amount: max(self.insulinRecommended, 0))
|
|
|
+ self.insulinRecommended = self.apsManager
|
|
|
+ .roundBolus(amount: max(self.insulinRecommended, 0))
|
|
|
+
|
|
|
+ if self.useCalc {
|
|
|
+ self.getDeltaBG()
|
|
|
+ self.insulinCalculated = self.calculateInsulin()
|
|
|
}
|
|
|
- self.getDeltaBG()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -241,6 +244,5 @@ extension Bolus.StateModel: SuggestionObserver {
|
|
|
self.waitForSuggestion = false
|
|
|
}
|
|
|
setupInsulinRequired()
|
|
|
- if useCalc { calculateInsulin() }
|
|
|
}
|
|
|
}
|