Convert isf defaultprofile values to units
This commit is contained in:
parent
de8b63ac4d
commit
0091571b5d
1 changed files with 15 additions and 3 deletions
|
@ -26,21 +26,21 @@ class DefaultProfile @Inject constructor(val injector: HasAndroidInjector) {
|
||||||
val ic = Round.roundTo(250.0 / _tdd, 1.0)
|
val ic = Round.roundTo(250.0 / _tdd, 1.0)
|
||||||
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -4.0, -1.0, -2.0, -4.0, 0.0, -4.0)))
|
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -4.0, -1.0, -2.0, -4.0, 0.0, -4.0)))
|
||||||
val isf = Round.roundTo(200.0 / _tdd, 0.1)
|
val isf = Round.roundTo(200.0 / _tdd, 0.1)
|
||||||
profile.put("sens", singleValueArray(isf, arrayOf(0.0, -2.0, -0.0, -0.0, -2.0, 0.0, -2.0)))
|
profile.put("sens", singleValueArrayFromMmolToUnits(isf, arrayOf(0.0, -2.0, -0.0, -0.0, -2.0, 0.0, -2.0),units))
|
||||||
} else if (age >= 6 && age < 12) {
|
} else if (age >= 6 && age < 12) {
|
||||||
val _tdd = if (tdd == 0.0) 0.8 * weight else tdd
|
val _tdd = if (tdd == 0.0) 0.8 * weight else tdd
|
||||||
closest(sixToEleven, _tdd * 0.4)?.let { array -> profile.put("basal", arrayToJson(array)) }
|
closest(sixToEleven, _tdd * 0.4)?.let { array -> profile.put("basal", arrayToJson(array)) }
|
||||||
val ic = Round.roundTo(375.0 / _tdd, 1.0)
|
val ic = Round.roundTo(375.0 / _tdd, 1.0)
|
||||||
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -3.0, 0.0, -1.0, -3.0, 0.0, -2.0)))
|
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -3.0, 0.0, -1.0, -3.0, 0.0, -2.0)))
|
||||||
val isf = Round.roundTo(170.0 / _tdd, 0.1)
|
val isf = Round.roundTo(170.0 / _tdd, 0.1)
|
||||||
profile.put("sens", singleValueArray(isf, arrayOf(0.0, -1.0, -0.0, -0.0, -1.0, 0.0, -1.0)))
|
profile.put("sens", singleValueArrayFromMmolToUnits(isf, arrayOf(0.0, -1.0, -0.0, -0.0, -1.0, 0.0, -1.0),units))
|
||||||
} else if (age >= 12 && age < 18) {
|
} else if (age >= 12 && age < 18) {
|
||||||
val _tdd = if (tdd == 0.0) 1.0 * weight else tdd
|
val _tdd = if (tdd == 0.0) 1.0 * weight else tdd
|
||||||
closest(twelveToSeventeen, _tdd * 0.5)?.let { array -> profile.put("basal", arrayToJson(array)) }
|
closest(twelveToSeventeen, _tdd * 0.5)?.let { array -> profile.put("basal", arrayToJson(array)) }
|
||||||
val ic = Round.roundTo(500.0 / _tdd, 1.0)
|
val ic = Round.roundTo(500.0 / _tdd, 1.0)
|
||||||
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -1.0)))
|
profile.put("carbratio", singleValueArray(ic, arrayOf(0.0, -1.0, 0.0, 0.0, -1.0, 0.0, -1.0)))
|
||||||
val isf = Round.roundTo(100.0 / _tdd, 0.1)
|
val isf = Round.roundTo(100.0 / _tdd, 0.1)
|
||||||
profile.put("sens", singleValueArray(isf, arrayOf(0.2, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2)))
|
profile.put("sens", singleValueArrayFromMmolToUnits(isf, arrayOf(0.2, 0.0, 0.2, 0.2, 0.0, 0.2, 0.2),units))
|
||||||
} else if (age >= 18) {
|
} else if (age >= 18) {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -148,4 +148,16 @@ class DefaultProfile @Inject constructor(val injector: HasAndroidInjector) {
|
||||||
array.put(JSONObject().put("time", "19:00").put("value", value + sample[6]))
|
array.put(JSONObject().put("time", "19:00").put("value", value + sample[6]))
|
||||||
return array
|
return array
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun singleValueArrayFromMmolToUnits(value: Double, sample: Array<Double>, units: String): JSONArray {
|
||||||
|
val array = JSONArray()
|
||||||
|
array.put(JSONObject().put("time", "00:00").put("value", Profile.fromMmolToUnits(value + sample[0],units)))
|
||||||
|
array.put(JSONObject().put("time", "06:00").put("value", Profile.fromMmolToUnits(value + sample[1],units)))
|
||||||
|
array.put(JSONObject().put("time", "09:00").put("value", Profile.fromMmolToUnits(value + sample[2],units)))
|
||||||
|
array.put(JSONObject().put("time", "11:00").put("value", Profile.fromMmolToUnits(value + sample[3],units)))
|
||||||
|
array.put(JSONObject().put("time", "14:00").put("value", Profile.fromMmolToUnits(value + sample[4],units)))
|
||||||
|
array.put(JSONObject().put("time", "16:00").put("value", Profile.fromMmolToUnits(value + sample[5],units)))
|
||||||
|
array.put(JSONObject().put("time", "19:00").put("value", Profile.fromMmolToUnits(value + sample[6],units)))
|
||||||
|
return array
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in a new issue