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
Personclass to support patient specific fields- Description:
Personnow configured to supportNextOfKin,PatientType,HospitalWing,FloorNumber,WardNumberandMedicationfields - 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
editcommand.
- Creating upcoming appointments for new patients:
add ua/- What it does: Schedules a future appointment for a patient directly from the
addcommand. - 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:
CommandBoxandCommandHistory- What it does:
UPandDOWNarrow keys to navigate previous commands,Ctrl + Shift + Cto 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
UpcomingAppointmentandPastAppointmentdate parsing bugs;Personduplicate check not case-sensitive bug; And, fixed duplicatePastAppointmentnot caught bug. - Added unit tests for all the enhancements in the section above.
Contributions to the UG
- Updated documentation for
addandeditcommands to reflect changes made to them. - Documented
view,delapptandconsultcommands 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
Uicomponent to reflect our changes and created a new UML Class Diagram for it. - Wrote the documentation for the
add,edit,delappt,consultandviewcommands, 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.