User Guide - PatientBook
PatientBook is a **desktop app for managing contacts and appointments. It also has an interactive Graphical User Interface (GUI) for users to enter command.
- Quick start
 - 
Features    
- Viewing help : 
help - Adding a patient: 
add - Listing all persons : 
list - Editing a Patient : 
edit - Locating persons by name: 
find - Deleting a Patient : 
delete - Viewing Appointment of Patient : 
viewApp - Adding Appointment to Patient : 
addApp - Deleting Appointment from Patient : 
deleteApp - Viewing Medical Record of Patient : 
viewMed - Adding Medical Record to Patient : 
addMed - Deleting Medical Record from Patient : 
deleteMed - View of Notification on Today : 
appNotification - Clearing all entries : 
clear - Exiting the program : 
exit - Saving the data
 - Editing the data file
 - Commands Table
 
 - Viewing help : 
 
Quick start
- 
    
Ensure you have Java
11or above installed in your Computer. - 
    
Download the latest
patientBook.jarfrom here. - 
    
Copy the file to the folder you want to use as the home folder for your PatientBook.
 - 
    
Double-click the file to start the app. The GUI similar to the below should appear in a few seconds. Note how the app contains some sample data.

 - 
    
Type the command in the command box and press Enter to execute it. e.g. typing
helpand pressing Enter will open the help window.
Some example commands you can try:- 
        
list: Lists all contacts. - 
        
add`n/John Doe p/98765432 e/johnd@example.com 
a/John street, block 123, #01-01
: Adds a contact namedJohn Doe` to the patient book.- 
        
edit3 n/John Doe e/johnd@example.com a/John street, block 123, #01-01: EditCharlottecontact toJohn Doeto the PatientBook. - 
        
delete3: Deletes the 3rd contact shown in the current list. - 
        
clear: Deletes all contacts. - 
        
exit: Exits the app. 
 - 
        
 - 
    
Refer to the Features below for details of each command.
 
Features
 Notes about the command format:
- 
      
Words in
UPPER_CASEare the parameters to be supplied by the user.
e.g. inadd n/NAME,NAMEis a parameter which can be used asadd n/John Doe. - 
      
Items in square brackets are optional.
e.gn/NAME [t/TAG]can be used asn/John Doe t/friendor asn/John Doe. - 
      
Items with
… after them can be used multiple times including zero times.
e.g.[t/TAG]…can be used as(i.e. 0 times),t/friend,t/friend t/familyetc. - 
      
Parameters can be in any order.
e.g. if the command specifiesn/NAME p/PHONE_NUMBER,p/PHONE_NUMBER n/NAMEis also acceptable. - 
      
If a parameter is expected only once in the command but you specified it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specifyp/12341234 p/56785678, onlyp/56785678will be taken. - 
      
Extraneous parameters for commands that do not take in parameters (such as
help,list,exitandclear) will be ignored.
e.g. if the command specifieshelp 123, it will be interpreted ashelp. - 
      
Do note that for viewApp and viewMed related commands, 2nd index is referring to the patient list and 3rd index is referring to the “appointment” or “medical history” list. e.g if you want to delete the 2nd appointment from the first person in the list
deleteApp 1 2. The parameter is FIXED 
Viewing help : help
Shows a message explaning how to access the help page.

Format: help
Adding a patient: add
Adds a patient to the patient book.
Format: add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG] [app/APPOINTMENT]...
</div>
Examples:
add n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01add n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 t/criminal app/health check up at 21/03/2021
Listing all persons : list
Shows a list of all persons in the patient book.
Format: list
Editing a Patient : edit
Edits an existing person in the patient book.
Format: edit INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [t/TAG]…
- Edits the patient 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.
 - Existing values will be updated to the input values.
 - When editing tags, the existing tags of the patient will be removed i.e adding of tags is not cumulative.
 - You can remove all the patient’s tags by typing 
t/without specifying any tags after it. 
Examples:
- 
edit 1 p/91234567 e/johndoe@example.comEdits the phone number and email address of the 1st person to be91234567andjohndoe@example.comrespectively. - 
edit 2 n/Betsy Crower t/Edits the name of the 2nd person to beBetsy Crowerand clears all existing tags. 
Locating persons by name: find
Finds patient whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]
- The search is case-insensitive. e.g 
hanswill matchHans - The order of the keywords does not matter. e.g. 
Hans Bowill matchBo Hans - Only the name is searched.
 - Only full words will be matched e.g. 
Hanwill not matchHans - Persons matching at least one keyword will be returned (i.e. 
ORsearch). e.g.Hans Bowill returnHans Gruber,Bo Yang 
Examples:
- 
find JohnreturnsjohnandJohn Doe - 
find alex davidreturnsAlex Yeoh,David Li
 
Deleting a Patient : delete
Deletes the specified patient from the Patient book.
Format: delete INDEX
- Deletes the patient at the specified 
INDEX. - The index refers to the index number shown in the displayed patient list.
 - The index must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed bydelete 2deletes the 2nd patient in the patient book. - 
find Betsyfollowed bydelete 1deletes the 1st patient in the results of thefindcommand. 
Viewing Appointment of Patient : viewApp
View appointment of a specified patient from the Patient book.
Format: viewApp INDEX
- View appointment of the patient at the specified 
INDEX. - The index refers to the index number shown in the displayed patient list
 - The index must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed byviewApp 2display all the appointment of 2nd patient in the patient book. - 
find Betsyfollowed byviewApp 1display appointments of the 1st patient in the results of thefindcommand. 
Adding Appointment to Patient : addApp
Adds an appointment to specified patient from the Patient book.
Format: addApp INDEX /d DESCRIPTION /t DATETIME
- Add appointment with timing 
DATEIMEto patient at the specifiedINDEX. - The index refers to the index number shown in the displayed patient list
 - Datetime input must be in specified format 2021-03-18 10:00:00
 - The index must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed byaddApp 2 /d Check-up /t 2021-03-18 10:00:00add checkup appointment on datetime to the 2nd patient in the patient book. 
Deleting Appointment from Patient : deleteApp
Deletes the specified appointment from specified patient from the Patient book.
Format: deleteApp USERINDEX APPOINTMENTINDEX
- Deletes an appointment at specified 
APPOINTMENT_INDEXfrom specified patient at the specifiedUSER_INDEX. - Delete will only be valid after viewing the specified patient from the Patient Book.
 - The userIndex refers to the index number shown in the displayed patient list.
 - The appointmentIndex refers to the index number of the appointment of the specified patient.
 - The userIndex and appointmentIndex must be a positive integer 1, 2, 3, …
 
Examples:
- 
find Betsyfollowed bydeleteApp 1 3deletes the 3rd appointment from 1st patient in the results of thefindcommand. 
Viewing Medical Record of Patient : viewMed
View medical records of a specified patient from the Patient book.
Format: viewMed INDEX
- View medical records of the patient at the specified 
INDEX. - The index refers to the index number shown in the displayed patient list
 - The index must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed byviewMed 2display all medical records of 2nd patient in the patient book. - 
find Betsyfollowed byviewMed 1display all medical records of the 1st patient in the results of thefindcommand. 
Adding Medical Record to Patient : addMed
Add a medical record to specified patient from the Patient book.
Format: addMed INDEX /d DESCRIPTION
- Add medical records with content 
DESCRIPTIONto patient at the specifiedINDEX. - The index refers to the index number shown in the displayed patient list
 - The index must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed byaddMed 2 /d Surgeryadd medical records to 2nd patient in the patient book. - 
find Betsyfollowed byaddMed 1 /d Surgeryadd medical records to 1st patient in the results of thefindcommand. 
Deleting Medical Record from Patient : deleteMed
Delete the specified medical records from specified patient from the Patient book.
Format: deleteMed USERINDEX RECORDINDEX
- Deletes a medical records at specified 
RECORDINDEXfrom specified patient at the specifiedUSERINDEX. - The userIndex refers to the index number shown in the displayed patient list.
 - The appointmentIndex refers to the index number of the medical records of the specified patient.
 - The userIndex and recordIndex must be a positive integer 1, 2, 3, …
 
Examples:
- 
listfollowed bydeleteMed 2 1deletes the 1st medical record of the 2nd patient in the patient book. - 
view Betsyfollowed bydeleteMed 1 3deletes the 3rd medical records from 1st patient in the results of theviewcommand. 
View of Notification on Today : appNotification
View all appointments in the Patient Book that are scheduled for today.
Format: appNotification
- The display will first show all appointments which are scheduled for today once the program loaded.
 - User can call 
appNotificationto check for any appointments that are scheduled for today. 
Clearing all entries : clear
Clears all entries from the patient book.
Format: clear
Exiting the program : exit
Exits the program.
Format: exit
Saving the data
PatientBook data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
Editing the data file
AddressBook data are saved as a JSON file [JAR file location]/data/addressbook.json. Advanced users are welcome to update data directly by editing that data file.
###FAQ
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and overwrite the empty data file it creates with the file that contains the data of your previous AddressBook home folder.
Commands Table
| Action | Format, Examples | 
|---|---|
| Add | 
add n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS [t/TAG]… e.g., add n/James Ho p/22224444 e/jamesho@example.com a/123, Clementi Rd, 1234665 t/friend t/colleague
 | 
    
| Clear | clear | 
    
| Delete | 
delete INDEXe.g., delete 3
 | 
    
| Edit | 
edit INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [t/TAG]…e.g., edit 2 n/James Lee e/jameslee@example.com
 | 
    
| Find | 
find KEYWORD [MORE_KEYWORDS]e.g., find James Jake
 | 
    
| List | list | 
    
| viewApp | 
viewApp INDEX e.g., viewApp 1
 | 
    
| addApp | 
addApp INDEX /d DESCRIPTION /t DATETIME e.g., addApp 2 /d Check-up /t 2021-03-18 10:00:00
 | 
    
| deleteApp | 
deleteApp USERINDEX APPOINTMENTINDEX e.g., deleteApp 1 3
 | 
    
| viewMed | 
viewMed INDEX e.g., viewMed 1
 | 
    
| addMed | 
addMed INDEX /d DESCRIPTION e.g., addMed 1 /d Surgery
 | 
    
| deleteMed | 
deleteMed USERINDEX RECORDINDEX e.g., deleteMed 1 3
 | 
    
| appNotification | 
appNotification e.g., appNotification
 | 
    
| Help | help |