You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|`* * *`| New user | see usage instructions | refer to instructions when I forget how to use the App |
326
+
|`* * *`| Healthcare Worker | create a new patient record ||
327
+
|`* * *`| Healthcare Worker | delete a patient | remove wrong or obselete patient record from the database |
328
+
|`* * *`| Healthcare Worker | delete patient's information | remove patient information that is known to be incorrect |
329
+
|`* * *`| Healthcare Worker | read a patient's information by NRIC | locate details of persons without having to go through the entire list |
330
+
|`* * *`| Healthcare Worker | update a person's details | keep the details up to date |
331
+
|`* * *`| Healthcare Worker | find a patient by matching criteria | Find a list of patients from with a certain conditio or address |
332
+
|`* * *`| Healthcare Worker | find a patient by name | find a patient in the situation when their NRIC is not immediately available |
333
+
|`* * *`| Healthcare Worker | record visits made by patients | record the change in health condition of the patients across time |
334
+
|`* *`| Healthcare Worker | highlight contradicting information and entries | minimize the mistakes in entries |
335
+
|`* *`| Healthcare Worker | see the history of visits made by a patient | understand the past health condition of a patient |
336
+
|`* *`| Healthcare Worker | be able to tap different contact methods | make sure important information is sent |
337
+
|`* *`| Healthcare Worker | status of health of a patient | give appropriate treatment |
338
+
|`* *`| Healthcare Worker | see clusters of infected patients | understand which areas are at high risk of infection |
339
+
|`*`| Healthcare Worker | find the person who first spread the disease | better understand the disease |
340
+
|`*`| Healthcare Worker | sort persons by name | locate a person easily |
341
+
|`*`| Healthcare Worker | hide private contact details | minimize chance of someone else seeing them by accident |
342
+
|`*`| Healthcare Worker | be able to resolve duplicate information | correct wrong inputs |
343
+
|`*`| Healthcare Worker | see the close contacts of a patient | see the links between infected patients |
342
344
### Use cases
343
345
344
346
(For all use cases below, the **System** is the `AddressBook` and the **Actor** is the `user`, unless specified otherwise)
@@ -510,29 +512,27 @@ Quality requirements:
510
512
511
513
### Glossary
512
514
513
-
1.**Patient Name**: The name of the patient. Case insensitive alphabetical characters with spaces, capped at 30 characters.
514
-
2.**NRIC**: National Registration Identity Card number, follows Singapore NRIC format.
515
+
1.**Name**: The name of the patient. Case-sensitive alphabetical characters with spaces, capped at 2,000,000,000 characters.
516
+
2.**NRIC**: National Registration Identity Card number, follows Singapore NRIC format. 9 characters. First character can be any of S, T, followed by 7 digits, and the last character is an alphabet. NRIC is case-insensitive.
515
517
3.**Date of Birth (DOB)**: The patient's date of birth, in the format `yyyy-MM-dd`.
516
-
4.**Sex**: The biological sex of the patient, limited to Male/Female.
517
-
5.**Phone Number**: The contact number of the patient, numbers with a plus sign.
518
-
6.**Address**: The home address of the patient, alphanumerical characters with spaces.
519
-
7.**Email**: The email address of the patient, follows a valid format: `<a-zA-Z0-9>@<a-zA-Z0-9>.com`.
520
-
8.**Country of Nationality**: The country name of the patient's nationality, alphabetical characters with spaces.
521
-
9.**Date of Admission (DOA)**: The date when the patient was admitted for the current visit, in the format `yyyy-MM-dd`.
522
-
10.**Blood Type**: The blood type of the patient, accepts A/B/AB/O (+ or -).
523
-
11.**Allergies**: Any allergies the patient may have, alphanumerical characters with spaces.
524
-
12.**Conditions**: Any prior medical conditions of the patient.
525
-
13.**Symptoms**: The latest symptoms experienced by the patient.
526
-
14.**Diagnosis**: The latest diagnosis of the patient's condition.
527
-
15.**Status**: The current infectious status of the patient, can be healthy (green), at risk (yellow), or infected (red).
528
-
16.**Location**: A specific area or zone, which can be a neighbourhood or an institution (school).
529
-
17.**Cluster ID**: Unique identifier for a cluster of related cases.
530
-
18.**Fields**: The fields of the patient's information, such as name, status, contact.
531
-
19.**Infection Source**: The source of infection if known.
532
-
20.**Cluster Members**: Patients who are part of the cluster.
533
-
21.**Cluster Location**: Location associated with the cluster.
534
-
22.**Date of First Infection**: The date when the first infection within the cluster occurred.
535
-
23.**Cluster Status**: The current status of the cluster, such as active, under observation, resolved, etc.
518
+
4.**Sex**: The biological sex of the patient, limited to `M` or `F`.
519
+
5.**Phone Number**: The contact number of the patient, limited to 8 digits.
520
+
6.**Address**: The home address of the patient. Any text except blank and empty text is accepted.
521
+
7.**Email**: The email address of the patient, follows a valid format: `<a-zA-Z0-9>@<a-zA-Z0-9>.com`. Case-sensitive.
522
+
8.**Country of Nationality**: The country name of the patient's nationality. Any text except blank and empty text is accepted.
523
+
9.**Date of Admission (DOA)**: The date when the patient was admitted for the first visit, in the format `yyyy-MM-dd`.
524
+
10.**Blood Type**: The blood type of the patient. accepts any of `A+`, `A-`, `B+`, `B-`, `AB+`, `AB-`, `O+`, `O-`.
525
+
11.**Allergies**: Any allergies the patient may have. Any text except blank and empty text is accepted.
526
+
12.**Conditions**: Any prior medical conditions of the patient. Any text except blank and empty text is accepted.
527
+
13.**Symptoms**: The latest symptoms experienced by the patient. Any text except blank and empty text is accepted.
528
+
14.**Diagnosis**: The latest diagnosis of the patient's condition. Any text except blank and empty text is accepted.
529
+
15.**Status**: The current health status of the patient, can be `HEALTHY` (green), `PENDING` (yellow), or `UNHEALTHY` (red). `PENDING` means the patient still need upcoming diagnosis to determine the current health status.
530
+
16.**Date of Visit**: The date of the patient's current visit, in the format `yyyy-MM-dd`.
531
+
17.**Fields**: The fields of the patient's information, such as name, status, contact.
532
+
17.**Cluster**: A group of patients who are infected by the same disease.
533
+
18.**Patient Visit**: A record of a patient's one specific visit to the clinic, including the date of visit, symptoms, diagnosis, and status.
534
+
19.**Patient History**: A collection of all the visits by a patient.
535
+
20.**Patient Record**: A collection of all the information about a patient, including the patient's name, NRIC, phone number, address, email, country.
@@ -549,19 +549,17 @@ testers are expected to do more *exploratory* testing.
549
549
550
550
1. Initial launch
551
551
552
-
1. Download the jar file and copy into an empty folder
552
+
1.1 Download the jar file and copy into an empty folder
553
553
554
-
1. Double-click the jar file Expected: Shows the GUI with a set of sample contacts. The window size may not be optimum.
554
+
1.2 Double-click the jar file Expected: Shows the GUI with a set of sample contacts. The window size may not be optimum.
555
555
556
-
1. Saving window preferences
556
+
2. Saving window preferences
557
557
558
-
1. Resize the window to an optimum size. Move the window to a different location. Close the window.
558
+
2.1 Resize the window to an optimum size. Move the window to a different location. Close the window.
559
559
560
-
1. Re-launch the app by double-clicking the jar file.<br>
560
+
2.2 Re-launch the app by double-clicking the jar file.<br>
561
561
Expected: The most recent window size and location is retained.
562
562
563
-
1._{ more test cases … }_
564
-
565
563
### Deleting a person
566
564
567
565
1. Deleting a person while all persons are being shown
@@ -587,3 +585,7 @@ testers are expected to do more *exploratory* testing.
587
585
588
586
1._{ more test cases … }_
589
587
588
+
## Planned enhancements
589
+
**Include FIN as accepted values for field `NRIC`**: The field `NRIC` should accept `F`, `M` and `G` as valid values, as they are valid first characters for foreigners' FIN (foreign identification number).
590
+
**Make `email` case-insensitive**: The field `Email` should be case-insensitive, as emails are not case-sensitive in practice.
591
+
**Limit `country` to a list of valid countries**: The field `country` should be limited to a list of countries, to prevent invalid entries.
0 commit comments