Skip to content

Latest commit

 

History

History
248 lines (162 loc) · 8.3 KB

UserGuide.adoc

File metadata and controls

248 lines (162 loc) · 8.3 KB

ClerkPro - User Guide

1. Introduction

This program is targeted at clerks working in small clinics. It is designed for those who prefer to work with a Command Line Interface (CLI). It allows clerks to manage queues, set appointments and manage the inventory. Typing fast allows you to complete your tasks much faster than GUI apps.

2. Quick Start

  1. Ensure you have Java 11 or above installed in your Computer.

  2. Download the latest clerkPro.jar here.

  3. Copy the file to the folder you want to use as the home folder for ClerkPro.

  4. Double-click the file to start the app. The GUI should appear in a few seconds.

    Ui
  5. Type the command in the command box and press Enter to execute it.
    e.g. typing help and pressing Enter will open the help window.

  6. Some example commands you can try:

    • registeri/001A n/John Doe p/98765432 e/[email protected] a/John street, block 123, #01-01 : registers a patient named John Doe.

    • delete3 : deletes the 3rd patient shown in the current list

    • exit : exits the app

  7. Refer to Section 3, “Features” for details of each command.

3. Features

Command Format

  • Words in <UPPER_CASE> are the parameters to be supplied by the user 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 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 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 e.g. if the command specifies n/<NAME> p/<PHONE_NUMBER>, p/<PHONE_NUMBER> n/<NAME> is also acceptable.

3.1. Queue Management

3.1.1. Add a patient to the queue: enqueue

Adds a patient to the queue
Format: enqueue <PATIENT_REFERENCE_ID>

3.1.2. Remove a patient from the queue: dequeue

Removes a patient from the queue based on their queue position
Format: dequeue <QUEUE_NUMBER>

3.1.3. Assign next patient to an available doctor : next

Assigns next patient to an available doctor based on the room number.
Format: next <ROOM_NUMBER>

3.1.4. Doctor takes a break: break

Avoids directing patients to a given Doctor based on the room number.
Format: break <ROOM_NUMBER>

3.1.5. Doctor resumes his/her duty: resume

Allows patients to be directed to a given Doctor based on the room number.
Format: resume <ROOM_NUMBER>

3.2. Patient Management

3.2.1. Searches patient by arguments: patient

Finds patients whose reference ids, names or phone numbers containing any of the given keywords.
If search keywords are empty, all registered patients will be displayed.
Note: Requires at least 4 characters to search by a reference id or phone numbers.
Format: patient [<PATIENT_REFERENCE_ID | PATIENT_NAME | PHONE_NUM>]

3.2.2. Registers a new patient: register

Registers a new patient
Format: register i/<PATIENT_REFERENCE_ID> n/<PATIENT_NAME> [p/<PHONE_NUM>] [e/<EMAIL>] [a/<ADDRESS>] [r/<REMARK>] [t/Allergies]…​

3.2.3. Unregisters an existing patient: unregister

If user is in the patients listing screen, Unregisters an existing patient
Format: unregister <ENTRY_ID>

3.2.4. Updates patients’ profiles: update

If user is in the patients listing screen, Updates any change for patients’ profiles
Format: update <ENTRY_ID> [n/<PATIENT_NAME>] [i/<PATIENT_REFERENCE_ID>] [p/<PHONE_NUM>] [e/<EMAIL>] [a/<ADDRESS>] [r/<REMARK>] [t/Allergies]…​

3.3. On-Duty Doctors Management

3.3.1. Views doctors: doctors

Finds doctors whose names contains any of the given keywords.
If search keywords are empty, all registered doctors will be displayed.
Format: doctors [<DOCTOR_NAME>]

3.3.2. Register a new doctor: newdoctor

Registers a new doctor.
If the Staff reference identifier is not specified, a unique identifier will be assigned by the system. Format: newdoctor n/<STAFF_NAME> [i/<STAFF_REFERENCE_ID>] [p/<PHONE_NUM>] [e/<EMAIL>] [a/<ADDRESS>] [r/<REMARK>]

3.3.3. Update a doctor’s profile: update

If user is in the doctors listing screen, updates any change for doctor’s profiles.
Format: updatedoctor <ENTRY_ID> [n/<STAFF_NAME>] [i/<STAFF_REFERENCE_ID>] [p/<PHONE_NUM>] [e/<EMAIL>] [a/<ADDRESS>] [r/<REMARK>]

3.3.4. Unregisters a doctor’s profile: resign

If user is in the doctors listing screen, removes a doctor’s profile.
Format: resigndoctor <ENTRY_ID>

3.3.5. Marks the doctor as on-duty: onduty

Marks the doctor as on-duty and stationed in the given room number.
Patients can be directed to the specified doctor.
Format: onduty <ROOM_NUMBER>

3.3.6. Marks the doctor as off-duty: offduty

Marks the doctor as off-duty. Patients can not be directed to the specified doctor.
Format: offduty <ROOM_NUMBER>

3.4. Appointment Management

3.4.1. Adds all appointments: addappt

Adds a new appointment for a patient
If optional field for recursive is empty, then only add the event that is given. Otherwise recursive appointments will be added.
Format: appointments [i/REFERENCE_ID] [rec/recursively] [num/recursiveTimes] str/<START_DATE> end/<END_DATE>

3.4.2. Displays all appointments: appointments

Displays a sorted list of upcoming appointments whose appointment is within
If search keywords are empty, all upcoming appointments will be displayed.
Format: appointments [p/<PATIENT_NAME | PATIENT_IC>] [s/<START_DATE>] [e/<END_DATE>]

3.4.3. Cancels an appointment: cancel

Cancels the specified appointment.
Format: cancelappt <ENTRY_ID>

3.4.4. Changes the appointment date: change

Changes and updates to a new appointment detail in the appointment listing screen
Format: changeappt <ENTRY_ID> [i/<PATIENT_IC>] [s/<START_DATE_TIME>] [e/<END_DATE_TIME>]

3.4.5. Shows the empty slots: slot

List all the available empty slots for patients to make appointments
Format: slot s/<START_DATE> e/<END_DATE>

3.4.6. Displays patients who have missed their appointments and have yet to be notified: missed

Displays all appointments that are missed and not yet settled.
Format: missappt

3.4.7. Sets missed appointments as settled/notified: settle

Settles the missed appointments for respective patients.
Format: settle <ENTRY_ID>

3.4.8. Changes the max number of concurrent consultation: maxconcurrentappt (v2.0)

Changes the maximum number of concurrent patient appointments
Format: maxconcurrentappt <TOTAL_NUMBER_OF_CONCURRENT_APPOINTMENTS>

3.5. Inventory commands (v2.0)

3.5.1. Views the inventory: inventory

Displays the medicine inventory
Format: inventory

3.5.2. Views the inventory: prescription

Displays the prescription. A prescription is a list of medications prescribed by the doctor.
Format: prescription <PRESCRIPTION_ID | PRESCRIPTION_NAME>

3.6. User Accounts (v2.0)

3.6.1. Login: login

Login with your username and password. The user will then be prompted to enter their password.
Format: login <USER_NAME>

3.6.2. Logout: logout

Logout from your account
Format: logout

3.7. General commands

3.7.1. Viewing help: help

Lists all the useful commands
Format: help

3.7.2. Exits program: exit

Exits the program
Format: exit

3.7.3. Undo action: undo

Undo a destructive action
Format: undo

3.7.4. Redo action: redo

Redo a destructive action
Format: redo

3.7.5. Creates, updates or removes an alias command: alias

Tags an alias name to a reserved command. More specifically, one of the following will happen depending on the parameters of the function. Please note that the user can not remap a reserved command. A new alias command is created if the alias does not exist. Remaps an existing alias command to a reserved command if the alias exist. If the reserved command is not specified, the alias is unregistered if it exists.

Format: alias <Alias_Name> [<Reserved_Command>]