## Inspiration

One of the 6 most common medication problems in an ageing population comes from the scheduling and burden of taking several medications several times a day. At best, this can be a hassle and an annoying process. However, it is often more likely than not that many may simply forget to take certain medication without supervision and reminders which may result in further deterioration of their health. In order to address this issue to make living healthy a smoother process for the ageing population as well as provide better support for their healthcare providers, MediDate was born. Designed with the user in mind, the UI is simple and intuitive while the hardware is also clean and dependable. The diversity of features ensures that all aspects of the medication and caretaking process can be managed effectively through one comprehensive platform. A senior citizen now has a technological solution to one of their daily problems, which can all be managed easily by a caretaker or nurse.

## What it does

MediDate is a combination of hardware components and a web application. The hardware aspect is responsible for tracking dosage & supply for the patient as well as communicate issues (such as low supply of medication) to the web application and the caretaker. The web application is made up of several different features to best serve both patient and caretaker. Users are first brought to a welcome page with a daily schedule of their medications as well as a simulation of the pillbox below to keep track of total medication supply. When the web app detects that supply is below a certain threshold, it will make calls to local pharmacies to reorder the medication.

Along the side navigation bar, there are several features that the users can take advantage of including a notifications page, monitoring pharmacy orders, uploading new subscriptions, and descriptions of their current medication. The notifications page is pretty self-explanatory, it keeps track of any notifications patients and/or caretakers should be aware of, such as successful prescription uploads, low medication supply, and errors in uploads. The upload page allows users to take photos of new prescriptions to upload to the web app which will then make the appropriate processes in order to add it to both the schedule and the explanation bar through RX numbers, dates, etc... Finally, the prescription pages offer quick shortcuts for descriptions of the medication to make understanding meds easier for users.

In order to be as accessible as possible, an Alexa skill has also been created to support functionality from the web application for users to interact more directly with the caretaking solution. It currently supports limited functionality including querying for today's prescription, descriptions of different medication on the patients' schedules, as well as a call for help function should the need arise. This aspect of MediDate will allow more efficient service for a larger population, directly targeting those with vision impairment.

Another feature was integrated using Twilio's SMS API. For the convenience of the user, a notification text would be sent to a registered Pharmacy phone number with details of prescription requirements when the current pill inventory fell below an adjustable threshold. Pharmacies could then respond to the text to notify the user when their prescription was ready for pick-up. This enables seamless prescription refills and reduces the time spent in the process.

## How I built it

**Hardware**
Powered by an Arduino UNO, buttons were attached to the bottom of the pillbox to act as weight sensors for pills. When pills are removed, the button would click "off", sending data to the web application for processing. We used CoolTerm and a Python script to store Arduino inputs before passing it off to the web app. This aspect allows for physical interaction with the user and helps to directly manage medication schedules.

**Google Cloud Vision**
In order to turn images of prescriptions into text files that could be processed by our web app, we used Google Cloud Vision to parse the image and scan for relevant text. Instead of running a virtual machine, we made API calls through our web app to take advantage of the free Cloud Credits.

**Backend**
Scripting was done using JavaScript and Python/Flask, processing information from Cloud Vision, the Arduino, and user inputs. The goal here was to send consistent, clear outputs to the user at all times.

**Frontend**
Built with HTML, CSS, bootstrap, and javascript, the design is meant to be clean and simple for the user. We chose a friendly UI/UX design, bright colours, and great interface flow.

**Alexa Skill**
Built with Voiceflow, the intents are simple and the skill does a good job of walking the user through each option carefully with many checks along the way to ensure the user is following. Created with those who may not be as familiar communicating with technology verbally, MediDate is an excellent way to integrate future support technologies seamlessly into users' lives.

**Twilio SMS**
The Twilio SMS API was integrated using Python/Flask. Once the pill inventory fell below an adjustable pill quantity, the Twilio outbound notification text workflow is triggered. Following receipt of the text by pharmacies and the preparation of prescriptions, a return text triggers a notification status on the user's home page.

## Challenges I ran into

Flask proved to be a difficult tool to work with, causing us many issues with static and application file paths. Dhruv and Allen spent a long time working on this problem. We were also a bit rusty with hardware and didn't realize how important resistors were. Because of that, we ran into some issues getting a basic model set up, but it was all smooth sailing from there. The reactive calendar with the time blocks also turned out to be a very complex problem. There were many different ways to take on the difference arrays, which was the big hurdle to solving the problem. Finding an efficient solution was definitely a big challenge.

## Accomplishments that I'm proud of

Ultimately, getting the full model off the ground is certainly something to be proud of. We followed Agile methodology and tried (albeit unsuccessfully at times) to get a minimum viable product with each app functionality we took on. This was a fun and challenging project, and we're all glad to have learned so much in the process.

## What's next for MediDate

The future of MediDate is bright! With a variety of areas to spread into in order to support accessible treatment for ALL users, MediDate is hoping to improve the hardware. Many elderly also suffer from tremors and other physical ailments that may make taking pills a more difficult process. As a result, implementing a better switch system to open the pillbox is an area the product could expand towards.
## Inspiration

Automation is at its peak when it comes to technology, but one area that has lacked to keep up, is areas of daily medicine. We encountered many moments within our family members where they had trouble keeping up with their prescription timelines. In a decade dominated by cell phones, we saw the need to develop something fast and easy, where it wouldn’t require something too complicated to keep track of all their prescriptions and timelines and would be accessibly at their fingertips.

## What it does

CapsuleCalendar is an Android application that lets one take a picture of their prescriptions or pill bottles and have them saved to their calendars (as reminders) based on the recommended intake amounts (on prescriptions). The user will then be notified based on the frequency outlined by the physician on the prescription. The application simply requires taking a picture, its been developed with the user in mind and does not require one to go through the calendar reminder, everything is pre-populated for the user through the optical-character recognition (OCR) processing when they take a snap of their prescription/pill bottle.

## How we built it

The application was built for Android purely in Java, including integration of all APIs and frameworks. First, authorization of individualized accounts was done using Firebase. We implemented and modified Google’s optical-character recognition (OCR) cloud-vision framework, to accurately recognize text on labels, and process and parse it in real-time. The Google Calendar API was then applied on the parsed data, and with further processing, we used intents to set reminders based on the data of the prescriptions labels (e.g. take X tablets X daily - where X was some arbitrary number which was accounted for in a (or multiple) reminders).

## Challenges we ran into

Working with the OCR Java framework was quite difficult to implement into our personalized application due to various dependency failures - it took us way too long to debug and get the framework to work *sufficiently* for our needs. Also, the default OCR graphics toolkit only captures very small snippets of text at a single time whereas we needed multiple lines to be processed at once and text at different areas within the label at once (e.g. default implementation would allow one set to be recognized and processed - we needed multiple sets). The default OCR engine wasn't quite effective for multiple lines of prescriptions, especially when identifying both prescription name and intake procedure - tweaking this was pretty tough. Also, when we tried to use the Google Calendar API, we had extensive issues using Firebase to generate Oauth 2.0 credentials (Google documentation wasn’t too great here :-/).

## Accomplishments that we're proud of

We’re proud of being able to implement a customized Google Cloud Vision based OCR engine and successfully process, parse and post text to the Google Calendar API. We were just really happy we had a functional prototype!

## What we learned

Debugging is a powerful skill we took away from this hackathon - it was pretty rough going through complex, pre-written framework code. We also learned to work with some new Google APIs, and Firebase integrations. Reading documentation is also very important… along with reading lots of StackOverflow.

## What's next for CapsuleCalendar

We would like to use a better, stronger OCR engine that is more accurate at reading labels in a curved manner, and does not get easily flawed from multiple lines of text. Also, we would like to add functionality to parse pre-taken images (if the patient doesn’t have their prescription readily available and only happens to have a picture of their prescription). We would also like to improve the UI.

## Run the application

Simply download/clone the source code from GitHub link provided and run on Android studio. It is required to use a physical Android device as it requires use of the camera - not possible on emulator.
## Inspiration

Being human is given but keeping our humanity is our choice

Many people can’t afford medical care but one who has can donate it.

As we can see that there are so many people who are suffering with lack of medical care and quality health care we think its our time to become helping hands.

The aim and objective of this project is to develop a system for the donation of unused medicines to the people who are in need by using android application.
This application will collect all the information about NGO’s, orphanages, old age homes and government hospitals near by user (donor).
The user can donate unused medicines by his\her own choice to any of this non-profitable organizations and hospitals who will be giving out these medicines for free.
This application will collect all the information about NGOs, orphanages, old age homes, and government hospitals nearby users (donor).

## What it does

Med-Vita, it is an android mobile application where user can donate their unused medicines by his/her own choice to a nearby NGOs and Government hospital.
Once user arrive at home page, automatically a prompt screen will pop to ask for user location access, once user given his/her invite.
It will show the lists of NGO’s and Government Hospitals. User can select anyone from the lists. Here, in the design. User has selected NGO, its showing NGO basic details. Then user need to put details about their medicines and donate money to that NGO.

## How we built it

we used figma to design User interface.

## Challenges we ran into

Our challenge is to find developer at last moment.

## Accomplishments that we're proud of

We have been able to complete the application in a very short deadline.

## What we learned

Learned how to communicate through discord.
Using Figma to design the UI.
Making videos to promote our product.

## What's next for Med-Vita

We are planning on creating a web version of the application and deploying it.