This product is not meant for end-users and therefore there is no user-friendly installer. Please refer to the Setting up section to learn how to set up the project.

Starting the program

  1. Find the project pane (usually located at the left side)

  2. Open up src/seedu.addressbook folder

  3. Right click on Main

  4. Click Run Main.main()

  5. The GUI should appear in a few seconds

    Ui

Viewing help : help

Format: help

Help is also shown if you enter an incorrect command e.g. abcd

Login to the system : login

Allow the user to login to the system
Format: login username password

Login is required in order to use the address book

Examples:

  • login Admin Admin123
    Logged in as Admin if the account and password are correct.

Register a new account: register

Allow the user to register a new account in the system
Format: register username password

The password should contain at least one lowercase letter, one uppercase letter and one digit

Examples:

  • register Doe Doe12345
    A new account is registered if the username chosen has not been registered before.

Logout from the system : logout

Allow the user to logout from the system
Format: logout

Examples:

  • logout
    The user will be logged out.

Adding a person: add

Adds a person to the address book.
Format: add NAME [p]p/PHONE_NUMBER [p]e/EMAIL [p]a/ADDRESS m/APPOINTMENTDATE d/DOCTORNAME s/STATUS [t/TAG]…​

Words in UPPER_CASE are the parameters, items in SQUARE_BRACKETS are optional, items with …​ after them can have multiple instances. Order of parameters are fixed.

Note that the appointment date must be in the format of YYYY MM DD HH MM, in other for the DoctorAppointment Command to work. The hour and minute follows the 24hour clock format. Appointment timings must be in blocks of 15minutes. The accepted minutes are 00, 15, 30, 45. No appointments are allowed before 8am or before system current time. Incorrect time formats will throw an error in parsing. Appointments with the same doctor at the same timing is not allowed.

The doctor’s name is case sensitive.

The status must be any of following status: Critical / Waiting for Surgery / Life Support / Waiting for doctor appointment / Therapy / Observation.

Put a p before the phone / email / address prefixes to mark it as private. private details can only be seen using the viewall command.

Persons can have any number of tags (including 0)

Examples:

  • add John Doe p/98765432 e/johnd@gmail.com a/John street, block 123, #01-01 m/2020 12 11 14 30 d/DoctorTan s/Observation

  • add Betsy Crowe pp/1234567 e/betsycrowe@gmail.com pa/Newgate Prison m/2020 11 04 08 00 d/DoctorTan s/Observation t/criminal t/friend

Listing all persons : list

Shows a list of all persons in the address book.
Format: list

Getting length of the address book : length

Shows the number of entries in the address book at the point of query.
Format: length

Referring a patient to a doctor: refer

Refers a patient from the address book to a doctor.
Note: This command is overloaded with two formats.

Format 1: refer NAME [MORE_NAMES]
Refers target patient to a default doctor and shows a success message with patient’s updated particulars if there is only one unique entry. If there are multiple entries, all patient entries with the target keywords in the addressbook will be printed and user will be prompted to identify the correct patient. If target patient does not exist in the addressbook, an error message will be printed.

Default doctor is the last specified doctor or Dr Seuss if never specified before previously.

Examples:
* refer John
* refer John Doe
* refer Doe

Format 2: refer d/ DOCTORNAME p/NAME [MORE_NAMES]
Refers target patient to a doctor specified by the user. Format 2 works exactly like format 1. If input contains an invalid doctor name (non-alphanumeric), an invalid command format message will be printed.

When a refer is successful using this format, the default doctor would be updated as this new doctor specified in the latest format 2 entry.

Examples:
* refer d/DoctorTan p/John Doe
* refer d/Dr Tan p/John Doe
* refer d/Dr Tan p/Doe

Listing all persons in sorted order : sort

Shows a list of all persons sorted by desired attribute in alphabetical order in the address book.
Desired attribute must be name, appointment or status.
Format: sort DESIRED_ATTRIBUTE

Examples:

  • sort name
    Shows a list of all persons sorted by name in alphabetical order in the address book.

  • sort status
    Shows a list of all persons sorted by status according to the degree of urgency in the address book. The sequence of the status in this order is as follows: Critical, Waiting for Surgery, Life-support, Waiting for doctor appointment, Therapy and Observation.

  • sort appointment
    Shows a list of all persons sorted by appointment date in chronological order in the address book.

Listing all appointments of a Doctor : appointment

Displays a list of all patients who have appointments with a specific doctor. The list of persons are sorted by on chronological order of their appointment dates. For easy-readability, only the name and appointment date of each person is displayed.

Format: appointment DOCTOR_NAME

Examples:

  • appointment DoctorTan
    Shows a list of all patients who have appointments with DoctorTan.

Printing out the timetable (day) of a Doctor : apptDate

Displays the doctor’s appointment timetable for a specific day. A nice timeline will be shown. Can be used for dates older than the current date. (appointment history) Each time slot is 15 minutes. The timeline shows all the slots in the day, and indicates which slots are available or occupied.

Format: apptDate DOCTOR_NAME m/YYYY MM DD

Examples:

  • apptDate DoctorTan m/2020 11 04
    Shows a list of all patients who have appointments with DoctorTan on 4th of November.

Finding all persons containing any keyword in their name: find

Finds persons whose names contain any of the given keywords.
Format: find KEYWORD [MORE_KEYWORDS]

Deleting a person : delete

Deletes the specified person from the address book. Irreversible.
Format: delete INDEX

Deletes the person at the specified INDEX. The index refers to the index number shown in the most recent listing.

Examples:

  • list
    delete 2
    Deletes the 2nd person in the address book.

  • find Betsy
    delete 1
    Deletes the 1st person in the results of the find command.

View non-private details of a person : view

Displays the non-private details of the specified person.
Format: view INDEX

Views the person at the specified INDEX. The index refers to the index number shown in the most recent listing.

Examples:

  • list
    view 2
    Views the 2nd person in the address book.

  • find Betsy
    view 1
    Views the 1st person in the results of the find command.

View all details of a person : viewall

Displays all details (including private details) of the specified person.
Format: viewall INDEX

Views all details of the person at the specified INDEX. The index refers to the index number shown in the most recent listing.

Examples:

  • list
    viewall 2
    Views all details of the 2nd person in the address book.

  • find Betsy
    viewall 1
    Views all details of the 1st person in the results of the find command.

Clearing all entries : clear

Clears all entries from the address book.
Format: clear

Exiting the program : exit

Exits the program.
Format: exit

Saving the data

Address book data are saved in the hard disk automatically after any command that changes the data.

There is no need to save manually. Address book data are saved in a file called addressbook.txt in the project root folder.