Milestone 1: Pharmacist Diagram and Use Cases - SENG-350-2024-fall/Team-13 GitHub Wiki
Use Case Diagram:
Use Cases:
Use Case: Create Account
Use Case | Create Account |
---|---|
Description | A new user (pharmacist, doctor, nurse, or patient) creates an account to access the system. |
Actors | User (pharmacist, doctor, nurse, patient), System. |
Assumption | The user has internet access and valid credentials to create an account. |
Steps | 1. User selects 'Create Account' option. 2. User enters required details (name, role, email, password). 3. System verifies input. 4. User submits details. 5. System creates account and sends confirmation email. |
Variations | 1. User enters invalid email. 2. User enters weak password. 3. Email already exists in the system. |
Non-Functional | Account creation should be processed within 2 seconds. |
Issues | Ensuring secure storage of passwords. Preventing account duplication. |
Use Case: Log in/Log out
Use Case | Log in/Log out |
---|---|
Description | The user logs in to access their account or logs out to end the session. |
Actors | User (pharmacist, doctor, nurse, patient), System. |
Assumption | The user already has an account and knows their login credentials. |
Steps | 1. User enters username and password. 2. System verifies credentials. 3. User is logged in and redirected to their dashboard. 4. User selects 'Log out' when finished. 5. System logs out the user. |
Variations | 1. Forgotten password. 2. Incorrect password. 3. Multiple failed login attempts. |
Non-Functional | User session should expire after 15 minutes of inactivity. Password reset emails should be sent within 30 seconds. |
Issues | Session management (timeout, concurrent logins). Secure authentication mechanisms. |
Use Case: Receive Prescription From Doctor
Use Case | Receive Prescription From Doctor |
---|---|
Description | Pharmacist receives a prescription order from a doctor. |
Actors | Doctor, Pharmacist, System. |
Assumption | The doctor has entered the prescription into the system, and the pharmacist is available to review it. |
Steps | 1. Doctor enters prescription details. 2. System sends prescription to pharmacist. 3. Pharmacist receives notification. 4. Pharmacist reviews and accepts prescription. |
Variations | 1. Prescription contains incomplete details. 2. Prescription needs clarification (pharmacist can query doctor). |
Non-Functional | Prescription should be transmitted within 1 second. Pharmacist must acknowledge receipt within 15 minutes. |
Issues | Ensuring data accuracy during transmission. Handling prescription conflicts (e.g., allergies). |
Use Case: Receive Recommendation From Nurse
Use Case | Receive Recommendation From Nurse |
---|---|
Description | Pharmacist receives medication recommendations from a nurse, typically for over-the-counter treatments. |
Actors | Nurse, Pharmacist, System. |
Assumption | The nurse has the authority to recommend medications, and the pharmacist is responsible for reviewing and approving the recommendation. |
Steps | 1. Nurse enters recommendation into the system. 2. System notifies pharmacist. 3. Pharmacist reviews recommendation. 4. Pharmacist approves or queries the recommendation. |
Variations | 1. Recommendation is incomplete. 2. Pharmacist needs further clarification from the nurse. |
Non-Functional | Recommendations should be delivered instantly. The pharmacist's response time should not exceed 15 minutes. |
Issues | Avoiding medication conflicts. Ensuring recommendations are based on patient records. |
Use Case: Prescribe Medication
Use Case | Prescribe Medication |
---|---|
Description | The pharmacist prescribes medication to a patient based on the doctor’s orders or the pharmacist’s discretion for over-the-counter treatments. |
Actors | Pharmacist, Patient, System. |
Assumption | The patient’s medical history is available, and the pharmacist has reviewed relevant information. |
Steps | 1. Pharmacist selects medication for the patient. 2. Pharmacist enters dosage and instructions. 3. System updates patient records and notifies patient. |
Variations | 1. Pharmacist changes dosage based on patient condition. 2. Prescription needs approval from the doctor. |
Non-Functional | Prescription details should be saved in under 2 seconds. Prescription history should be available instantly for review. |
Issues | Ensuring prescription accuracy. Handling legal restrictions on certain medications. |
Use Case: Prepare Prescription
Use Case | Prepare Prescription |
---|---|
Description | The pharmacist prepares the prescribed medication for the patient, including packaging and labeling. |
Actors | Pharmacist, System, Patient. |
Assumption | The prescription has been reviewed and approved by the pharmacist. |
Steps | 1. Pharmacist retrieves prescription from the system. 2. Pharmacist prepares medication (measuring dosage, labeling). 3. System updates prescription status to 'Ready for Pickup'. 4. Patient is notified. |
Variations | 1. Prescription is delayed (e.g., medication out of stock). 2. Labeling requires special instructions. |
Non-Functional | Prescription preparation should be completed within 10 minutes, barring stock issues. |
Issues | Ensuring proper dosage and labeling. Managing medication inventory effectively. |
Use Case: Provide Prescription Wait Time
Use Case | Provide Prescription Wait Time |
---|---|
Description | The system estimates and provides the patient with the expected wait time for prescription preparation. |
Actors | Pharmacist, Patient, System. |
Assumption | The pharmacist has started the prescription preparation process, and the system can estimate wait time based on workload. |
Steps | 1. Patient requests wait time for prescription. 2. System checks pharmacist's current workload. 3. System calculates and displays estimated wait time. |
Variations | 1. Estimate changes due to unexpected delays (e.g., inventory issues). 2. Patient requests updates on the wait time. |
Non-Functional | Wait time estimation should be accurate within ±2 minutes. Updates should be provided to the patient in real time. |
Issues | Handling unexpected delays. Ensuring patient satisfaction with real-time updates. |