layout | title | pageNav |
---|---|---|
default.md |
User Guide |
4 |
Elevate Your Clinic with Advanced Patient Management Solutions
Welcome to MedBook, the revolutionary desktop application tailor-made for doctors and medical administrative assistants in private clinics. MedBook is your partner in digitizing patient management and medical records, ensuring efficiency, accessibility, and security.
With MedBook, experience a new level of convenience and control:
- Streamlined Patient Management: With intuitive tools, adding, editing, removing, and saving patient details becomes a task of mere seconds.
- Integrated Data Handling: Effortlessly manage patient appointments and medical records from a single, unified platform.
- Instant Information Access: Retrieve any required information with speed and precision.
- Comprehensive Patient Overview: View patient details, medical history, and upcoming appointments in one comprehensive and easily navigable interface.
- Go Digital with Ease: Transition your clinic to a digital platform effortlessly, backed by features tailored for the healthcare sector's unique needs.
- Optimized for Speed: Catering to all skill levels, MedBook's Command Line Interface (CLI) and Graphical User Interface (GUI) provide options for rapid data entry and user-friendly navigation.
- Begin Your MedBook Journey: New to MedBook? Click here for a step-by-step guide to revolutionizing your clinic's management system.
- Welcome to MedBook
- Table of Contents
- Navigating the User Guide
- Quick Start
- Glossary
- Navigating the GUI
- MedBook Tutorial
- Features
- FAQ
- Known Issues
- Command Summary
Welcome to the MedBook User Guide! Our goal is to empower you with the knowledge and confidence to make the most of MedBook's features.
- Effortless Navigation: Use the table of contents for seamless navigation between sections.
- Quick Start for New Users: If you're new to MedBook, start with the Quick Start section to get up and running.
- Explore Features: Already familiar with the basics? Dive into the Features section to discover all that our application has to offer.
We're here to make your experience as user-friendly as possible. Let's get started!
-
Check Java Installation:
-
Ensure you have Java
11
or above installed on your computer:
-
-
Download MedBook:
- Grab the latest version of MedBook (
medbook.jar
) from our Github Release.
- Grab the latest version of MedBook (
-
Set Up Your Workspace:
- Choose a folder where you'd like to manage your patient data.
Tip: Create a new folder named
MedBook
for easy organization.- Move
medbook.jar
into the folder as shown below.
-
Accessing Terminal:
-
Windows Users:
- Search for "Terminal" in the Windows search bar and launch it.
-
Mac Users:
- Find Terminal in "Utilities" under "Applications". Or, you can use Spotlight Search (Command + Spacebar) and type "Terminal".
-
-
Launch MedBook:
- Navigate to to the folder where you have stored
medbook.jar
using thecd
command
Tip: Right-click the folder and select
New Terminal at Folder
(Mac) orOpen in Terminal
(Windows) to instantly navigate to the folder in your Terminal!- Type
java -jar medbook.jar
and hit Enter to start MedBook.
- Navigate to to the folder where you have stored
Once launched, MedBook will look like this:
- Exploring Further:
Here are some definitions of the terms used throughout this user guide.
Term | Definition |
---|---|
Graphical User Interface (GUI) | The GUI allows you to interact with the application through things you can click, instead of typing commands. It also provides visual display for information stored in the application. |
Command Line Interface (CLI) | The CLI is a way of interacting with the application using typed text commands. |
Command | A command is a textual input that users type into the Command Line Interface to interact with the application. |
Parameter | A parameter is a specific piece of information or data that you provide to a command in a Command Line Interface to customize the command's action. |
Name of Component | Description |
---|---|
Menu Bar | Displays the drop down menus for MedBook, such as File and Help |
Message Display Box | Display the message output for every command. It can either can be an error or success message |
Patient Card | Contains information of the patient such as name, age, and contact information |
Patient List | Displays a list of Patient Cards |
Patient Being Viewed | The Patient Card of the patient currently being viewed |
Record Card | Contains information of the medical record including date and time, condition, and prescribed medication |
Medical Records List | Displays a list of Record Cards belonging to the Patient Being Viewed |
Pinned Patient List | Displays a list of Patient Cards of pinned patients |
Command Input Box | A text box which allows users to input commands |
Name of Component | Description |
---|---|
Appointment Card | Contains information of the appointment including name, date and time and NRIC |
Appointment List | Displays a list of Appointment Cards |
Calendar | Presents appointments on their specific dates. Each date shows the abbreviated NAME of up to the first two appointments from the Appointment List. |
Previous Button | Shifts the calendar to the previous month |
Next Button | Shifts the calendar to the next month |
-
Starting MedBook:
- Launch the MedBook application. You may refer to here.
Note: Upon starting, MedBook will display some sample data to help you get familiar.
- Opening the Help Window:
- Let us try opening the Help Window. Type
help
in the Command Input Box and press Enter. - A Help Window, similar to the image below, will appear, listing all available commands.
Please refer to the Features section for a more detailed explanation of the commands.
- Let us try opening the Help Window. Type
- Adding a New Patient:
- Now, let us try adding a new patient. Type in
addpatient n/John Doe i/A0000000B e/[email protected] p/12345678 g/M a/26 bt/AB+ al/Penicillin
and press Enter. - The Message Display Box will confirm the successful addition.
- Now, let us try adding a new patient. Type in
- Practice Adding Patients:
- Experiment by adding a few more patients to MedBook on your own!
- Adding a Medical Record:
- Add More Medical Records:
- Try creating additional medical records for other patients in MedBook!
- Viewing Patient Records:
Congratulations! You are now ready to explore MedBook on your own. Experiment with different features in the following section and discover the potential of MedBook!
Notes about the command format:
-
Upper Case Words: Words in
UPPER_CASE
indicate parameters to be supplied by the user.- Example: in
addpatient n/NAME
,NAME
is a parameter which can be used asadd n/John Doe
.
- Example: in
-
Optional Items: Square brackets
[ ]
denote optional elements.- Example:
n/NAME [al/ALLERGIES]
can be entered as eithern/John Doe al/Pencillin
or justn/John Doe
.
- Example:
-
Repeated Use: Ellipsis
…
after an item means it can be used multiple times.- Example:
[al/ALLERGIES]…
can be used asal/Pencillin
,al/Pollen al/Dust
or not at all.
- Example:
-
Flexible Parameter Order: The order of parameters in a command can vary.
- Example: Both
n/NAME p/PHONE_NUMBER
andp/PHONE_NUMBER n/NAME
are valid.
- Example: Both
-
Extraneous parameters: Additional parameters for commands that do not require them (such as
help
,list
, andexit
) will be ignored.- Example:
help 123
will be processed just ashelp
.
- Example:
-
Unique Identifiers: Must be a positive integer like 1, 2, 3, …
-
PATIENTID
: The unique identification for a patient shown in the Patient List. -
RECORDID
: The unique identification for a medical record shown in the displayed Medical Record List of a specific patient. -
APPOINTMENTID
: The unique identification for an appointment shown in the displayed Appointment List. -
PINNEDID
: The unique identification for a patient shown in the displayed Pinned Patient List.
-
FIELD | PREFIX | CONSTRAINTS |
---|---|---|
NAME |
n | Alphanumeric characters, dashes, dots and spaces only |
NRIC |
i | Starts with a letter, followed by seven digits, and ends with a letter. Letters are case-insensitive. |
EMAIL |
e | Must follow the format local-part@domain |
GENDER |
g | Either M (Male) or F (Female) |
PHONE |
p | A sequence of at least 3 digits long |
AGE |
a | A non-negative integer |
BLOODTYPE |
bt | Must be one of the following: A-, A+, B-, B+, AB-, AB+, O-, O+ |
ALLERGY |
al | Alphanumeric characters only |
DATETIME |
d | Must follow the format dd-MM-yyyy HHmm |
CONDITION |
c | Alphanumeric characters, dashes and spaces |
MEDICATION |
m | Alphanumeric characters, dashes and spaces |
Notes for NAME
format:
- If the patient's name contains the
/
character, use the-
character instead. For example, uses-o
instead ofs/o
.
Notes for NRIC
format:
- If the patient does not have an NRIC, eg. foreigners, a placeholder NRIC which is not valid such as
A1234567A
can be used instead.
Notes for EMAIL
format:
-
The local-part should only contain alphanumeric characters and these special characters:
+
,_
,.
,-
. The local-part may not start or end with any special characters. -
This is followed by an
@
and then a domain name. The domain name is made up of domain labels separated by periods.
The domain name must:
-
end with a domain label at least 2 characters long
-
have each domain label start and end with alphanumeric characters
-
have each domain label consist of alphanumeric characters, separated only by hyphens, if any.
Notes for ALLERGY
format:
- Allergies that consist of multiple words should be consolidated into a single word with each word's initial letter capitalized. For example, use
RedMeat
instead ofRed Meat
.
Adds a new patient to the system.
Format: addpatient n/NAME i/NRIC e/EMAIL p/PHONE g/GENDER a/AGE bt/BLOODTYPE [al/ALLERGY]...
- Adds a patient with information including:
NAME
,NRIC
,EMAIL
,PHONE
,GENDER
,AGE
,BLOODTYPE
,ALLERGY
.
Tip: Want to add a new patient to MedBook? Try out the addpatient
command!
Example:
addpatient n/John Doe i/T1234567A e/[email protected] p/12345678 g/M a/26 bt/AB+ al/Penicillin
Adds a Male patient named John Doe whose NRIC is T1234567A , 26 years old, has AB+ Blood Type, and is allergic to Penicillin.
His email and phone number is [email protected] and 12345678 respectively.
Screenshots:
Command OutputEdits the details of an existing patient.
Format: editpatient PATIENTID PREFIX/NEWVALUE...
-
Edits the details of the patient with the corresponding
PATIENTID
. -
Acceptable fields:
NAME
,EMAIL
,PHONE
,GENDER
,AGE
,BLOODTYPE
,ALLERGY
.
Note: NRIC
cannot be edited.
-
Existing values in the respective fields will be updated to the
NEWVALUE
. -
Multiple entries of
ALLERGY
are allowed i.eeditpatient 1 al/Seafood al/Dust
.
Note: When editing ALLERGY
, the existing allergies of the patient will be removed i.e adding of allergies is not cumulative.
Examples:
-
editpatient 1 e/[email protected]
Edits theEMAIL
of the patient with thePATIENTID
of 1 to [email protected]. -
editpatient 2 p/92345678
Edits thePHONE
of the patient with thePATIENTID
of 2 to 92345678. -
editpatient 3 al/aspirin
Edits theALLERGY
of the patient with thePATIENTID
of 3 to aspirin. -
editpatient 2 p/92345678 al/aspirin
Edits thePHONE
andALLERGY
of the patient with thePATIENTID
of 2 to 92345678 and aspirin, respectively.
Screenshots:
Command OutputDeletes an existing patient from the system.
Format: delete PATIENTID
- Deletes the patient with the corresponding
PATIENTID
.
Example:
delete 2
Deletes the patient with thePATIENTID
of 2.
Screenshots:
Command OutputSearches for patients with details containing the corresponding KEYWORD
.
Format: search KEYWORD [MOREKEYWORDS]...
-
The search is not case-sensitive. e.g Penicillin will match penicillin.
-
The order of the keywords does not matter. e.g. Hans Bo will match Bo Hans.
-
Patients matching at least one keyword will be returned. e.g. Hans Bo will return Hans Gruber, Bo Yang.
-
Patients with detail that are not exactly the same as the
KEYWORD
searched will not appear. e.g. Han will not return Hans.
Note: The details of the patient's medical records will not be searched.
Tip: Utilise the search
command to quickly locate patients. It is perfect for filtering patient lists - for instance, identifying patients with specific allergies.
Examples:
-
search Alex
Will display patients with Alex in their details. -
search Alex M
Will display patients with Alex or M in their details.
Screenshots:
Command OutputShows a list of all patients.
Format: list
- All patients will be shown in the Patient List.
Tip: The list
command allows you to easily view all the patients in the Patient List. For instance, after you've used the search
command to find specific patients, you can use the list
command to gather all the patients conveniently!
Pins an existing patient.
Format: pin PATIENTID
- Pins the patient with the corresponding
PATIENTID
to the Pinned Patient List.
Tip: A patient requires follow-up? Use the pin
command to help you remember to contact them!
Example:
pin 2
Pins the patient with thePATIENTID
of 2 to the Pinned Patient List.
Screenshots:
Command OutputUnpins a pinned patient.
Format: unpin PINNEDID
- Unpins the patient with the corresponding
PINNEDID
from the Pinned Patient List.
Examples:
unpin 2
Unpins the patient with thePINNEDID
of 2 from the Pinned Patient List.
Adds a new medical record to the system.
Format: addrecord PATIENTID d/DATETIME c/CONDITIONS... m/MEDICATIONS...
-
Adds a medical record to the patient with the corresponding
PATIENTID
. -
Duplicate entries for
CONDITIONS
andMEDICATIONS
are allowed and will be considered as separate entries.addrecord 1 d/10-11-2023 1800 c/Flu c/Flu m/Ibuprofen m/Ibuprofen
will store [Flu, Flu] and [Ibuprofen, Ibuprofen] forCONDITIONS
andMEDICATIONS
, respectively.
Example:
addrecord 3 d/18-09-2023 1800 c/Fever m/Paracetamol
Adds a medical record to the patient with thePATIENTID
of 3. The patient visited the clinic on September 18th, 2023 at 6:00PM with a Fever and was prescribed Paracetamol.
Screenshots:
Command OutputDisplays the medical records of a specific patient.
Format: view PATIENTID
-
The medical records of the patient with the corresponding
PATIENTID
will be displayed on screen in the Medical Record List. -
The corresponding patient's Patient Card will be displayed in the Patient Being Viewed section.
Examples:
view 2
displays the medical records of the patient with thePATIENTID
of 2. The medical records will be displayed in the Medical Record List and patient information will be in the Patient Being Viewed section.
Note: The PATIENTID
in the Patient Being Viewed section will display 1. If you wish to perform commands on the patient, use the PATIENTID
displayed in the Patient List.
Screenshots:
Command OutputEdits the details of an existing medical record.
Format: editrecord PATIENTID/RECORDID PREFIX/NEWVALUE...
-
Edits the details of the medical record with the corresponding
RECORDID
of the patient with the correspondingPATIENTID
. -
Acceptable fields :
DATETIME
,CONDITION
,MEDICATION
. -
Existing values in the respective fields will be updated to the
NEWVALUE
. -
Multiple entries of
CONDITION
andMEDICATION
are allowed i.eeditrecord 1/1 c/Flu c/Fever m/Panadol m/Ibuprofen
.
Note: When editing CONDITION
and MEDICATION
, the existing conditions and medications of the record will be removed i.e adding of conditions and medications is not cumulative.
Tip: Spotted an error in the medical record? Fret not, simply use editrecord
to quickly make changes!
Examples:
-
editrecord 1/1 d/25-10-2023 1200
Edits theDATETIME
of the medical record with theRECORDID
of 1 of the patient with thePATIENTID
of 1 to 25-10-2023 1200. -
editrecord 1/1 c/Headache c/Flu
Edits theCONDITION
of the medical record with theRECORDID
of 1 of the patient with thePATIENTID
of 1 to Headache, Flu. -
editrecord 1/1 c/Headache m/Paracetamol
Edits theCONDITION
andMEDICATION
of the medical record with theRECORDID
of 1 of the patient with thePATIENTID
of 1 to Headache and Paracetamol, respectively.
Deletes an existing medical record from the system.
Format: deleterecord PATIENTID/RECORDID
- Deletes the medical record with the corresponding
RECORDID
from the patient with the correspondingPATIENTID
.
Example:
deleterecord 2/1
Deletes the medical record with theRECORDID
of 2 from the patient with thePATIENTID
of 1.
Searches for medical records of the Patient Being Viewed with details containing the corresponding KEYWORD
.
Format: searchrecord KEYWORD [MOREKEYWORDS]...
-
The search is not case-sensitive. e.g Penicillin will match penicillin.
-
Medical records matching at least one KEYWORD will be returned. e.g. Mild Fever will return Mild Flu, High Fever
-
Medical records with detail that are not exactly the same as the KEYWORD searched will not appear. e.g. Head will not return Headache.
Important: The Patient Being Viewed section should not be empty. Otherwise
searchrecord
command will not return any medical records.
Examples:
-
searchrecord Penicillin
Will display medical records of the Patient Being Viewed with Penicillin in their details. -
searchrecord Fever Cough
Will display medical records of the Patient Being Viewed with Fever or Cough in their details. -
searchrecord 19-10-2023
Will display medical records of the Patient Being Viewed with 19-10-2023 in their details.
Attach local files to a patient's medical record by clicking on the Attach button located within each Record Card.
Tip: A patient's report just comes out? The Attach File feature can help you keep documents in an organised manner!
Caution:
- Refrain from deleting/relocating the local file. If necessary, re-attach the new file after relocation/deletion.
- Ensure that you have selected a default launcher for the selected file type.
Screenshots:
Command Selecting File OutputAdds a new appointment to the system.
Format: addappointment PATIENTID n/NAME d/DATETIME
- Adds an appointment to the patient with the corresponding
PATIENTID
.
Example:
addappointment 2 n/Eye Examination d/10-10-2023 1800
Adds anEye Examination
to the patient with thePATIENTID
of 2. The appointment is schedueld for the 10th of October 2023 at 6:00PM.
Screenshots:
Command OutputDeletes an appointment from the system.
Format: deleteappointment APPOINTMENTID
- Deletes the appointment with the corresponding
APPOINTMENTID
.
Tip: A patient cannot attend an appointment? Use deleteappointment
to remove it from your schedule!
Example:
deleteappointment 1
Deletes the appointment with theAPPOINTMENTID
of 1.
Opens/focuses the Appointment Window.
Format: viewappointment
Tip: Want to know about upcoming appointments? Simply type in viewappointment
!
Opens/focuses the Help Window displaying all commands.
Format: help
Tip: If you get stuck while using MedBook, use the help
command to get a quick overview of all commands!
Exits the program.
Format: exit
MedBook data is saved in the data
folder automatically after any command that changes the data. This ensures the safety of your data. When MedBook is restarted, the data is loaded back into the application automatically.
MedBook data is saved automatically as a JSON file located in [jar file location]/data/medbook.json
. The file can be edited directly to make changes to MedBook data.
Caution: Only advanced users are encouraged to make changes to the data file as wrong data formatting may result in the application not working as intended.
Q: How do I check my java version?
A: Open a Terminal and enter java -version
. If you do not have Java installed, you can download it here.
Q: How do I transfer my data to another Computer?
A: Install the app in the other computer and copy the data
folder over to the folder of the installed jar file in the other computer.
- When using multiple screens, if you move the application to a secondary screen, and later switch to using only the primary screen, the GUI will open off-screen. The remedy is to delete the
preferences.json
file created by the application before running the application again.
Action | Format, Examples |
---|---|
Help | help |
Add Patient | addpatient n/NAME i/NRIC e/EMAIL p/PHONE g/GENDER a/AGE bt/BLOODTYPE [al/ALLERGY]... e.g., addpatient n/John Doe i/T1234567A e/[email protected] p/12345678 g/M a/26 bt/AB+ al/Penicillin |
Add Medical Record | addrecord PATIENTID d/DATETIME c/CONDITION... m/MEDICATION... e.g., addrecord 2 d/10-10-2020 1900 c/Fever m/Painkiller |
Add Appointment | addappointment PATIENTID n/NAME d/DATETIME e.g., addappointment 2 n/Eye Exam d/10-10-2020 1900 |
List | list |
View Medical Records | view PATIENTID e.g., view 2 |
View Appointments | viewappointment |
Edit Patient | editpatient PATIENTID PREFIX/NEWVALUE... e.g., editpatient 1 e/[email protected] |
Edit Medical Record | editrecord PATIENTID/RECORDID PREFIX/NEWVALUE... e.g., editrecord 1/1 d/25-10-2023 1200 |
Search Patients | search KEYWORD [MOREKEYWORDS]... e.g., search James |
Search Medical Records | searchrecord KEYWORD [MOREKEYWORDS]... e.g., searchrecord Headache |
Delete Patient | delete PATIENTID e.g., delete 3 |
Delete Medical Record | deleterecord PATIENTID/RECORDID e.g., deleterecord 2/1 |
Delete Appointment | deleteappointment APPOINTMENTID e.g., deleteappointment 1 |
Pin Patient | pin PATIENTID e.g., pin 2 |
Unpin Patient | unpin PINNEDID e.g. unpin 2 |
Exit | exit |