Skip to content

Project Milestone 2

ashleymcpherson edited this page Oct 20, 2024 · 22 revisions

Milestone Summary

Useful Terms

Virtual Triage The application which allows nurses to assign priority the registered patients and place them in a priority queue, to be notified when the emergency department is ready to serve them.
VTTicket The ticket created when a patient enters the triaging service. Includes relevant personal information and affliction so that nurses can triage them accurately.
VTQueue The queue in which VTTickets are stored, and nurses pull out of to assign priority and as a consequence triage.
MedicalTicket The object a VTTicket turns into after it's been triaged and assigned a priority by the nurse.
MedicalQueue The queue in which MedicalTickets are stored, and doctors pull out of to treat.

Class Diagram

image

  • A patient includes their personal info. They can register, login, logout, and enter the triage. They create VTTickets, and can be associated with MedicalTickets
  • An Admin manages doctor and nurse accounts. They login and logout, and edit medical accounts.
  • A Doctor account is created by an Admin. They can address MedicalTickets.
  • VTTickets are created when a Patient enters the triage, and belong to VTQueue.
  • EmergencyDepartment represents a hospital, and has it's own MTQueue.
  • MedicalTickets are triaged VTTickets, have a priorty and belong to an MTQueue. The priority of each ticket is updated every 30 mins.

Collaboration Diagram

image The patient logs into their account, which is validated against the database. The form is then switched to a register form, where the patient enters their health info, which is then validated. This creates a VTTicket, which is added to the VTQueue. That VTTicket is now triaged by a nurse, who adds a priority, which gives it a position in the MTQueue. Every 30 mins, the priority of each ticket in the queue is incremented and resorted, until a doctor treats the tickets.

Sequence Diagrams

Nurse adds priority to VTTicket

image A nurse accesses the VTQueue, and is served the first ticket in the queue. The nurse then assesses the ticket, assigns it a priority, which turns it into a MedicalTicket, which gets added and sorted into the MedicalQueue. Every 30 mins, the priority of each MedicalTicket in the queue is updated to reflect the passing of time of each injury.

Patient enters the virtual triage

image The patient enters their info into a form. If their affliction is serious and time sensitive, they are given a notification to get off the application and call 911 immediately. If not, they are added to VTQueue, waiting for a nurse to triage them. If there is a duplicate entry, the entry is rejected.

Patient appointment

image When a doctor picks up a ticket, the patient is notified that the department is ready for them.

Patient register

image The patient enters their personal info. If any of it is invalid, then they are served an error. If not, this info is added to the database. If there is a duplicate person, then the registration is rejected. If not, the patient is logged in and directed to the landing page.

User Login

All users—patients, doctors, nurses, and administrators—can log in to their Mr ED account using their email (as the username) and password. After entering the credentials, the login request is sent to the authentication server, which then retrieves the user information from the database. If the credentials are valid, the user is successfully logged in and the landing page is displayed. If the credentials are invalid, an error message is shown to the user.

Activity Diagram

The activity diagram displays the process of a patient opening the Mr ED webpage with the intention of seeing an emergency doctor. The patient is first prompted with the question: "Do you have an account?". If the patient does, then they are directed to login and otherwise, they must register an account before proceeding. Next, the patient will be given a virtual triage form to fill. After completing the form, the nurse will review the patient's symptoms and either notify them that they do not need to visit the ER or give their triage a priority, turning it into a medical ticket. This ticket is then inserted into the medical queue in front of all the medical tickets with lower priority. The doctor will then take the medical ticket off the queue when it reaches the front of the line.

State Machine Diagrams

Medical Ticket Queue

image MTQueue is created empty. When a MedicalTicket is added, it's added in it's proper position, so the queue is sorted. When any more tickets are added, or a doctor treats a ticket, the queue is still sorted. When ticket priorities are updated, the queue is unsorted and must be sorted again, transitioning to unsorted, and then quickly back. If for any reason the queue is reset, it returns to the empty state.

Data Flow Diagrams

Entity Relationship Diagram

Component Diagram

Deployment Diagram

Implementation

Contributions

Clone this wiki locally