Project: CliniCal

CliniCal is a desktop app that allows doctors to manage patient records and schedule upcoming appointments.

Given below are my contributions to the project.

  • New Feature: Added the ability to add profile pictures.
    • What it does: Allows the user to add a profile picture to each patient profile.
    • Justification: This feature improves the product significantly because the user can now quickly identify patients using their profile pictures, instead of relying on other forms of identification such as names which can be duplicated.
    • Highlights: User can use their mouse to drag and drop profile pictures onto the patient’s profile. This makes it easier for the user to add profile pictures, without having to waste time specifying the image’s filepath.
    • Credits:
      1. Manipulation of images in JavaFX: Tutorialspoint
      2. Implement drag and drop feature: JavaCodeGeeks, GenuineCoder

  • New Feature: Added a profile display command.
    • What it does: Displays the patient’s profile on a separate window.
    • Justification: Allows user to view the patient’s profile and access relevant details such as Blood Type, Address, etc.
    • Highlights: This command displays the patient’s profile on a separate popup window, which allows the user to focus on one individual patient. This helps to declutter the main window.
    • Credits:
      1. Popup windows: Quollwriter, VISIT Github, Jewelsea Github
      2. Populate separate panel with custom list: Oracle
      3. Custom list cell: StackOverflow
      4. Existing AB3 codebase: AB3 Github

  • New Feature: Added the ability to add a new visitation log.
    • What it does: Adds a new visit for the specified patient.
    • Justification: This features improves the product significantly because the user can now record visitation details (eg. Diagnosis) and store them in CliniCal.
    • Highlights: User can enter relevant details about the visitation in a separate popup window. This helps to declutter the main window.
    • Credits:
      1. Existing AB3 codebase: AB3 Github

  • New Feature: Enhanced the find command to allow partial matching, and included IC number as an additional search parameter
    • What it does: Locates a patient after the user specifies either the patient’s name or IC number.
    • Justification: User can quickly locate a specific patient by searching the patient’s unique IC number, instead of using names which can be duplicated.
    • Highlights: Enhanced partial matching functionality allows user to type in the first few digits of the patient’s IC number, or the first few characters of the patient’s name to locate the patient, instead of having to specify the entire IC number or name.
    • Credits: NIL

  • Code contributed: RepoSense link

  • Project management:
    • Managed release v1.2.1 on GitHub

  • Enhancements to existing features:
    • Assisted in styling of GUI (#149, #233)
    • Wrote additional tests for ParserUtil, CommandResult, LogicManager classes (#164, #168, #169)

  • Documentation:
    • User Guide:
      • Added documentation for addpicture, addvisit and profile features (#148)
      • Improve overall styling (#255)
      • Removed discrepancies on formatting issues (#265)
    • Developer Guide:
      • Added implementation details for the addpicture, addvisit and profile features (#83)
      • Added new use cases for addpicture and profile features (#251)
      • Added manual testing instructions for addpicture, addvisit and profile features (#266)
      • Added brief preface to each section (#141)

  • Community:
    • Reported bugs and suggestions for other teams in the class (during Practical Dry Run): Issues link
    • PR reviewed (with non-trivial review comments) (#252)

  • Tools:
    • Integrated a third party library (Commons IO) to the project (#61)