MedUber was proposed by a non-profit organization in the city of Philadelphia to assist with scheduling driving routes and patient pick-ups for residents of the area who could not drive themselves to doctors' appointments.
What it does
The application assumes the user scenario of a medical transportation dispatcher attempting to generate pick-up schedules for his or her drivers. The dispatcher will download the patient appointment information and submit it to the web application. He or she can then configure the driving conditions for the day (assigning first pick-ups, determining which vehicles are available for use, etc.) and run all relevant reports (all schedules by day, individual schedule by driver, etc.) all from the same web interface.
How we built it
MedUber is built in HTML and Python using the Flask framework and a MySQL database.
Challenges we ran into
The heart of the MedUber application is the scheduling algorithm inside it. Different factors all contribute to transportation and scheduling in different ways - the number and starting points of the vehicles, attempting to accommodate multiple patients per car, striving to minimize patient time spent both in the car and waiting for a ride or appointment, and other factors.
Accomplishments that we're proud of
The multi-faceted nature of the problem required us to divide and conquer in order to bring the solution to life. Two team members developed the data model and database for the system; two other team members developed the bulk of the scheduling algorithm; and the fifth member established the primary web app architecture. All five members contributed energetically in the overall design and preparation process.
What we learned
We learned how to work with Flask and specific data manipulations in a very short period of time. We also learned that we need to consider / prepare for project-building infrastructure ahead of time.
What's next for the project
We will continue attempting to implement the full capabilities of this project, including full database connectivity and algorithm availability.