Telehealth System - MVC Architecture MODEL (Business Logic & Data) Entity Classes • Patient • Specialist • Consultation Business Logic • AppointmentManager • PrescriptionManager • NotificationManager Data Access • PatientDAO • ConsultationDAO • PrescriptionDAO External Services • VideoCallService • NotificationService • HealthDataAPI Database Layer • Patient Records Database • Consultation History Database • Medical Records Database VIEW (User Interface - JavaFX) Authentication • LoginView.fxml • RegisterView.fxml • ProfileView.fxml Dashboard • PatientDashboard.fxml • SpecialistDashboard.fxml • AdminDashboard.fxml Booking • BookingView.fxml • ScheduleView.fxml • CalendarView.fxml Consultation • VideoCallView.fxml • AudioCallView.fxml • ConsultationHistory.fxml Health Data • VitalSignsView.fxml • PrescriptionView.fxml • HealthReportView.fxml Settings • NotificationSettings.fxml • PrivacySettings.fxml • SystemSettings.fxml CONTROLLER (Event Handling & Logic) Authentication • LoginController • RegisterController • ProfileController Navigation • DashboardController • MenuController • NavigationController Booking • BookingController • ScheduleController • CalendarController Consultation • VideoCallController • AudioCallController • ConsultationController Health Data • VitalSignsController • PrescriptionController • HealthDataController Settings • SettingsController • NotificationController • ConfigController State Changes User Events Model Updates View Updates Data Requests MVC Principles: • Model: Manages data and business logic, notifies View of changes • View: Displays data to user, sends user input to Controller • Controller: Handles user input, updates Model, manages View updates • Separation of Concerns: Each layer has distinct responsibilities