PROJECT: docX

This portfolio serves to document my contribution in a Software Engineering team project for CS2103. The team comprises of 5 members and we were tasked to develop a working application within 6 weeks.

To comply with the module requirements, the project builds on from an existing code base - AddressBook Level 4, and the user must be able to interact with the application via Command Line Interface (CLI).

Overview

DocX is a desktop application designed for receptionists in clinics. The app provide features for patient management, doctor management, medical history management, appointment management and prescription management. It is targeted at clinic receptionists who are comfortable with using Command Line Interface (CLI).

Summary of contributions

  • Major feature: Added Medical History Management Features

    • What it does: This feature allows receptionists in clinic to record and manage patients' medical histories of seeing doctors. It provides receptionists with 6 commands, which are adding, listing, sorting, editing, searching and viewing of medical histories. Besides, the information of visiting patient and visited doctor is stored in a medical history, and is updated in cascade with the patient and doctor. When patient and doctor is edited or deleted, all related medical histories will be updated automatically.

    • Justification of Major Feature: In a clinic, one of the most important and most frequent event is patient visit. Recording medical histories is important for clinic management. Firstly, it provides doctor with patient’s information and helps doctor give proper evaluation and treatments of patient. Secondly, it retains documentary evidence on which the legal system depends. To keep a record of every patient visit, receptionists must be able to manage medical histories very efficiently. Our app provides users an easy way to manage a medical history. Users only need to provide patient id and doctor id, then the system will automatically find and store all information of that patient and doctor. To help doctor diagnosis, receptionists must be able to quickly find medical histories the doctor wants. Our app provides an easy way to do this by listing, searching or sorting command. To keep the whole system consistent, receptionists need to update medical histories when patient/doctor is modified. Our app can automatically update medical histories in cascade of patient and doctor, which saves users a lot of efforts.

    • Highlights of Major Feature: Firstly, it’s challenging to store patient and doctor information in medical history and keep them updated. Commands of patients and doctors may impact related medical histories. All these commands need to be followed by the updating of medical histories. Secondly, it’s difficult to do validation of input. Checking of the existence of input patient and doctor id must be done before adding the medical history.

  • Minor enhancement: Enable the browser of UI to switch between different browsers.

  • Code contributed: [Functional and Test Code]

  • Other contributions:

    • Project management:

      • Managed the submission of UG and DG documents in v1.3 on Luminus

    • Enhancements to existing features:

      • Remove dead code: Pull requests #213

      • Add test cases to improve the coverage: Pull requests #209, #204

      • Updated the GUI to show multiple lists: Pull request #108

      • Updated the GUI to switch between multiple browsers: Pull request #168

    • Community:

      • PRs reviewed (with non-trivial review comments)(examples: 1)

      • Reported bugs and suggestions for other teams in the class (#710, #527, #433)

Contributions to the User Guide

Given below are sections I contributed to the User Guide. They showcase my ability to write documentation targeting end-users.

Contributions to the Developer Guide

Given below are sections I contributed to the Developer Guide. They showcase my ability to write technical documentation and the technical depth of my contributions to the project.