Skip to content

Commit 8ac6af3

Browse files
committed
Merge branch 'backup' into message-issues
# Conflicts: # docs/UserGuide.md # src/main/java/seedu/address/logic/commands/ClusterCommand.java
2 parents 29b0e54 + 912e19c commit 8ac6af3

File tree

14 files changed

+509
-142
lines changed

14 files changed

+509
-142
lines changed

docs/DeveloperGuide.md

Lines changed: 50 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -319,26 +319,28 @@ _{more aspects and alternatives to be added}_
319319
### User stories
320320

321321
Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`
322-
| Priority | As a …​ | I want to …​ | So that I can…​ |
323-
|----------|----------------------------------|-------------------------------------------------|------------------------------------------------------------------------|
324-
| `* * *` | New user | see usage instructions | refer to instructions when I forget how to use the App |
325-
| `* * *` | Healthcare Worker | add a new patient | |
326-
| `* * *` | Healthcare Worker | delete a patient | emove wrong or obselete information of a patient from the database |
327-
| `* * *` | Healthcare Worker | find a person by NRIC | locate details of persons without having to go through the entire list |
328-
| `* * *` | Healthcare Worker | update a person's details | keep the details up to date |
329-
| `* * *` | Healthcare Worker | find a patient by matching criteria | Find a list of patients who I need |
330-
| `* * *` | Healthcare Worker | Delete patient's information | remove patient information that is no longer correct |
331-
| `* *` | Healthcare Worker | hide private contact details | minimize chance of someone else seeing them by accident |
332-
| `* *` | Healthcare Worker | highlight contradicting information and entries | minimize the mistakes in entries |
333-
| `* *` | Healthcare Worker | be able to resolve duplicate information | correct wrong inputs |
334-
| `* *` | Healthcare Worker | see the history of changes made to a patient | understand the changes made to a patient |
335-
| `* *` | Healthcare Worker | be able to tap different contact methods | make sure important information is sent |
336-
| `* *` | Healthcare Worker | see the close contacts of a patient | see the links between infected patients |
337-
| `* *` | Healthcare Worker | status of infection of a patient | take follow-up actions |
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 |
341322

323+
| Priority | As a …​ | I want to …​ | So that I can…​ |
324+
|---------|-------------------|-------------------------------------------------|------------------------------------------------------------------------------|
325+
| `* * *` | 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 |
342344
### Use cases
343345

344346
(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:
510512

511513
### Glossary
512514

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.
515517
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.
536536

537537
--------------------------------------------------------------------------------------------------------------------
538538

@@ -549,19 +549,17 @@ testers are expected to do more *exploratory* testing.
549549

550550
1. Initial launch
551551

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
553553

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.
555555

556-
1. Saving window preferences
556+
2. Saving window preferences
557557

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.
559559

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>
561561
Expected: The most recent window size and location is retained.
562562

563-
1. _{ more test cases …​ }_
564-
565563
### Deleting a person
566564

567565
1. Deleting a person while all persons are being shown
@@ -587,3 +585,7 @@ testers are expected to do more *exploratory* testing.
587585

588586
1. _{ more test cases …​ }_
589587

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

Comments
 (0)