html
An AI companion that tracks an aging parent's prescriptions, supplements, refill dates, and side‑effects, sends simple voice or text reminders for each dose, logs adherence, and generates a weekly summary for the parent's doctor.
Quick Start • Features • Examples • Contributing
```MediMate Companion is a CLI tool designed to help adult children manage their aging parents' medication regimens. It tracks prescriptions, supplements, and refill dates, sends reminders, logs adherence, and generates weekly summaries for doctors. This tool is particularly useful for those caring for parents with chronic conditions who take multiple medications.
$ medimate add --name "Lisinopril" --dosage "10mg" --frequency "daily" --refill "2024-12-31"
Medication added: LisinoprilA middle-income adult child is juggling work and caring for a parent with Parkinson’s who takes six prescriptions and three supplements. They rely on a pill organizer and a chaotic notes app, often miss doses, panic about double-dosing, and spend evenings checking insurance pages for refill approvals.
| Feature | Description |
|---|---|
| Medication Tracking | Store and retrieve medication details including name, dosage, frequency, and refill dates. |
| Reminder System | Send text or voice reminders for doses and log adherence. |
| Weekly Summary | Generate a weekly summary of adherence for the doctor. |
| Refill Tracking | Track and flag approaching refill dates to prevent medication shortages. |
| Adherence Logging | Log whether each dose was taken or missed, providing a clear record of adherence. |
| Simple CLI Interface | Easy-to-use command-line interface for managing all features. |
-
Clone the repository:
git clone https://github.com/yourusername/MediMate-Companion.git cd MediMate-Companion -
Install the required dependencies:
pip install -r requirements.txt
-
Run the first command to add a medication:
medimate add --name "Lisinopril" --dosage "10mg" --frequency "daily" --refill "2024-12-31"
Use Case: Adding a new medication to the tracking system.
Command:
medimate add --name "Lisinopril" --dosage "10mg" --frequency "daily" --refill "2024-12-31"Output:
Medication added: Lisinopril
Use Case: Viewing all tracked medications.
Command:
medimate listOutput:
Lisinopril | 10mg | daily | 2024-12-31
Use Case: Setting a reminder for a medication dose.
Command:
medimate remindOutput:
Reminder: Take 10mg Lisinopril now
Use Case: Logging whether a dose was taken or missed.
Command:
medimate log --name "Lisinopril" --status "taken"Output:
Adherence logged: Lisinopril (taken)
Use Case: Generating a weekly summary of adherence for the doctor.
Command:
medimate summary --week "2024-W45"Output:
Weekly Summary: 5/7 doses taken, 2 refills due
MediMate Companion/
src/ # Core source code
cli.py # Command-line interface
core.py # Core logic
models.py # Data models
db.py # Database operations
reminders.py # Reminder system
summary.py # Weekly summary generation
tests/ # Test suite
test_cli.py # CLI tests
test_core.py # Core logic tests
.gitignore # Git ignore rules
README.md # Project documentation
main.py # Main entry point
pyproject.toml # Project configuration
spec.md # Project specification
| Technology | Purpose |
|---|---|
| Python 3.11+ | Core programming language |
| SQLite | Database storage |
| Pydantic | Data validation |
| Click | CLI framework |
| pytest | Testing framework |
- Fork the repository.
- Create your feature branch (
git checkout -b feature/AmazingFeature). - Commit your changes (
git commit -m 'Add some AmazingFeature'). - Push to the branch (
git push origin feature/AmazingFeature). - Open a Pull Request.
MIT
Matthew Snow -- [M2AI](https://m2ai.co) | [gitlab.com/m2ai-portfolio](https://gitlab.com/m2ai-portfolio)
