| Version 1 (modified by , 19 hours ago) ( diff ) |
|---|
UseCase16 - Lab Technician Login/Authentication
Initiating Actor - Lab Technician
Description
A lab technician logs into the Medora system using their username and password. The system verifies the credentials, checks the account is active, and grants access to the lab overview.
Scenario
- Lab technician navigates to the Medora login page.
- Lab technician enters their username and password and submits the login form.
SELECT u.user_id, u.username, u.password, u.role, u.first_name, u.last_name, u.is_active FROM users u WHERE u.username = 'darko.milosev';
- System verifies the account is active and the password matches.
SELECT u.user_id FROM users u WHERE u.username = 'darko.milosev' AND u.is_active = TRUE;
- System retrieves the linked lab technician profile.
SELECT lt.technician_id, lt.user_id, lt.certification FROM lab_technician lt WHERE lt.user_id = (SELECT user_id FROM users WHERE username = 'darko.milosev');
- Lab technician is authenticated and redirected to the lab dashboard.
(No database operation — session/token is application-level)
- System displays all pending lab tests for the technician to process.
SELECT plt.performed_test_id, lt.test_name, u_p.first_name AS patient_first_name, u_p.last_name AS patient_last_name, u_d.first_name AS doctor_first_name, u_d.last_name AS doctor_last_name, plt.test_date, plt.notes FROM performed_lab_tests plt JOIN lab_tests lt ON plt.test_id = lt.test_id JOIN patients p ON plt.patient_id = p.patient_id JOIN users u_p ON p.patient_id = u_p.patient_id JOIN doctors d ON plt.doctor_id = d.doctor_id JOIN users u_d ON d.doctor_id = u_d.doctor_id ORDER BY plt.test_date;
Note:
See TracWiki
for help on using the wiki.
