WardWatch (WW) is a desktop app targeted towards doctors and nurses for managing patients information in hospitals, optimized for use via a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI). If you can type fast, WW can get your patient management tasks done faster than traditional GUI apps.
17 or above installed in your Computer. Refer to this guide to find out how..jar file from here.java -jar wardwatch.jar command to run the application. If you are unsure on how to navigate the terminal, refer to this guide here.A GUI similar to the image below should appear in a few seconds. Note how the app contains some sample data.

Type the command in the command box located at the top of the window and press Enter to execute it. e.g. typing help and pressing Enter will open the help window.
Some example commands you can try:
list : Lists all patients.add i/P23456 n/Donald Duck w/B5 d/Diabetes m/Insulin : Adds a contact named Donald Duck to the patient list.delete 3 : Deletes the 3rd patient shown in the current list.find w/ B1 : Finds all patients with ward B1.clear : Deletes all patients.exit : Exits the app.Refer to the Features below for details of each command.
As a CLI-based application, users will interact with WardWatch by typing commands.
Commands typically begin with a COMMAND_WORD, followed by its relevant PARAMETERS as necessary.
Notes about the command format:
There are 5 CLI command formats as shown below:
COMMAND_WORDCOMMAND_WORD INDEXCOMMAND_WORD PARAMETERCOMMAND_WORD PARAMETERSCOMMAND_WORD INDEX PARAMETERSFor more information on the format of PARAMETERS, please refer to Input parameters.
Other things to note in this User Guide:
n/NAME [d/DIAGNOSIS] can be used as n/John Doe d/diabetes or as n/John Doe.n/NAME w/WARD is equivalent to w/WARD n/NAME.[MORE_KEYWORDS]… can be used as (i.e. 0 times), Bo, Hans, Bo Hans Joe, Bo Han Joe Lee, etc.help, list, exit and clear) will be ignored: help 123 is interpreted as help.list and LIST are both valid commands.Save and Storage information:
WardWatch data are saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
WardWatch data are saved automatically as a JSON file [JAR file location]/data/wardwatch.json. Advanced users are welcome to update data directly by editing that data file.
Caution:
If your changes to the data file makes its format invalid, WardWatch will discard all data and start with an empty data file at the next run. Hence, it is recommended to take a backup of the file before editing it.
Furthermore, certain edits can cause WardWatch to behave in unexpected ways (e.g., if a value entered is outside the acceptable range). Therefore, edit the data file only if you are confident that you can update it correctly.
Notes about parameters:
Parameters often take up the form of p/[PARAMETER] where p is the parameter symbol. For example: add n/John Doe
n/ -> parameter symbolJohn Doe -> parameter.| Symbol | Parameter | Constraints |
|---|---|---|
n | NAME | - Must contain at least 1 alphabetic character and has a character limit of 50. - Allows alphabetic characters, spaces, rounded brackets, hyphen, forward-slashes, @, and commas. |
i | ID | - Must contain at least 1 alphanumeric character and has a character limit of 36. - Allows alphanumeric characters, hyphens, forward-slashes, hashes, rounded brackets. - Unique: Cannot have duplicates (case sensitive) e.g. P123 and p123 are 2 unique IDs. |
w | WARD | - Must contain at least 1 alphanumeric character and has a character limit of 50. |
d | DIAGNOSIS | - Must contain at least 1 alphabetic character and has a character limit of 80. |
m | MEDICATION | - Must contain at least 1 alphanumeric character and has a character limit of 80. - Allows alphanumeric characters, spaces, commas, hyphen, forward-slashes, rounded brackets, periods. |
| Symbol | Parameter | Constraints |
|---|---|---|
pn | NOTES | - Must contain at least 1 alphanumeric character and has a character limit of 80. |
| Symbol | Parameter | Constraints |
|---|---|---|
a | DESCRIPTION | - Must contain at least 1 alphabetic character and has a character limit of 80. |
s | START | - A singularDATE-TIME in the form dd-MM-yyyy-HH-mm, where dd is the day, MM is the month, yyyy is the year, HH is the hour and mm is the minute. |
e | END | - A singularDATE-TIME in the form dd-MM-yyyy-HH-mm, where dd is the day, MM is the month, yyyy is the year, HH is the hour and mm is the minute. |
Notes on START and END Date Parameters:
Dates entered on an invalid day (e.g. February 31) are automatically adjusted to the nearest valid day in the specified month.
However, dates exceeding the maximum possible (e.g. the 32nd of any month) will result in an error.
Examples:
makeappt 1 a/Surgery s/31-02-2024-10-00 e/31-02-2024-11-00 is adjusted to makeappt 1 a/Surgery s/29-02-2024-10-00 e/29-02-2024-11-00 (February 2024 has only 29 days).makeappt 1 a/Surgery s/32-01-2024-10-00 e/32-01-2024-11-00 will trigger an error, as no month can have a 32nd day.| Symbol | Parameter | Constraints |
|---|---|---|
| - | INDEX | - Refers to the index number shown in the displayed patient list. - Must be a positive integer 1, 2, 3, … - Must not be greater than Integer.MAX_VALUE of 2147483647. |
| - | DATE | - Must be of the form dd-MM-yyyy, where dd is the day, MM is the month, and yyyy is the year. |
| - | KEYWORD | - Cannot be empty. - Accepts any character. |
helpShows a pop-up message explaining how to access the help page.
Format: help
clearClears all patients and appointments information from WardWatch.
Format: clear
Caution:
The command will execute without any warnings.
Use the command only if you are sure you no longer need the data!
exitExits the program.
Format: exit
add
Adds a patient to WardWatch.
Format: add n/NAME i/ID w/WARD [d/DIAGNOSIS] [m/MEDICATION]
DIAGNOSIS and MEDICATION fields are optional. The user can use the Edit Command to add these fields in the future.ID of patients are case sensitive and must be unique.Examples:
add n/John Doe i/P12345 w/A1 d/TYPE 1 DIABETES m/METFORMIN add n/Nicky Lam i/P17777 w/A5 d/Gastritis m/Proton pump inhibitors edit
Edits an existing patient in WardWatch.
Format: edit INDEX [n/NAME] [i/ID] [w/WARD] [d/DIAGNOSIS] [m/MEDICATION]
INDEX.Examples:
edit 1 i/P12345 w/A2 Edits the patient ID and ward of the 1st patient to be P12345 and A2 respectively.edit 2 n/Betsy Crower m/Paracetamol Edits the name and medication of the 2nd patient to be Betsy Crower and Paracetamol.delete
Deletes the specified patient from WardWatch.
Format: delete INDEX
INDEX.Examples:
delete 2 deletes the 2nd patient of the displayed list.listShows a list of all patients in WardWatch.
Format: list
find
Finds patients whose specified field contain any of the given keywords.
Format: find FIELD/ KEYWORD [MORE_KEYWORDS]…
hans will match HansHans Bo will match Bo HansHa will match Hans and shannonHans Bo will return Hans Gruber, Bo YangValid fields for find Command:
n/ to search by patient name.i/ to search by patient ID.w/ to search by ward.d/ to search by diagnosis.m/ to search by medication.pn/ to search by patient notes.a/ to search by appointment description.Examples:
find n/ John returns john and John Doe.find w/ B1 returns all patients in ward B1.find m/ Dave returns an empty list.find n/ alice benson returns Alice Pauline, Benson Meier.view
Displays more details about a specific patient listed.
Format: view INDEX
INDEX.DIAGNOSIS, MEDICATION, NOTES and APPOINTMENT.Examples:
view 1 to view the 1st patient of the displayed list.addnotes
Adds notes to an existing patient in WardWatch.
Format: addnotes INDEX pn/NOTES
INDEX.Caution: Adding a note to a patient who already has an existing note will cause the existing note to be overwritten.
Examples:
addnotes 1 pn/Patient is prone to falling.addnotes 2 pn/Patient requires frequent checkups.delnotesDeletes notes from an existing patient in WardWatch.
Format: delnotes INDEX
INDEX.Examples:
delnotes 1makeappt
Makes an appointment for a patient.
Format: makeappt INDEX a/DESCRIPTION s/START e/END
INDEX.DESCRIPTION refers to the description of the appointment.START and END refers to the date and time the appointment starts and ends respectively.
Constraints
START date and time must not be after the END date and time.Caution:
Adding an appointment to a patient who already has an existing appointment will cause the existing appointment to be overwritten.
Note: To reduce ambiguity, indexes in the appointments list begins with an "A", i.e. A1, to reduce ambiguity from the indexes in the patient list.
Examples:
makeappt 1 a/Surgery s/23-10-2024-12-00 e/23-10-2024-15-00 adds a Surgery appointment on the 23rd of October 2024 from 12pm to 3pm to the
1st patient in the displayed list.delapptDeletes an appointment from a patient.
Format: delappt INDEX
INDEX.scheduledate
Lists all the appointments on a specific date.
Format: scheduledate DATE
DATE must be in the form of dd-MM-yyyy.Examples:
scheduledate 01-01-2020 returns all the appointments that takes place on 1st January 2020.scheduleall
Lists all the appointments assigned to every patient.
Format: scheduleall
Q: How do I transfer my data to another Computer?
A: Install WardWatch in the other computer and overwrite its data file with the old data file from your previous WardWatch home folder.
Q: I want to edit an appointment, but there is no command for it. What now?
A: Although you could use the makeappt command to overwrite an existing appointment, we do not recommend this method. Instead, we suggest deleting the existing appointment with delappt command first before using makeappt command to create a new appointment with the edited details.
Q: My patient's details are too long and gets cut off when displayed. How do I see it in full?
A: To see the full details of a patient, please use the view command.
preferences.json file created by the application before running the application again.help command (or use the Help menu) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.addnotes command after you have filtered the patient list with find command, the filter from the find command will be removed and the patient list will show all patients. The remedy is to run the find command again to filter the patient list.| Action | Format, Examples |
|---|---|
| Help | help |
| Clear | clear |
| Exit | exit |
| Add | add n/NAME i/ID w/WARD [d/DIAGNOSIS] [m/MEDICATION]e.g. add i/P23456 n/Donald Duck w/B5 d/Diabetes m/Insulin |
| Edit | edit INDEX [n/NAME] [i/ID] [w/WARD] [d/DIAGNOSIS] [m/MEDICATION]e.g. edit 2 n/Betsy Crower m/Paracetamol |
| Delete | delete INDEXe.g. delete 3 |
| List | list |
| Find | find FIELD/ KEYWORD [MORE_KEYWORDS]…e.g. find n/ James Jake |
| View | view INDEXe.g. view 1 |
| Add Notes | addnotes INDEX pn/NOTESe.g. addnotes 1 pn/Patient is prone to falling |
| Delete Notes | delnotes INDEXe.g. delnotes 1 |
| Add appointment | makeappt INDEX a/DESCRIPTION s/START e/ENDe.g. makeappt 1 a/Surgery s/23-10-2024-12-00 e/23-10-2024-15-00 |
| Delete appointment | delappt INDEXe.g. delappt 1 |
| Schedule appointments by date | scheduledate DATEe.g. scheduledate 01-01-2020 |
| Schedule all appointments | scheduleall |