Inspiration
Managing multiple medications and tracking their effects can be complex and error-prone. It was difficult for me to keep track on which medicines to take and when to take them. However, I also had to stop taking specific medicine because of the side effects I was prone to. This made me lost of what medication to keep taking and when, as well as which ones to stop taking due to specific side effects.
What it does
MediTracker Pro was created to provide a simple, centralized, and interactive web interface to help users diligently manage their schedules and proactively monitor side effects. The goal is to enhance and improve data collection for medical reviews, and provide the user with a clearer view of their medication's impact.
How we built it
The application is built entirely in Python. Streamlit: Used for creating the interactive, reactive, and visually appealing web user interface. It handles all the front-end components and page navigation. Pandas: Utilized for data manipulation and preparation, especially when creating data frames for the analytics section. Plotly Express: Used for generating interactive and insightful data visualizations (line charts and pie charts) for the analytics dashboard. JSON: Used as the simple local database format for data storage. UUID: Used to generate unique identifiers for each medication and log entry, ensuring data integrity.
Challenges we ran into
A significant challenge encountered in developing the "Add Medication" feature was handling the dynamic creation of time input fields based on the user-specified "How many times per day?" value. The core issue arose because the application used a time input widget that, even when left unedited by the user, immediately assigned a default value upon initialization. The code intended to validate that the user had manually interacted with the widget by checking if the returned dose time was not None.
Accomplishments that we're proud of
We are particularly proud of the Analytics & Insights dashboard, which utilizes Pandas to transform raw log data into clear, interactive visualizations of side effect trends and severity distributions. This capability significantly enhances the user's ability to monitor their treatment's impact and share valuable data with healthcare providers.
What we learned
One key learning experience was the critical importance of how Streamlit widgets handle default values, specifically recognizing that the time input returns a non-empty value immediately, even without user interaction.
What's next for MediTracker Pro
The next step for MediTracker Pro is to allow doctors to be able to view patients side effects and other feelings about the medicine and be able to send them a message of the next steps.
Log in or sign up for Devpost to join the conversation.