wiki:UseCase16

Version 1 (modified by 236021, 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

  1. Lab technician navigates to the Medora login page.
  1. 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';
  1. 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;
  1. 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');
  1. Lab technician is authenticated and redirected to the lab dashboard.

(No database operation — session/token is application-level)

  1. 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.