Skip to content

Commit

Permalink
Merge pull request #26 from Jayne1010/Updated-DG-v1.1
Browse files Browse the repository at this point in the history
Update dg v1.1
  • Loading branch information
Jayne1010 authored Mar 5, 2024
2 parents 922bfe9 + 62eceed commit 90d1998
Show file tree
Hide file tree
Showing 2 changed files with 46 additions and 67 deletions.
21 changes: 12 additions & 9 deletions docs/DeveloperGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,26 +275,28 @@ _{Explain here how the data archiving feature will be implemented}_
**Target user profile**:

* has a need to manage a significant number of contacts
* GPs/receptionist at family clinics to organise patients contacts quickly.
* prefer desktop apps over other types
* can type fast
* prefers typing to mouse interactions
* is reasonably comfortable using CLI apps

**Value proposition**: manage contacts faster than a typical mouse/GUI driven app

**Value proposition**: GPs in private family clinics can be swamped with many patients and it can be overwhelming to keep their contact information organized. Our application makes it easy to view patient contacts at a glance, including important patient information such as medical history, past diagnosis, prescription, and future appointments



### User stories

Priorities: High (must have) - `* * *`, Medium (nice to have) - `* *`, Low (unlikely to have) - `*`

| 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 |
| `* * *` | user | add a new person | |
| `* * *` | user | delete a person | remove entries that I no longer need |
| `* * *` | user | find a person by name | locate details of persons without having to go through the entire list |
| `* *` | user | hide private contact details | minimize chance of someone else seeing them by accident |
| `*` | user with many persons in the address book | sort persons by name | locate a person easily |
| 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 |
| `* * *` | user | add a new patients | |
| `* * *` | user | add information associated to each patient (including past diagnosis etc.) | easily follow up on the necessary actions and understand the patient better |
| `* * *` | user | search for specific patients | quickly access their information as needed |
| `* * *` | expert user | easily delete unnecessary data to reduce the clutter in the app | maintain a clean and organised patient database |

*{More to be added}*

Expand Down Expand Up @@ -399,3 +401,4 @@ testers are expected to do more *exploratory* testing.
1. _{explain how to simulate a missing/corrupted file, and the expected behavior}_

1. _{ more test cases …​ }_

92 changes: 34 additions & 58 deletions docs/UserGuide.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
pageNav: 3
---

# AB-3 User Guide
# Clinic Mate User Guide

AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, AB3 can get your contact management tasks done faster than traditional GUI apps.
Clinic Mate is a **desktop app for managing contacts in a clinic, optimized for use via a Line Interface** (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, Clinic Mate can get manage your patients' contact faster than traditional GUI apps.

<!-- * Table of Contents -->
<page-nav-print />
Expand All @@ -30,13 +30,13 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo

* `list` : Lists all contacts.

* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01` : Adds a contact named `John Doe` to the Address Book.
* `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01` : Adds a contact named `John Doe` to the Address Book.

* `delete 3` : Deletes the 3rd contact shown in the current list.
* `delete T0123456A` : Deletes the contact with the IC 'T0123456A' shown in the current list.

* `clear` : Deletes all contacts.
* `find T0123456A` : Find the contact with the IC 'T0123456A' shown in the current list.

* `exit` : Exits the app.
* `addnote patient i/T0123456A n/Patient has diabetes` : Add a note: 'Patient has diabetes' for the contact with the IC 'T0123456A' as shown in current list.

1. Refer to the [Features](#features) below for details of each command.

Expand All @@ -51,14 +51,8 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo
* Words in `UPPER_CASE` are the parameters to be supplied by the user.<br>
e.g. in `add n/NAME`, `NAME` is a parameter which can be used as `add n/John Doe`.

* Items in square brackets are optional.<br>
e.g `n/NAME [t/TAG]` can be used as `n/John Doe t/friend` or as `n/John Doe`.

* Items with ``​ after them can be used multiple times including zero times.<br>
e.g. `[t/TAG]…​` can be used as ` ` (i.e. 0 times), `t/friend`, `t/friend t/family` etc.

* Parameters can be in any order.<br>
e.g. if the command specifies `n/NAME p/PHONE_NUMBER`, `p/PHONE_NUMBER n/NAME` is also acceptable.
e.g. if the command specifies `n/NAME i/IC_NUMBER`, `i/IC_NUMBER n/NAME` is also acceptable.

* Extraneous parameters for commands that do not take in parameters (such as `help`, `list`, `exit` and `clear`) will be ignored.<br>
e.g. if the command specifies `help 123`, it will be interpreted as `help`.
Expand All @@ -68,7 +62,7 @@ AddressBook Level 3 (AB3) is a **desktop app for managing contacts, optimized fo

### Viewing help : `help`

Shows a message explaning how to access the help page.
Shows a message explaining how to access the help page.

![help message](images/helpMessage.png)

Expand All @@ -79,71 +73,54 @@ Format: `help`

Adds a person to the address book.

Format: `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​`
Format: `add n/NAME i/IC_NUMBER ag/AGE s/GENDER a/ADDRESS`

<box type="tip" seamless>

**Tip:** A person can have any number of tags (including 0)
**Tip:** A person can have a note included.
</box>

Examples:
* `add n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01`
* `add n/Betsy Crowe t/friend e/[email protected] a/Newgate Prison p/1234567 t/criminal`

### Listing all persons : `list`

Shows a list of all persons in the address book.

Format: `list`
* `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01`

### Editing a person : `edit`
### Adding a note : `addnote`

Edits an existing person in the address book.
Add a note to an existing person in the address book

Format: `edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`
Format: `addnote i/IC_NUMBER n/NOTE`

* Edits the person at the specified `INDEX`. The index refers to the index number shown in the displayed person list. The index **must be a positive integer** 1, 2, 3, …​
* At least one of the optional fields must be provided.
* Adds a note to the person with the specified `IC_NUMBER`. The IC number refers to the IC number shown in the displayed person list. The IC_NUMBER **must be the FULL IC NUMBER**.
* Existing values will be updated to the input values.
* When editing tags, the existing tags of the person will be removed i.e adding of tags is not cumulative.
* You can remove all the person’s tags by typing `t/` without
specifying any tags after it.
* When adding notes, the existing note of the person will be removed i.e adding of note is not cumulative.

Examples:
* `edit 1 p/91234567 e/[email protected]` Edits the phone number and email address of the 1st person to be `91234567` and `[email protected]` respectively.
* `edit 2 n/Betsy Crower t/` Edits the name of the 2nd person to be `Betsy Crower` and clears all existing tags.
* `addnote i/T0123456A n/Patient has diabetes` Adds a note `Patient has diabetes` to the person with the IC number `T0123456A` in the address book.

### Locating persons by name: `find`
### Locating persons by ic number: `find`

Finds persons whose names contain any of the given keywords.
Find an existing person in the address book using their IC_NUMBER.

Format: `find KEYWORD [MORE_KEYWORDS]`
Format: `find IC_NUMBER`

* The search is case-insensitive. e.g `hans` will match `Hans`
* The order of the keywords does not matter. e.g. `Hans Bo` will match `Bo Hans`
* Only the name is searched.
* Only full words will be matched e.g. `Han` will not match `Hans`
* Persons matching at least one keyword will be returned (i.e. `OR` search).
e.g. `Hans Bo` will return `Hans Gruber`, `Bo Yang`
* The search is case-insensitive. e.g `t0123456a` will match `T0123456A`.
* Only the IC number is searched.
* Only full IC number will be matched e.g. `T0123456A` will not match `T0123A`.

Examples:
* `find John` returns `john` and `John Doe`
* `find alex david` returns `Alex Yeoh`, `David Li`<br>
![result for 'find alex david'](images/findAlexDavidResult.png)
* `find T0123456A` returns `John Doe`.

### Deleting a person : `delete`

Deletes the specified person from the address book.
Deletes the specified person from the address book using their IC_NUMBER.

Format: `delete INDEX`
Format: `delete IC_NUMBER`

* Deletes the person at the specified `INDEX`.
* The index refers to the index number shown in the displayed person list.
* The index **must be a positive integer** 1, 2, 3, …​
* Deletes the person with the specified `IC_NUMBER`.
* The IC_NUMBER refers to the IC number shown in the displayed person list.
* The IC_NUMBER **must be the FULL IC NUMBER**.

Examples:
* `list` followed by `delete 2` deletes the 2nd person in the address book.
* `find Betsy` followed by `delete 1` deletes the 1st person in the results of the `find` command.
* `delete T0123456A` deletes `John Doe` from the address book.

### Clearing all entries : `clear`

Expand Down Expand Up @@ -195,10 +172,9 @@ _Details coming soon ..._

Action | Format, Examples
-----------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------
**Add** | `add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]…​` <br> e.g., `add n/James Ho p/22224444 e/[email protected] a/123, Clementi Rd, 1234665 t/friend t/colleague`
**Add** | `add n/NAME i/IC_NUMBER ag/AGE s/GENDER a/ADDRESS` <br> e.g., `add n/John Doe i/T0123456A ag/12 s/Male a/John street, block 123, #01-01`
**Clear** | `clear`
**Delete** | `delete INDEX`<br> e.g., `delete 3`
**Edit** | `edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…​`<br> e.g.,`edit 2 n/James Lee e/[email protected]`
**Find** | `find KEYWORD [MORE_KEYWORDS]`<br> e.g., `find James Jake`
**List** | `list`
**Delete** | `delete IC_NUMBER`<br> e.g., `delete T0123456A`
**AddNote** | `addnote i/IC_NUMBER n/NOTE`<br> e.g., `addnote i/T0123456A n/Patient has diabetes`
**Find** | `find IC_NUMBER`<br> e.g., `find T0123456A`
**Help** | `help`

0 comments on commit 90d1998

Please sign in to comment.