Eiffel Leo's Project Portfolio Page
Project: OmniHealth
OmniHealth is a Patient Management System tailored to private clinicians to manage patients’ details, records and upcoming appointments. As a private clinician, you can manage and monitor your patient database all in one location.
OmniHealth aims to bring convenience into the lives of its users with its many features.
Given below are my contributions to the project.
- New Feature: Added
radd
command #47- What it does: Allows users to add a new record to a given patient’s record list.
- Justification: This feature facilitates the storage and maintenance of medical records within OmniHealth.
- Highlights:
- New Feature: Added
Medication
field in patient records. #72- What it does: Allows users to explicitly have a medication field within their medical records which can be displayed and searched for easily.
- Justification: This features addresses the user’s need to easily see what medication was previously prescribed to patients so that they may more holistically perform their patient diagnosis.
- Highlights: To improve user flexibility, the medication field is able to take in multiple inputs (including 0).
- New Feature: Added
DisplayedPerson
field inModelManager
to handle record display logic. #54- What it does: Encapsulates the current person whose records are being viewed. Record commands (eg.
radd
) are executed through thisDisplayedPerson
. - Justification: The key reason to maintain a
DisplayedPerson
field would be the need to change the current person whose records are being displayed/accessed whenever the user inputs the corresponding command. It is hence logical to capture this logic within a wrapper class which can change the current person being displayed usingDisplayedPerson#setPerson
. Additionally, the class allows us to maintain OOP but preventing the model from directly interacting and editing a person’s records. - Highlights: All record commands go through the
DisplayedPerson
.
- What it does: Encapsulates the current person whose records are being viewed. Record commands (eg.
-
Code contributed: RepoSense Link
- Project management:
- Organised and coordinated team meetings.
- Published Releases v1.3.trial and v1.3.1.
- Used GitHub issue tracker.
- Reviewed and approved PRs for merging.
- Enhancements to existing features:
- Added illegal spacing check for parsing of
Name
andAddress
. #152 - Improve defensibility of code by enforcing separation of Record and Patient commands by the current view mode of OmniHealth (ie. Record commands can only be called when patient record list is displayed, vice versa). #54
- Added methods to parse
Record
fields inParserUtil
class to facilitate parsing of new records. #47 - Updated GUI to show
Medication
fields of patient records. #72 - Wrote test cases for
Medication
classes. #72 - Wrote test cases for
AddRecordCommand
andAddRecordCommandParser
classes. #61
- Added illegal spacing check for parsing of
- Documentation:
- User Guide:
- Developer Guide:
- Community: