|
|
@@ -916,20 +916,17 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
var bgArray_1_: [Double] = []
|
|
|
var bgArray_7_: [Double] = []
|
|
|
var bgArray_30_: [Double] = []
|
|
|
- var bgArray_90_: [Double] = []
|
|
|
|
|
|
var bgArrayForTIR: [(bg_: Double, date_: Date)] = []
|
|
|
var bgArray_1: [(bg_: Double, date_: Date)] = []
|
|
|
var bgArray_7: [(bg_: Double, date_: Date)] = []
|
|
|
var bgArray_30: [(bg_: Double, date_: Date)] = []
|
|
|
- var bgArray_90: [(bg_: Double, date_: Date)] = []
|
|
|
|
|
|
var medianBG = 0.0
|
|
|
var nr_bgs: Decimal = 0
|
|
|
var bg_1: Decimal = 0
|
|
|
var bg_7: Decimal = 0
|
|
|
var bg_30: Decimal = 0
|
|
|
- var bg_90: Decimal = 0
|
|
|
var bg_total: Decimal = 0
|
|
|
var j = -1
|
|
|
var conversionFactor: Decimal = 1
|
|
|
@@ -957,7 +954,7 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
numberOfDays = (firstElementTime - lastElementTime).timeInterval / 8.64E4
|
|
|
|
|
|
// Make arrays for median calculations and calculate averages
|
|
|
- if endIndex >= 0 {
|
|
|
+ if endIndex >= 0, (glucose.first?.glucose ?? 0) != 0 {
|
|
|
repeat {
|
|
|
j += 1
|
|
|
if glucose[j].glucose > 0 {
|
|
|
@@ -982,14 +979,9 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
bgArray_30 = bgArrayForTIR
|
|
|
bgArray_30_ = bgArray
|
|
|
}
|
|
|
- if (firstElementTime - currentIndexTime).timeInterval <= 7.776E7 { // 90 days
|
|
|
- bg_90 = bg / nr_bgs
|
|
|
- bgArray_90 = bgArrayForTIR
|
|
|
- bgArray_90_ = bgArray
|
|
|
- }
|
|
|
}
|
|
|
} while j != glucose.count - 1
|
|
|
- }
|
|
|
+ } else { return }
|
|
|
|
|
|
if nr_bgs > 0 {
|
|
|
// Up to 91 days
|
|
|
@@ -1065,13 +1057,6 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
NGSPa1CStatisticValue_30 = ((bg_30 / conversionFactor) + 46.7) / 28.7
|
|
|
IFCCa1CStatisticValue_30 = 10.929 * (NGSPa1CStatisticValue_30 - 2.152)
|
|
|
}
|
|
|
- // 90 days
|
|
|
- var NGSPa1CStatisticValue_90: Decimal = 0.0
|
|
|
- var IFCCa1CStatisticValue_90: Decimal = 0.0
|
|
|
- if nr_bgs > 0 {
|
|
|
- NGSPa1CStatisticValue_90 = ((bg_90 / conversionFactor) + 46.7) / 28.7
|
|
|
- IFCCa1CStatisticValue_90 = 10.929 * (NGSPa1CStatisticValue_90 - 2.152)
|
|
|
- }
|
|
|
// Total days
|
|
|
var NGSPa1CStatisticValue_total: Decimal = 0.0
|
|
|
var IFCCa1CStatisticValue_total: Decimal = 0.0
|
|
|
@@ -1096,10 +1081,6 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
saveMedianToCoreData.median_1 = median.day as NSDecimalNumber
|
|
|
saveMedianToCoreData.median_7 = median.week as NSDecimalNumber
|
|
|
saveMedianToCoreData.median_30 = median.month as NSDecimalNumber
|
|
|
- saveMedianToCoreData.median_90 = self.roundDecimal(
|
|
|
- Decimal(self.medianCalculation(array: bgArray_90_)),
|
|
|
- 1
|
|
|
- ) as NSDecimalNumber
|
|
|
|
|
|
try? self.coredataContext.save()
|
|
|
|
|
|
@@ -1116,7 +1097,6 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
saveHbA1c.hba1c_1 = NGSPa1CStatisticValue as NSDecimalNumber
|
|
|
saveHbA1c.hba1c_7 = NGSPa1CStatisticValue_7 as NSDecimalNumber
|
|
|
saveHbA1c.hba1c_30 = NGSPa1CStatisticValue_30 as NSDecimalNumber
|
|
|
- saveHbA1c.hba1c_90 = NGSPa1CStatisticValue_90 as NSDecimalNumber
|
|
|
|
|
|
try? self.coredataContext.save()
|
|
|
|
|
|
@@ -1220,7 +1200,6 @@ final class BaseAPSManager: APSManager, Injectable {
|
|
|
saveAverages.average_1 = bg_1 as NSDecimalNumber
|
|
|
saveAverages.average_7 = bg_7 as NSDecimalNumber
|
|
|
saveAverages.average_30 = bg_30 as NSDecimalNumber
|
|
|
- saveAverages.average_90 = bg_90 as NSDecimalNumber
|
|
|
try? self.coredataContext.save()
|
|
|
|
|
|
let avg = Averages(Average: avgs, Median: median)
|