We were inspired to create VirtueMed when we noticed a flaw in the medical prescription field. Looking at the opioid and prescription drug epidemic in the United States, we realized there must be a better way to provide user and doctor accountability. Keeping track of prescriptions can be hard, we wanted to centralize the prescription information process by creating a web application that does just that. Patients can view when they need to take their prescription, how often they should, and are able to message their doctor with any questions they have.

What it does

VirtueMed centralizes the prescription process for doctors and patients. Doctors are able to create a new prescription and send the information to the patient. The patient can then view all their active prescriptions and the prescriptions corresponding information. The patient is also able to keep track of intake of the prescription via a custom calendar.

How we built it

VirtueMed was built using the Python micro-framework Flask. We used sqlite for the backend database and used Javascript, HTML and CSS for all the front-end work. Design was done using Figma, and basic image editing was done using Krita and Photoshop.

Challenges we ran into

The time constraint was restricted us on the amount of features we could produce. We would have liked to include many more features such as filing for a new prescription, prescription comments and a live chat for doctors and patients. Although we weren't able to get all of the features into VirtueMed, we believe that we've built something pretty great nevertheless.

Accomplishments that we're proud of

We are proud that we were able to work so hard and build a site like this in such a little amount of time. As we grew close to the end it became quite stressful but our team managed to pull through.

What we learned

Ian: I learned how to work with image data in Flask. I also learned about storing data in binary within your database in order to save more complex data types and save space.

Ignaz: I learned how to interface database objects with jinja2 and incorporate inline HTML code with Python objects.

What's next for VirtueMed

We plan on rolling out new features to VirtueMed such as a live chat between the doctor and patient, and a way for patients to file a new request for a prescription. We plan on adding many more features to VirtueMed and are excited for VirtueMed's future.


Credentials for test accounts are as follows:

Test Doctor Account:

user: doctor pass: password

Test Patient Account:

user: patient pass: password

Built With

Share this project: