Compare global drug prices Β· Check import legality Β· AI Medicine Agent
Making life-saving medication accessible and affordable for everyone, everywhere.
MediRoute is an open-source HealthTech + RegTech + AI Agent platform that helps patients:
- π Compare real drug prices across 5 core markets (US, Canada, India, Singapore, UK)
- βοΈ Check import legality β green/yellow/red compliance light for every country pair, with legal source citations
- π€ Get AI guidance β AI Medicine Agent recommends drugs and sourcing options based on your country, condition, and budget
- π Monitor shortages β Drug Shortage Radar with therapeutic alternative suggestions
- β Verify suppliers β GMP/GDP/FDA/EMA certification tracking with Trust Score
This is not a pharmacy or a marketplace. MediRoute is a medicine intelligence platform β think of it as Bloomberg for global drug pricing, with a regulatory compliance layer built in.
A cancer patient in the United States pays $9,800/month for Imatinib. The exact same drug, same molecule, manufactured to WHO-GMP standards, costs $208/month from India.
Most patients don't know this. Those who do, don't know if it's legal to import it. Those who find out it might be legal, don't know which suppliers are trustworthy.
MediRoute solves all three problems.
cp .env.example .env # fill in ANTHROPIC_API_KEY at minimum
docker compose up --build
This spins up Postgres, Redis, the backend (hot-reload), and the frontend
(Vite dev server) together. See docs/ENVIRONMENT.md
for what every variable does.
For a production-like stack (built assets, nginx reverse proxy, no hot-reload β useful for testing self-hosted deployments outside Render):
cp .env.example .env # set real SECRET_KEY / POSTGRES_PASSWORD / etc.
docker compose -f docker-compose.prod.yml up --build -d
cd frontend
npm install
npm run dev
cd backend
python -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env # Fill in your ANTHROPIC_API_KEY
uvicorn app_v3.entrypoint.app:app --reload
cd frontend
cp .env.example .env
npm install && npm run dev
MediRoute uses Domain-Driven Design (DDD) with a Modular Monolith pattern,
ready to split into microservices when scale demands it.
βββ modules/
β βββ identity/ # Auth, JWT, RBAC (5 roles)
β βββ drug_intelligence/ # 100-drug catalog, interactions, shortages
β βββ compliance/ # 20 bilateral import rules (5Γ4 country pairs)
β βββ market_intelligence/# Price comparison, supplier trust scores
β βββ order_workflow/ # Order FSM + Escrow logic
β βββ ai_agent/ # Claude-powered consultation + OCR
βββ shared/
βββ security/ # JWT, RBAC, immutable Audit Log
βββ infrastructure/ # Event bus, cache (Redis-ready), Unit of Work
Full architecture blueprint: docs/10_production_architecture_blueprint.md
mediroute/
βββ backend/
β βββ app_v3/ # β the live backend (DDD modular monolith)
β βββ alembic/ # DB migrations
β βββ Dockerfile
β βββ .env.example
βββ frontend/
β βββ Dockerfile # production build served via nginx
β βββ nginx.conf # nginx config baked into the frontend image
β βββ .env.example
βββ docker/
β βββ nginx/nginx.conf # reverse proxy for self-hosted docker-compose.prod.yml
βββ docs/ # architecture, API design, environment reference
βββ docker-compose.yml # local dev stack (hot reload)
βββ docker-compose.prod.yml # self-hosted production stack (nginx + built assets)
βββ render.yaml # Render Blueprint (used for the hosted deployment)
βββ .env.example
| Dimension | Current | Roadmap |
|---|---|---|
| Countries | 5 (US, CA, IN, SG, GB) | 100 countries |
| Drug catalog | 8 flagship drugs | 100,000 drugs |
| Compliance rules | 20 bilateral lanes | 2,000+ lanes |
| Languages | English, δΈζ, ζ₯ζ¬θͺ | 20+ languages |
| Cache | In-memory (free) | Redis (paid) |
| Search | PostgreSQL full-text | Qdrant vector search |
We especially need help with:
- Drug data β accurate pricing, ATC codes, brand names for more drugs
- Compliance research β import rules for more country pairs (legal citations required)
- Translations β the UI needs more languages
- Country expansion β adding markets beyond the current 5
See CONTRIBUTING.md for full guidelines.
Medical/regulatory contributions require cited sources. Unsourced compliance rules are rejected β incorrect import rules could harm patients.
Medical: This platform provides information only. It does not constitute medical advice. Always consult a licensed physician before making medication decisions.
Regulatory: Import regulations change. Always verify current rules with official authorities and a licensed customs broker before importing medication.
Pricing: Prices are indicative. Always confirm current pricing directly with suppliers before ordering.
| Layer | Technology |
|---|---|
| Frontend | React 19, Vite, Tabler Icons |
| Backend | Python 3.12, FastAPI, SQLAlchemy 2.0 |
| Database | PostgreSQL 16 (multi-schema DDD) |
| AI | Anthropic Claude (Sonnet), Tool-Calling Architecture |
| Auth | JWT HS256 β RS256 ready, RBAC + Audit Log |
| Cache | In-memory (Redis-ready interface) |
| Deployment | Render (free tier) β Kubernetes ready, Docker Compose for local/self-hosted |
Full environment variable reference: docs/ENVIRONMENT.md
CI/CD pipeline (GitHub Actions β Render) and how to set it up: docs/CI_CD.md
Security features (JWT refresh, rate limiting, secrets) β Sprint 3 summary: docs/SPRINT3_SECURITY.md
Monitoring (logging, Prometheus/Grafana, Sentry, uptime alerts) β Sprint 4 summary: docs/MONITORING.md
Testing (unit/integration/E2E, coverage, and two real bugs the tests caught) β Sprint 5 summary: docs/SPRINT5_TESTING.md
Internationalization (12 locales, date/currency/unit formatting, hreflang) β Sprint 6 summary: docs/SPRINT6_I18N.md
API reference (every endpoint, curl examples, error codes) β Sprint 7: docs/API.md Β· Interactive docs at /docs Β· SDKs: Python, JavaScript Β· docs/SPRINT7_API_DOCS.md
Production review (a real data-loss bug found & fixed, security hardening, honest known-gaps list) β Sprint 8: docs/SPRINT8_PRODUCTION_REVIEW.md
Internationalization (12 locales, currency/date formatting, hreflang) β Sprint 6 summary: docs/SPRINT6_I18N.md
MIT License β see LICENSE for details.
This project is open source and welcomes contributions. The mission is bigger than any single company: making life-saving medicine accessible to everyone, everywhere.
Built with β€οΈ for patients who deserve better