Medication Reminder

Development Status: Active – Beta

Click here for the Change Log.

Click here for a list of planned features / work remaining.

Click here to go to the web app.

Main Features: (implemented or pending)

  • Pure HTML5 / CSS3 / Javascript web application (compatible with computers and most smartphones)
  • HTML5 localstorage for offline usage
  • Medication repetition similar to Google Calendar event repetition
  • Auto-complete pre-populated with ~1500 prescribed medications
    • Generic and Brand Name
  • History of actual time medication was taken
  • Scheduled notification reminders to take medication – Planned (dependent on PhoneGap’s capabilities)

Development Notes:

This is my first project using Subversion for version control, and I’m glad to have it up and running. Now I can work on this project (and future projects) from anywhere. The change log will also be populated by the Subversion commit comments…hopefully.
This project started off as a proposition from my sister, which I agreed to; realizing it would not only give me more experience developing web applications but also another project to include on a resume and serve as an example of work.
I quickly implemented an idea of a simple one-touch method to let the app know you’ve taken a medication, found here. (Click the “Add Pill” button, give it any name and click “Add”, then click the check icon to see it record the timestamp)
From there I began researching HTML/Javascript based event calendars but was unable to find anything free that completely met my needs. I first tried FullCalendar (see attempt here), but that did not have built in support for repetitions. I glanced at an iCalendar implementation (since iCal is a standardized format with support for repetitions) but it was only for generating iCal events without any actual calendar rendering.
Then I settled on jQueryUI’s datepicker. I was able to change it to a fluid layout sized calendar and populate the days with information. Even though FullCalendar could already do this, I wasn’t able to quickly figure out how to implement repetitions using their format whereas with jQuery UI’s datepicker, there was no format so I could use whatever method I was using to keep track of the data.
With the calendar view decided, the last major hurdle was implementing repeating events. Not knowing what format to use, I decided to mimic Google’s Calendar repetition, which worked quite well. For storage, I’m simply keeping track of any event IDs associated with a particular date.
Just about all that’s left is touching up the user interface (adding success / warning / error CSS classes and fixing errors in the expected logical flow of the user interface) and then I’m ready to convert it to a PhoneGap app to try implementing scheduled notifications.

Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *