Your solution to streamlining patient contact management.
Greetings to esteemed General Practitioners (GPs)! Are you still grappling with traditional methods to manage patient details and take patients' histories? Are you overwhelmed by the challenge of organizing all your clinic's patient data?
Fret not! ClinicMate is your solution.
ClinicMate is tailor-made to streamline contact management in your clinic. Whether you're a seasoned practitioner or just starting out, ClinicMate is your indispensable companion.
This comprehensive user guide will effortlessly navigate you through ClinicMate's array of features, ensuring optimal efficiency in managing patient contacts.
Here is a quick overview of how ClinicMate streamlines contact management:
Navigation and Assistance Functions: Reset the interface using clear
, access comprehensive guidance through help
, and exit
ClinicMate with ease.
Data Management Functions: Easily input, modify, and remove patient details through add
, edit
and delete
. View a detailed and comprehensive list of patient information effortlessly with list
and show
command. Effortlessly search for specific patient records with find
.
Note-Taking Function: Use addnote
to quickly append relevant notes to patient records for future reference.
ClinicMate is a desktop application featuring a Command Line Interface (CLI) with the convenience of a Graphical User Interface (GUI). Whether you're adept at typing or prefer a visual interface, ClinicMate ensures swift and efficient management of patient contacts.
Bid farewell to cumbersome paperwork and embrace the efficiency of ClinicMate in organizing your clinic's patient data.
Welcome to the comprehensive user guide for ClinicMate! Our goal is to provide you with the knowledge and tools necessary to make the most of ClinicMate, your essential tool for clinic management. Whether you're a beginner or an experienced user, we're here to support you every step of the way.
Before we dive into the details, let's acquaint ourselves with the annotations you'll encounter throughout this user guide. These annotations will help you understand and navigate ClinicMate's features smoothly.
lightbulb Useful Tip:
edit Note:
warning Warning:
Throughout this guide, you'll also encounter various text styles. Here's what they represent:
Highlights specific elements such as file names, commands, or any text that should be treated as code.
Provides information about the parameters that you can input into a command.
Now that you're familiar with the annotations and text styles, we will give you a tour on how to navigate this user guide based on your level of expertise.
Thank you for choosing ClinicMate for your patient management needs! We're excited to help you jump right in.
Welcome back! We're thrilled to have you with us again.
If you have more questions, do check out the FAQ section to see if there are answers to your queries.
↑ Back to Top ↑ Back to Table of Contents
In this section, you will learn how to set up ClinicMate on your computer.
java -version
to check if you have Java 11 or above installed in your computer.If you are running Windows, this is what you should see after running the command.
If you are running MacOS, this is what you should see after running the command.
clinicmate.jar
file hereclinicmate
in your Documents
folder.clinicmate.jar
file to that folder named clinicmate
in your Documents
folder.cd
command into the folder you put the jar file in.
cd
is the command to change directory.cd Documents/clinicmate
java -jar clinicmate.jar
command to run the application.warning Warning:
java -jar clinicmate.jar
, that means you have an existing data file which needs to be removed.data
is newly created. This folder contains the data file for ClinicMate.java -jar clinicmate.jar
command.
↑ Back to Top ↑ Back to Table of Contents
ClinicMate features a Graphical User Interface (GUI) that provides a seamless user experience. The GUI is designed to be intuitive and user-friendly, allowing you to navigate through the application effortlessly.
The GUI consists of the following components:
Number | Component | Description |
---|---|---|
1 | Command Box | Enter commands here to interact with ClinicMate. |
2 | Message Box | Displays the output of commands executed in the Command Box. |
3 | Patient List Panel | Displays the list of patients in ClinicMate. |
4 | Patient Notes Panel | Displays the notes of the patient that you are viewing. |
lightbulb Useful Tip:
Now that you have been introduced to the GUI components, let's proceed to learn how you can use the CLI to interact with ClinicMate.
Experience the seamless power of ClinicMate's Command Line Interface (CLI) - where interaction is as simple as typing commands. Say goodbye to juggling between typing and clicking, and welcome the streamlined efficiency of CLI!
CLI is straightforward to use. The Command Box acts as your entry point for commands. Once you hit enter, ClinicMate processes your input and delivers responses through the Message Box. It's all about interacting with ClinicMate effortlessly through text.
Ready to dive in? Let's explore writing command lines and get you started with ClinicMate!
To use our CLI, here is an overview of the command formats.
Component | Example | Description |
---|---|---|
Command | add | Represents the action that you want to perform. |
Parameter | Mary | Represents a value that replaces the UPPER_CASE placeholders in the command format. |
Prefix | n\ | Represents the type of parameter to be edited. |
Flag | -replace | Represents an additional parameter that modifies the command's behavior. Must be used at the end of the command. |
You can find all the parameters used in ClinicMate here. To learn more about the prefixes and command words used in ClinicMate, you can refer to the Command Summary Section.
Let's see how these components are used in a command!
addnote
You can substitute specific parameter values into the parameters in the command format. For instance, in the addnote
command, you can replace IC_NUMBER
with the patient's IC number and NOTE
with the note you want to add.
But what about the []
around -replace
? Here's more about it:
Symbol | Description | Example | Meaning |
---|---|---|---|
[] | Indicates that something is optional | [-replace] | The -replace flag is optional and can be included or excluded in the command. |
None | Indicates a mandatory prefix and/or parameter | n\NOTE | The n\NOTE is mandatory and must be included in the command. |
↑ Back to Top ↑ Back to Table of Contents
If this is your first time using ClinicMate, welcome! We know that patient management can be tedious and cumbersome, and learning a new tool might seem like a daunting task. But fret not! ClinicMate is designed to be user-friendly and intuitive so that you can start streamlining your patient management right away.
This tour will guide you through the key features of ClinicMate, giving you a quick overview of how to use the application effectively, especially the more commonly used commands. You'll learn how to:
Make sure you've set up ClinicMate on your computer by following the Quick Start guide, if you haven't already. Once you're ready, let's dive in!
Adding a patient is a fundamental feature of ClinicMate for tracking patient details. Let's say you have a new patient with the following particulars:
For new patients, the first step always involves registration. Similarly, let's add James Tan to ClinicMate!
Steps:
add n\James Tan p\92223344 e\james.tan@mail.com i\S1234567A ag\35 s\M a\Block 11, #07-07, Jurong West Ave 6
into the Command Box and hit enter.Congratulations! You've successfully added James Tan to ClinicMate. Go ahead and try adding more patients of your own to practice!
If you wish to learn more about the add
command, you can refer to this.
Many walk-in patients tend to be regulars at the clinic. ClinicMate is optimized to retrieve patient details quickly and easily. All you need is their IC number!
Steps:
find S1234567A
into the Command Box and hit enter.Go ahead and try viewing the details of other patients using the find
command!
If you wish to learn more about the find
command, you can refer to this.
A big part of a GP consultation is taking patient history. ClinicMate allows you to add notes for patients based on their IC number.
Steps:
addnote S1234567A n\Polyuria & polydipsia. DM?
into the Command Box and hit enter.addnote
lets you quickly append this information by simply typing addnote S1234567A n\Fam his of DM.
into the Command Box and hit enter.Notice that the notes are appended without replacing what was originally there, so you can quickly add all notes you find important without worry!
If you wish to replace the notes, or find out more about the addnote
command, you can refer to this.
Suppose James Tan informs you that he is moving house, and will no longer be visiting your clinic. ClinicMate lets you remove his details from the database with ease.
Steps:
delete S1234567A
into the Command Box and hit enter.list
to see your whole patient list panel. James Tan
details will be removed from the patient list panel. There is no change to the patient notes panel.Go ahead and try deleting some of the sample patients from ClinicMate.
If you wish to find out more about the delete
command, you can refer to this.
You've now reached the end of the Quick Tour. Congratulations!
To remove the sample data, you can use the clear
command followed by the show
command to reset the patient list and notes panels.
Find out more about the clear
and show
commands here and here respectively.
There are more features in ClinicMate that you can explore. If you're interested, you can refer to the Existing Features section for a detailed guide on each feature. Also check out the FAQ section for answers to common queries!
↑ Back to Top ↑ Back to Table of Contents
This section gives you a step-by-step guide on how to use ClinicMate's features. The 3 categories of ClinicMate's features are as follows:
Navigation and Assistance Functions: clear
, help
, exit
Data Management Functions: add
, edit
, delete
, show
, find
, list
Note-Taking Function: addnote
edit Note:
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
.
Parameters that have a slash prefix (1 or more letters followed by a \
) can be in any order.
e.g. if the command specifies n\NAME i\IC_NUMBER
, i\IC_NUMBER n\NAME
is also acceptable.
Parameters that have no prefix must follow the specified order.
e.g. if the command specifies IC_NUMBER n\NAME i\IC_NUMBER
, IC_NUMBER
must come before any of the parameters with a prefix.
Extraneous parameters for commands that do not take in parameters (such as help
, list
, exit
and clear
) will be ignored.
e.g. if the command specifies help 123
, it will be interpreted as help
.
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines as space characters surrounding line-breaks may be omitted when copied over to the application.
Navigation and Assistance Functions in ClinicMate serve to enhance user experience and streamline workflows within the clinic management software.
help
Encountering a roadblock in ClinicMate? No problem! Simply utilize the help
command for immediate assistance and guidance.
Format: help
Steps:
help
into the command box. A help window should pop up.↑ Back to Top ↑ Back to Table of Contents
clear
Transitioning to a new clinic? Easily clear existing data from ClinicMate with a simple clear
command!
Format: clear
Steps:
clear
into the command box. The patient list panel containing all the entries will then be cleared.warning Warning:
clear
is a one-time deletion of all of your entries in ClinicMate. Please use it with consideration and care. You will not be able to retrieve any information back once the command has been executed.
↑ Back to Top ↑ Back to Table of Contents
exit
Concluding your session? Simply use the exit
command to gracefully exit the program and conclude your session.
Format: exit
Steps:
exit
into the command box. You will then be directed out of ClinicMate.edit Note:
Don't worry about losing your data when exiting. They will be automatically saved!
↑ Back to Top ↑ Back to Table of Contents
Data Management Functions in ClinicMate serve to simplify the process of adding, editing and deleting patient's information. It also enables you to view a comprehensive list of patient information and effortlessly search for specific patient records.
add
Registering a new patient? No worries! Our add
command simplifies the process of adding their details to ClinicMate.
Format: add n\NAME p\PHONE e\EMAIL i\IC_NUMBER ag\AGE s\SEX a\ADDRESS
Steps:
add n\NAME p\PHONE e\EMAIL i\IC_NUMBER ag\AGE s\SEX a\ADDRESS
into the command box.n\NAME p\PHONE e\EMAIL i\IC_NUMBER ag\AGE s\SEX a\ADDRESS
is added.edit Note:
Example:
add n\John Doe p\88888888 e\johndoe@mail.com i\T0123456A ag\12 s\M a\John street, block 123, #01-01
What a successful add
command looks like:
lightbulb Useful Tip:
A person can have a note included (See addnote command).
Possible Error that you might encounter:
You might encounter error messages due to the lack of familiarity with the application. There is no need to panic as our error messages will tell you how you can solve them! An example is shown below:
↑ Back to Top ↑ Back to Table of Contents
list
Looking for a comprehensive overview of your patient entries in ClinicMate? Utilize the list
command for quick access to all your patient records.
Format: list
Steps:
list
into the command box. All of your patient details will then be displayed.↑ Back to Top ↑ Back to Table of Contents
find
Today, your regular patient arrives at the clinic, and you need to retrieve her record. However, with a multitude of contacts, locating hers seems daunting. Fear not! Utilize the find
command to swiftly pinpoint the specific patient you're searching for using their IC_NUMBER
.
lightbulb Useful Tip:
ClinicMate will display their contact information on the patient list panel and their full notes on the patient notes panel, for a more comprehensive view.
Format: find IC_NUMBER
Steps:
find IC_NUMBER
into the command box.IC_NUMBER
will be retrieved, with his/her notes shown in the patient notes panel.edit Note:
IC_NUMBER
.IC_NUMBER
refers to the IC number shown in the displayed patient list panel.IC_NUMBER
must be the FULL IC NUMBER.t0123456a
will match T0123456A
.T0123456A
will not match T0123A
.Example:
find T0123456A
returns John Doe
.What successful find
commands look like:
What this means: There is a person matching the IC_NUMBER
in the patient list panel in ClinicMate.
What this means: There is no one matching the IC_NUMBER
in the patient list panel in ClinicMate.
Possible Error that you might encounter:
There might be cases that the IC_NUMBER
you keyed in is invalid as shown below. Do check if the IC_NUMBER
is in the correct format.
↑ Back to Top ↑ Back to Table of Contents
show
Need to view the notes of another patient by adjusting the display on the patient notes panel? Or perhaps you want to clear the current display altogether? Enter the show
command for effortless management of note displays.
General Format: show [IC_NUMBER]
Format: show IC_NUMBER
Steps:
show IC_NUMBER
into the command box as shown below.IC_NUMBER
.edit Note:
IC_NUMBER
follows the parameter constraints here.IC_NUMBER
in the patient notes panel.Example:
show T0123456A
updates the patient notes panel to show John Doe
's note.Possible Error that you might encounter:
There might be cases that the IC_NUMBER
you keyed in does not exist in ClinicMate as shown below. Do check if the IC_NUMBER
is registered before trying to show it.
Alternatively, you can add the patient into ClinicMate using our add
command before doing a show
.
Format: show
Steps:
show
into the command box as shown below.edit Note:
Example:
show
clears any note that was being displayed in the patient notes panel.↑ Back to Top ↑ Back to Table of Contents
edit
Made a typo? Don't worry! The edit
command is here to assist you in correcting any mistakes effortlessly using the patients' IC_NUMBER
.
Format: edit IC_NUMBER [n\NAME] [p\PHONE] [e\EMAIL] [i\IC_NUMBER] [ag\AGE] [s\SEX] [a\ADDRESS]
lightbulb Useful Tip:
Remember that optional fields are indicated by square brackets []
!
Steps:
edit IC_NUMBER [n\NAME] [p\PHONE] [e\EMAIL] [i\IC_NUMBER] [ag\AGE] [s\SEX] [a\ADDRESS]
into the command box.IC_NUMBER
will be edited.edit Note:
IC_NUMBER
.n\
, p\
, e\
, i\
, ag\
, s\
, a\
.Examples:
edit T0123456A p\88888888
edits the phone number of the person with IC_NUMBER
of T0123456A
to 88888888
.What a successful edit
message looks like:
Possible Error that you might encounter:
At least one edit field is needed for this command! Do check if you have included a field in your input.
↑ Back to Top ↑ Back to Table of Contents
delete
The delete
command enables the removal of patient records from ClinicMate. Use it to efficiently manage patient data by removing outdated or unnecessary entries.
Format: delete IC_NUMBER
Steps:
delete IC_NUMBER
into the command box.IC_NUMBER
will be deleted.edit Note:
IC_NUMBER
.IC_NUMBER
refers to the IC number shown in the displayed patient list panel.IC_NUMBER
must be the FULL IC NUMBER.t0123456a
will match T0123456A
.T0123456A
will not match T0123A
.Examples:
delete T0123456A
deletes John Doe
who has IC number T0123456A
from ClinicMate.Possible Error that you might encounter:
There might be cases that the IC_NUMBER
you keyed in does not exist in ClinicMate as shown below. Do check if the IC_NUMBER
is registered before trying to delete it.
warning Warning:
IC_NUMBER
tends to be long. Please make sure that the IC_NUMBER
you want to delete is correct as we would not be able to recover lost patient information once deleted.
This feature is tailored specifically for GPs, offering seamless note-taking capabilities to enhance efficiency and precision in history taking.
addnote
As GPs, it's essential to take accurate and detailed patient history. Simplify this process with the addnote
command, ensuring efficient and accurate record-keeping.
General Format: addnote IC_NUMBER n\NOTE [-replace]
Format: addnote IC_NUMBER n\NOTE
Steps:
addnote IC_NUMBER n\NOTE
into the command box.IC_NUMBER
.edit Note:
IC_NUMBER
refers to the IC number shown in the displayed patient list panel.IC_NUMBER
must be the FULL IC NUMBER.Format: addnote IC_NUMBER n\NOTE -replace
Steps:
addnote IC_NUMBER n\NOTE -replace
into the command box.IC_NUMBER
will be replaced with the new note.edit Note:
IC_NUMBER
refers to the IC number shown in the displayed patient list panel.IC_NUMBER
must be the FULL IC NUMBER.addnote
command will appear as separate lines.-replace
flag is used to replace the current note with the new note.
-replace
flag will be ignored. For example, -replacefdshareh
will be interpreted as -replace
.Examples:
addnote T0123456A n\Patient has diabetes
adds a note Patient has diabetes
to the person with the IC number T0123456A
in ClinicMate.addnote T0123456A n\Patient has diabetes -replace
replaces the note of the person with the IC number T0123456A
to Patient has diabetes
.⚠️ Warning:
n\
in the command might cause undefined behaviour. Please avoid having n\
in the note body.lightbulb Useful Tip:
Users will be able to see specific patient notes on the patient notes panel using the show
command. (See show command)
An alternative to check if the note is updated correctly, use the find
command. (See find command)
On the patient list panel, the list will be filtered to that specific patient; On the patient notes panel, the updated notes of the specific patient will be shown.
If you'd like to add empty line(s), you can add an empty note (i.e. addnote T0123456A n\
1 or more times.
Do note that the patient list panel will not display the empty line(s) unless there is a note with other characters before and after the note with just spaces.
The space characters at the start and end of the note are stripped during the execution of this command. So addnote T0123456A n\ Diabetes
and addnote T0123456A n\Diabetes
give the same note of Diabetes
.
↑ Back to Top ↑ Back to Table of Contents
ClinicMate data is saved in the hard disk automatically after any command that changes the data. There is no need to save manually.
ClinicMate data is saved automatically as a JSON file [JAR file location]/data/clinicmate.json
. Advanced users are welcome to update data directly by editing that data file.
⚠️ Warning:
↑ Back to Top ↑ Back to Table of Contents
Q: How do I open my terminal?
A: Here are the instructions to open your terminal for the different types of operating systems:
Q: When will the patient notes panel be cleared?
A: The patient notes panel will be cleared when you use the show
command without any IC_NUMBER
. Unfortunately, clear
or delete
command will not clear the patient notes panel.
Q: When using multiple screens, moving the application to a secondary screen and later switching to using only the primary screen, the GUI opens off-screen. What do I do?
A: Delete the preferences.json
file created by the application before running the application again.
Q: Is there a limit to the number of patient records ClinicMate can manage?
A: ClinicMate is designed to handle a large number of patient records efficiently. However, performance may vary depending on the hardware specifications of your computer and the amount of data being managed.
Q: How do I load my data from another computer?
A: Let's say that you want to move your data from computer A to computer B. You should:
clinicmate.json
file that is located at [JAR file location]/data/clinicmate.json
in computer B.clinicmate.json
file from computer A to computer B at the same location as above.Q: Can I export patient data from ClinicMate for reporting or backup purposes?
A: Currently, ClinicMate does not support direct export of patient data. However, you can manually copy the data from the data file located at [JAR file location]/data/clinicmate.json
for backup or reporting purposes.
Q: Can I customize the fields for patient records in ClinicMate?
A: ClinicMate currently supports predefined fields for patient records (name, phone, email, IC number, age, sex, address). Customization of fields is not supported in the current version.
Q: How secure is the patient data stored in ClinicMate?
A: ClinicMate stores patient data locally on your computer in a JSON file. It is recommended to keep your computer secure and up-to-date with the latest security patches to ensure the safety of patient data.
Q: Is there a way to import patient data into ClinicMate from other software?
A: ClinicMate does not currently support direct import of patient data from other software. However, you can manually enter patient data using the add
command.
Q: I am not able to directly access the user guide by pressing on the icon in the help window.
A: Linux users might face some difficulties when trying to directly access the website. Unfortunately, we currently do not have a solution for this. Please access our user guide in the alternative way, which is to copy the URL and pasting it in your web browser.
Q: The patient notes panel does not display the most updated contact I interacted with.
A: Currently, only the find
or show
command will change whose notes are displayed in the patient notes panel.
Q: The patient notes panel is not showing the full note. Can I expand the display?
A: ClinicMate does not currently support expanding the patient notes panel. However, you can scroll through the notes both vertically and horizontally using the scrollbar provided.
Q: Some of my patient information is being truncated in the patient list panel. How can I view the full information?
A: Unfortunately, ClinicMate displays patient information in a fixed format, including sections such as email and note, that might cause long entries to be truncated (e.g. An excessively long name would cause the name, age and gender to be truncated). This will be fixed in a future release.
Q: Long lines of notes in the patient list panel are being unevenly truncated. Is this normal?
A: Yes, this is a known issue. You can still view the full note using the show
command through the patient notes panel.
Q: Can I use addnote
repeatedly with the same message?
A: Yes! ClinicMate does not restrict the number of times you can use the addnote
command with the same message.
Q: Do you support non-English inputs?
A: We do not have dedicated support for non-English inputs, and some features might not work as expected. We recommend using English inputs for the best experience.
↑ Back to Top ↑ Back to Table of Contents
↑ Back to Top ↑ Back to Table of Contents
These descriptions will help you understand the key terms used in ClinicMate.
Term | Definition |
---|---|
Alphanumeric | Alphanumeric pertains to a character set containing both letters and numbers, encompassing the full range of 26 English alphabet letters (both uppercase and lowercase) along with numerical digits 0 through 9. |
Case-insensitive | Case-insensitive treatment equates uppercase and lowercase characters, treating them as identical. For instance, both john and John would be considered the same. |
CLI | CLI, or Command-Line Interface, is a text-based interface enabling users to interact with software via typed commands. |
Command | A command denotes a user's directive to ClinicMate, instructing it to execute a specific action. For example, the add command adds the patient's details to ClinicMate. |
GUI | GUI, or Graphical User Interface, facilitates user interaction with software through visual elements like icons, buttons, and windows, providing a more intuitive alternative to text-based commands. |
JAR | JAR, short for Java Archive, represents a package file format used to bundle multiple Java class files, along with associated metadata and resources, into a single file for distribution purposes. |
JSON | JSON, standing for JavaScript Object Notation, serves as a lightweight data interchange format that is human-readable and easy for machines to parse, commonly utilized in web applications and configuration files. |
Parameter | A parameter resembles a field in a form that requires input. In the command edit S1234567A ag\AGE n\NAME , AGE and NAME are parameters within the command. |
Prefix | A prefix acts as a keyword used to identify a parameter. In the command edit S1234567A ag\AGE n\NAME , ag\ and n\ function as prefixes. |
Parameter | Description | Constraints |
---|---|---|
NAME | Name of the patient. | Only contain alphanumeric characters and spaces, and should not be blank. |
PHONE | Phone number of the patient. | Only contain numbers, be at least 3 digits. Should not be blank. |
EMAIL | Email of the patient. | Should be in the format of local-part@domain and should not be blank. |
IC_NUMBER | IC number of the patient. | Case-insensitive and should not be blank. It should start with one letter (S, F, G or M), followed by 7 digits and 1 letter behind. |
AGE | Age of the patient. | Only contain numbers, and should not be blank. |
SEX | Sex of the patient. | Case-insensitive and should not be blank. Only accepts m , f , M , F as inputs. |
ADDRESS | Address of the patient. | Case-insensitive and should not be blank. |
NOTE | Note of the patient | Case-insensitive and can be blank. |
edit Note:
lightbulb Useful Tip:
The email format is local-part@domain
.
local-part
constraints:
domain
name constraints:
↑ Back to Top ↑ Back to Table of Contents
Action | Format, Examples |
---|---|
Add | add n\NAME p\PHONE e\EMAIL i\IC_NUMBER ag\AGE s\SEX a\ADDRESS e.g. add n\John Doe p\88888888 e\johndoe@mail.com i\T0123456A ag\12 s\M a\John street, block 123, #01-01 |
Clear | clear |
Delete | delete IC_NUMBER e.g. delete T0123456A |
Edit | edit IC_NUMBER [n\NAME] [p\PHONE] [e\EMAIL] [i\IC_NUMBER] [ag\AGE] [s\SEX] [a\ADDRESS] e.g. edit T0123456A p\88888888 |
Add Note | addnote IC_NUMBER n\NOTE [-replace] e.g., addnote T0123456A n\Patient has diabetes e.g. addnote T0123456A n\Patient has diabetes -replace |
Find | find IC_NUMBER e.g. find T0123456A |
Show | show [IC_NUMBER] e.g. show T0123456A e.g. show |
Help | help |
List | list |
Exit | exit |