C++代写|COMP 3023 – Design Patterns with C++ Assignment 2: Patient Vitals Management System


Problem statement

In this individual assignment, you have been tasked by your client to complete a patient management system. An increase in the occurrences of diseases once thought fictional (Amogus sus, E Rush, Nocap Syndrome, and Advanced Ticctocc Brain Damage) have made this project of utmost urgency. The patient management system should record patient vitals (heart rate, oxygen saturation, body temperature, and brain activity) and report alerts for concerning results dependent on the disease they have.

The system should load a list of patients. Currently this occurs from a database (mocked for this assignment), but you will change it to support loading from a file. Patients have vitals that are periodically measured. The system should raise an alert level on the patient when vital are recorded that exceed certain limits dependent on the disease they have. Use the following table to determine how to calculate the alert level:

The alert levels are ranked ordered as Green, Yellow, Orange, Red, with Green being the lowest alert level. A patient defaults Green alert level unless their vitals raise their level.

Assignment overview

Part of the project has already been developed. You must adapt and build upon the provided project. This requires not only understanding the existing codebase and writing new code, but also understanding the existing design and being able to explain your design changes. Read through this entire assignment specification before you begin, as you are required to explain many aspects of what you have done later in the assignment.

The existing system in presented in Figure 1. The main driver of the program is the Patient Management System class . The system can currently connect to a patient database (mocked for this assignment) using and load patients into the system. Patients are represented by the Patient class . The system can currently record patient Vitals through a command line interface. There is little error checking on this interface—we can presume the user will always enter the correct input. Lastly, Façade interfaces have been provided to notify Hospitals and GPs of any patient Alert Levels of concern , though these still need to be integrated into the system process.

In this assignment, you will address functional requirements, non-functional requirements, and document your design and implementation. There are four major functional requirements you must address (FR1–FR4). These requirements will require you to write correct algorithms in C++ to identify patient alert levels when they record new Vitals measures (FR1), calculate and select the highest alert level for patients with multiple diseases (FR2), load patients from a file (FR3), and alert the hospitals and GPs when a patient has a Red alert level (FR4). Then you will present your design and implementation for each of these requirements in the form of a design document.

You must implement four design patterns throughout this assignment:

• Adapter pattern

• Composite pattern

• Observer pattern

• Strategy pattern

Each of these patterns will map to one of the major functional requirements of this assignment.

Each of the functional requirements are presented in the following Assignment Requirements Tasks section, along with a description of the required documentation. The section General requirements then describes the general requires that must be adhered to throughout the assignment.