Medico - Design Document
Page under construction
This set of pages represent the full design document for the medico project. For an overview on the medico project, please see it's project page
medico will be an open source Windows Forms application, written in C#, designed to annoy the user until they have taken their medication.
|Written in||C#, .NET|
medico is dedicated to the memory of Leigh Fisher, who passed away, at the age of 32, shortly before Christmas 2013. He was a close, personal friend of Jamie's.
Leigh's medication regimen was quite strict during the final year of his life, and he would follow this procedure everyday:
- Take his first medication shortly after waking
- Manually create a series of alarms on his mobile devices, one alarm for each the doses of his medication
- Nap, rest or take it easy until it was time to take his medication (the alarm would wake him)
All of his medication was time based, so he would have to set each of the alarms at the beginning of the day - MANUALLY. What he wanted was an app that would set all of the alarms for him when he took his first dose in the morning. Should his miss or delay a dose, the later alarms would be put on hold until he took his allotted dose, then all alarms based after that one would cascade AUTOMATICALLY.
Biff is on a strictly enforced, timetabled, prescribed medicine regimen.
To help him remember to take his medication, Biff sets a selection of alarms on his smart phone. The problem is that he has to do this manually. Biff has no central control for this, so he has to set an array of alarms each day.
What of Biff forgets to set an alarm?
medico (stylised in all lower-case letters) could help with the problem described in the above example. medico is a smartphone app and (possibly) web service. medico's primary aim is to mark it easier for users to keep track of any medication that they are prescribed.
Almost everyone has a smart phone these days, so why not use that computing power to annoy and remind people to take their medication?
medico allows users to add all of their current medications to it's internal database. medico will then automatically generate all of the necessary alarms and notifications for the user and display them with "yes/no", "taken/delayed" style prompts. Based on the user's answer to these prompts, the alarm or prompt will be silenced.
The project will be split into several components, each with their own code name:
* Potter - The messaging system * Klinger - The Scheduler * Radar - Alarm Subsystem * Hawkeye - Notifications System * BeaJay - User Interface Management * Winchester - File Parser
For a description of each of the components, see the Components page
Medicine Class Format
All medications entered into medico (and thus stored in the database) are represented by the Medicine Class Format, for more information see the class format pages