This is a short description of the hardware solution that a group of us came up with at the hardware hackathon at the Hutt Library in Lower Hutt, Wellington, NZ, on the 6th of June, 2015. As a group we came together with a desire to play around with technology and problem solve, but with no other greater agenda. We were presented with a number of possible problems to play with and decided to have a go at solving this one. None of the group are healthcare professionals, but the problem was framed by one.
The problem:
For patients it can be difficult to adhere to a medication regime because they must remember to take their medication regularly. The common solution to this problem is for pharmacists to package prescriptions in individual doses in blister-pack units, with each unit labelled with the date and time that it should be ingested. This is a passive solution, as it relies on the patient to remember to retrieve the blister-pack at the correct time and ingest the correct unit. For some patients this is a non-trivial task.
For patients with a reduced mental capacity this is exacerbated further, as they can become disoriented and lose track of both the date and time. This can lead to further complications, such as skipping doses and then taking multiple doses of medication at a time. The solution to these problems is manpower intensive and requires having a caregiver present to ensure that the medication is taken appropriately.
Our challenge was to provide a solution that assists the patient in remembering when to take medication, identifying what medication to take, assists the caregiver in monitoring what medication has been taken, and in particular circumstances alerts the caregiver when medication has been missed.
Considerations:
Some points to consider were that
- often patients in this predicament are on health benefit with restricted income, so the solution would need to be cost-effective
- the medication and frequency of dosage are both moving targets that are revised according to the patients condition
- there is no point in attempting to replace the role of the caregiver as they perform a number of other important functions. However, the solution should work towards alleviating the number of visits that they would have to make.
What we chose to focus on:
There was only so much we could achieve within the hackathon time period, so we chose to focus on a limited subset of the problem with the notion that it could serve as a small proof-of-concept that could be expanded further.
We identified the critical criteria as:
- Alerting the patient that it was time to take medication
- Identifying the correct medication to take
- Alerting the caregiver or patient if medication was missed
We chose to defer:
- Changes in the scheduling as this would require either a flexible dispensing device, or an input device to program a schedule
- A locking mechanism that would prevent the patient from taking doses that weren't for the identified period
- A measuring system to determine whether the medication has been removed from the unit
Our Solution
Our solution attempts to be as familiar as possible to the current, passive, blister-pack solution. We decided to add the following user-interaction to the device:
- When a scheduled time is reached, the device sounds an alarm
- This alarm continues until the patient deactivates it by pressing a button, or a threshold period is reached. This forces the patient to retrieve the device and interact with it.
- When the alarm sounds, the correct unit becomes illuminated by an LED. This LED remains illuminated for a period after the alarm is deactivated to allow the patient to identify the correct dose to take, and to retrieve it.
- If the alarm reaches its cutoff threshold without being interacted with by the patient, a txt message is sent to a predetermined caregiver and/or the patient to alert them that the medication has not been taken.
We had to make some assumptions, namely that if the patient had turned the alarm off, that they would subsequently also take the medication.
Hardware
The hardware we used to prototype this solution was:
- An Arduino UNO-esque Makerduino UNO
- An Arduino Electronic Brick Shield (for easy breakout)
- A GPRS/GSM Shield for Arduino UNO R3
- 3x Red EB (Electronic Brick) LED
- An EB Push Button
- An EB Buzzer
- A 9V battery and connector
Connector wires and whatnot
All components were from Maker Studio
We also tried using an RTC brick (Real Time Clock), but found that it conflicted with the serial communication of the GPRS/GSM shield, and didn't have time to troubleshoot it adequately.
This diagram shows the basic layout though I'd double check the pin assignment if trying to replicate.
We managed to mockup a little container in cardboard with a lower area housing the electronics, button and buzzer, with three pill units on top, each with an led on it. Unfortunately we forgot to take a photograph of this :)
Software
The source is in the associated GitHub branch and it is quite trivial so the best explanation is via the comments in it. We leverage the Time and Time Alarms libraries to create three example alarm triggers. We also leveraged the MakerStudio library for the GPRS/GSM shield that is available here.
The alarms are mocked and would require figuring out an RTC solution to make this viable.
The active pill box can be loaded in the same fashion as a conventional, passive blister-pack, and the caregiver can easily identify which doses have not been taken simply by looking at which units still have their contents.
Thanks to Richard Fortune, Walter Langelaar, Eleanor Howick (@elfnor)and George Marcotte for a fun day of problem solving.