This is a comprehensive telehealth application designed to facilitate medical consultations, patient management, and healthcare service delivery.
- Patient Registration and Login
- Senior Doctor Management
- Consent Management
- Doctor Login
- Waiting Queue Management
- Prescription Management
- Create account and login
- Add previous health records
- Join waiting queue
- Participate in video/phone consultations
- View prescriptions
- Provide consent
- Login to application
- Set online/offline status
- View scheduled follow-up appointments
- Join video/phone consultations
- Schedule follow-up appointments
- Add health records
- Issue prescriptions
- Login to system
- Manage hospitals (add/remove)
- Manage doctors (add/remove)
- View patient history
- View doctor consultation statistics
-
Unit Testing:
- Focused on individual method validation
- Used JUnit for business logic verification
-
Integration Testing:
- Tested service implementation interactions
- Verified component integration
-
Mocking:
- Utilized Mockito to isolate dependencies
- Simulated external service behaviors
- JUnit
- Mockito
- Spring Boot Test Framework
- Code Coverage: Over 85%
- Defect Rate: Zero critical defects
- Test Cases: 100+ unit and integration tests
- ConsultationService
- DepartmentService
- DoctorService
- GlobalAdminService
- HospitalService
- PatientService
- PdfService
- PrescriptionService
- QueueService
- ShareRecordService
- StorageService
Each service underwent rigorous testing for:
- Input parameter validation
- Error handling
- Business logic enforcement
- Secure data management
stateDiagram-v2
[*] --> Authentication: User Login
Authentication --> GlobalAdminPortal: Global Admin Login
Authentication --> HospitalAdminPortal: Hospital Admin Login
Authentication --> DoctorPortal: Doctor Login
Authentication --> PatientPortal: Patient Login/Register
state GlobalAdminPortal {
[*] --> ManageHospitals
ManageHospitals --> ViewHospitals
ManageHospitals --> AddHospital
ManageHospitals --> UpdateHospital
ManageHospitals --> DeleteHospital
state ViewAnalytics {
TotalHospitals
TotalDoctors
TotalPatients
}
}
state HospitalAdminPortal {
[*] --> ManageDepartments
[*] --> ManageDoctors
ManageDepartments --> AddDepartment
ManageDepartments --> ViewDepartments
ManageDoctors --> AddDoctor
ManageDoctors --> ViewDoctors
state ViewHospitalStats {
ConsultationList
DepartmentList
DoctorList
}
}
state DoctorPortal {
[*] --> OnlineStatus
OnlineStatus --> Online: Set Online
OnlineStatus --> Offline: Set Offline
Online --> ConsultationMode
state ConsultationMode {
WaitingForPatient
InConsultation
WritePrescription
}
ConsultationMode --> ViewDailyLog
ConsultationMode --> GeneratePDF
}
state PatientPortal {
[*] --> UpdateProfile
[*] --> JoinQueue
JoinQueue --> WaitingInQueue: Department Selection
WaitingInQueue --> InConsultation: Doctor Accepts
InConsultation --> ConsultationEnd: Doctor Generates Prescription
ConsultationEnd --> ViewPrescriptions
ConsultationEnd --> DownloadPDF
state ViewRecords {
PrescriptionHistory
FollowupDetails
SharedRecords
}
}
state ConsultationProcess {
WaitingInQueue --> PatientCalled: Doctor Available
PatientCalled --> ConsultationStarted: Accept Call
ConsultationStarted --> PrescriptionGenerated: End Consultation
PrescriptionGenerated --> ConsultationClosed: Patient Confirms
}
- Secure transmission between patients, doctors, and admin
- Encrypted record sharing
- Controlled access permissions
- Validation of core functionalities
- Mocking of external dependencies
- Isolation of service logic
- Thorough exception handling tests
- Enhance test coverage
- Implement more advanced mocking scenarios
- Continuous integration of new features