Changes between Initial Version and Version 1 of UseCase18


Ignore:
Timestamp:
06/14/26 21:05:57 (5 days ago)
Author:
236021
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UseCase18

    v1 v1  
     1= UseCase18 - System Administrator Manages Users =
     2
     3== Initiating Actor - `System Administrator` ==
     4
     5== Description ==
     6A system administrator creates new user accounts and manages existing ones. The admin can register patients, doctors, lab technicians, and other admins, and can view and filter all users in the system.
     7
     8== Scenario ==
     9
     101. Admin navigates to the user management section and views all users in the system.
     11
     12{{{
     13#!sql
     14SELECT
     15  u.user_id,
     16  u.username,
     17  u.role,
     18  u.first_name,
     19  u.last_name,
     20  u.is_active
     21FROM users u
     22ORDER BY u.role, u.username;
     23}}}
     24
     252. Admin filters users by role.
     26
     27{{{
     28#!sql
     29SELECT
     30  u.user_id,
     31  u.username,
     32  u.role,
     33  u.first_name,
     34  u.last_name,
     35  u.is_active
     36FROM users u
     37WHERE u.role = 'DOCTOR'
     38ORDER BY u.username;
     39}}}
     40
     413. Admin clicks "Create User" and enters the new user's details.
     42
     43{{{
     44#!sql
     45INSERT INTO users (username, password, role, first_name, last_name, is_active)
     46VALUES (
     47  'nikola.trajkov',
     48  'password123',
     49  'DOCTOR',
     50  'Nikola',
     51  'Trajkov',
     52  TRUE
     53)
     54RETURNING user_id;
     55}}}
     56
     574. System creates the role-specific profile linked to the new user.
     58
     59{{{
     60#!sql
     61INSERT INTO doctors (user_id, specialization_id, department_id, first_name, last_name, email_address, level_id)
     62VALUES (
     63  (SELECT user_id FROM users WHERE username = 'nikola.trajkov'),
     64  (SELECT specialization_id FROM doctor_specialization WHERE specialization_name = 'Cardiology'),
     65  (SELECT department_id FROM departments WHERE department_name = 'Cardiology'),
     66  'Nikola',
     67  'Trajkov',
     68  'nikola.trajkov@cardio.com',
     69  (SELECT level_id FROM doctor_level WHERE level = 'RESIDENT')
     70);
     71}}}
     72
     735. System displays the updated user list confirming the new account.
     74
     75{{{
     76#!sql
     77SELECT
     78  u.user_id,
     79  u.username,
     80  u.role,
     81  u.first_name,
     82  u.last_name,
     83  u.is_active
     84FROM users u
     85ORDER BY u.role, u.username;
     86}}}