diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md
index 90d9d40bf91..c183ea9e894 100644
--- a/docs/DeveloperGuide.md
+++ b/docs/DeveloperGuide.md
@@ -1,7 +1,7 @@
---
layout: default.md
title: "Developer Guide"
-pageNav: 3
+pageNav: 2
---
# Developer Guide
diff --git a/docs/UserGuide.md b/docs/UserGuide.md
index 858e79b2aa9..0b95afffbef 100644
--- a/docs/UserGuide.md
+++ b/docs/UserGuide.md
@@ -31,8 +31,6 @@ With MedBook, experience a new level of convenience and control:
-
-
## Table of Contents
- [Welcome to MedBook](#welcome-to-medbook)
@@ -102,15 +100,13 @@ We're here to make your experience as user-friendly as possible. Let's get start
- Choose a folder where you'd like to manage your patient data.
-
+
-**Tip**: Create a new folder named `MedBook` for easy organization.
+ **Tip**: Create a new folder named `MedBook` for easy organization.
-
+
-- Move `medbook.jar` into the folder as shown below.
- - **Windows Users**:![Ui](images/WinUserDir.png)
- - **Mac Users**:![Ui](images/MacUserDir.png)
+ - Move `medbook.jar` into the folder as shown below.
4. **Accessing Terminal**:
@@ -125,13 +121,13 @@ We're here to make your experience as user-friendly as possible. Let's get start
- Navigate to to the folder where you have stored `medbook.jar` using the `cd` command
-
+
-**Tip**: Right-click the folder and select `New Terminal at Folder` (**Mac**) or `Open in Terminal` (**Windows**) to instantly navigate to the folder in your **Terminal**!
+ **Tip**: Right-click the folder and select `New Terminal at Folder` (**Mac**) or `Open in Terminal` (**Windows**) to instantly navigate to the folder in your **Terminal**!
-
+
-- Type `java -jar medbook.jar` and hit Enter to start MedBook.
+ - Type `java -jar medbook.jar` and hit Enter to start MedBook.
Once launched, MedBook will look like this:
![Ui](images/MedBookUi.png)
@@ -145,6 +141,8 @@ Once launched, MedBook will look like this:
---
+
+
## Glossary
Here are some definitions of the terms used throughout this user guide.
@@ -160,6 +158,8 @@ Here are some definitions of the terms used throughout this user guide.
---
+
+
## Navigating the GUI
**Main Window**:
@@ -179,6 +179,8 @@ Here is a brief summary of the GUI components in MedBook.
| Pinned Patient List | Displays a list of Patient Cards of pinned patients |
| Command Input Box | A text box which allows users to input commands |
+
+
**Appointment Window**
![Appointment Window](images/ViewAppointmentWindow.png)
@@ -194,6 +196,8 @@ Here is a brief summary of the GUI components in MedBook.
---
+
+
## MedBook Tutorial
1. **Starting MedBook**:
@@ -208,23 +212,23 @@ Here is a brief summary of the GUI components in MedBook.
2. **Opening the Help Window**:
- Let us try opening the **Help Window**. Type `help` in the Command Input Box and press Enter.
- - A **Help Window**, similar to the image below, will appear, listing all available commands.
+ - A **Help Window**, similar to the image below, will appear, listing all available commands.
Please refer to the [Features](#features) section for a more detailed explanation of the commands.
3. **Adding a New Patient**:
- Now, let us try adding a new patient. Type in `addpatient n/John Doe i/A0000000B e/johndoe@gmail.com p/12345678 g/M a/26 bt/AB+ al/Penicillin` and press Enter.
- - The Message Display Box will confirm the successful addition.
+ - The Message Display Box will confirm the successful addition.
4. **Practice Adding Patients**:
- Experiment by adding a few more patients to MedBook on your own!
5. **Adding a Medical Record**:
- Now, let us try adding a medical record to a patient. Type in `addrecord 3 d/18-09-2023 1800 c/Fever m/Paracetamol` and press Enter.
- This will add a new medical record to the third patient shown in the **Patient List**.
- - The Message Display Box will confirm the successful creation.
+ - The Message Display Box will confirm the successful creation.
6. **Add More Medical Records**:
- Try creating additional medical records for other patients in MedBook!
7. **Viewing Patient Records**:
- Let us view the medical records of the first patient. Type in `view 1` and press Enter.
- If no medical records were added for the first patient, you will see an empty **Medical Record List** as shown.
-
+
Congratulations! You are now ready to explore MedBook on your own. Experiment with different features in the following section and discover the potential of MedBook!
@@ -232,6 +236,8 @@ Congratulations! You are now ready to explore MedBook on your own. Experiment wi
---
+
+
## Features
@@ -270,6 +276,8 @@ Congratulations! You are now ready to explore MedBook on your own. Experiment wi
+
+
### Parameters
| FIELD | PREFIX | CONSTRAINTS |
@@ -328,23 +336,9 @@ The **domain** name must:
---
-### Viewing help : `help`
+### Patient features
-Opens/focuses the **Help Window** displaying all commands.
-
-Format: `help`
-
-
-
-**Tip**: If you get stuck while using MedBook, use the `help` command to get a quick overview of all commands!
-
-
-
-[Back to Table Of Contents](#table-of-contents)
-
----
-
-### Adding a patient: `addpatient`
+#### Adding a patient: `addpatient`
Adds a new patient to the system.
@@ -373,54 +367,113 @@ Screenshots:
---
-### Adding a medical record: `addrecord`
+#### Editing a patient: `editpatient`
-Adds a new medical record to the system.
+Edits the details of an existing patient.
-Format: `addrecord PATIENTID d/DATETIME c/CONDITIONS... m/MEDICATIONS...`
+Format: `editpatient PATIENTID PREFIX/NEWVALUE...`
-- Adds a medical record to the patient with the corresponding `PATIENTID`.
+- Edits the details of the patient with the corresponding `PATIENTID`.
-- Duplicate entries for `CONDITIONS` and `MEDICATIONS` are allowed and will be considered as separate entries.
- - `addrecord 1 d/10-11-2023 1800 c/Flu c/Flu m/Ibuprofen m/Ibuprofen` will store **[Flu, Flu]** and **[Ibuprofen, Ibuprofen]** for `CONDITIONS` and `MEDICATIONS`, respectively.
+- Acceptable fields: `NAME`, `EMAIL`, `PHONE`, `GENDER`, `AGE`, `BLOODTYPE`, `ALLERGY`.
+
-Example:
+**Note**: `NRIC` cannot be edited.
-- `addrecord 3 d/18-09-2023 1800 c/Fever m/Paracetamol`
- Adds a medical record to the patient with the `PATIENTID` of **3**.
- The patient visited the clinic on **September 18th, 2023** at **6:00PM** with a **Fever** and was prescribed **Paracetamol**.
+
+
+- Existing values in the respective fields will be updated to the `NEWVALUE`.
+
+- Multiple entries of `ALLERGY` are allowed i.e `editpatient 1 al/Seafood al/Dust`.
+
+
+
+**Note**: When editing `ALLERGY`, the existing allergies of the patient will be removed i.e adding of allergies is not cumulative.
+
+
+
+Examples:
+
+- `editpatient 1 e/johndoe_updated@gmail.com` Edits the `EMAIL` of the patient with the `PATIENTID` of **1** to **johndoe_updated@gmail.com**.
+
+- `editpatient 2 p/92345678` Edits the `PHONE` of the patient with the `PATIENTID` of **2** to **92345678**.
+
+- `editpatient 3 al/aspirin` Edits the `ALLERGY` of the patient with the `PATIENTID` of **3** to **aspirin**.
+
+- `editpatient 2 p/92345678 al/aspirin` Edits the `PHONE` and `ALLERGY` of the patient with the `PATIENTID` of **2** to **92345678** and **aspirin**, respectively.
Screenshots:
-
-
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Adding an appointment: `addappointment`
+#### Deleting a patient: `delete`
-Adds a new appointment to the system.
+Deletes an existing patient from the system.
-Format: `addappointment PATIENTID n/NAME d/DATETIME`
+Format: `delete PATIENTID`
-- Adds an appointment to the patient with the corresponding `PATIENTID`.
+- Deletes the patient with the corresponding `PATIENTID`.
Example:
-- `addappointment 2 n/Eye Examination d/10-10-2023 1800` Adds an `Eye Examination` to the patient with the `PATIENTID` of **2**. The appointment is schedueld for the **10th of October 2023** at **6:00PM**.
+- `delete 2` Deletes the patient with the `PATIENTID` of **2**.
Screenshots:
-
-
+
+
+
+[Back to Table Of Contents](#table-of-contents)
+
+---
+
+#### Locating patients by keywords: `search`
+
+Searches for patients with details containing the corresponding `KEYWORD`.
+
+Format: `search KEYWORD [MOREKEYWORDS]...`
+
+- The search is not case-sensitive. e.g **Penicillin** will match **penicillin**.
+
+- The order of the keywords does not matter. e.g. **Hans Bo** will match **Bo Hans**.
+
+- Patients matching at least one keyword will be returned. e.g. **Hans Bo** will return **Hans Gruber**, **Bo Yang**.
+
+- Patients with detail that are not exactly the same as the `KEYWORD` searched will not appear. e.g. **Han** will not return **Hans**.
+
+
+
+**Note**: The details of the patient's medical records will not be searched.
+
+
+
+
+
+**Tip**: Utilise the `search` command to quickly locate patients. It is perfect for filtering patient lists - for instance, identifying patients with specific allergies.
+
+
+
+Examples:
+
+- `search Alex` Will display patients with **Alex** in their details.
+
+- `search Alex M` Will display patients with **Alex** or **M** in their details.
+
+Screenshots:
+
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Listing all patients: `list`
+#### Listing all patients: `list`
Shows a list of all patients.
@@ -438,96 +491,107 @@ Format: `list`
---
-### Viewing patient medical records: `view`
+#### Pinning a patient: `pin`
-Displays the medical records of a specific patient.
-
-Format: `view PATIENTID`
+Pins an existing patient.
-- The medical records of the patient with the corresponding `PATIENTID` will be displayed on screen in the **Medical Record List**.
+Format: `pin PATIENTID`
-- The corresponding patient's **Patient Card** will be displayed in the **Patient Being Viewed** section.
+- Pins the patient with the corresponding `PATIENTID` to the **Pinned Patient List**.
-Examples:
+
-- `view 2` displays the medical records of the patient with the `PATIENTID` of **2**. The medical records will be displayed in the **Medical Record List** and patient information will be in the **Patient Being Viewed** section.
+**Tip**: A patient requires follow-up? Use the `pin` command to help you remember to contact them!
-
+
-**Note**: The `PATIENTID` in the **Patient Being Viewed** section will display **1**. If you wish to perform commands on the patient, use the `PATIENTID` displayed in the **Patient List**.
+Example:
-
+- `pin 2` Pins the patient with the `PATIENTID` of **2** to the **Pinned Patient List**.
Screenshots:
-
-
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Viewing appointments: `viewappointment`
+#### Unpinning a patient: `unpin`
-Opens/focuses the **Appointment Window**.
+Unpins a pinned patient.
-Format: `viewappointment`
+Format: `unpin PINNEDID`
-
+- Unpins the patient with the corresponding `PINNEDID` from the **Pinned Patient List**.
-**Tip**: Want to know about upcoming appointments? Simply type in `viewappointment`!
+Examples:
-
+- `unpin 2` Unpins the patient with the `PINNEDID` of **2** from the **Pinned Patient List**.
[Back to Table Of Contents](#table-of-contents)
---
-### Editing a patient: `editpatient`
+### Medical Record features
-Edits the details of an existing patient.
+#### Adding a medical record: `addrecord`
-Format: `editpatient PATIENTID PREFIX/NEWVALUE...`
+Adds a new medical record to the system.
-- Edits the details of the patient with the corresponding `PATIENTID`.
+Format: `addrecord PATIENTID d/DATETIME c/CONDITIONS... m/MEDICATIONS...`
-- Acceptable fields: `NAME`, `EMAIL`, `PHONE`, `GENDER`, `AGE`, `BLOODTYPE`, `ALLERGY`.
-
+- Adds a medical record to the patient with the corresponding `PATIENTID`.
-**Note**: `NRIC` cannot be edited.
+- Duplicate entries for `CONDITIONS` and `MEDICATIONS` are allowed and will be considered as separate entries.
+ - `addrecord 1 d/10-11-2023 1800 c/Flu c/Flu m/Ibuprofen m/Ibuprofen` will store **[Flu, Flu]** and **[Ibuprofen, Ibuprofen]** for `CONDITIONS` and `MEDICATIONS`, respectively.
-
+Example:
-- Existing values in the respective fields will be updated to the `NEWVALUE`.
+- `addrecord 3 d/18-09-2023 1800 c/Fever m/Paracetamol`
+ Adds a medical record to the patient with the `PATIENTID` of **3**.
+ The patient visited the clinic on **September 18th, 2023** at **6:00PM** with a **Fever** and was prescribed **Paracetamol**.
-- Multiple entries of `ALLERGY` are allowed i.e `editpatient 1 al/Seafood al/Dust`.
+Screenshots:
-
+
+
-**Note**: When editing `ALLERGY`, the existing allergies of the patient will be removed i.e adding of allergies is not cumulative.
+[Back to Table Of Contents](#table-of-contents)
-
+---
+
+#### Viewing patient medical records: `view`
+
+Displays the medical records of a specific patient.
+
+Format: `view PATIENTID`
+
+- The medical records of the patient with the corresponding `PATIENTID` will be displayed on screen in the **Medical Record List**.
+
+- The corresponding patient's **Patient Card** will be displayed in the **Patient Being Viewed** section.
Examples:
-- `editpatient 1 e/johndoe_updated@gmail.com` Edits the `EMAIL` of the patient with the `PATIENTID` of **1** to **johndoe_updated@gmail.com**.
+- `view 2` displays the medical records of the patient with the `PATIENTID` of **2**. The medical records will be displayed in the **Medical Record List** and patient information will be in the **Patient Being Viewed** section.
-- `editpatient 2 p/92345678` Edits the `PHONE` of the patient with the `PATIENTID` of **2** to **92345678**.
+
-- `editpatient 3 al/aspirin` Edits the `ALLERGY` of the patient with the `PATIENTID` of **3** to **aspirin**.
+**Note**: The `PATIENTID` in the **Patient Being Viewed** section will display **1**. If you wish to perform commands on the patient, use the `PATIENTID` displayed in the **Patient List**.
-- `editpatient 2 p/92345678 al/aspirin` Edits the `PHONE` and `ALLERGY` of the patient with the `PATIENTID` of **2** to **92345678** and **aspirin**, respectively.
+
Screenshots:
-
-
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Editing a medical record: `editrecord`
+#### Editing a medical record: `editrecord`
Edits the details of an existing medical record.
@@ -565,48 +629,23 @@ Examples:
---
-### Locating patients by keywords: `search`
-
-Searches for patients with details containing the corresponding `KEYWORD`.
+#### Deleting a medical record: `deleterecord`
-Format: `search KEYWORD [MOREKEYWORDS]...`
-
-- The search is not case-sensitive. e.g **Penicillin** will match **penicillin**.
-
-- The order of the keywords does not matter. e.g. **Hans Bo** will match **Bo Hans**.
-
-- Patients matching at least one keyword will be returned. e.g. **Hans Bo** will return **Hans Gruber**, **Bo Yang**.
-
-- Patients with detail that are not exactly the same as the `KEYWORD` searched will not appear. e.g. **Han** will not return **Hans**.
-
-
-
-**Note**: The details of the patient's medical records will not be searched.
-
-
-
-
-
-**Tip**: Utilise the `search` command to quickly locate patients. It is perfect for filtering patient lists - for instance, identifying patients with specific allergies.
-
-
-
-Examples:
+Deletes an existing medical record from the system.
-- `search Alex` Will display patients with **Alex** in their details.
+Format: `deleterecord PATIENTID/RECORDID`
-- `search Alex M` Will display patients with **Alex** or **M** in their details.
+- Deletes the medical record with the corresponding `RECORDID` from the patient with the corresponding `PATIENTID`.
-Screenshots:
+Example:
-
-
+- `deleterecord 2/1` Deletes the medical record with the `RECORDID` of **2** from the patient with the `PATIENTID` of **1**.
[Back to Table Of Contents](#table-of-contents)
---
-### Locating medical records by keywords: `searchrecord`
+#### Locating medical records by keywords: `searchrecord`
Searches for medical records of the Patient Being Viewed with details containing the corresponding `KEYWORD`.
@@ -636,44 +675,59 @@ Examples:
---
-### Deleting a patient: `delete`
+#### Attaching files to a patient's medical record
-Deletes an existing patient from the system.
+Attach local files to a patient's medical record by clicking on the **Attach** button located within each **Record Card**.
-Format: `delete PATIENTID`
+
-- Deletes the patient with the corresponding `PATIENTID`.
+**Tip**: A patient's report just comes out? The **Attach File** feature can help you keep documents in an organised manner!
-Example:
+
-- `delete 2` Deletes the patient with the `PATIENTID` of **2**.
+
+
+**Caution**:
+
+- Refrain from deleting/relocating the local file. If necessary, re-attach the new file after relocation/deletion.
+- Ensure that you have selected a default launcher for the selected file type.
+
+
Screenshots:
-
-
+
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Deleting a medical record: `deleterecord`
+### Appointment features
-Deletes an existing medical record from the system.
+#### Adding an appointment: `addappointment`
-Format: `deleterecord PATIENTID/RECORDID`
+Adds a new appointment to the system.
-- Deletes the medical record with the corresponding `RECORDID` from the patient with the corresponding `PATIENTID`.
+Format: `addappointment PATIENTID n/NAME d/DATETIME`
+
+- Adds an appointment to the patient with the corresponding `PATIENTID`.
Example:
-- `deleterecord 2/1` Deletes the medical record with the `RECORDID` of **2** from the patient with the `PATIENTID` of **1**.
+- `addappointment 2 n/Eye Examination d/10-10-2023 1800` Adds an `Eye Examination` to the patient with the `PATIENTID` of **2**. The appointment is schedueld for the **10th of October 2023** at **6:00PM**.
+
+Screenshots:
+
+
+
[Back to Table Of Contents](#table-of-contents)
---
-### Deleting an appointment: `deleteappointment`
+#### Deleting an appointment: `deleteappointment`
Deletes an appointment from the system.
@@ -695,79 +749,41 @@ Example:
---
-### Pinning a patient: `pin`
-
-Pins an existing patient.
+#### Viewing appointments: `viewappointment`
-Format: `pin PATIENTID`
+Opens/focuses the **Appointment Window**.
-- Pins the patient with the corresponding `PATIENTID` to the **Pinned Patient List**.
+Format: `viewappointment`
-
+
-**Tip**: A patient requires follow-up? Use the `pin` command to help you remember to contact them!
+**Tip**: Want to know about upcoming appointments? Simply type in `viewappointment`!
-Example:
-
-- `pin 2` Pins the patient with the `PATIENTID` of **2** to the **Pinned Patient List**.
-
-Screenshots:
-
-
-
-
[Back to Table Of Contents](#table-of-contents)
---
-### Unpinning a patient: `unpin`
-
-Unpins a pinned patient.
-
-Format: `unpin PINNEDID`
-
-- Unpins the patient with the corresponding `PINNEDID` from the **Pinned Patient List**.
-
-Examples:
+### General features
-- `unpin 2` Unpins the patient with the `PINNEDID` of **2** from the **Pinned Patient List**.
-
-[Back to Table Of Contents](#table-of-contents)
-
----
+#### Viewing help : `help`
-### Attaching files to a patient's medical record
+Opens/focuses the **Help Window** displaying all commands.
-Attach local files to a patient's medical record by clicking on the **Attach** button located within each **Record Card**.
+Format: `help`
-**Tip**: A patient's report just comes out? The **Attach File** feature can help you keep documents in an organised manner!
-
-
-
-
-
-**Caution**:
-
-- Refrain from deleting/relocating the local file. If necessary, re-attach the new file after relocation/deletion.
-- Ensure that you have selected a default launcher for the selected file type.
+**Tip**: If you get stuck while using MedBook, use the `help` command to get a quick overview of all commands!
-Screenshots:
-
-
-
-
-
[Back to Table Of Contents](#table-of-contents)
---
-### Exiting the program: `exit`
+#### Exiting the program: `exit`
Exits the program.
@@ -777,7 +793,7 @@ Format: `exit`
---
-### Saving the data
+#### Saving the data
MedBook data is saved in the `data` folder automatically after any command that changes the data. This ensures the safety of your data. When MedBook is restarted, the data is loaded back into the application automatically.
@@ -785,7 +801,7 @@ MedBook data is saved in the `data` folder automatically after any command that
---
-### Editing the data file
+#### Editing the data file
MedBook data is saved automatically as a JSON file located in `[jar file location]/data/medbook.json`. The file can be edited directly to make changes to MedBook data.