MedJourney is a fully‑featured API platform for teams building serious, production‑grade healthcare and patient engagement systems—without compromising on architecture, reliability, or long‑term maintainability.
# Onboard a patient in seconds response = client.post("/api/v1/patients", { "name": "John Smith", "phone": "+1234567890", "program_id": "diabetes_care", "doctor_id": "dr_patel_001", "organization_id": "clinic_123" }) # Response: 201 Created { "id": "pat_8x7f2k9m", "status": "enrolled", "next_followup": "2026-01-21" }
At a business level, MedJourney gives you the building blocks to orchestrate the entire lifecycle of a patient, provider, and organization across multiple channels.
Create hospitals, labs, and clinics. Define admins, roles, and permissions with fine-grained access control.
Capture doctors, labs, hospitals, and programs—the entities and relationships real clinical workflows depend on.
Enrollment into programs, assignments to doctors, hospitals, telecallers, follow-ups, and clinical notes.
SMS and voice calls via Exotel, telecaller workflows, and automated reminders at scale.
Purchases and sales tied to patients, doctors, hospitals, and labs with complete audit trails.
Doctor, lab, hospital, and telecaller performance dashboards ready for your frontend.
A mature, domain-driven platform that's already been through multiple iterations of real-world feedback.
Endpoints are grouped with clear prefixes and tagged consistently in the OpenAPI spec.
/auth — Login, OTP, tokens, password reset
/organizations, /roles, /users — Multi-tenant management
/patients, /doctors, /hospitals, /labs — Core entities
/programs, /specializations — Care program management
/purchases — Sales and purchase tracking
/telecallers, /exotel — Communication workflows
/notifications — Automated reminders and alerts
/dashboard — Performance metrics and insights
"paths": { "/api/v1/auth/login": {...}, "/api/v1/auth/verify-otp": {...}, "/api/v1/patients": {...}, "/api/v1/patients/{id}": {...}, "/api/v1/doctors": {...}, "/api/v1/programs": {...}, "/api/v1/purchases": {...}, "/api/v1/dashboard/analytics": {...} } // 190+ endpoints total // All versioned under /api/v1
Designed the way senior engineers expect—clean, predictable, and maintainable.
Thin FastAPI routers under app/api/endpoints/* handling HTTP specifics and RBAC checks
Business logic in app/services/* for patients, telecallers, programs, dashboard, etc.
Data access encapsulated in app/repositories/* with clean separation of concerns
Config, exceptions, permissions, and audit logging in app/core/* for cross-cutting concerns
Designed to sit at the center of mission-critical workflows.
HTTP Bearer scheme with two-step OTP login flow to reduce credential theft risks.
privilege_required decorators enforce fine-grained access on each route (org_admin, telecaller, super_admin).
Every access is explicitly scoped by organization_id. Super-org vs sub-org verification for cross-org operations.
Consistent JSON error envelope with clear separation between validation, not-found, and business-logic errors.
Middleware wraps database access for complete traceability in compliance-minded environments.
All public endpoints under /api/v1. Schema changes are additive and backward compatible.
@router.post("/patients") @privilege_required("create_patients") async def create_patient( patient: PatientCreate, current_user: User = Depends(get_current_user), db: AsyncIOMotorDatabase = Depends(get_db) ): # Automatically scoped to # current_user.organization_id return await patient_service.create( db, patient, current_user.org_id )
Engineering teams use MedJourney as the core orchestration layer behind multiple frontends and services.
High-leverage teams choose MedJourney because it gives them sustainable competitive advantages.
Start with 190+ operations. Bulk operations and ready-made dashboards compress months into days.
Strong typing, centralized validation, and consistent schemas reduce integration mistakes.
New engineers reason about the system quickly—one pattern for routes, services, and repositories.
Versioned API, domain-driven modules, and strict access controls for years of iteration.
If you're building a serious healthcare or operations product and want an API that matches your ambition, let's talk.