Skip to main content

System Design

This document covers the high-level system design principles and patterns used in iHospita HMS.


Design Principles

1. Multi-Tenancy First

Every component is designed with multi-tenancy in mind:

  • Database queries always include hospitalId
  • File storage is organized by hospital prefix
  • Authentication is scoped to hospital realms

2. Separation of Concerns

The system is divided into focused services:

  • HMS - Core hospital operations
  • CRM - Customer relationship management
  • Payment - Financial operations
  • Queue - Scheduling and queue management
  • Report - Analytics and reporting

3. API-First Design

All functionality is exposed through well-documented REST APIs:

  • Consistent response formats
  • Proper HTTP status codes
  • Pagination for list endpoints
  • Comprehensive error handling

4. Security by Default

Security is built into every layer:

  • JWT token validation at gateway
  • Role-based access control
  • Audit logging for sensitive operations
  • Data encryption in transit

Data Flow

User Action → Frontend → Kong Gateway → Backend Service → Database

Keycloak (Auth)

Scalability Considerations

Horizontal Scaling

  • Stateless services enable horizontal scaling
  • Load balancing via Kong
  • Redis for shared session state

Vertical Scaling

  • Database connection pooling
  • Efficient query optimization
  • Caching strategies