From 53d2e87b874c72cac8d1b01e913d2bbc0e82da18 Mon Sep 17 00:00:00 2001 From: elnjensen Date: Sat, 11 Aug 2018 08:35:40 -0400 Subject: [PATCH] Reconcile delivery above max basal rate as bolus on chart --- Loop/Managers/StatusChartsManager+LoopKit.swift | 5 +++-- Loop/View Controllers/StatusTableViewController.swift | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Loop/Managers/StatusChartsManager+LoopKit.swift b/Loop/Managers/StatusChartsManager+LoopKit.swift index 2f54ca31ac..7797444563 100644 --- a/Loop/Managers/StatusChartsManager+LoopKit.swift +++ b/Loop/Managers/StatusChartsManager+LoopKit.swift @@ -72,7 +72,7 @@ extension StatusChartsManager { } } - func setDoseEntries(_ doseEntries: [DoseEntry]) { + func setDoseEntries(_ doseEntries: [DoseEntry], _ maxBasalRateUnitsPerHour: Double?) { let dateFormatter = self.dateFormatter let doseFormatter = self.doseFormatter @@ -83,7 +83,8 @@ extension StatusChartsManager { for entry in doseEntries { let time = entry.endDate.timeIntervalSince(entry.startDate) - if entry.type == .bolus && entry.netBasalUnits > 0 && time < .minutes(5) { + // Delivery rate above max basal indicates a bolus not yet present in event history: + if (entry.type == .bolus && entry.netBasalUnits > 0 && time < .minutes(5)) || (entry.netBasalUnitsPerHour > maxBasalRateUnitsPerHour ?? Double.infinity) { let x = ChartAxisValueDate(date: entry.startDate, formatter: dateFormatter) let y = ChartAxisValueDoubleLog(actualDouble: entry.units, unitString: "U", formatter: doseFormatter) diff --git a/Loop/View Controllers/StatusTableViewController.swift b/Loop/View Controllers/StatusTableViewController.swift index c4a53d9a89..580c7aee09 100644 --- a/Loop/View Controllers/StatusTableViewController.swift +++ b/Loop/View Controllers/StatusTableViewController.swift @@ -391,7 +391,7 @@ final class StatusTableViewController: ChartsTableViewController { // Insulin Delivery if let doseEntries = doseEntries { - self.charts.setDoseEntries(doseEntries) + self.charts.setDoseEntries(doseEntries, self.deviceManager.loopManager.settings.maximumBasalRatePerHour) } if let totalDelivery = totalDelivery { self.totalDelivery = totalDelivery