CorruptedArk / did-i-take-my-meds

A Kotlin Android app to manage medications
GNU General Public License v3.0
175 stars 15 forks source link

Support for hormonal birth control schedule #40

Closed fohfuu closed 2 years ago

fohfuu commented 2 years ago

Is your feature request related to a problem? Please describe. Hormonal birth control is usually taken on a monthly cycle - taking the pill for 21 days, with a 7 day break before the next schedule - but I go for the increasingly common 3 month cycle (63 days taking the pill, 7 day break). As you can imagine, trying to keep track of how long you've been taking and when your breaks have been is a bit confusing. DITMM does not have this option as far as I can see.

Describe the solution you'd like Similar apps implement this by scheduling a dose for the days it's being taken, and simply not scheduling one on break days. This is presented as "21+7 cycle" and "63+7" cycle.

This works pretty well; ideally, I'd like the option to be reminded in the evening when the break is ending, but that would be a nice extra and not an essential feature.

Describe alternatives you've considered An alternative to not scheduling any dose during break days would be to schedule a placeholder with a visibly different reminder, like inverse colours, to prevent confusion. I don't see how this would be easier to implement, nor would I prefer it, but it's an option.

Note: tracking this schedule as the user running out meds, then automatically refilling that script after 7 days, wouldn't work. Multiple cycles' worth of pills can be prescribed at a time, and therefore the doses left function would cease to correctly function.

Additional context A significant portion of the population use hormonal birth control, and most who do take break days on one of these two schedules. Apps tracking birth control alongside other medications are popular. There aren't many FOSS pill trackers, so I have to keep a closed-source tracker as my main app at the moment. I'd love to switch to DITMM entirely but there are several features I need before I can do that, this is by far the most important one.

Thank you for the app!

CorruptedArk commented 2 years ago

I believe these schedules are technically possible to implement already, but extremely complicated. Adding an option for these common schedules should not be too difficult.

I like this and I will keep it in my list of goals for this app

CorruptedArk commented 2 years ago

I have considered this feature a high priority and have added it to the master branch. I intend to publish a release with it tonight.