DocTrack aims to be the bridge for general practitioners in smaller clinics towards the digitalisation of their administrative efforts, with a focus on contact management and visit history tracking.
With DocTrack, you can take the first step towards digitalisation of your practice! DocTrack can assist you in streamlining your patient and appointment tracking process, by allowing you to ...
... all with an intuitive and user-friendly interface!
To get started, you can read the introduction below, which shows all the different sections in this user guide.
Quickly get started with DocTrack!
Click on this section for a quick set-up guide, with examples of commands that you can use, out of the box.
Learn how you can interact with DocTrack!
DocTrack functions through a set of commands. Click on this section to learn more.
Click on this section to know more about the commands you can use in DocTrack. For more specifics, click on the subsections below.
Person commands Click on this section for a rough summary of all the commands related to persons.
Appointment commands Click on this section for a rough summary of all the commands related to appointments.
General commands Click on this section for a rough summary of all the general commands.
Have questions? Read here to see answer to commonly asked questions.
Having a problem? Read here to see some common issues that may arise while you are using DocTrack.
17
or above installed in your computer.
Java 17
, download Java. Refer to the guide for installing Java.
.jar
file. For more information, you can refer to:
data
folder in this home folder to store your data files.cd HOME_FOLDER
java -jar DocTrack.jar
Example: if you copied DocTrack.jar
into the folder C:/Users/user/Documents
,
run the commands:cd C:/Users/user/Documents
java -jar DocTrack.jar
Type the command in the command box, which is indicated by Enter command here...
. Press Enter
to execute it.
Example: Typing help
and pressing Enter
will open the help window.
Some other examples of commands you can enter:
list person
: Lists all contacts.add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering
: Adds a contact named John Doe
to the Address Book.delete person 3
: Deletes the 3rd contact shown in the current list.clear person
: Deletes all contacts.exit
: Exits the app.Tip:
This would be a good time to run the clear person
command, to start afresh without sample data.
All interactions with the DocTrack platform are done through a series of commands (explained in Command Overview) entered by you.
Here are some key points to keep in mind when you are using the commands:
Appointments are sorted by date. Patients are sorted in chronological order.
You should supply all the fields (words in UPPER_CASE
) that are needed for a command.
Example: In add person n/NAME
, NAME
is a field which can be used as add person n/John Doe
.
The INDEX
in command formats like edit person INDEX
and delete appt INDEX
refers to the index
number (shown beside the person or appointment) in the displayed list. The index must be a positive integer i.e. 1, 2, 3...
Example: The index of the first person displayed at the top the list is 1
, the index of the second person displayed is 2
, and so on.
Items in square brackets []
are optional.
Example: 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 zero times or more times.
Example:[t/TAG]…
can be used as (i.e. 0 times),
t/friend
, t/friend t/family
etc.
You can add fields in any order.
Example: If the command specifies n/NAME p/PHONE_NUMBER
, then p/PHONE_NUMBER n/NAME
is also acceptable.
Tip:
If you add extraneous fields for commands that do not take in fields (such as help
, list person
,
list appt
, exit
and clear
), they will be ignored.
Example: If the command specifies help 123
, then it will be interpreted as help
.
Caution:
If you are using a PDF version of this document, be careful when copying and pasting commands that span multiple lines. This is because some space characters surrounding line-breaks may be omitted when copied over.
The following sections describe the various commands you can use in the DocTrack application.
Person commands ⬅ Click on this section to know more about the commands you can use to manage the list of persons. You can also click on the individual commands below for information specific to these commands.
Action | Format | Examples |
---|---|---|
Add person | add person n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS st/STATUS [t/TAG]… | add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering t/friend |
List all persons | list person | list person |
Edit person | edit person INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [st/STATUS] [t/TAG]… | edit person 2 n/James Lee e/jameslee@example.com |
Find person | find person KEYWORD [MORE_KEYWORDS] | find person n/James Jake |
Delete person | delete person INDEX | delete person 3 |
Clear all persons | clear person | clear person |
Appointment commands ⬅ Click on this section to know more about the commands you can use to manage the appointments. You can also click on the individual commands below for information specific to these commands.
Action | Format | Examples |
---|---|---|
Add appointment | add appt i/PERSON_ID d/DATE_TIME ty/APPOINTMENT_TYPE [s/SICKNESS] [m/MEDICINE] | add appt i/1 d/2024-12-01 09:30 ty/Consulation s/Diabetes m/Insulin |
List all appointments | list appt | list appt |
Edit appointment | edit appt INDEX [i/PERSON_ID] [d/DATE_TIME] [ty/APPOINTMENT_TYPE] [s/SICKNESS] [m/MEDICINE] | edit appt 3 d/2024-12-05 13:00 m/Panadol |
Find appointment | find appt KEYWORD [MORE_KEYWORDS] | find appt d/2024-12-05 |
Delete appointment | delete appt INDEX | delete appt 2 |
Clear all appointments | clear appt | clear appt |
General commands ⬅ Click on this section to know more about the general commands. You can also click on the individual commands below for information specific to these commands.
A person is a patient with several fields. The fields and their corresponding prefixes are as follows:
Field | Prefix | Optional | Multiple | Acceptable Inputs |
---|---|---|---|---|
Name | n/ | No | No | Only alphanumeric characters (Cannot start with space) |
Phone number | p/ | No | No | Positive integer of length 3-15 (Inclusive) |
e/ | No | No | Refer to 1. below | |
Address | a/ | No | No | Any value |
Status | st/ | No | No | Only alphanumeric characters |
Tag(s) | t/ | Yes | Yes | Only alphanumeric characters |
Notes:
1. The email must have
+
_
.
-
) (not at the start or end),@
, and a domain part with labels separated by periods,You can identify these patients uniquely by their patient ID (PID) for easy reference.
The PID can be seen in the top right corner of their information card, as shown below:
You can also manage the patient information through different commands, which can be seen in the table below:
Action | Format | Examples |
---|---|---|
Add person | add person n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS st/STATUS [t/TAG]… | add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering t/friend |
List all persons | list person | list person |
Edit person | edit person INDEX [n/NAME] [p/PHONE_NUMBER] [e/EMAIL] [a/ADDRESS] [st/STATUS] [t/TAG]… | edit person 2 n/James Lee e/jameslee@example.com |
Find person | find person KEYWORD [MORE_KEYWORDS] | find person n/James Jake |
Delete person | delete person INDEX | delete person 3 |
Clear all persons | clear person | clear person |
add person
You can add a person to the patient book.
Format: add person n/NAME p/PHONE_NUMBER e/EMAIL a/ADDRESS st/STATUS [t/TAG]…
Tip: A person can have any number of tags (including 0).
Example: t/friend t/likes coding
has 2 tags and it is valid.
Examples:
add person n/John Doe p/98765432 e/johnd@example.com a/John street, block 123, #01-01 st/recovering
adds a person named John Doe
with phone number 98765432
, email johnd@example.com
, and address John street, block 123, #01-01
, and status recovering
.add person n/Betsy Crowe t/friend e/betsycrowe@example.com a/Newgate Prison p/1234567 st/recovered t/criminal
adds a person named Betsy Crowe
with email betsycrowe@example.com
, address Newgate Prison
, phone number 1234567
, status recovered
, and the tags friend
and criminal
.Note: Ensure that you enter a unique name (case-insensitive) and phone number for the person you are adding. Else, it will be detected as a duplicate, and an error message will be shown.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
list person
You can view a list of all persons in the patient book.
Format: list person
shows the list of all patients on the screen.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
edit person
Edits an existing patient in DocTrack.
Format: edit person INDEX [n/NAME] [p/PHONE] [e/EMAIL] [a/ADDRESS] [st/STATUS] [t/TAG]…
INDEX
.t/
without
specifying any tags after it.Tip: When trying to add tags while keeping existing tags, remember to type in all the pre-existing tags with your new tags.
Examples:
list person
followed by edit person 1 p/91234567 e/johndoe@example.com
edits the phone number and email
address of the first person in the list to be 91234567
and johndoe@example.com
respectively.list person
followed by edit person 2 n/Betsy Crower t/
edits the name of the second person in the list to
be Betsy Crower
and clears all existing tags.Note: When editing the name of a person, the person's appointments will not reflect the name change until a reload of the application.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
find person
You can find person(s) whose names contain any of the given keywords.
Format: find person KEYWORD [MORE_KEYWORDS]
n/
to search for names.hans
will match Hans
Hans Bo
will match Bo Hans
Han
will not match Hans
OR
search).
e.g. Hans Bo
will return Hans Gruber
, Bo Yang
Examples:
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
delete person
You can delete a specified person from the patient book.
Format: delete person INDEX
INDEX
.Tip: Make sure you have the correct index of the patient before deleting. Use list person
to check.
Examples:
list person
followed by delete person 2
deletes the second person in the list.find Betsy
followed by delete person 1
deletes the first person in the results of the find
command.Warning: This action is irreversible. Ensure you have selected the correct person before deleting. Note that deleting a person will also delete all related appointments.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
clear person
You can delete all person entries from the patient book.
Format: clear person
Warning: This action is irreversible. Ensure you have a backup of the patient data before clearing. Note that this will also clear the appointment data.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
An appointment is defined by several fields. The fields and their corresponding prefixes are as follows:
Field | Prefix | Optional | Multiple | Acceptable Inputs |
---|---|---|---|---|
Person ID | i/ | No | No | Existing person ID |
Appointment Type | ty/ | No | No | Any value |
Date and Time | d/ | No | No | yyyy-MM-dd HH:mm . Refer to 1. below |
Sickness | s/ | Yes | No | At least one alphabetic character |
Medicine | m/ | Yes | No | At least one alphabetic character |
You can identify these appointments uniquely by their Appointment ID (AID) for easy reference.
The AID can be seen in the top right corner of their information card, as shown below:
You can manage the appointments through different commands, which can be seen in the table below:
Notes:
1. Acceptable inputs for Date and Time:
HH:mm
should be between 00:00
and 23:59
.2025-02-29 12:00
will be parsed as 2025-02-28 12:00
.Action | Format | Examples |
---|---|---|
Add appointment | add appt i/PERSON_ID d/DATE_TIME ty/APPOINTMENT_TYPE [s/SICKNESS] [m/MEDICINE] | add appt i/1 d/2024-12-01 09:30 ty/Consulation s/Diabetes m/Insulin |
List all appointments | list appt | list appt |
Edit appointment | edit appt INDEX [i/PERSON_ID] [d/DATE_TIME] [ty/APPOINTMENT_TYPE] [s/SICKNESS] [m/MEDICINE] | edit appt 3 d/2024-12-05 13:00 m/Panadol |
Find appointment | find appt KEYWORD [MORE_KEYWORDS] | find appt d/2024-12-05 |
Delete appointment | delete appt INDEX | delete appt 2 |
Clear all appointments | clear appt | clear appt |
add appt
You can add an appointment to DocTrack.
Format: add appt i/PERSON_ID ty/APPOINTMENT_TYPE d/DATE_TIME [s/SICKNESS] [m/MEDICINE]
Tip: You can decide to leave out sickness and medicine inputs when adding them, then edit them later.
Examples:
add appt i/1 ty/Consulation d/2024-12-01 09:30 s/Diabetes m/Insulin
adds an appointment to the person with personId 1
. The appointment has appointment type Consulation
, date and time 2024-12-01 09:30
, sickness Diabetes
, and medicine Insulin
.add appt i/2 ty/Follow-up d/2024-02-01 16:40 s/Asthma m/Inhaler
adds an appointment to the person with personId 2
. The appointment has appointment type Follow-up
, date and time 2024-02-01 16:40
, sickness Asthma
, and medicine Inhaler
.Note: Although you type DATE_TIME
in the format yyyy-MM-dd HH:mm
, you will see it displayed as Month Date, Year, Time
.
Example: You will see 2024-12-10 14:30
displayed as December 10, 2024, 2:30 PM
.
Note: Ensure that you enter a unique person, date and time, and appointment type for the appointment you are adding. Else, it will be detected as a duplicate, and an error message will be shown.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
list appt
You can view a list of all appointments in the appointment book.
Format: list appt
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
edit appt
You can an existing appointment in appointment book.
Format: edit appt INDEX [i/PERSON_ID] [d/DATE_TIME] [ty/APPOINTMENT_TYPE] [s/SICKNESS] [m/MEDICINE]
INDEX
.DATE_TIME
is yyyy-MM-dd HH:mm
. For example, 2025-03-20 10:30
.Examples:
edit appt 3 d/2024-12-05 13:00 m/Budesonide
edits the date and time and the medicine to be 2024-12-05 13:00
and Budesonide
respectively.Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
find appt
You can find appointments whose person names and / or dates contain any of the given keywords.
Format: find appt KEYWORD [MORE_KEYWORDS]
n/
to search for patient names.d/
to search for dates.DATE
is YYYY-MM-DD
. For example, 2024-10-16
.Tip: Use the find appt
command to filter out appointments for a certain day or patient.
Examples:
find appt n/John
returns appointments with patients named John
.find appt d/2024-12-05
returns appointments on 2024-12-05
.find appt n/John d/2024-12-05
returns appointments with patients named John
, and is on 2024-12-05
.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
delete appt
You can delete a specified appointment from appointment book.
Format: delete appt INDEX
INDEX
.Tip: Use the list appt
to check the index of the appointment before deleting one.
Examples:
list appt
followed by delete appt 2
deletes the second appointment in the list of appointments.find appt d/2024-12-05
followed by delete appt 1
deletes the first appointment in the results of the
find
command.Warning: This action is irreversible. Ensure you have selected the correct appointment before deleting.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
clear appt
You can delete all appointment entries from the appointment book.
Format: clear appt
Warning: This action is irreversible. Ensure you have a backup of the appointment data before clearing.
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
General commands can help you with miscellaneous tasks related to patient and appointment management.
help
You will be able to view a help window that directs you to this user guide.
Format: help
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
exit
You will be able to exit the DocTrack application.
Format: exit
Navigate back to the subsections here: Command overview Person commands Appointment commands General commands
The data of the patients and appointments are saved in the hard disk automatically after you run any command that changes the data. You do not need to save them manually.
For advanced users, feel free to update patient and appointment data directly by editing the data files in the
data
folder. Learn more here: FAQs.
Caution:
Q: How is my data stored?
A: Your data is stored in .json files, located in the data
folder. The details of the persons are stored in the addressbook.json
file, while the appointments are stored in the appointmentbook.json
file.
Examples:
An example of how the persons are stored in the addressbook.json
file:
{
"persons": [
{
"personId": 0,
"name": "Alex Yeoh",
"phone": "87438807",
"email": "alexyeoh@example.com",
"address": "Blk 30 Geylang Street 29, #06-40",
"status": "Recovering",
"tags": [
"friends"
]
},
{
"personId": 1,
"name": "Bernice Yu",
"phone": "99272758",
"email": "berniceyu@example.com",
"address": "Blk 30 Lorong 3 Serangoon Gardens, #07-18",
"status": "Stable",
"tags": [
"colleagues",
"friends"
]
}
]
}
An example of how the appointments are stored in the appointmentbook.json
file:
{
"appointments": [
{
"appointmentId": 0,
"appointmentType": "Consultation",
"appointmentDateTime": "2024-10-20T09:30",
"personId": 0,
"sickness": "Flu",
"medicine": "Antiviral"
},
{
"appointmentId": 1,
"appointmentType": "Follow-up",
"appointmentDateTime": "2024-10-22T14:00",
"personId": 1,
"sickness": "Diabetes",
"medicine": "Insulin"
}
]
}
Q: How do I transfer my data (in the addressbook.json
and appointmentbook.json
files) to another
computer?
A:
addressbook.json
and appointmentbook.json
files from the data
folder in your current computer.data
folder.addressbook.json
and appointmentbook.json
files you saved from your previous computer.Q: Can I access DocTrack without internet connection?
A: Yes, you can run DocTrack without an internet connection.
Q: How do I back up my data?
A: Since the data is saved in the addressbook.json
and appointmentbook.json
files in the data
folder, you can copy these files to another location as a backup.
Q: How many patients and appointments does DocTrack support?
A: DocTrack technically supports up to 4 billion total historical patients and appointments. However,
depending on your system, it might lag with larger numbers of patients and appointments.
We recommend that you do not exceed 10,000 total patients and appointments.
preferences.json
file created by the application before running the application again.help
command (or use the Help
menu, or the keyboard shortcut F1
) again, the original Help Window will remain minimized, and no new Help Window will appear. The remedy is to manually restore the minimized Help Window.edit person
command will not reflect the name change in the appointments until a reload of the application.