A Platform for Teams Who Ship Real Systems

Build production healthcare software in weeks, not quarters

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.

api_request.py
# 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"
}

What This Platform Enables

At a business level, MedJourney gives you the building blocks to orchestrate the entire lifecycle of a patient, provider, and organization across multiple channels.

🏥

Onboard Organizations

Create hospitals, labs, and clinics. Define admins, roles, and permissions with fine-grained access control.

👨‍⚕️

Model Clinical Entities

Capture doctors, labs, hospitals, and programs—the entities and relationships real clinical workflows depend on.

🩺

Manage Patients E2E

Enrollment into programs, assignments to doctors, hospitals, telecallers, follow-ups, and clinical notes.

📱

Orchestrate Communication

SMS and voice calls via Exotel, telecaller workflows, and automated reminders at scale.

💰

Track Transactions

Purchases and sales tied to patients, doctors, hospitals, and labs with complete audit trails.

📊

Real-time Analytics

Doctor, lab, hospital, and telecaller performance dashboards ready for your frontend.

API Scope & Scale

A mature, domain-driven platform that's already been through multiple iterations of real-world feedback.

0
HTTP Operations
0
Cohesive Domains
0
Pydantic Schemas
0
% Type Coverage

15 Cohesive Domains

Endpoints are grouped with clear prefixes and tagged consistently in the OpenAPI spec.

🔐

Authentication & Identity

/auth — Login, OTP, tokens, password reset

🏢

Organizations & Roles

/organizations, /roles, /users — Multi-tenant management

👥

Clinical Resources

/patients, /doctors, /hospitals, /labs — Core entities

📋

Programs & Specializations

/programs, /specializations — Care program management

💳

Transactions

/purchases — Sales and purchase tracking

📞

Telecaller & Outreach

/telecallers, /exotel — Communication workflows

🔔

Notifications & Scheduling

/notifications — Automated reminders and alerts

📈

Analytics & Reporting

/dashboard — Performance metrics and insights

OpenAPI Schema
"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

Built for Speed & Code Quality

Designed the way senior engineers expect—clean, predictable, and maintainable.

Routes

Thin FastAPI routers under app/api/endpoints/* handling HTTP specifics and RBAC checks

Services

Business logic in app/services/* for patients, telecallers, programs, dashboard, etc.

Repositories

Data access encapsulated in app/repositories/* with clean separation of concerns

Core

Config, exceptions, permissions, and audit logging in app/core/* for cross-cutting concerns

Security, Stability & Enterprise Readiness

Designed to sit at the center of mission-critical workflows.

🔑

JWT Authentication

HTTP Bearer scheme with two-step OTP login flow to reduce credential theft risks.

🛡️

Role-Based Access Control

privilege_required decorators enforce fine-grained access on each route (org_admin, telecaller, super_admin).

🏠

Multi-Tenant Isolation

Every access is explicitly scoped by organization_id. Super-org vs sub-org verification for cross-org operations.

⚠️

Centralized Error Handling

Consistent JSON error envelope with clear separation between validation, not-found, and business-logic errors.

📝

Audit Logging

Middleware wraps database access for complete traceability in compliance-minded environments.

🔄

API Versioning

All public endpoints under /api/v1. Schema changes are additive and backward compatible.

authorization.py
@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
    )

How Teams Use This API

Engineering teams use MedJourney as the core orchestration layer behind multiple frontends and services.

🌐

Web Applications

  • React/Next.js SPAs consuming auth and profiles
  • Patient and program CRUD interfaces
  • Dashboard analytics for visualization
  • Consistent JSON schema for type generation
📲

Mobile Apps

  • Native or cross-platform apps
  • Patient management for telecallers
  • On-the-go analytics for field teams
  • OTP-based login tailored for mobile UX
⚙️

Microservices & Pipelines

  • Billing and CRM ingestion
  • Data warehouse integration
  • Exotel call logs for analytics
  • Kafka consumers and ETL pipelines
🔧

Internal Tools & Automation

  • Admin portals for operations
  • Bulk uploads for patients and programs
  • Telecaller performance dashboards
  • Automated reminder pipelines

Why Founders Choose This Platform

High-leverage teams choose MedJourney because it gives them sustainable competitive advantages.

🚀

Faster Shipping

Start with 190+ operations. Bulk operations and ready-made dashboards compress months into days.

🐛

Fewer Bugs

Strong typing, centralized validation, and consistent schemas reduce integration mistakes.

📚

Easier Onboarding

New engineers reason about the system quickly—one pattern for routes, services, and repositories.

🏗️

Long-term Maintainability

Versioned API, domain-driven modules, and strict access controls for years of iteration.

Ready to Build Your Healthcare Product?

If you're building a serious healthcare or operations product and want an API that matches your ambition, let's talk.