Project Exploration: "Better" - A Hospital Management & Patient Consultation Platform

"Better" is a digital health platform designed to streamline the process of finding and booking specialist medical consultations. Our mission is to enhance public health access by connecting patients with a curated network of dozens of hospitals and hundreds of highly-qualified doctors. We aim to facilitate a seamless user journey, from initial discovery and booking to receiving essential medical referrals, ensuring a clear and supportive path toward improved well-being.

User Journeys & Core Features

I am designing for a primary user role with distinct responsibilities and needs: Manager.

Administrative Stakeholders (Manager Role)

The platform provides a secure administrative dashboard for comprehensive management of the platform's ecosystem. Key functionalities include:

  1. Sign-in to a secure dashboard.

  2. Full CRUD (Create, Read, Update, Delete) capabilities for managing:

    • Medical specialist categories.

    • Hospital profiles and information.

    • The assignment of specialists to specific hospitals.

    • Doctor profiles, credentials, and schedules.

    • Patient transaction records and booking statuses.

Core Business Logic & System Constraints

The system is built around several key rules to ensure smooth operations for both patients and providers.

  1. Booking Window: Patients can schedule consultations a minimum of one day in advance (H-1) and a maximum of three days in advance (H-3). The system must perform a real-time availability check against the transactions table.

  2. Fixed Appointment Slots: To streamline scheduling, consultations are available only at specific times: 10:30, 11:30, 13:30, 14:30, 15:30, and 16:30.

  3. Approval-Based System: After payment, bookings enter a "waiting" state until confirmed or rejected by the hospital. A rejection automatically triggers a refund notification.

  4. Manual Payment Verification: The checkout process requires patients to upload proof of payment to finalize their booking request.

  5. Data Architecture Rules:

    • A single doctor can be associated with only one specialty and one hospital.

    • A single hospital can offer services from multiple specialists.

Technical Snapshot

  • Tech Stack: PHP, MySQL, Laravel (with Spatie packages), React, and Sanctum for authentication.

  • Core Technical Focus: Ensuring a robust and scalable platform through efficient database indexing, query optimization, and secure authentication.

The Model View Controller (MVC) pattern is a fundamental architectural principle that separates application logic into three interconnected components, each with distinct responsibilities. From a UI/UX design perspective, understanding MVC helps create more intuitive and maintainable digital experiences

Why MVC Matters for UI/UX Design

  • Separation of Concerns: Each component has a single responsibility, making systems easier to modify and scale. You can redesign the interface without touching business logic, or change data structures without affecting the user interface.

  • Collaboration Benefits: Designers can focus on Views while developers handle Controllers and Models. This clear division enables parallel work streams and clearer communication between team members.

  • User Experience Consistency: The pattern enforces consistent data handling across different interface elements, reducing bugs and improving reliability from the user's perspective.

The Service-Repository pattern builds upon the traditional MVC architecture by introducing additional layers that enhance separation of concerns and maintainability. This pattern addresses limitations that emerge as applications grow more complex.

Benefits for UI/UX Design

  • Predictable Data Flow: This pattern creates consistent data handling across your application. Users experience more reliable performance because data operations follow standardized patterns.

  • Faster Development Cycles: When business logic lives in Services rather than scattered across Controllers, designers can iterate on interfaces more quickly since backend changes are isolated and contained.

  • Better Error Handling: The additional layers provide more opportunities to catch and gracefully handle errors before they reach users, resulting in smoother user experiences.