public static Accuracy create(BloodTest bloodTest, BgReading bgReading, String plugin) { if ((bloodTest == null) || (bgReading == null)) return null; patched = fixUpTable(schema, patched); if (getForPreciseTimestamp(bgReading.timestamp, Constants.MINUTE_IN_MS, plugin) != null) { UserError.Log.d(TAG, "Duplicate accuracy timestamp for: " + JoH.dateTimeText(bgReading.timestamp)); return null; } final Accuracy ac = new Accuracy(); ac.timestamp = bgReading.timestamp; ac.bg = bloodTest.mgdl; ac.bgtimestamp = bloodTest.timestamp; ac.bgsource = bloodTest.source; ac.plugin = plugin; ac.calculated = bgReading.calculated_value; //ac.lag = bgReading.timestamp-bloodTest.timestamp; ac.difference = bgReading.calculated_value - bloodTest.mgdl; ac.save(); return ac; }
public static Accuracy create(BloodTest bloodTest, BestGlucose.DisplayGlucose dg) { if (dg == null) return null; final BgReading from_dg = new BgReading(); from_dg.timestamp = dg.timestamp; from_dg.calculated_value = dg.mgdl; return create(bloodTest, from_dg, dg.plugin_name); }
final Map<String, Double> signed_totals = new HashMap<>(); final Map<String, Integer> count = new HashMap<>(); final List<Accuracy> alist = latestForGraph(500, JoH.tsl() - period, JoH.tsl()); String plugin_result = plugin.substring(0, 1).toLowerCase() + ": " + asString(this_mean, signed_mean, signed_ratio, domgdl); UserError.Log.d(TAG, plugin_result); if (result.length() > 0) result += " ";
public static List<Accuracy> latestForGraph(int number, long startTime, long endTime) { try { return new Select() .from(Accuracy.class) .where("timestamp >= " + Math.max(startTime, 0)) .where("timestamp <= " + endTime) .orderBy("timestamp desc, _id asc") .limit(number) .execute(); } catch (android.database.sqlite.SQLiteException e) { patched = fixUpTable(schema, patched); return new ArrayList<>(); } }
final String accuracy_report = Accuracy.evaluateAccuracy(accuracy_period); if ((accuracy_report != null) && (accuracy_report.length() > 0)) { append(sb, accuracy_report);
final Map<String, Double> signed_totals = new HashMap<>(); final Map<String, Integer> count = new HashMap<>(); final List<Accuracy> alist = latestForGraph(500, JoH.tsl() - period, JoH.tsl()); String plugin_result = plugin.substring(0, 1).toLowerCase() + ": " + asString(this_mean, signed_mean, signed_ratio, domgdl); UserError.Log.d(TAG, plugin_result); if (result.length() > 0) result += " ";
public static List<Accuracy> latestForGraph(int number, long startTime, long endTime) { try { return new Select() .from(Accuracy.class) .where("timestamp >= " + Math.max(startTime, 0)) .where("timestamp <= " + endTime) .orderBy("timestamp desc, _id asc") .limit(number) .execute(); } catch (android.database.sqlite.SQLiteException e) { patched = fixUpTable(schema, patched); return new ArrayList<>(); } }
final String accuracy_report = Accuracy.evaluateAccuracy(accuracy_period); if ((accuracy_report != null) && (accuracy_report.length() > 0)) { append(sb, accuracy_report);
public static Accuracy create(BloodTest bloodTest, BgReading bgReading, String plugin) { if ((bloodTest == null) || (bgReading == null)) return null; patched = fixUpTable(schema, patched); if (getForPreciseTimestamp(bgReading.timestamp, Constants.MINUTE_IN_MS, plugin) != null) { UserError.Log.d(TAG, "Duplicate accuracy timestamp for: " + JoH.dateTimeText(bgReading.timestamp)); return null; } final Accuracy ac = new Accuracy(); ac.timestamp = bgReading.timestamp; ac.bg = bloodTest.mgdl; ac.bgtimestamp = bloodTest.timestamp; ac.bgsource = bloodTest.source; ac.plugin = plugin; ac.calculated = bgReading.calculated_value; //ac.lag = bgReading.timestamp-bloodTest.timestamp; ac.difference = bgReading.calculated_value - bloodTest.mgdl; ac.save(); return ac; }
public static Accuracy create(BloodTest bloodTest, BestGlucose.DisplayGlucose dg) { if (dg == null) return null; final BgReading from_dg = new BgReading(); from_dg.timestamp = dg.timestamp; from_dg.calculated_value = dg.mgdl; return create(bloodTest, from_dg, dg.plugin_name); }
static Accuracy getForPreciseTimestamp(double timestamp, double precision, String plugin) { patched = fixUpTable(schema, patched); final Accuracy accuracy = new Select() .from(Accuracy.class) .where("timestamp <= ?", (timestamp + precision)) .where("timestamp >= ?", (timestamp - precision)) .where("plugin = ?", plugin) .orderBy("abs(timestamp - " + timestamp + ") asc") .executeSingle(); if (accuracy != null && Math.abs(accuracy.timestamp - timestamp) < precision) { return accuracy; } return null; }
Accuracy.create(bt, bgReading, "xDrip Original"); final CalibrationAbstract plugin = PluggableCalibration.getCalibrationPluginFromPreferences(); final CalibrationAbstract.CalibrationData cd = (plugin != null) ? plugin.getCalibrationData(bgReading.timestamp) : null; if (plugin != null) { BgReading pluginBgReading = plugin.getBgReadingFromBgReading(bgReading, cd); Accuracy.create(bt, pluginBgReading, plugin.getAlgorithmName());
static Accuracy getForPreciseTimestamp(double timestamp, double precision, String plugin) { patched = fixUpTable(schema, patched); final Accuracy accuracy = new Select() .from(Accuracy.class) .where("timestamp <= ?", (timestamp + precision)) .where("timestamp >= ?", (timestamp - precision)) .where("plugin = ?", plugin) .orderBy("abs(timestamp - " + timestamp + ") asc") .executeSingle(); if (accuracy != null && Math.abs(accuracy.timestamp - timestamp) < precision) { return accuracy; } return null; }
Accuracy.create(bt, bgReading, "xDrip Original"); final CalibrationAbstract plugin = PluggableCalibration.getCalibrationPluginFromPreferences(); final CalibrationAbstract.CalibrationData cd = (plugin != null) ? plugin.getCalibrationData(bgReading.timestamp) : null; if (plugin != null) { BgReading pluginBgReading = plugin.getBgReadingFromBgReading(bgReading, cd); Accuracy.create(bt, pluginBgReading, plugin.getAlgorithmName());