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