PRE2016 3 Groep9: Difference between revisions

From Control Systems Technology Group
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
== Medicine/pill dispenser system ==
== Medicine/pill dispenser system ==


Line 83: Line 82:
Last few years there are more projects and product developments ongoing that work on smart medicine dispenser systems, like the one we want to create. For instance we encountered a product/project on Kickstarter, Lumma automated medication sorter and dispenser (Kickstarter, Lumma).
Last few years there are more projects and product developments ongoing that work on smart medicine dispenser systems, like the one we want to create. For instance we encountered a product/project on Kickstarter, Lumma automated medication sorter and dispenser (Kickstarter, Lumma).


----
---
 
 
== Planning ==
== Planning ==
This part describes a general planning of our project, including important milestones.
This part describes a general planning of our project, including important milestones.
Line 130: Line 127:


----
----
== Software Design ==
The software of the Smart Medicine Dispenser System (SMDS) is comprised of three parts: [[File: SMDS_Application_layout.png|200px|thumb|Figure 5: Schematic layout of the application architecture]] [[File: SMDS_ERD.png|200px|thumb|Figure 5: Database ERD]]
* The cloud service which contains the data for all users and also is the main hub for all communication between users and devices
* The web portal, which allows professionals such as doctors and pharmacists to change doses or get alerts when refills are due respectively
* The device client, which is the software that runs on the medicine dispenser. Besides releasing the doses, it also provides a graphical user interface for the patients where they can see what doses are due
The architecture of the entire system is schematically presented in figure 5, and the layout of the database is described with the entity relation diagram in figure 6.
'''Cloud Service'''
The cloud service is a server program, written in the Go programming language<ref>The Go Programming language, https://www.golang.org</ref>. For its data storage it uses a relational SQL database (MySQL in this case). Clients can communicate with this service using a RESTful JSON API, optionally in combination with a WebSockets based API called the "dispatcher" which provides real-time updates on data to the client. Once a client user is authenticated, it has to send a JSON Web Token (JWT) <ref>JSON Web Tokens, https://jwt.io</ref> with each subsequent request which the service uses to authenticate the user. Based on the role of the client, certain actions will be available or unavailable.
'''Web Portal'''


The web portal is an application which can be used through a web browser, and is meant for professionals to monitor and change the medication usage of their patients. It communicates with the cloud service through HTTP and WebSockets. The application is written in TypeScript<ref>TypeScript - JavaScript that scales, https://www.typescriptlang.org</ref>, using the Angular framework<ref>Angular, https://angular.io</ref>, amongst several other libraries.
'''Device Client'''
The device client is the software that is running on the device (Raspberry Pi in this case). It has its own internal database which contains a relevant subset of the database in the cloud. It is written in Python <ref>Python, https://www.python.org</ref>, and uses the Kivy NUI framework <ref>Kivy: Cross-Platform Python Framework for NUI Development, https://kivy.org/</ref> to provide a graphical user interface. It communicates with the cloud service through the HTTP REST API, and for a set time interval, it pulls the relevant data from the service and updates its own local relation SQL database if any changes have occurred. When a dose has been taken, it will also communicate this back to the cloud service.
'''Code Repositories'''
All code written for the project is openly available on GitHub, and can be found under the following URLS:
* Cloud service + web portal: https://github.com/DirkWillem/0LAUK0-project
* Device Client: https://github.com/DirkWillem/0LAUK0-Project-DeviceClient
----
== The design process/progress ==
== The design process/progress ==
This part of the wiki page describes our design progress per week, it contains the main struggles and important choices.
This part of the wiki page describes our design progress per week, it contains the main struggles and important choices.
Line 143: Line 170:
'''Week 2'''
'''Week 2'''


In the second week most time was spent researching the state-of-the-art, literature, etc. However a big part of the software was designed. [[File:CAD_sketch1.png|200px|thumb|Figure 5: CAD sketch of potential module]]
In the second week most time was spent researching the state-of-the-art, literature, etc. However a big part of the software was designed. [[File:CAD_sketch1.png|200px|thumb|Figure 7: CAD sketch of potential module]]




'''Week 3 + Carnaval holiday'''
'''Week 3 + Carnaval holiday'''


In the third week the work on the design was resumed. A first CAD sketch of a potential module was made (figure 5), this design would be for round (paracetamol shape) pills. The pills are stacked in the ‘tubes’, disk 1 will turn until a pill falls through the hole in disk 2. The advantage of this design is that it is almost impossible to accidently dispense two pills at once (instead of one) and pills won’t get stuck. However a major disadvantage of this system is that the pills have to be loaded one by one, since they must be stacked nicely in the tubes.
In the third week the work on the design was resumed. A first CAD sketch of a potential module was made (figure 7), this design would be for round (paracetamol shape) pills. The pills are stacked in the ‘tubes’, disk 1 will turn until a pill falls through the hole in disk 2. The advantage of this design is that it is almost impossible to accidently dispense two pills at once (instead of one) and pills won’t get stuck. However a major disadvantage of this system is that the pills have to be loaded one by one, since they must be stacked nicely in the tubes.
An alternative is to have some kind of funnel and a wheel/disk with gap beneath the funnel. This would take away the disadvantage of stacking the pills in tubes, since the pills can just be dropped in the funnel. However this will increase the chance that two pills get stuck in the narrow part of the funnel, therefore we have to find out what the best shape is to prevent this.
An alternative is to have some kind of funnel and a wheel/disk with gap beneath the funnel. This would take away the disadvantage of stacking the pills in tubes, since the pills can just be dropped in the funnel. However this will increase the chance that two pills get stuck in the narrow part of the funnel, therefore we have to find out what the best shape is to prevent this.


Line 165: Line 192:
:Evondos. Evondos e300 automatic medicine dispenser. Retrieved from http://evondos.com/service/evondos-e300-automatic-medicine-dispenser/, 22 February 2017
:Evondos. Evondos e300 automatic medicine dispenser. Retrieved from http://evondos.com/service/evondos-e300-automatic-medicine-dispenser/, 22 February 2017
:Kickstarter. Lumma, automated medication sorter and dispenser. Retrieved from https://www.kickstarter.com/projects/402921688/lumma-automated-medication-sorter-and-dispenser, 23 February 2017
:Kickstarter. Lumma, automated medication sorter and dispenser. Retrieved from https://www.kickstarter.com/projects/402921688/lumma-automated-medication-sorter-and-dispenser, 23 February 2017
<references/>


== Sources ==
== Sources ==

Revision as of 13:46, 5 March 2017

Medicine/pill dispenser system

Group 9
Chiel Düthmann
Dirk van Wijk
Jasper Hoek
Mark van der Pas
Yoshi de Laat
Maija Rintala



Introduction

More and more people, especially elderly, have complex medication disciplines, with a whole range of different medicines. It is important to take the right medicines, in the right dose, at the right time. Missing a dose or taking more medicines than necessary could lead to dangerous situations, but also taking medicines that don’t go together at the same time, may have negative consequences. In 2013 almost 49,000 people older than 65 were admitted to the hospital because of wrong medication use, of which 48% could have been prevented (‘Vervolgonderzoek Medicatieveiligheid’). A system that would remind the user to take his medicines and dispenses the right medicines at the moment they have to be taken, would prevent a big part of these situations. The electronic devices and internet connection in your house provides extra possibilities for such a system. Therefore we want to design a smart system that dispenses medicines. This system will have the basic function of a medicine dispenser: dispense the right medicines and notify the user if he/she has to take his medicines by an alarm. However, because it will be connected to the internet, there are extra possibilities for notifications on smartphone and an automatic update of the medication discipline if the doctor’s prescription changes. This wiki page will describe our project, including state-of-the-art, literature research, and the design process.


Goals
Design a simple and safe medicine dispenser
Easy to use, especially for elderly and disabled
Smart; uses internet of things
Secure
Easy to refill


Challenges
What are critical parts of the system?
What functions should the design include?
What will the interface look like?
Who is responsible if something goes wrong?
How to design a dispenser that doesn't jam?
How will the device function without an internet connection?
How is it refilled?
Will this increase the workload of doctors?


Approach
Conduct a literary study of existing technology to achieve our goals and solve our challenges
Design the prototype
Build the prototype
Program the prototype



USE Aspects

We've regocnized these USE groups relevant to our design:

User: Doctors, Pharmacists, Patients

Society: Elderly, Disabled people, Elderly care workers, Medical Institutions, Family of users

Enterprise: Pharmaceuticals



State of The Art

There are various non electronic ways to assist people in taking the right medicines at the right moment. For instance the box system like in figure 1

Figure 1: A simple medicine box

, it consist of seven boxes, one for each day of the week, and every box has four compartments corresponding to four times of the day (morning, noon, afternoon and evening). The user can simply take out the box in front and take the medicines out every time this is needed. Another existing system is the medication roll (figure 2)

Figure 2: Medication roll

. This roll consists of plastic pouches filled with the medicines for a moment on the day (which moment is indicated on the pouches). The pharmacy can provide these rolls filled with all medicines.

A major disadvantage of both systems is that the user still can forget to take his medicines, since there is no alarm, it also has no warning system if a dosage is missed, and the user can accidently take the medicines from the wrong box or pouch. Another disadvantages of the medication roll is that if there is a change in the medication discipline this cannot be changed immediately, since the medicines for the coming week(s) are already packed in plastic. Next to these systems there are also various electronic medicine dispenser systems on the market, most of them are quite basic, however there are also some more advanced ones.

Electronic medicine boxes

One of the more basic systems is the electronic medicine box, like the MedMinder (figure 3)

Figure 3: Electronic medicine dispenser box

. . The system has 28 trays each can be loaded with one dosage. For how many weeks/days the dispenser can be filled depends on the number of dosages per day, for instance with two dosages per day the dispenser can hold two weeks of medication. If a dosage has to be taken, the right compartment will unlock and a led will blink. The system can be extended with different types of reminders (like a bracelet), a telephone connection and a medical alert function.

E-pill

E-pill (figure 4) is a round device where you load in the medication discipline for the coming days, like in the medicine box so each box contains the medicines for one moment in time. The date and time of the alarm can be set. If the user has to take the medicines, the disk will rotate to the right box, an alarm will sound and the medicines can be taken out. E-pill has some variants, but they all work basically the same.

Figure 4: E-pill medicine dispenser

Philips Lifeline

The device of Philips works somewhat the same as the e-pill device. The medicines are loaded into cups and placed into the dispenser. An extra advantage of the system of Philips is that it can connect to the telephone line, so someone can be notified if a dose is missed. (Philips Lifeline)

Evondos E300

The Evondos E300 is a compact system where you load in a medication roll with the right doses of the medicines, delivered by your pharmacy. It gives an alarm if the user has to take his or her medicines and by a push on the button the right medicine dose comes out. This system has a display where instructions on how to take the medicines can be shown and it is connected to the caregiver’s Telecare system by the internet. So when medicines are not taken this can be notified. (Evondos)

Last few years there are more projects and product developments ongoing that work on smart medicine dispenser systems, like the one we want to create. For instance we encountered a product/project on Kickstarter, Lumma automated medication sorter and dispenser (Kickstarter, Lumma).

---

Planning

This part describes a general planning of our project, including important milestones.


Week 2

Literature study (state-of-the-art)
Define objectives + deliverables


Week 3 + Carnaval holiday

Determination of all functions of the robot (pill dispenser)
Designing the pill dispenser paper so we know what to order
Determine what functions the prototype will have and how we will build it (materials, electronics, etc.)
Literature study (continued)
Start on software design


Week 4

CAD sketch (based on sketch on paper)
Gathering + ordering parts needed for the dispenser prototype


Week 5

Finish software, build prototype


Week 6

Finish prototype


Week 7

Test prototype


Week 8

Final presentation
Finish wiki


Every week

Update wiki with project and design progress, including description of the state-of-the-art and USE aspects.



Software Design

The software of the Smart Medicine Dispenser System (SMDS) is comprised of three parts:

Figure 5: Schematic layout of the application architecture
Figure 5: Database ERD
  • The cloud service which contains the data for all users and also is the main hub for all communication between users and devices
  • The web portal, which allows professionals such as doctors and pharmacists to change doses or get alerts when refills are due respectively
  • The device client, which is the software that runs on the medicine dispenser. Besides releasing the doses, it also provides a graphical user interface for the patients where they can see what doses are due

The architecture of the entire system is schematically presented in figure 5, and the layout of the database is described with the entity relation diagram in figure 6.

Cloud Service

The cloud service is a server program, written in the Go programming language[1]. For its data storage it uses a relational SQL database (MySQL in this case). Clients can communicate with this service using a RESTful JSON API, optionally in combination with a WebSockets based API called the "dispatcher" which provides real-time updates on data to the client. Once a client user is authenticated, it has to send a JSON Web Token (JWT) [2] with each subsequent request which the service uses to authenticate the user. Based on the role of the client, certain actions will be available or unavailable.

Web Portal

The web portal is an application which can be used through a web browser, and is meant for professionals to monitor and change the medication usage of their patients. It communicates with the cloud service through HTTP and WebSockets. The application is written in TypeScript[3], using the Angular framework[4], amongst several other libraries.

Device Client

The device client is the software that is running on the device (Raspberry Pi in this case). It has its own internal database which contains a relevant subset of the database in the cloud. It is written in Python [5], and uses the Kivy NUI framework [6] to provide a graphical user interface. It communicates with the cloud service through the HTTP REST API, and for a set time interval, it pulls the relevant data from the service and updates its own local relation SQL database if any changes have occurred. When a dose has been taken, it will also communicate this back to the cloud service.

Code Repositories

All code written for the project is openly available on GitHub, and can be found under the following URLS:



The design process/progress

This part of the wiki page describes our design progress per week, it contains the main struggles and important choices.


Week 1

The first week was a startup week. After the subject was chosen, we started with discussing about the design of the dispenser and we determined the requirements of the design. While discussing about the design, it appeared that the dispense mechanism will be the crucial and most complicated part of the design. This mechanism has to dispense one pill at a time, without getting stuck and damaging the pill, and because there is a large variety in shapes and sizes of pills, this will be a complicated problem. Various mechanisms were discussed and we decided that the best option was to have a wheel/disk with a gap customized for one type of medicine. This wheel will be integrated in a module, so for every similar type of pill there will be a module with a wheel/disk, for instance one for round (paracetamol shape) pills, one for capsule shapes, etc. We also discussed how we will build the prototype, what materials, electronics, etc. The prototype will contain an interactive display, we will use a Raspberry Pi with touchscreen for this function. For the dispense mechanism we need a servo or stepper motor and an Arduino for controlling them. The frame of the prototype will probably consist of wood, however it will be necessary to 3D print most of the design specific parts, like the wheel/disk with gap.


Week 2

In the second week most time was spent researching the state-of-the-art, literature, etc. However a big part of the software was designed.

Figure 7: CAD sketch of potential module


Week 3 + Carnaval holiday

In the third week the work on the design was resumed. A first CAD sketch of a potential module was made (figure 7), this design would be for round (paracetamol shape) pills. The pills are stacked in the ‘tubes’, disk 1 will turn until a pill falls through the hole in disk 2. The advantage of this design is that it is almost impossible to accidently dispense two pills at once (instead of one) and pills won’t get stuck. However a major disadvantage of this system is that the pills have to be loaded one by one, since they must be stacked nicely in the tubes. An alternative is to have some kind of funnel and a wheel/disk with gap beneath the funnel. This would take away the disadvantage of stacking the pills in tubes, since the pills can just be dropped in the funnel. However this will increase the chance that two pills get stuck in the narrow part of the funnel, therefore we have to find out what the best shape is to prevent this.

Since the system will have a separate module for every type of medicine, every module must have a motor/servo to dispense the pills, then there are two options where to place the servo:

In the module (connect it to the system by simply plugging in the electronic pins)

- Advantage: it is easy to connect a module to the system.
- Disadvantage: the modules will be quite big and more fragile.

On the system (connect the modules by a gear)

- Advantage: smaller and less fragile modules.
- Disadvantage: more difficult to connect modules to the system.

References

Vervolgonderzoek Medicatieveiligheid, opgesteld voor het Ministerie van VWS. January 2017
Philips Lifeline. Lifeline Philips. Retrieved from https://www.lifeline.philips.com/health-solutions/health-mdp.html, 22 February 2017
Evondos. Evondos e300 automatic medicine dispenser. Retrieved from http://evondos.com/service/evondos-e300-automatic-medicine-dispenser/, 22 February 2017
Kickstarter. Lumma, automated medication sorter and dispenser. Retrieved from https://www.kickstarter.com/projects/402921688/lumma-automated-medication-sorter-and-dispenser, 23 February 2017
  1. The Go Programming language, https://www.golang.org
  2. JSON Web Tokens, https://jwt.io
  3. TypeScript - JavaScript that scales, https://www.typescriptlang.org
  4. Angular, https://angular.io
  5. Python, https://www.python.org
  6. Kivy: Cross-Platform Python Framework for NUI Development, https://kivy.org/

Sources

Figure 1: http://www.winkelmetzorg.nl/a-15208551/medicijnendoos-of-pillendoos-met-alarm-hulpmiddelen-met-alarm/pillendoos-met-braille-medicijnendoos-met-braille-medidaily-pillen-bewaar-opbergdoos/
Figure 2: https://www.efarma.nl/pages/sectieinfo.asp?SUBSC=16010
Figure 3: https://www.medminder.com/
Figure 4: http://www.epill.com/dispenser.html