This document consolidates all confirmed business rules for the iHospita HMS system.
VIP & Discount Rules
Point Accumulation
| Rule | Description |
|---|
| Earning Rate | 1 point per $1 spent (configurable by hospital) |
| Point Scope | Points accumulate at family level, not individual |
| Point Timing | Points awarded after payment completion |
| Point Currency | Only USD spending counts (KHR converted at exchange rate) |
VIP Tier Thresholds
| Tier | Points Required | Default Discount |
|---|
| Bronze | 0 - 999 | 0% |
| Silver | 1,000 - 4,999 | 5% |
| Gold | 5,000 - 9,999 | 10% |
| Platinum | 10,000+ | 15% |
Discount Application Rules
- Single Discount Only: VIP discount OR promotional discount, not both
- No Queue Priority: VIP status does not affect queue position
- Automatic Application: VIP discount applied automatically on invoice
- Override Permission: Only Owner/Admin can override discount
- Hospital Customization: Each hospital can customize thresholds and percentages
Queue Management Rules
Queue Structure
| Rule | Description |
|---|
| Queue Organization | Per doctor (not per department) |
| Queue Order | First-come-first-served |
| VIP Priority | No priority for VIP patients |
| Emergency Handling | Manual priority by staff |
Queue Operations
| Operation | Rule |
|---|
| Skip Patient | Allowed with reason required |
| Call Patient | Staff manually calls next |
| No-Show Handling | Manual skip after configurable timeout |
| Return to Queue | Goes to end of queue |
Queue Display
| Feature | Configuration |
|---|
| Show Patient Name | Number only (privacy) |
| Show Wait Time | Estimated based on average |
| Audio Announcement | Enabled, multi-language |
| Auto-Refresh | Real-time via WebSocket |
Appointment Rules
Booking Rules
| Rule | Configuration |
|---|
| Advance Limit | Configurable per hospital |
| Minimum Notice | Configurable per hospital |
| Time Slot Duration | Configurable (15/30/60 min) |
| Overbooking | Not allowed |
| Double Booking | Prevented by system |
Cancellation Rules
| Rule | Description |
|---|
| Cancellation Fee | None |
| Cancellation Window | Anytime |
| No-Show Penalty | None |
| Rescheduling | Allowed unlimited times |
Reminder Rules
| Reminder | Timing |
|---|
| Confirmation | Immediate on booking |
| Reminder 1 | 24 hours before |
| Reminder 2 | 1 hour before (optional) |
Payment Rules
Payment Methods
| Method | Processing |
|---|
| Cash | Manual entry by cashier |
| Card (Stripe) | Automatic via Stripe |
| Card (ABA Payway) | Cambodia local gateway |
| Bank Transfer | Manual entry with reference |
Partial Payment Rules
| Rule | Description |
|---|
| Partial Allowed | Yes |
| Minimum Amount | No minimum |
| Maximum Payments | Unlimited |
| Balance Tracking | Automatic |
Receipt Rules
| Rule | Description |
|---|
| Receipt Generation | Automatic after payment |
| Receipt Format | PDF |
| Receipt Delivery | Print or Email |
| Receipt Numbering | Sequential per hospital |
Patient Registration Rules
Registration Requirements
| Field | Required | Notes |
|---|
| Full Name | Yes | First and Last name |
| Phone Number | Yes | Primary contact |
| Date of Birth | Yes | For age calculation |
| Gender | Yes | - |
| Emergency Contact | Yes | Name and phone |
| Email | No | For notifications if provided |
| Address | No | Optional |
| ID Number | No | National ID or Passport |
Patient ID Generation
| Rule | Format |
|---|
| ID Format | P-{HospitalPrefix}-{Sequence} |
| Example | P-SAMAKI-000001 |
| Uniqueness | Unique per hospital |
Family Membership Rules
| Rule | Description |
|---|
| Auto-Creation | Created on first patient registration |
| Primary Contact | First registered patient |
| Member Linking | By relationship (spouse, child, parent, etc.) |
| Point Sharing | All members share family points |
Authentication Rules
Session Rules
| Rule | Configuration |
|---|
| Session Timeout | 8 hours of inactivity |
| Concurrent Sessions | Allowed (no limit) |
| 2FA Required | Yes, for all staff |
| 2FA Method | Email OTP |
Password Rules (Keycloak)
| Rule | Configuration |
|---|
| Minimum Length | 8 characters |
| Complexity | Upper, lower, number required |
| Expiry | No expiry (Keycloak default) |
| Reset Method | Email link |
Role Hierarchy
| Role | Access Level |
|---|
| Owner | Full access to hospital |
| Admin | All except hospital settings |
| Doctor | Clinical + read patients |
| Nurse | Vitals + assist clinical |
| Receptionist | Patient + queue + appointments |
| Cashier | Billing + payments |
| Lab Technician | Laboratory only |
| Pharmacist | Pharmacy only |
Clinical Rules
Consultation Rules
| Rule | Description |
|---|
| Allergy Display | Prominent warning on all screens |
| SOAP Notes | Required for each consultation |
| Diagnosis Code | ICD-10 required |
| Vital Signs | Optional but recommended |
Prescription Rules
| Rule | Description |
|---|
| Drug Allergy Check | Automatic warning |
| Drug Interaction | Automatic warning |
| Pharmacy Queue | Auto-sent after save |
| Refills | Not supported initially |
Laboratory Rules
| Rule | Description |
|---|
| Critical Values | Immediate alert to doctor |
| Abnormal Flagging | Automatic based on reference range |
| Result Release | After technician approval |
| Report Format | PDF |
Console Rules
Hospital Onboarding
| Rule | Description |
|---|
| Approval Required | No - Auto-approve |
| Initial User | Owner created by Console |
| Role Templates | Copied from global templates |
| Default Theme | iHospita Blue |
Impersonation Rules
| Rule | Description |
|---|
| Who Can Impersonate | Support role only |
| Session Duration | 1 hour maximum |
| Audit Logging | Full session recorded |
| Actions Allowed | Read-only (configurable) |
Role Template Rules
| Rule | Description |
|---|
| Template Creation | Console Admin only |
| Template Application | New hospitals only |
| Existing Hospitals | Keep current roles |
| Custom Roles | Not allowed per hospital |
Notification Rules
Email Notifications
| Event | Recipient | Trigger |
|---|
| Appointment Confirmed | Patient | On booking |
| Appointment Reminder | Patient | 24h before |
| Payment Receipt | Patient | After payment |
| Critical Lab Result | Doctor | On entry |
Notification Preferences
| Rule | Description |
|---|
| Opt-Out | Not allowed for critical |
| Channel | Email only (no SMS) |
| Language | Based on patient preference |
Data Rules
Multi-Tenancy
| Rule | Description |
|---|
| Data Isolation | Complete per hospital |
| Cross-Hospital Access | Not allowed |
| Shared Data | Product catalog only |
Currency Rules
| Rule | Description |
|---|
| Primary Currency | USD |
| Secondary Currency | KHR |
| Exchange Rate | Configurable per hospital |
| Display | Both currencies on invoice |
Audit Trail
| Event | Logged |
|---|
| Login/Logout | Yes |
| Patient Create/Edit | Yes |
| Payment | Yes |
| Prescription | Yes |
| Impersonation | Yes |