Patient Manager User Guide

Patient Manager is a Command Line Interface (CLI) application for general practitioners (GP) to manage their patient list. It allows you to easily register new patients to your clinic with their NRIC or FIN number. Once a patient’s records have been loaded, you can easily add new medical records and retrieve a summary of past records.

With the Patient Manager, GPs will be able to reduce paperwork and have a more efficient way to organize the records of their patients.


Table of Contents

  1. User Guide Information
  2. Quick Start
  3. Limitations
  4. Features
    1. Print a help message: help
    2. Adding a patient: add
    3. Listing all patients: list
    4. Deleting a patient: delete /p
    5. Loading a patient’s medical records: load
    6. Displaying the current loaded patient: current
    7. Recording a patient’s consultation details: record
    8. Retrieving a patient’s consultation details: retrieve
    9. Deleting a day’s record: delete /r
    10. Exiting the program: exit
  5. Frequently Asked Questions
  6. Command Summary

User Guide Information

The aim of this user guide is to familiarise you with the features of Patient Manager, and to guide you on how to set up and start using Patient Manager.

You may refer to Quick Start for help on setting up and getting started with Patient Manager

The Features section contains a detailed explanation of the commands that are available in Patient Manager, as well as their input formats.

If you have any questions about Patient Manager, please check out Frequently Asked Questions for a list of common questions.

Finally, for returning users, you can check Command Summary for a table of valid commands and their input format.

Please take note of the following symbols and formatting in this User Guide

Code blocks are used to denote commands in the command line, user input, output from Patient Manager and file names.

:bulb: The light bulb denotes tips and tricks for using Patient Manager.

:information_source: The information symbol highlights useful information to take note of.

:warning: The exclamation mark highlights important things to take note of.


Quick Start

:information_source: Patient Manager is a Command-Line application, and all commands need to be run from the console (e.g. Terminal/Command Prompt/PowerShell). For reference, a guide to open the Windows PowerShell in Windows 10 is shown below:

  1. Ensure that you have Java 11 installed on your local computer. If you do not have the correct version of Java installed, Java 11 can be downloaded from here.

    :bulb: You can check the version of Java installed on your local computer by entering
    java -version into your console and then pressing ENTER.

  2. Obtain a copy of the latest version of Patient Manager (PatientManager.jar) from here and place it in an empty folder.

    :warning: The folder must not be read-only. Otherwise, Patient Manager may encounter issues when saving records to disk.

  3. Open the console, enter java -jar PatientManager.jar, and press ENTER to start Patient Manager.
  4. Once the welcome message appears, simply type in a command (e.g. help) and hit ENTER at the end to execute the command.
  5. Please refer to Features below for more detailed explanations and usage of the available commands.

Limitations

Before you start using our application, you may want to know about some of its assumptions and limitations.

  1. We assume that one patient will not visit the same GP for more than one time per day. Each visit record is identified by its date and there will be no way to differentiate two visits in a single day.
  2. Our application, in the current stage, works offline. Data is not synchronized for different GPs, as well as not for different devices of the same GP.
  3. In our current iteration, there is no way to delete a single line in a record. The only way is deleting the entire record, and create again.

Features

:information_source: Notes about the command format:

:warning: Notes on valid and invalid user input:

This is put as the first command introduced since it can be very helpful for you along your way of using this product. If you need help at any point in time, you may use the help command. This prints out the help message with a brief explanation of the available commands.

Furthermore, you may request for the help messages for specific command(s) by providing one or more valid commands as arguments. If invalid commands are provided as arguments, help will show an error message to inform you which commands are invalid.

Usage: help [OPTIONAL_COMMAND]...

Example of usage:

help list load exit

Expected output:

----------------------------------------------------------------------
Show the list of all patients
Usage: list

Select a specified patient to add and retrieve records
Command prefix: load
Arguments(s): IC number
Usage: load IC_NUMBER
Example: load S1234567D

Exit the program
Usage: exit
----------------------------------------------------------------------

Adding a patient: add

Adds a patient to the system based on their NRIC/FIN number so that consultation details for the patient can be recorded.

If the patient already exists in the system, the add command will not add the patient in, and it will display a message to inform you that the patient already exists in the system.

:warning: Note: Patient Manager will automatically validate the NRIC/FIN number based on the check digit before it adds the patient. For testing purposes, you may want to use an NRIC/FIN number generator to create valid NRIC/FIN numbers, like this one.

Usage: add IC_NUMBER

Example of usage:

add S1234567D

Expected output:

----------------------------------------------------------------------
Patient S1234567D has been added!
----------------------------------------------------------------------

Listing all patients: list

Shows a list of all patients in alphanumeric order.

Usage: list

Example output:

----------------------------------------------------------------------
List of patients (in alphanumeric order):
1. S1234567D
2. S7654321F
----------------------------------------------------------------------

Deleting a patient: delete /p

Deletes a patient from the list of patients.

The /p flag is used to delete patients based on their NRIC/FIN number. This flag is necessary, and please do not be confused with the delete /r command below.

Usage: delete /p [IC_NUMBER]

Example of usage:

delete /p S1234567D

Expected output:

----------------------------------------------------------------------
Patient S1234567D has been deleted!
----------------------------------------------------------------------

Loading a patient’s medical records: load

Finds the patient whose IC number matches the given search query and loads their medical records for editing. If none of the patients’ IC numbers match the search query, Patient Manager will display an error message to inform you that the patient was not found.

Usage: load IC_NUMBER

Example of usage:

load S1234567D

Expected output:

----------------------------------------------------------------------
Patient S1234567D's data has been found and loaded.
----------------------------------------------------------------------

Displaying the current loaded patient: current

Displays the patient that has been loaded through the load command. If no patient has been loaded, it will display a message to inform the user that there is no loaded patient.

Usage: current

Example output:

----------------------------------------------------------------------
The currently loaded patient's ID is S1234567D.
----------------------------------------------------------------------

Recording a patient’s consultation details: record

Adds a patient’s consultation details to the patient’s records. At least one symptom, diagnosis or prescription has to be specified by using the /s, /d or /p flags with a non-empty input.

An optional DATE argument may be provided to modify previous visit records, or to create a new record with the specified date. This date has to be equal to or earlier than the current system date. If the no date is specified, Patient Manager will execute the command with the current system date.

:warning: Note: Before adding a medical record to a patient, you must have previously loaded a patient with the load command. If no patient has been loaded, Patient Manager will print an error message.

Usage: record [DATE] [/s SYMPTOM] [/d DIAGNOSIS] [/p PRESCRIPTION]

Example of usage:

record 26/03/2021 /s fever and slight cough

Expected output:

----------------------------------------------------------------------
Added new record to patient S1234567D:
Symptom: fever and slight cough
----------------------------------------------------------------------

Retrieving a patient’s consultation details: retrieve

Retrieves all consultation details of a patient.

An optional DATE argument may be provided to retrieve the records from a specific date. If no records were found for the patient at the specified date, Patient Manager will inform you that no records were found.

:warning: Note: Before retrieving the medical record(s) to a patient, you must have previously loaded a patient with the load command. If no patient has been loaded, Patient Manager will print an error message.

Usage: retrieve [DATE]

Example output:

----------------------------------------------------------------------
Here are S1234567D's records:
30/03/2021:
Symptoms:
	head pain, dizziness
Diagnoses:
	heat stroke
Prescriptions:
	cooling packs, medicine

31/03/2021:
Symptoms:
	fainting
Diagnoses:
	severe heat stroke
Prescriptions:
	referral to hospital

----------------------------------------------------------------------

Deleting a day’s record: delete /r

Deletes a record fom the list of records of a specific patient.

The /r flag is used to delete a visit record based on the date of visit. This flag is necessary, and please do not be confused with the delete /p command above.

:warning: Note: Before deleting a patient’s record, you must have previously loaded a patient with the load command. If no patient has been loaded, Patient Manager will print an error message.

Example of usage:

delete /r 10/04/2021

Expected output:

----------------------------------------------------------------------
Record for 10/04/2021 has been deleted!
----------------------------------------------------------------------

Exiting the program: exit

Exits the program

Usage: exit


Frequently Asked Questions

Q: Can I transfer the data to a different device?
A: Yes, simply copy the save.pm file that is found in the same folder as PatientManager.jar from the original device and place it in the folder PatientManager.jar is found in on the new device.

Q: Will I have to manually save?
A: No, the data is saved automatically after every command that modifies the data.

Q: Can I edit the data file?
A: Patient Manager data is saved as a text file. While it is possible to edit the data file, it is recommended not to do so as invalid formats in the data file will result in errors.


Command Summary

Listed below are all currently implemented commands in alphabetical order.
Click on the commands to navigate to specific feature details.

Command Usage
add add IC_NUMBER
current current
delete(patient) delete [/p IC_NUMBER]
delete(record) delete [/r DATE]
exit exit
help help [OPTIONAL_COMMAND]...
list list
load load IC_NUMBER
record record [DATE] [/s SYMPTOM] [/d DIAGNOSIS] [/p PRESCRIPTION]
retrieve retrieve [DATE]