Project: HealthSync

HealthSync is an application designed to streamline the workflow of healthcare center frontdesk staff by allowing them to efficiently register and access patient information within 2-3 minutes. It offers a user-friendly platform that enhances patient management, appointment scheduling, and health record retrieval, ultimately improving care delivery and saving valuable time for healthcare professionals.

Given below are my contributions to the project.

  • New Feature:

    • Appointment field implementation, including the parsing and handling logic of temporal data.
      • What it does: allows the user to store appointment data directly in a verifiable way, without needing them to verify their input themselves.
      • Justification: Temporal data like appointments are very commonly handled by our target audience. By allowing them to flexibly input their time, and storing it in a particular manner that the engine can understand, we can more easily make use of this field to improve our user's experience.
      • Highlights: This feature required an understanding of how temporal data is parsed by the Java engine, and how it can be made more flexible to parse and interpret on the backend.
  • Code contributed: RepoSense link

  • Enhancements to existing features:

    • Enhanced add feature to allow for addition of new fields added by the team.
    • Expanded find feature to allow for search by name, IC and Appointment.
    • Expanded find feature to compose multiple search fields through the use of the Predicate functional interface class.
      • What it does: allows the user to customize their search terms when using the find command.
      • Justification: find should generally be as flexible as possible to allow users to filter through their search data easier. Implementing this feature in this way allows us to scale this feature up when we want to expand our search terms.
      • Highlights: Creating Predicate classes as concrete classes allow us to more accurately compare 2 differently composed search terms and manage equalities easier. In particular, a CompositePredicate class was created through the use of Sets, which required an understanding of how hashing works for a Predicate interface and how it is interpreted for lambdas.
  • Documentation for UG:

    • Added Glossary Section for UG.
    • Hyperlinked relevant sections in UG to the Glossary.
  • Documentation for DG:

    • Update some outdated sections of the Architecture sections.
    • Added implementation details for Appointment, Predicate and Find features.
    • Update NFRs and Use Cases.
  • Project management:

  • Community:

  • Tools:

    • Utilised Markbind CLI to preview PUML diagrams and web changes locally