Overview
HealthBook is for clinic receptionist who prefer to use a desktop app for managing doctors and patients information and appointments. It is optimized for receptionist who prefer to work with a Command Line Interface (CLI) while still having the benefits of a Graphical User Interface (GUI).
Summary of contributions
-
Code contributed: Functional code
-
Major enhancement: added the ability to add/delete MedicalHistory
-
What it does: This allows the user to add/delete medical history for a certain patient in the HealthBook.
-
Justification: This feature enables the user to have knowledge of the medical history which contains allergy and condition of a patient.
-
Highlights: This enhancement is an essential feature for HealthBook. It required an in-depth analysis of design alternatives. The implementation too was challenging as it required changes to existing storage and model.
-
Credits: giamjuxian for the Phone part inside add-medical-history and delete-medical-history commands.
-
-
Major enhancement: added the ability to filter doctors/patients
-
What it does: This allow the user to filter doctors/patients in the HealthBook.
-
Justification: This feature enables the user to have a clear view of patients and doctors.
-
-
Other contributions:
-
Community:
-
Reported bugs and suggestions for other teams in the class (examples: https://github.com/CS2103-AY1819S1-T16-1/main/issues/104, https://github.com/CS2103-AY1819S1-T16-1/main/issues/109)
-
-
Contributions to the User Guide
Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users. |
Adding medical condition or allergy to patient: add-medical-history
Add a condition or allergy to the patient’s medical history. This will then be displayed on the users information page.
Format: add-medical-history n/NAME [al/ALLERGIES] [c/CONDITIONS]
Allergies and conditions should only contain alphanumeric characters and spaces, and they should not be blank. |
Examples:
-
add-medical-history n/John Doe al/penicillin,milk c/subhealthy,hyperglycemia
-
add-medical-history n/John Doe al/penicillin,milk
-
add-medical-history n/John Doe c/subhealthy
After adding the condition/allergy, all commands that requires the allergy/condition are non-case sensitive. |
Deleting medical condition or allergy to patient: delete-medical-history
Delete a condition or allergy to the patient’s medical history. This will then be removed on the patient’s information page.
Format: delete-medical-history n/NAME [al/ALLERGIES] [c/CONDITIONS]
Examples:
-
delete-medical-history n/John Doe al/penicillin,milk c/subhealthy,hyperglycemia
-
delete-medical-history n/John Doe al/penicillin,milk
-
delete-medical-history n/John Doe c/subhealthy
Contributions to the Developer Guide
Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project. |
Add Medical History Feature
Current Implementation
The add medical history feature is facilitated by AddMedicalHistoryCommand
and AddMedicalHistoryCommandParser
. This
command is implemented such that it is able to add Allergy
AND/OR Condition
to MedicalHistory
object for a specific
Patient
specified by name.
Step 1. The user types in add-medical-history
in the command box followed by the parameter n/John Doe al/penicillin,milk
c/subhealthy,hyperglycemia
For multiple inputs in the same field, use comma , to separate.
You can only omit either ALLERGY parameter or CONDITION parameter.
Allergies and conditions should only contain alphanumeric characters and spaces, and they should not be blank.
|
Step 2. Upon hitting enter, the allergies
AND/OR conditions
of MedicalHistory
will get added
Exception will be thrown if inputs for both field are blank. |
Design Consideration
Aspect: The way to model MedicalHistory
-
Alternative 1 (Current choice): Model
Allergy
andCondition
as classes.AddMedicalHistoryCommand
contains ArrayLists ofAllergy
andCondition
. -
Alternative 2 : Treat allergy and condition as Strings.
AddMedicalHistoryCommand
contains two ArrayLists of String.
Delete Medical History Feature
Current Implementation
The delete medical history feature is facilitated by DeleteMedicalHistoryCommand
and
DeleteMedicalHistoryCommandParser
. This command is implemented such that it is able to delete Allergy
AND/OR
Condition
from MedicalHistory
object for a specific Patient
specified by name.
Step 1. The user types in delete-medical-history
in the command box followed by the parameter n/John Doe
al/penicillin,milk c/subhealthy,hyperglycemia
For multiple inputs in the same field, use comma , to separate.
You can only omit either ALLERGY parameter or CONDITION parameter.
Allergies and conditions should only contain alphanumeric characters and spaces, and they should not be blank.
|
Step 2. Upon hitting enter, the Allergy
AND/OR Condition
of MedicalHistory
will get deleted
Exception will be thrown if inputs for both field are blank. Exception will be thrown if given input is not in the original medical history. |
Aspect: The way to model MedicalHistory
-
Alternative 1 (Current choice): Model
Allergy
andCondition
as classes.AddMedicalHistoryCommand
contains ArrayLists ofAllergy
andCondition
. -
Alternative 2 : Treat allergy and condition as Strings.
AddMedicalHistoryCommand
contains two ArrayLists of String.