nightscout / cgm-remote-monitor

nightscout web monitor
GNU Affero General Public License v3.0
2.42k stars 71.74k forks source link

Include Menstrual Cycle (Period) Tracking #4571

Closed vcoulter closed 3 years ago

vcoulter commented 5 years ago

Is your feature request related to a problem? Please describe. I know that I have some significant changes in insulin sensitivity due to changes during my menstrual cycle. There are no diabetes apps that I have found that tracks this.

Describe the solution you'd like I would like to be able to add dates for when my period started and when I ovulated. I would like to be able to pull a report that would display full cycles, follicular and luteal phases so I can spot trends related to insulin sensitivity, basal rates, and carb ratios related to changing insulin sensitivity. E.g. 1, a layout like Week-to-Week but instead of weeks, have it be consecutive luteal phases. E.g. 2, a layout like Weekly success, but instead of weeks, have it be consecutive follicular phases. E.g. 3, a layout like the Percentile distribution, except with days on the x axis stretching from the beginning to the end of a cycle.

Any or all of these would start to get at data trends surrounding menstrual cycle.

Describe alternatives you've considered I have tried to find other diabetes apps with this information. I have tried including blood sugar data in other menstrual cycle track apps.

I could use a note, but there's no easy way to use notes to categorize data. I could pull individual reports based on data I keep in another app, but that would be extremely time consuming, and there's no way to overlay or compare that kind of time data on the same screen.

Additional context We all know that hormones significantly affect insulin sensitivity. This is an issue that affects a significant population of users.

I would be happy to work on some development, but this would be my first open source involvement and I'm not familiar with most modern coding languages, so I will need guidance.

unsoluble commented 5 years ago

This is a fantastic idea. Probably the first step will be to implement the data entry — I'd start by taking a look at the careportal code, see how things like BG readings, notes, sensor starts, etc. are created and referenced, then essentially clone one of them into these new event types.

(Start by making sure your dev branch is up to date, then create a new branch off of that to work in.)

vcoulter commented 5 years ago

Ok, I've updated my dev branch, looked at careportal and added "Menstrual Period Start" "Menstrual Period End" and "Menstrual Ovulation" as options in care portal, similar to the other options present. I tested it in a new app on heroku and everything displays ok. I added each one as an entry and can see them in my treatment database.

I'm poking through the reports plugins to see how those are set up, but is there anything that needs to happen with the careportal data before it is available for a report?

unsoluble commented 5 years ago

That's a great start. I'm not familiar enough with the data flow mechanisms or the reporting to advise on next steps. Maybe @sulkaharo or @PieterGit ?