From 770165687805cc9217195ea5a338f3ee673597fa Mon Sep 17 00:00:00 2001 From: NatLeong <> Date: Mon, 15 Apr 2024 18:31:13 +0800 Subject: [PATCH] Add use case for read and check commands --- docs/DeveloperGuide.md | 140 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 135 insertions(+), 5 deletions(-) diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index 9d191908e71..68cdc0eb78f 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -370,7 +370,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli | Priority | As a …​ | I want to …​ | So that I can…​ | |---------|-------------------|-------------------------------------------------|------------------------------------------------------------------------------| | `* * *` | New user | see usage instructions | refer to instructions when I forget how to use the App | -| `* * *` | Healthcare Worker | create a new patient record | | +| `* * *` | Healthcare Worker | create a new patient record | add new patient to database | | `* * *` | Healthcare Worker | delete a patient | remove wrong or obselete patient record from the database | | `* * *` | Healthcare Worker | delete patient's information | remove patient information that is known to be incorrect | | `* * *` | Healthcare Worker | read a patient's information by NRIC | locate details of persons without having to go through the entire list | @@ -430,7 +430,45 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli --- -### **Use Case: UC02 - Find Patient Information** +**Use Case: UC02 - Read Patient Record** + +- **Actor:** Healthcare Worker +- **Description:** Healthcare worker reads patient record in the ImmuniMate Address Book System. +- **Preconditions:** Healthcare worker has logged into the system. +- **Guarantees:** Existing patient record in the ImmuniMate Address Book System is successfully displayed. +- **MSS:** + 1. Healthcare worker choose to read a patient record. + 2. IABS requests the necessary detail for reading patient record (NRIC). + 3. Healthcare worker enters the patient's details. + 4. IABS validates the entered data. + 5. IABS displays the patient record to the database. +- **Extensions:** + + 3a. IABS detects an error in the entered data (user does not exist). + + 3a1. IABS shows the conflicting existing entry + 3a2. IABS requests for the correct data. + 3a3. Healthcare Worker enters new data. + Steps 3a1-3a3 are repeated until the data entered are correct, or the user cancels the action. + Use case resumes from step 4. + + 3b. IABS detects an error in the entered data (wrong NRIC format). + + 3b1. IABS requests for the correct data. + 3b2. Healthcare Worker enters new data. + Steps 3b1-3b2 are repeated until the data entered are correct. + Use case resumes from step 4. + + *a. At any time, Healthcare Worker chooses to cancel creating the patient record. + + *a1. IABS requests confirmation to cancel. + *a2. Healthcare Worker confirms the cancellation. + Use case ends. + + +--- + +**Use Case: UC03 - Find Patient Information** - **Actor:** Healthcare Worker - **Description:** Healthcare worker searches for specific patient information in the ImmuniMate Address Book System. @@ -448,7 +486,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli --- -**Use Case: UC03 - Update Patient Information** +**Use Case: UC04 - Update Patient Information** - **Actor:** Healthcare Worker - **Description:** Healthcare worker updates a patient's information in the ImmuniMate Address Book System. @@ -470,7 +508,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli --- -**Use Case: UC04 - Delete Patient Record** +**Use Case: UC05 - Delete Patient Record** - **Actor:** Healthcare worker - **Description:** Healthcare worker deletes a patient's record from the ImmuniMate Address Book System. @@ -486,7 +524,7 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli - 2a2. Healthcare worker enters new NRIC. - Steps 2a1-2a2 are repeated until the data entered are correct or Healthcare worker cancels the action. Use case resumes from step 3. -**Use Case: UC05 - Delete Patient Information** +**Use Case: UC06 - Delete Patient Information** - **Actor:** Healthcare Worker - **Description:** Healthcare worker deletes specific information from a patient's record in the ImmuniMate Address Book System. @@ -514,6 +552,50 @@ Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unli - 2c2. Healthcare worker enters new field. - Steps 2c1-2c2 are repeated until the data entered are correct or Healthcare worker cancels the action. Use case resumes from step 3. + +--- + +**Use Case: UC07 - Add Patient Visit** + + +--- + +**Use Case: UC08 - Check Patient Visit History** + +- **Actor:** Healthcare Worker +- **Description:** Healthcare worker checks patient visit history in the ImmuniMate Address Book System. +- **Preconditions:** Healthcare worker has logged into the system. +- **Guarantees:** Existing patient visit history in the ImmuniMate Address Book System is successfully displayed. +- **MSS:** + 1. Healthcare worker choose to check a patient visit history. + 2. IABS requests the necessary detail for checking patient visit history (NRIC). + 3. Healthcare worker enters the patient's details. + 4. IABS validates the entered data. + 5. IABS displays the patient record to the database. +- **Extensions:** + + 3a. IABS detects an error in the entered data (user does not exist). + + 3a1. IABS shows the conflicting existing entry + 3a2. IABS requests for the correct data. + 3a3. Healthcare Worker enters new data. + Steps 3a1-3a3 are repeated until the data entered are correct, or the user cancels the action. + Use case resumes from step 4. + + 3b. IABS detects an error in the entered data (wrong NRIC format). + + 3b1. IABS requests for the correct data. + 3b2. Healthcare Worker enters new data. + Steps 3b1-3b2 are repeated until the data entered are correct. + Use case resumes from step 4. + + *a. At any time, Healthcare Worker chooses to cancel creating the patient record. + + *a1. IABS requests confirmation to cancel. + *a2. Healthcare Worker confirms the cancellation. + Use case ends. + + ### Non-Functional Requirements 1. Should work on any _mainstream OS_ as long as it has Java `11` or above installed. @@ -621,6 +703,29 @@ testers are expected to do more *exploratory* testing. 1. Prerequisites: show only 1 person's details using the `find n/alex` command. One person is shown in the list. 1. Test case: `create n/Bob Tan ic/T0234567C dob/1990-01-01 hp/12345678 a/123, Jurong West Ave 6, #08-111 s/M st/PENDING`
Expected: A new person is not added to the list. The result panel shows an error message, indicating that the person already exists in the system. + +### Reading a person +1. Reading a person while all persons are being shown. + 1. Prerequisites: + 1. List all persons using the `list` command. Multiple persons in the list. + 1. The person with NRIC `S1234567A` is already created in the system with a `create` command. + + 1. Test case: `read S1234567A`
+ Expected: Details of the read patient shown in result panel. The list panel shows the read person. + + 1. Test case: `read S9876543N`
+ Expected: No person is read. Error details shown. + + 1. Other incorrect read commands to try: `read`, `read 0`, `...` (where the input for NRIC field does not follow format for NRIC)
+ Expected: Similar to previous. + 2. +2. Reading a person while only some persons are being shown + 1. Prerequisites: + 2. Show only 1 person's details using the `find n/alex` command. One person is shown in the list. + 3. The person with NRIC `S1234567A` is already created in the system with a `create` command. + 1. Test case: `read S1234567A`
+ Expected: The result panel shows the details of the read person. The list panel shows the read person. + ### Deleting a person 1. Deleting a person while all persons are being shown @@ -700,6 +805,31 @@ testers are expected to do more *exploratory* testing. 1. The person with NRIC `S1234567A` exists in the system. 1. Test case: `deleteinfo S1234567A n/`
Expected: The person's name is not deleted. The result panel shows an error message, indicating that the name field cannot be deleted. + +### Adding a person's visit + +### Checking a person's visit history +1. Checking a person while all persons are being shown. + 1. Prerequisites: + 1. List all persons using the `list` command. Multiple persons in the list. + 1. The person with NRIC `S1234567A` is already created in the system with a `create` command. + + 1. Test case: `check S1234567A`
+ Expected: Details of the checked person's visit history is shown in the result panel. The list panel shows the checked person. + + 1. Test case: `check S9876543N`
+ Expected: No person is checked. Error details shown. + + 1. Other incorrect read commands to try: `check`, `check 0`, `...` (where the input for NRIC field does not follow format for NRIC)
+ Expected: Similar to previous. + 2. +2. Checking a person while only some persons are being shown + 1. Prerequisites: + 2. Show only 1 person's details using the `find n/alex` command. One person is shown in the list. + 3. The person with NRIC `S1234567A` is already created in the system with a `create` command. + 1. Test case: `check S1234567A`
+ Expected: The result panel shows the details of the checked person's visit history. The list panel shows the checked person. + ### Saving data 1. Dealing with missing/corrupted data files