-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This document outlines the functional requirements for Rui Santos’s Laboratory. These requirements have been identified based on the “Backend Test” document and an analysis of the project scope.
Rui Santos’s Laboratory is a service that allows patients to schedule medical appointments with doctors from different specialties, depending on the doctor's availability. The patient must be able to view all of their appointments and must be able to change and cancel appointments. The doctor must be able to view their patient’s appointments for the day.
-
Administrator: Responsible for managing the medical specialties and other domain information necessary for the process.
-
Doctor: Responsible for managing your personal information and querying the appointments requested by the patients.
-
Patient: Responsible for managing your personal information and creating, canceling, or querying its appointments. The patient can also search for available doctors by specialty on a specific date.
-
As an administrator, I want to be able to add medical specialties.
- The medical specialties should be available in the system.
- A log should be written when failing to add medical specialties.
-
As an administrator, I want to be able to remove medical specialties.
- The specialties should be removed from the system.
- A log should be written when failing to remove medical specialties.
-
As a doctor, I want to register and update my personal information such as contact numbers and email.
- The doctor should be able to create a new record with your personal information.
- The doctor should not be able to create a record with invalid or missing information.
- A log should be written when an unhandled exception occurs.
-
As a doctor, I want to be able to define and manage my work hours.
- The doctor should be able to set their weekly schedule with specific hours for each day of the week.
- The doctor should be able to modify their weekly schedule by changing the office hours.
- It should not be possible to establish office hours for a doctor who is not registered.
- A log should be written when an unhandled exception occurs.
-
As a doctor, I want to be able to query all my appointments for a given date, with the patient's information allocated to each appointment.
- The doctor should be able to query all of his appointments for a given date.
- An empty list should be returned when the doctor is not registered.
- An empty list should be returned when the doctor has no appointments for the given date.
- A log should be written when an unhandled exception occurs.
- As a patient, I want to register and update my personal information such as contact numbers and email.
- As a patient, I want to be able to query all my appointments with the doctor’s information and contacts.
- As a patient, I want to search all available doctors with a specific medical specialty and free agenda on a given date.
- As a patient, I want to be able to create an appointment with a doctor given a free date and time, with the doctor's identification such as a medical license number.
- As a patient, I want to be able to cancel an appointment.