MedTracker Documentation¶
MedTracker is an open-source, self-hosted medication tracker for individuals, families, and carers. It supports household medication schedules, dose recording, stock tracking, reminders, and auditable history.
MedTracker is in beta
MedTracker should supplement, not replace, your existing medication routine. Do not depend on it for clinical decisions, emergency information, or your sole medication reminders.
Rust 0.6 release preparation¶
Read the 0.6 release notes before setting up the fresh Rust application. It uses a new empty PostgreSQL 18 database and fresh credentials. Existing Rails data and credentials are not imported. The notes distinguish merged features from unfinished work and do not announce a deployment.
Try the self-hosted beta¶
Start with the self-hosting guide for private local evaluation. Technically confident operators planning a reachable installation should also read the deployment guide.
We welcome feedback through GitHub:
- Discussions for questions, early impressions, and self-hosting help
- Guided issue forms for bugs and feature requests
- Private security reports for suspected vulnerabilities
Never post names, medication details, health information, credentials, tokens, or unredacted logs publicly.
🏠 For Families¶
These guides are for family members and carers looking after loved ones at home.
- Quick Setup Guide: get MedTracker up and running in minutes.
- Add your first medicine: learn how to add a prescription or a simple over-the-counter medicine.
- Record a dose: follow the steps to safely record when a medicine is taken.
- Manage your family members: set up profiles for the people you support.
🛠️ For Developers¶
These guides are for those setting up, customizing, or contributing to the MedTracker codebase.
- Technical Quick Start: run the root Rust application locally.
- Testing Guide: run Rust unit, integration and Playwright browser checks.
- Design & Architecture: explore the domain model and safety guardrails.
- Fresh Rust architecture: current runtime and data boundaries.
- Proposed record lifecycle: review the unimplemented design for medication, person, and location retirement.
- Audit & Compliance: details on versioning and data history.
- MCP Integration: set up the hosted MCP server and connect Codex, Claude Code, or VS Code to read medication context.
- Client Tools: install and operate the first-party
medtrackerCLI andmedtracker-mcpstdio server over/api/v1. - API Contract Conventions: use canonical API addressing, stable operation IDs, and audience/resource tags when extending the OpenAPI contract.
- API Contract: OpenAPI contract for hosted auth, portable IDs, sync, backups, admin APIs, and FHIR R4 reads.
- API Versioning Policy: classify compatible changes, deprecations, breaking changes, and generated-client ownership.
- Portable Data Format: understand snapshot, export, import, and incremental sync record fields.
- External Integration Architecture: choose
/api/v1,/mcp, or SMART on FHIR by client audience. - Production Upload Storage: understand optional Disk and S3 modes, topology, and migration boundaries.
- Upload Storage Backup and Restore: record and verify backend-aware recovery sets.
- Home-Ops Portable Storage Handoff: apply the deployment inputs and maintenance gates safely.
- Fresh Rust installation: configure the image, new database, fresh accounts and supported portable-data paths.
🩺 For Clinicians & Advanced Users¶
These guides focus on clinical accuracy and deep integrations.
- NHS dm+d Integration: use the UK's medicine dictionary to find accurate names.
- Kubernetes NHS dm+d Release Import: import dm+d AMPP and GTIN release files in production.
- UK Regulatory Compliance Plan: how MedTracker aligns with health data standards.
- Audit Trail: how we ensure clinical records are safe and traceable.
Need help?¶
- Glossary: common terms used in the app.
- Troubleshooting: common technical fixes.