Zhehao's Project Portfolio Page
Project: CS2103 tP
Overview: checkUp is a desktop patient medical record management system. The user interacts with it using a CLI, and it has a GUI created with JavaFX. It is written in Java, and has about 15 kLoC.
Summary of contributions
Code Contributed: All my code contribution can be viewed here: RepoSense Report
Enhancements implemented
- Updating
Person
class to support patient specific fields- Description:
Person
now configured to supportNextOfKin
,PatientType
,HospitalWing
,FloorNumber
,WardNumber
andMedication
fields - Justification: Allows medical staff to store personal information needed for patients.
- Description:
- Creating new patient profiles:
add
- Description: Adds new patients with their all their personal particulars.
- Justification: Allows medical staff to store new patients in the app.
- Editing current patient profiles:
edit
- Description: Edits the personal particulars of current patients in the app via the index of the patient.
- Justification: Allows medical staff to update existing patient particulars in the app.
- Creating the Patient Details Panel:
PersonViewPanel
- Description: A new Ui component which displays all of a patient’s details in one place. It defaults to the first patient in the database and the most recent added / edited patient.
- Justification: Allows medical staff to quickly view and access a patient’s information without having to type in multiple commands.
- Changing the patient viewed in the Patient Details Panel:
view
- Description: Manually changes the patient being displayed via the index via the index of the patient.
- Justification: Allows medical staff to quickly view and access all their patients’ information.
- Clicking on Patient Details Panel to edit the selected patient particulars:
PersonViewPanel
- Description: Clicking on the fields in the Patient Details Panel brings up the relevant edit command in the Command Box.
- Justification: Allows medical staff to have quickly edit a patient’s particulars without having to type in the whole
edit
command.
- Creating upcoming appointments for new patients:
add ua/
- What it does: Schedules a future appointment for a patient directly from the
add
command. - Justification: Allows medical staff to quickly create an upcoming appointment for a new patient.
- What it does: Schedules a future appointment for a patient directly from the
- Deleting past appointments:
delappt
- What it does: Deletes the most recent past appointment for the patient selected via his/her index.
- Justification: Allows medical staff to change the past appointment of a patient if it is documented incorrectly or if new information needs to be added.
- Creating keyboard shortcuts:
CommandBox
andCommandHistory
- What it does:
UP
andDOWN
arrow keys to navigate previous commands,Ctrl + Shift + C
to clear the command text. - Justification: Allows medical staff to navigate previous commands and clear input text quickly.
- What it does:
- Consulting a patient:
consult
- What it does: Create a past appointment for the current date and clear the upcoming appointment for the current date(if present). The patient is selected by his/her index.
- Justification: Allows doctors to quickly document their consultation with a patient without having to enter multiple commands.
Other code contributions
- Fixed Patient Details Panel display bugs; Fixed
UpcomingAppointment
andPastAppointment
date parsing bugs;Person
duplicate check not case-sensitive bug; And, fixed duplicatePastAppointment
not caught bug. - Added unit tests for all the enhancements in the section above.
Contributions to the UG
- Updated documentation for
add
andedit
commands to reflect changes made to them. - Documented
view
,delappt
andconsult
commands and Patient Details Panel Clickability and Keyboard Shortcuts enhancements. - Created example and feedback images for all the commands to improve user readability.
- Reorganised the whole Features section to a 3 segment structure to group related commands together and improve user readability
- Added all hyperlinks across the whole user guide to improve navigability.
Contributions to the DG
- Updated the
Ui
component to reflect our changes and created a new UML Class Diagram for it. - Wrote the documentation for the
add
,edit
,delappt
,consult
andview
commands, as well as for the Patient Details Panel Clickability and Keyboard Shortcuts. Included for each command:- Description of the purpose of the feature and how it works.
- UML Sequence Diagram to illustrate the flow of the feature.
- Added user stories, use cases and manual testing for all the above-mentioned features.
Contributions to team-based tasks
- Ensured team was on schedule to meet deadlines and milestone submissions.
- Checked for code quality and adherence to coding standards.
Review/mentoring contributions: Reviewed PRs for team members through the SDLC versions.