Instructions

For this project you will use create a hospital triage system using a Priority Queue.

tri·age

1. (in medical use) the assignment of degrees of urgency to wounds or illnesses to decide the order of treatment of a large number of patients or casualties.
"a triage nurse"

Objective: write a console program that will simulate a patient emergency room triage system with a patient queue.

A.Create a menu that will allow a user Triage Nurse) to:

a. add a patient to the queue in its appropriate position based on their triage status (priority)
b.Service the next patient in the queue
c.Print the contents of the queue

B.Patients can have more than one injury or illness the combination of which can change their priority in the queue.

Technical Design:

A.Patients must be represented by a separate class.
B.Patient class will maintain a list of injuries or ailments
C.Your priority queue must use the double linked list we created in class
D.You may implement your priority queue using one or two lists as described in class.
E.All input must be validated
F.You may not use the STL (Standard Template Library)
G.Pointer notation must be used throughout
H.A list of injuries and ailments with their priority will be provided as a comma delimited file.
I.You must read this file as input at the start of your program and store the contents in a Map data structure.
J.You must research the Map data structure and create a PriorityMap class to use for this purpose. A map will allow you to get the priority for a particular injury or ailment.

Rules:

1.Patients can only be in the queue once
2.If a patient has multiple issues their priority can increase based on the following calculation:
3.Priority score = ((type + severity) / time criticality) + contagious
4.If a patient has multiple issues, you must calculate the priority score for each issue and add them together. For combined scores any individual score below a 3 is not added to the patients overall score.
5.For the queue threshold, any combined score below 4 is put into the regular queue
6.All priority calculations must be performed by the program during the patient ADD.
7.Your output should look like the following:

Welcome to the EMERG Triage System
Please make a selection

A Add a new patient to the queue
P Process the next patient in the queue
R Review the current queue
H Print the history of the Queue (Oldest first)
X Exit the system

On adding a patient : accept the new patient information from the Nurse(keyboard)

Patient name

The following for each issue the patient has:

Injury or Illness name or code
Severity
Time criticality
Contagious

Upon entry the system will output the following:

Patient: Andrew Wing add to queue with priority 3 in position 2

On processing a patient

Patient: Andrew Wing moved to patient room
Next patient in queue: Lianne Wong with Priority 2

On viewing the queue:

Bob Smith – priority 4 - heart attack, Ebola
Santa Klaus – priority 3 – flu, boo boo on arm
Andy Wing – priority 3 – kneesels, stubbed toe

Class Diagram: see image.

Academic Honesty!
It is not our intention to break the school's academic policy. Posted solutions are meant to be used as a reference and should not be submitted as is. We are not held liable for any misuse of the solutions. Please see the frequently asked questions page for further questions and inquiries.
Kindly complete the form. Please provide a valid email address and we will get back to you within 24 hours. Payment is through PayPal, Buy me a Coffee or Cryptocurrency. We are a nonprofit organization however we need funds to keep this organization operating and to be able to complete our research and development projects.