T1 Gym
Annotate your Nightscout charts and see your progress at a glance. A tool for T1 Diabetics that loop.
Requirements:
- NightScout instance connected to a closed loop system (openaps, Loop, AndroidAPS).
- Firebase database setup.
Annotate your Nightscout charts and see your progress at a glance
Home Page: https://t1gym.vercel.app
Annotate your Nightscout charts and see your progress at a glance. A tool for T1 Diabetics that loop.
Requirements:
https://t1gym.vercel.app/ doesnt load
I cant find your email adres. Can you contact me? I have some questions related to looping?
"It doesn't seem to import insulin or carb readings from nightscout so I would need to annotate that again which would be annoying" - Laura
https://t1gym.vercel.app/signup/beta?code=laura-16e7b55b-6c7d-422b-946d-422aa7320282
The PGS stat isn't as motivating as it should be.
Shows 1/8 days of data in progress report view.
https://t1gym.vercel.app/signup/beta?code=jordy--fde60412-6449-4186-8ca2-5d829c0dadea
{
_id: "5f1904678b6aca48aaf7421e",
programmed: 2.2,
eventType: "Correction Bolus",
type: "normal",
duration: 119.58333333333333,
created_at: "2020-07-22T08:23:35.000Z",
unabsorbed: 0,
timestamp: "2020-07-22T08:23:35Z",
enteredBy: "loop://Liam Edwards-Playne’s iPhone",
insulin: 1.5,
utcOffset: 0
}
It's not finding the treatment
It's found the treatment for
const range = [
new Date("07-22-2020"),
new Date("07-23-2020")
].map(d => DateTime.fromJSDate(d))
But the more recent ranges, not so?
H: a difference with openaps vs. loop?
31 July 2020
The two missing events:
{
_id: "5f2351bf8b6aca48aa7ae586",
enteredBy: "loop://Liam Edwards-Playne’s iPhone",
eventType: "Meal Bolus",
created_at: "2020-07-30T23:03:09.000Z",
absorptionTime: 180,
timestamp: "2020-07-30T23:03:09Z",
carbs: 60,
utcOffset: 0
},
{
_id: "5f23526d8b6aca48aa7af9a5",
type: "normal",
eventType: "Correction Bolus",
unabsorbed: 0,
timestamp: "2020-07-30T23:03:39Z",
created_at: "2020-07-30T23:03:39.000Z",
enteredBy: "loop://Liam Edwards-Playne’s iPhone",
programmed: 7.5,
duration: 5,
insulin: 7.5,
utcOffset: 0
},
The timestamp
field entered by Loop is in the UTC timezone.
The timestamp
entered by OpenAPS is in the user's local timezone.
The created_at
entered by OpenAPS is in the UTC timezone.
"timestamp": "2020-07-22T22:55:46+10:00",
"created_at": "2020-07-22T12:55:46.000Z",
H: could use created_at
instead?
vs.
{
"_id": "5f1904678b6aca48aaf74228",
"duration": 0,
"bolus": {
"timestamp": "2020-07-22T22:55:46+10:00",
"_type": "Bolus",
"id": "ARAQAG73VhYU",
"amount": 1.6,
"programmed": 1.6,
"unabsorbed": 0,
"duration": 0
},
"timestamp": "2020-07-22T22:55:46+10:00",
"created_at": "2020-07-22T12:55:46.000Z",
"ratio": "11",
"wizard": {
"timestamp": "2020-07-22T22:55:46+10:00",
"_type": "BolusWizard",
"id": "W4Fu9xYWFACQCxRBIAAAABAAEEE=",
"carb_input": 0,
"carb_ratio": 11,
"correction_estimate": 0,
"food_estimate": 0,
"unabsorbed_insulin_total": 1.6,
"bolus_estimate": 1.6,
"bg": 0,
"bg_target_low": 6.5,
"bg_target_high": 6.5,
"sensitivity": 2,
"units": "mmol"
},
"eventType": "Correction Bolus",
"insulin": 1.6,
"notes": "Normal bolus with wizard. Calculated IOB: -0.203 Programmed bolus 1.6 Delivered bolus 1.6 Percent delivered: 100% Food estimate 0 Correction estimate 0 Bolus estimate 1.6 Target low 6.5 Target high 6.5 Hypothetical glucose delta -3.2",
"medtronic": "mm://openaps/mm-format-ns-treatments/Correction Bolus",
"enteredBy": "openaps://medtronic/722",
"utcOffset": 600
}
I'd like to improve the app's performance as an exercise. Some areas of investigation:
In the case a user inputs a bolus for carbs, cancels it, and then inputs it again.
eg.
{
"_id": "5f975eeec265befd1b01ac7a",
"duration": 0,
"bolus": {
"timestamp": "2020-10-27T08:43:51+10:00",
"_type": "Bolus",
"id": "AUsCALOrSBsU",
"amount": 0.2,
"programmed": 7.5,
"unabsorbed": 0,
"duration": 0
},
"timestamp": "2020-10-27T08:43:51+10:00",
"created_at": "2020-10-26T22:43:51.000Z",
"carbs": 60,
"ratio": "10",
"wizard": {
"timestamp": "2020-10-27T08:43:51+10:00",
"_type": "BolusWizard",
"id": "W2izqwgbFDyQChlBDzwAAAAAS0E=",
"carb_input": 60,
"carb_ratio": 10,
"correction_estimate": 1.5,
"food_estimate": 6,
"unabsorbed_insulin_total": 0,
"bolus_estimate": 7.5,
"bg": 0,
"bg_target_low": 6.5,
"bg_target_high": 6.5,
"sensitivity": 2.5,
"units": "mmol"
},
"eventType": "Meal Bolus",
"insulin": 0.2,
"notes": "Normal bolus with wizard.\nCalculated IOB: 6.395\nProgrammed bolus 7.5\nDelivered bolus 0.2\nPercent delivered: 2.666666666666667%\nFood estimate 6\nCorrection estimate 1.5\nBolus estimate 7.5\nTarget low 6.5\nTarget high 6.5\nHypothetical glucose delta -0.5",
"medtronic": "mm://openaps/mm-format-ns-treatments/Meal Bolus",
"enteredBy": "openaps://medtronic/722",
"utcOffset": 600
}
Welcome to Node.js v13.11.0.
Type ".help" for more information.
> new Date(1598045634255)
2020-08-21T21:33:54.255Z
> new Date(1596524466250)
2020-08-04T07:01:06.250Z
>
"[{"_id":"5f2c0fd07772356c20f7b8ee","amount":0,"absolute":0,"enteredBy":"loop://Liam Edwards-Playne’s iPhone","rate":0,"created_at":"2020-08-06T14:12:30.000Z","eventType":"Temp Basal","duration":30,"temp":"absolute","timestamp":"2020-08-06T14:12:30Z","utcOffset":0},{"_id":"5f2c16f37772356c20f817c7","absolute":0,"eventType":"Temp Basal","amount":0,"rate":0,"duration":24.175180367628734,"temp":"absolute","timestamp":"2020-08-06T14:42:59Z","enteredBy":"loop://Liam Edwards-Playne’s iPhone","created_at":"2020-08-06T14:42:59.000Z","utcOffset":0},{"_id":"5f2c19f57772356c20f83fda","enteredBy":"loop://Liam Edwards-Playne’s iPhone","carbs":5,"absorptionTime":180,"created_at":"2020-08-06T14:55:40.000Z","eventType":"Meal Bolus","timestamp":"2020-08-06T14:55:40Z","utcOffset":0},{"_id":"8071E674-E9FC-40AE-97B0-EB7CFE08CFCE","correctionRange":[108.09352800003246,126.10911600003787],"eventType":"Temporary Override","reason":"
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.