4.1 KiB
4.1 KiB
Medicine Dose Tracking Feature - Usage Guide
Overview
The medicine dose tracking feature allows you to record specific timestamps and doses when you take medications throughout the day. This provides detailed tracking beyond the simple daily checkboxes.
How to Use
1. Recording Medicine Doses
- Open the application - Run
make runoruv run python src/main.py - Find the medicine section - Look for the "Treatment" section in the input form
- For each medicine, you'll see:
- Checkbox (existing daily tracking)
- Dose entry field (new)
- "Take [Medicine]" button (new)
- Dose display area showing today's doses (new)
2. Taking a Dose
- Enter the dose amount in the dose entry field (e.g., "150mg", "10mg", "25mg")
- Click the "Take [Medicine]" button - This will:
- Record the current timestamp
- Save the dose amount
- Update the display area
- Mark the medicine checkbox as taken
3. Multiple Doses Per Day
- You can take multiple doses of the same medicine
- Each dose gets its own timestamp
- All doses for the day are displayed in the dose area
- The display shows:
YYYY-MM-DD HH:MM:SS: dose
4. Viewing Dose History
- Today's doses are shown in the dose display areas
- Historical doses are stored in the CSV with columns:
bupropion_doses,hydroxyzine_doses,gabapentin_doses,propranolol_doses
- Each dose entry format:
timestamp:doseseparated by|for multiple doses - Edit entries by double-clicking on table rows - dose information is preserved and displayed
5. Editing Entries and Doses
When you double-click on an entry in the data table:
- Full data retrieval - edit window loads complete entry including all dose data
- Editable dose fields - modify recorded doses directly in the edit window
- Dose format: Use
HH:MM: doseformat (one per line) - Example dose editing:
09:00: 150mg 18:30: 150mg - Symptom and medicine checkboxes can be modified
- Notes can be updated while keeping dose history intact
- Save changes preserves all dose information with proper timestamps
CSV Format
The new CSV structure includes dose tracking columns:
date,depression,anxiety,sleep,appetite,bupropion,bupropion_doses,hydroxyzine,hydroxyzine_doses,gabapentin,gabapentin_doses,propranolol,propranolol_doses,note
07/28/2025,4,5,3,3,1,"2025-07-28 14:30:00:150mg|2025-07-28 18:30:00:150mg",0,"",0,"",1,"2025-07-28 12:30:00:10mg","Multiple doses today"
Features
- ✅ Timestamp recording - Exact time when medicine is taken
- ✅ Dose amount tracking - Record specific doses (150mg, 10mg, etc.)
- ✅ Multiple doses per day - Take the same medicine multiple times
- ✅ Real-time display - See today's doses immediately
- ✅ Data persistence - All doses saved to CSV
- ✅ Backward compatibility - Existing data migrated automatically
- ✅ Scrollable interface - Vertical scrollbar for expanded UI
User Interface
The medicine tracking interface now includes:
- Scrollable input area - Use mouse wheel or scrollbar to navigate
- Responsive design - Interface adapts to window size
- Expanded medicine section - Each medicine has dose tracking controls
Migration
Your existing data has been automatically migrated to the new format. A backup was created as thechart_data.csv.backup_YYYYMMDD_HHMMSS.
Testing
Run the dose tracking test:
make test-dose-tracking
Test the scrollable interface:
make test-scrollable-input
Test the dose editing functionality:
make test-dose-editing
Troubleshooting
- Application won't start: Check that migration completed successfully
- Doses not saving: Ensure you enter a dose amount before clicking "Take"
- Data issues: Restore from backup if needed
- UI layout issues: The new interface may require resizing the window
Technical Details
- Timestamp format:
YYYY-MM-DD HH:MM:SS - Dose separator:
|(pipe) for multiple doses - Dose format:
timestamp:dose - Storage: Additional columns in existing CSV file