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
- User Guide Information
- Quick Start
- Limitations
-
Features
- Print a help message:
help
- Adding a patient:
add
- Listing all patients:
list
- Deleting a patient:
delete /p
- Loading a patient’s medical records:
load
- Displaying the current loaded patient:
current
- Recording a patient’s consultation details:
record
- Retrieving a patient’s consultation details:
retrieve
- Deleting a day’s record:
delete /r
- Exiting the program:
exit
- Print a help message:
- Frequently Asked Questions
- 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.The light bulb denotes tips and tricks for using Patient Manager.
The information symbol highlights useful information to take note of.
The exclamation mark highlights important things to take note of.
Quick Start
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:
- 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.
You can check the version of Java installed on your local computer by entering
java -version
into your console and then pressingENTER
. - Obtain a copy of the latest version of Patient Manager (
PatientManager.jar
) from here and place it in an empty folder.The folder must not be read-only. Otherwise, Patient Manager may encounter issues when saving records to disk.
- Open the console, enter
java -jar PatientManager.jar
, and pressENTER
to start Patient Manager. - Once the welcome message appears, simply type in a command (e.g.
help
) and hitENTER
at the end to execute the command. - 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.
- 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.
- 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.
- 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
Notes about the command format:
- Words in
UPPER_CASE
are parameters supplied by the user.
e.g. inadd IC_NUMBER
,IC_NUMBER
is a parameter that has to be specified.
Parameters in square brackets ([]
) are optional.- e.g. for
record [DATE] [/s SYMPTOM] [/d DIAGNOSIS] [/p PRESCRIPTION]
, bothrecord 26/03/2021 /s coughing
andrecord /s fever /p panadol
are valid commands.- Parameters with
...
allow multiple parameters (including zero) to be specified.
e.g. forhelp [OPTIONAL_COMMAND]...
bothhelp
andhelp add delete
are valid commands.- Parameters starting with a slash (
/
) can be given in any order.
e.g. if a command specifies/s SYMPTOMS /p PRESCTIPTION
as its parameters,/p PRESCTIPTION /s SYMPTOMS
is also acceptable.
However, forrecord DATE /s SYMPTOMS
,record /s SYMPTOMS DATE
is not acceptable.
For first-time users, we recommend that you follow the sequence given in this section.- If a parameter is expected only once in the command, but you specify it multiple times, only the last occurrence of the parameter will be taken.
e.g. if you specify/s coughing /s fever
, only/s fever
will be taken.- Extraneous parameters for commands that do not take in parameters (such as
list
andexit
) will be ignored.
e.g. if the command given islist 123
, it will be interpreted aslist
.
Notes on valid and invalid user input:
- Due to how Patient Manager stores its records to disk, the following ASCII characters are not allowed to be used as part of any input:
~ ` % # @ !
If any of these characters are used as an input value, Patient Manager will show a warning that these characters are not allowed and prevent the command from running.
- Dates must be specified in the format
dd/mm/yyyy
with leading zeroes, for example,05/03/2021
. All dates given must be valid, according to the rules of the Gregorian Calendar.
Print a help message: help
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.
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.
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.
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.
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] |