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
AllergyandConditionas classes.AddMedicalHistoryCommandcontains ArrayLists ofAllergyandCondition. -
Alternative 2 : Treat allergy and condition as Strings.
AddMedicalHistoryCommandcontains 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
AllergyandConditionas classes.AddMedicalHistoryCommandcontains ArrayLists ofAllergyandCondition. -
Alternative 2 : Treat allergy and condition as Strings.
AddMedicalHistoryCommandcontains two ArrayLists of String.