No matter what someone's personal situation may be, at one point or another everyone will require medical attention. Whether you're sick, hurt, or just want a check-up, a trip to the doctor's office is just a necessary part of life. However, this can become an issue when personal matters affect the doctor's availability: there could people travelling by boat, plane, car or train who are unable to access a doctor at the time of an emergency; if an area is low-income, this could prevent people from getting the medical help that they need; even a person's medical issues could prevent them from being able to travel to a doctor in time to get proper help. However, this can all change with the use of Mediosk, a medical kiosk that brings the doctor to you, no matter where you are!

What it does

With Mediosk, anyone can get medical help when they need it. The user starts by swiping their government-issued ID card. This will upload their personal information to the system. The users can then manually update or add any additional info before signing in to the system. From there, the user is given the choice to choose their ailment's symptoms from a list, or to use Mediosk's collection of sensors to take an on-the-spot checkup. Once the user's medical information is collected, this info will be sent to the user's doctor. The doctor will then review the information, and if necessary, video-conference with the user to confirm any details. From there, the doctor can then dispense a precise prescription of medication from the kiosk's on-board collection, concluding the user's treatment.

How we built it

The web-based front-end that collects the user's personal and medical information is made of HTML, CSS, and Javascript, and is hosted on a web server on a Raspberry Pi. This Raspberry Pi is also connected to Google's Google Cloud Storage and Google VM API's, which receives and saves the information inputted by the user so that it can be accessed by the user's doctor. The Raspberry Pi uses Python to collect and sort the user's medical info, then displays automated advice for the user (i.e. certain ailments can warrant the system advising that an ER trip is necessary). There is an Arduino on board as well as a temperature sensor and an ultrasonic sensor that can allow the user to take part in an on-the-spot physical check up. The Raspberry Pi is also equipped with camera, so the user's doctor can contact the user to provide any medical advice or instructions. After the doctor's consultation is over, they have the option of dispensing a prescription from the kiosk's storage. The medication is stored in a 3D-printed container attached to the kiosk, which also has a solenoid attached to the system's Arduino. The doctor can issue a command through the Raspberry Pi, which can dispense medication from the storage container by turning the solenoid on and off repeatedly until the desired amount of medication is dispensed.

Challenges we ran into

The biggest challenge we ran in to during our 36-hour time limit was finding a feasible way to take the user's information from the web form and transfer it into data for Python to analyze. This issue started with our team spending a significant amount of time trying to utilize 8Base's API and React to gather this data. With time being such a valuable resource, we decided to switch gears and use pure HTML. However, this again became an issue that consumed a great deal of time as we struggled to format the CGI library with Python. Another issue that presented itself was our team's lack of necessary sensors. We had originally hoped to add blood pressure and heart rate to the system's check-up component, but because we did not have these sensors available to us, our final functionality was limited when compared to our initial plans.

Accomplishments that we're proud of

Our team is proud of a few accomplishments that we made with this system. First of all, we are proud that we successfully managed to access and utilize Google's Cloud Storage and VM API's, as these are tools that we had never used before that were initially quite daunting. Our team is also proud of the functional and aesthetic qualities of our system's front-end. Finally, our team is proud of the aesthetic and functional appeal of our system's physical side.

What we learned

With this project, our team learned all about using the Google Cloud Platform, as well as the complexities of accessing data from HTML forms. We also learned more about and gained experience on connecting and efficiently running a system made with Raspberry Pi and Arduino.

What's next for Mediosk

If our team was given more resources, we would like to add more medication storage and dispensers, as well as create a more efficient and user friendly front-end. We would also like to use the system's magnetic card swipe to implement credit/debit payments. We would also like to add more sensors to system for the check-up aspect, including a heartbeat sensor and blood pressure sensor. Even though we added a video aspect to the system, we would like to add completed video conferencing to the system, with both live video feed and audio communication.

Built With

Share this project: