Click here to Skip to main content
15,845,853 members
Articles / Desktop Programming / WPF

MediTracker - A health and medication tracking app

Rate me:
Please Sign up or sign in to vote.
4.94/5 (14 votes)
14 Jan 2014CPOL5 min read 35.3K   15   10
Keeps track of when to take your pills, what your blood sugar levels have been, and so much more.

This article is an entry in our AppInnovation Contest. Articles in this sub-section are not required to be full articles so care should be taken when voting.

Video Demo 

Contest Information

  • Target Platform - Tablet
  • Category - Healthcare
  • Overview - A personal health tracking system. Primarily focused on tracking timed events like taking pills, testing blood sugar, etc.
  • Description - See Description section below.
  • Approach Taken - See Approach Taken section below.
  • Coding Language - This is a C# WPF application written in .NET 4.5. Caliburn Micro is used for MVVM help and there are a couple APIs I use for looking up medicine names and other information.


Keeping track of when you took your last dose of a painkiller can be a pain. So can trying to remember if you took that daily pill. Well, MediTracker will make your life easier. Not only will it keep track of your medications, when you take them, when you need to renew them, and even when you can next take that "as needed" medication, it can also help you keep a health journal of all your health events. This might include sugar levels, weight, how you feel or anything else that might be relevant over the long term. Not only can this help you assess your long-term health, it can also be a great tool for your doctor.


MediTracker has the following features:

  • Pill Lookup - Get more information on the medicine you are taking.
  • Recurring Event Tracking - Tracks and reminds you of events such as taking your medicine (which also will let you know if you have taken that pill or not) or testing your blood sugar.
  • Countdown Tracking - Tracks when the last time was that you took a medication that is "as needed" and lets you know when you can take it again.
  • Health Diary - Lets you track your health history. Whether you are trying to get pregnant, tracking your blood sugar, or just looking to keep track of your health history, the diary is the place for your daily data. Your pill usage will be imported to the diary automatically.
  • Pharmacy Lookup - Based upon your GPS location, MediTracker will find pharmacies near you. This can help you when you are on vacation and need to get an emergency medication.
  • Health Data - Keep your health data in one place including doctor's contact information, health insurance information, pharmacy information, and any of those other bits of information that usually get lost in the shuffle of life.
  • Health Report - Print out, email or just display a report of recent activities. This is most useful for health professionals or other individuals that are helping you.


The MediTracker application is meant to be used by anyone that is responsible for their own health. One specific use case where MediTracker would shine is for a woman who is trying to get pregnant. She could track her cycles in the Health Diary. If she needs to take medications, MediTracker can help her stay on top of ensuring that she stays consistent with taking her pills on time every time.

Another specific use case is for a person who is trying to lose weight. There may be some medications to track, there will be weight to be entered into the diary, and the Health Report will be useful when talking to his or her doctor.

One final use case (that I am specifying - there are a number of other possible use cases) is for the individual that is away from home when a health event occurs. They will have their recent health information at hand for the emergency room physician, including what medications they are taking. Once they are released, the Pharmacy Lookup tool will help them identify where the nearest pharmacy is so that they can fill their prescriptions and get back to their vacation with a minimum of fuss. They can even use the Health Data to let their regular doctor know about their health event.

Approach Taken

To build this application, I first mapped it out. I identified what features I wanted and what technologies I wanted to maximize. I then assembled code bits for each technology. This allowed me to see what was possible. It also allowed me to make sure I could build this application in a reasonable amount of time. Since I have all of the code bits for all of the different items (GPS, API access, touch events, etc.), I just need to put the bits together like Legos and wire them up. Next, I laid out the user interface and got some advice on what would be an appealing and intuitive design. While this application is designed for anyone in their teens and up, I especially wanted to make it simple for an elderly person to use it since MediTracker would be extremely helpful for them.

Now that all of these steps have been completed, I now just need to wire everything up. That is the process I am in currently. I am building the user interface and wiring up the code bits to those interfaces.


Here is a screenshot of the Schedule, which includes which medications to take (as well as other health-related appointments) and which "As Needed" items have been taken and when you can take them again: 

Image 1

Here is a screenshot of the Records section, where you can store important health-related information including a picture of your health insurance card:

Image 2 

Finally, here is a screenshot of the Drugstore / Pharmacy lookup tool, which finds the nearest drugstore/pharmacy based upon your GPS location (and it tells you how far away they are):

Image 3 

Technologies Used

I use the following technologies in this application:

  • Touch - The application has been designed to be touched, not just clicked on.
  • GPS - Used to find the nearest pharmacy (or hospital, doctor, etc.)
  • WiFi - Used to access the medical APIs as well as to back up the data on Dropbox.
  • Portability - Used to take medical information to the doctor easily as well as to be there when life events happen.


MediTracker is the health tracker you have been looking for, even if you didn't know you were looking. It keeps track of all the details so you don't have to. Take charge of your health data by tracking it.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Written By
Software Developer (Senior) DeGarmo
United States United States
I am currently a Senior Software Developer at a company in Illinois called DeGarmo. My primary skills are in .NET, SQL, JavaScript, and other web technologies although I have worked with PowerShell, C, and Java as well.

In my previous positions, I have worked as a lead developer, professor and IT Director. As such, I have been able to develop software on a number of different types of systems and I have learned how to correctly oversee the overall direction of technology for an organization. I've developed applications for everything from machine automation to complete ERP systems.

I enjoy taking hard subjects and making them easy to understand for people unfamiliar with the topic.

Comments and Discussions

QuestionWhere is the source code? Pin
Dev Enthusiast11-Dec-14 18:18
Dev Enthusiast11-Dec-14 18:18 
AnswerRe: Where is the source code? Pin
Tim Corey12-Dec-14 5:21
professionalTim Corey12-Dec-14 5:21 
This is a closed-source project that was submitted as part of a contest on Code Project. Unlike a typical article on Code Project, this article is not designed to be an aid for other developers. Instead, it is designed to be a contest entry. Sorry.
QuestionWhat APIs Were Used? Pin
Clinton Gallagher15-Jan-14 11:42
professionalClinton Gallagher15-Jan-14 11:42 
QuestionGood one, but possible name clash? Pin
kiwerry13-Jan-14 8:36
kiwerry13-Jan-14 8:36 
AnswerRe: Good one, but possible name clash? Pin
Tim Corey13-Jan-14 8:51
professionalTim Corey13-Jan-14 8:51 
GeneralRe: Good one, but possible name clash? Pin
kiwerry13-Jan-14 11:45
kiwerry13-Jan-14 11:45 
GeneralRe: Good one, but possible name clash? Pin
CBWoodsr16-Jan-14 4:01
professionalCBWoodsr16-Jan-14 4:01 
GeneralRe: Good one, but possible name clash? Pin
Tim Corey16-Jan-14 4:26
professionalTim Corey16-Jan-14 4:26 
GeneralMy vote of 5 Pin
Volynsky Alex4-Sep-13 3:02
professionalVolynsky Alex4-Sep-13 3:02 
GeneralThanks! Pin
Kevin Priddle21-Aug-13 10:52
professionalKevin Priddle21-Aug-13 10:52 
GeneralMy vote of 5 Pin
DrABELL19-Aug-13 15:22
DrABELL19-Aug-13 15:22 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.