Files
coursera-ibm-java-developer…/SmartClinicManagementSystem/user_stories.md
2025-11-04 20:21:08 +01:00

7.5 KiB

User Stories

Admin User Stories


Title: As an admin, I want to be able to login, so that I can manage the platform securely

Acceptance Criteria:

  1. I can access the login portal where an username/password is requested
  2. After entering the correct username/password and clicking a button I am logged in
  3. After entering the incorrect username/password an error message is displayed

Priority: High

Story Points: 3

Notes:

  • The error message should not reveal if the user exist
  • The error message should not reveal what information was incorrect

Title: As an admin, I want to be able to log out, so that nobody can use my credentials.

Acceptance Criteria:

  1. A logout button should exist which I can use to log out
  2. When the button is clicked my session is terminated
  3. After logout I am redirected back to the login page

Priority: Medium

Story Points: 2

Notes:

  • Ensure that the session is terminated in the back-end

Title: As an admin, I want to be able to add a doctor to the portal, so that the doctor can us the profile.

Acceptance Criteria:

  1. There is a method of adding doctors to the portal
  2. I should be able to add the doctors information
  3. When the doctor is created a welcome email should be sent to the doctors email address

Priority: Medium

Story Points: 5

Notes:

  • Ensure no duplicate doctors can be added
  • An email is required

Title: As an admin, I want to be able to remove a doctor, so that it does not clutter the user interface.

Acceptance Criteria:

  1. Provide a Delete button on the doctors profile page
  2. When the button is pressed a confirmation dialog is shown
  3. When confirmed the doctor is removed from the system

Priority: Low

Story Points: 3

Notes:

  • The Delete button should only be accessible for admins
  • All data related to the doctor is also removed

Title: As an admin, I want to track user statistics, so that I can better anticipate the users needs in future development.

Acceptance Criteria:

  1. Provide a SQL Stored Procedure to provide a report of appointments / month / doctor
  2. Track usage statistics in the back-end and front-end

Priority: Low

Story Points: 5

Notes:

  • No notes.

Patient User Stories


Title: As a patient, I want to view a list of available doctors without an account, so that I can explore options before registering.

Acceptance Criteria:

  1. Provide a we page where all doctors are listed
  2. The web page should be accessible without logging in

Priority: Medium

Story Points: 3

Notes:

  • No additional notes.

Title: As a patient, I want to register, so that I can book an appointment.

Acceptance Criteria:

  1. Provide a button that takes the patient to the registration page
  2. The registration page should not require authentication
  3. The registration page allows the user to enter all his information
  4. When the registration page is submitted the user is directed to the login page
  5. Send a welcome email to user

Priority: High

Story Points: 5

Notes:

  • Ensure that username is unique, and display an error message if it is not
  • Ensure that the password conforms to our password standard

Title: As an patient, I want to be able to login, so that I can book and manage appointments securely

Acceptance Criteria:

  1. I can access the login portal where an username/password is requested
  2. After entering the correct username/password and clicking a button I am logged in
  3. After entering the incorrect username/password an error message is displayed

Priority: High

Story Points: 3

Notes:

  • The error message should not reveal if the user exist
  • The error message should not reveal what information was incorrect

Title: As a patient, I want to be able to log out, so that nobody can use my credentials.

Acceptance Criteria:

  1. A logout button should exist which I can use to log out
  2. When the button is clicked my session is terminated
  3. After logout I am redirected back to the login page

Priority: Medium

Story Points: 2

Notes:

  • Ensure that the session is terminated in the back-end

Title: As a patient, I want to be able to book a hour long appointment, so that I can consult with a doctor about my issue.

Acceptance Criteria:

  1. Provide a button to book an appointment
  2. Display the available times the patient can select or allow the patient to select a time and duration himself

Priority: Medium

Story Points: 3

Notes:

  • Ensure no double bookings for a doctor
  • Ensure the bookings are limited to an hour
  • Ensure the bookings are not made on weekends nor outside of working hours

Title: As a patient, I want to view my appointments, so that I can prepare accordingly.

Acceptance Criteria:

  1. Provide a page where all appointments for a patient is displayed
  2. The page should only be accessible when logged in

Priority: Low

Story Points: 3

Notes:

  • No additional notes.

Doctor User Stories


Title: As a doctor, I want to be able to login, so that I can manage the platform securely

Acceptance Criteria:

  1. I can access the login portal where an username/password is requested
  2. After entering the correct username/password and clicking a button I am logged in
  3. After entering the incorrect username/password an error message is displayed

Priority: High

Story Points: 3

Notes:

  • The error message should not reveal if the user exist
  • The error message should not reveal what information was incorrect

Title: As a doctor, I want to be able to log out, so that nobody can use my credentials.

Acceptance Criteria:

  1. A logout button should exist which I can use to log out
  2. When the button is clicked my session is terminated
  3. After logout I am redirected back to the login page

Priority: Medium

Story Points: 2

Notes:

  • Ensure that the session is terminated in the back-end

Title: As a doctor, I want to view my appointment calendar, so that I can stay organized and provide better service to my patients.

Acceptance Criteria:

  1. Provide a webpage with a calendar that displays all appointments
  2. The page should only be accessible when logged in as a doctor
  3. The page should allow me to see which patient is scheduled at what time

Priority: Medium

Story Points: 3

Notes:

  • No additional info.

Title: As a doctor, I want to be able to mark myself as unavailable, so that patients cannot book appointments at those times.

Acceptance Criteria:

  1. Provide a way for me to mark myself unavailable in the booking calendar
  2. Patients should not be able to book times on the marked times

Priority: Medium

Story Points: 3

Notes:

  • Weekends and outside of working hours should be automatically marked as unavailable

Title: As a doctor, I want to be able to provide specialization and contact information on my profile , so that my patients can better be prepared.

Acceptance Criteria:

  1. Provide a way for me to provide my extra information
  2. When a patient views my profile the information should be listed there

Priority: Low

Story Points: 2

Notes:

  • Telephone numbers should not be visible without logging in first

Title: As a doctor, I want to view patient details, so that I can be better prepared.

Acceptance Criteria:

  1. Provide a description of the patient when I select him/her in the calendar

Priority: High

Story Points: 2

Notes:

  • No additional info.