Data Flow Models - SENG-350-2024-fall/Team-1 GitHub Wiki
Below are the Data Flow Diagrams (DFDs) for the MisterED system. The DFDs illustrate how each of our five actors interacts with the system in varying levels of detail, including processes and subprocesses, external actors or entities, databases, and data flows. To view and interact with these diagrams in more detail please visit the corresponding Lucidchart links included with each textual description.
For all of these Data Flow Models there are five actors included that encompass the broad user base. These diagrams will illustrate how the actors will engage with the MisterED system. The actors are as follows:
Patients (Users)
These are general users who can submit symptoms to undergo a virtual triage, view ED wait times and statuses, and manage their profile through the MisterED system.
Online Healthcare Professionals (Online Nurses)
These are Online Nurses can interact with the system by receiving patient symptoms and performing their virtual triage, retrieving relevant patient information, providing patients with follow-up treatment directions, placing patients in an ED queue, and escalating patients to a First Responder should they require further medical assistance.
First Responders/EMS
The First Responders can interact with the system by receiving patient cases whose priority has been escalated. They are able to view the triage report and relevant patient information before they arrive, and obtain the patient's GPS location. As they treat the patient they can determine which ED to take them to and update the triage report with more accurate data.
ED Doctors & Nurses
Health Professionals that work in the ED are typically Doctors and Nurses. They can use the system to receive a patient's triage report and their medical information before they arrive to the ED. They also manage the in-person ED and they are responsible for manually updating the ED queue when someone walks into the ED or when they treat a patient. After treatment they can use MisterED to update the patient's medical records for future reference.
System Administrators
Administrators will handle duties related to both the system and its data, and also the IT support. They are responsible for implementing server updates at predictable downtimes, backing up secure data and information, and ensuring that all medical records being edited are legitimate updates. They can also view IT support tickets created by users and employees, and assist any issues people experience with their accounts or the overall system.
Context-Flow Data Flow Diagram
You can view an interactive version of the Context-Flow DFD at the following link: Lucidchart Context-Flow DFD
The Context-Flow DFD provides a high-level view of the MisterED system, showing how the primary actors interact with the system without diving into detailed processes. The focus of the Context-Flow DFD is to illustrate the main data inputs and outputs of each user to the system so that further iterations can be more intuitive.
Level 0 Data Flow Diagram
You can view an interactive version of the Level 0 DFD at the following link: Lucidchart Level 0 DFD
The Level 0 DFD delves into the system's core processes, showing the flow of data within each major component of the system. We have broken the system's operations down into five major processes:
1.0 - User Authentication & Account Management
This process encompasses the MFA login process for users and staff. Users will also be prompted to login/register with their BC Service Card. Here they will also be able to create and manage their profile information.
2.0 - Virtual Patient Triage Management
This process illustrates how patients can receive virtual triage. They will be prompted to input their symptoms, which will be sent to the Online Nurse alongside their medical information attached to their profile via the BC Service Card. Patients will receive a triage report accompanied by follow-up treatment directions as the Online Nurse places them into the appropriate ED queue. The system will deliver a notification to the patient when they have reached the front of the ED queue and it is their turn. If necessary, the Online Nurse can escalate the patient's case to the First Responder, who can use the MisterED system to view the triage report and medical information, patient GPS location, and nearby ED information ahead of time.
3.0 - ED & Queue Information
This process is responsible for maintaining both the ED queue and the information of the ED such as the current wait time / queue length and the location. Users, Online Nurses, and First Responders will be able to request the wait time and location of a given ED. Patients can view their position in the ED queue, and the Online Nurse can place a patient in the queue after completing their triage according to the severity of their report results. Doctors and Nurses on-site can update the ED queue when either a patient walks into the ED or they remove a patient from the queue for treatment.
4.0 - Patient Treatment
This process involves the treatment of patients in the ED and by First Responders. The system will provide the patient's medical information and the most recent triage report. The First Responders can update the triage report with more accurate findings once they assess and begin to treat the patient en-route to the ED. Doctors and Nurses at the ED can view the most recent triage report before attending to a patient, and after the physical treatment they can submit the new medical records to the system, or submit a prior record modification for approval by a System Administrator.
5.0 - System Maintenance
This process ensures that both the system and all important data is secured and taken care of. System Administrators can perform regular system updates and data backups during common downtimes. They can also provide IT Support and respond to tickets opened by users and employees, generally related to accounts or front-facing issues within the system. They can conduct audits to ensure that there is no breach of privacy or elevation of privilege taking place, and can also ensure that important data is securely encrypted and cannot be accessed by unauthorized users.
We can also discuss the databases utilized in the Data Flow Diagrams, shown both in the Level 0 model above and the Level 1 model below. There are five different databases that send, hold, and receive data to and from the different processes. The databases and their inputs/outputs are as follows:
BC Service Card Database
Users will be prompted to register/login with their BC Service Card via the mobile app or on their device. Verified users will then be logged in to their existing BC Service Card profile, which contains their existing health records, such as allergies and medications, operations, and immunizations. After patients have undergone a physical treatment and health records are added or updated (via the Medical Records Database), the records will be periodically synchronized to the BC Service Card Database.
Patient Personal Database
Once a user is successfully logged in, the Patient Personal Database will be used to store their personal information, their account data, and their device GPS location. Personal information can contain fields such as the user's address, preferred name, phone number, and emergency contact. Account data can contain fields such as the user's email, phone number, and their name on file. The user's device GPS location can be used when fetching nearby ED locations and wait times, as well as providing the First Responders with their location should they require physical assistance.
ED Information Database
This database contains information about the Emergency Departments, specifically their location, and their current queue. Patients and Employees alike can view the location of a selected ED, as well as the current wait times which are based off the total length of the queue for a given ED. Patients who have been placed in the queue as a result of their virtual triage will also be able to view their respective wait time based on their position in the queue.
Medical Records Database
This is the primary repository for all patient medical records and treatment history. New medical records are created after every treatment and submitted to this database by the Doctors and Nurses, and existing records can be modified with updated information. These records are also synchronized with the BC Service Card database for other parties that use it to see.
Server/System Database
This database contains the administrative and system-related data. It supports system maintenance logs, data security audits, the encryption of sensitive data, and also supports routine data backups and server updates that are pushed in a controlled manner by an Administrator. User-reported issues can also be stored here once the Administrator has handled them.
Level 1 Data Flow Diagram
You can view an interactive version of the Level 1 DFD at the following link: Lucidchart Level 1 DFD
The Level 1 Data Flow Diagram for the MisterED system expands on the core processes from the Level 0 DFD, breaking them down into more detailed subprocesses and illustrating how data flows from the databases and actors to the subprocesses, and between the subprocesses themselves.
The Level 1 DFD breaks each of the five major processes seen in the Level 0 DFD into several subprocesses:
1.0 - User Authentication & Account Management
- 1.1 - Register Patient Account
This subprocess allows patients to create or register a new account within the MisterED system with their existing BC Service Card information. The patient will sign into their BC Service Card account which will provide the system with synchronized medical records. They can also provide any additional personal information (address, phone number, etc.) to be added to their profile. Upon successful registration, the system confirms the patient's account creation and stores their details in the Patient Personal Database.
- 1.2 - Patient Login
This subprocess manages user authentication by using the BC Service Card application on their device as the verification step. The patient will select to login with their BC Service Card account and get redirected to login in the 3rd party application. Upon successful login they will be redirected back to the MisterED application and their personal profile data is retrieved from the Patient Personal Database, landing them on the logged-in dashboard.
- 1.3 - Update Patient Profile
This subprocess allows patients to update their personal information. The patient submits the updated profile fields (address, phone number, etc.), which is sent to the Patient Profile Database. The system will confirm the profile updates and store the changes in the Patient Personal Database, then display a success indicator once the database has saved the changes.
- 1.4 - Submit Symptoms for Triage
This subprocess allows patients to input their symptoms for virtual triage. The patient will select Undergo Virtual Triage and be prompted to input their symptoms. The symptom data is submitted by the patient and then outputted for the Online Nurse to evaluate.
2.0 - Virtual Patient Triage Management
- 2.1 - Employee MFA Login
This subprocess handles employee login using authorized devices as the source for the MFA login, ensuring only authorized staff will be able to utilize the MisterED staff features. Staff will submit their credentials, which are verified within the System Database, and then receive a MFA push notification. Upon successful authentication staff are granted access to the MisterED system and land on their dashboard.
- 2.2 - Virtual Patient Triage
This subprocess enables the Online Nurses to evaluate patient symptoms and generate a triage report. If there are life-threatening or critically severe symptoms detected by the system the triage evaluation will be escalated to the Online Nurse for immediate attention. The symptom data from the patient input and their personal medical records will be provided for this subprocess, and the resulting output is a triage report generated by the Online Nurse. This triage report will be provided to the patient along with follow-up treatment directions given by the Online Nurse, and the triage report will be sent along to the next subprocess. From the results of the triage process the Online Nurse will place the patient in an ED queue as well.
- 2.3 - Update Triage Report
This subprocess allows employees to update a patient's triage report at different stages of the triage/treatment processes. Triage reports may change based on new medical information, a change in the patient's condition, or if a more accurate evaluation is conducted. An updated triage report will also require the employee that submits the report to update the patient's position in the ED queue. The new patient triage report will replace the current one and be labelled as the most recent report, while older reports will be stored for data thoroughness. Triage reports will be included in the medical records that are submitted after the patient receives treatment.
- 2.4 - Alert First Responder
If the Online Nurse determines that the patient's symptoms are severe enough that they require assistance or immediate medical attention, the Online Nurse can escalate the patient's case to the care of the First Responders. The First Responder will be notified that there is a patient requiring medical attention and be provided their triage report and their GPS location. During the First Responder assessment they can also provide an updated triage report with a more accurate evaluation, and they will also indicate to a given ED that they are bringing in a high-priority patient.
3.0 - ED & Queue Information
- 3.1 - ED Information
This subprocess allows users and employees alike to view the information of the selected ED. This includes the ED location and the current ED wait time. The wait time is calculated given the current length of the queue for that ED, and if a patient is currently in the queue they will be able to view their estimated wait time given their queue position.
- 3.2 - ED Queue Management
This subprocess allows the employee when updating a triage report to place the patient in an ED queue given their report results. Doctors and Nurses in the ED are able to add walk-in patients to the ED based on their triage (see subprocess 4.1). Doctors and Nurses are also able to remove patients from a queue manually when they begin to treat them. ED wait times will be updated when the queue is updated. Patients who have been placed in a queue are also able to remove themselves from the queue as long as their symptoms have not been flagged as severe.
- 3.3 - Visit ED Notification
This subprocess notifies the patient when they have reached the front five positions of the ED queue. This intakes the ED queues and then sends the patient a push notification.
4.0 - Patient Treatment
- 4.1 - Walk-In Patient Triage
This subprocess allows Doctors and Nurses to triage patients who have walked into the ED without using the MisterED virtual triage beforehand. Their triage report will be generated and they will be added to the ED queue of the ED they have visited.
- 4.2 - Patient Treatment
This subprocess covers the physical patient treatment process that takes place once it is their turn at the ED. The Doctor or Nurse that assigns the patient to themselves and then removes them from the ED queue. They can use the patient medical information and triage report to help with their diagnosis and treatment.
- 4.3 - Update Medical Records
This subprocess typically happens after a Doctor or Nurse has finished treating a patient. Once the treatment is finished the Doctor will be responsible for submitting the updated medical records for record keeping and informative purposes. Doctors will also be able to modify existing records with this subprocess but an existing record edit will require an Administrator approval to ensure that any change to patient medical records is necessary and accurate.
- 4.4 - First Responder go to Patient Location
This subprocess takes place after the Online Nurse has alerted the First Responder of a patient requiring immediate medical attention. The First Responder will be able to view the patient's GPS location and indicate that they are responding to the patient. Once they have reached the patient they can begin administering field treatment until they have transported the patient to the appropriate ED.
5.0 - System Maintenance
- 5.1 - System Update
This subprocess allows a System Administrator to provide the system with new updates. The system updates should only be pushed and implemented during regular low-load times to minimize system unavailability and ensure that there are enough system resources to support a small load of users while updating. The system updates can include system changes, IT patches, or regularly scheduled maintenance/updates.
- 5.2 - Data Backup
This subprocess occurs on a regular basis when an Administrator begins the task of backing up new data acquired by the system to the System Database. This can include logging IT Support tickets, backing up any modified data, or storing versions of the application and its updates.
- 5.3 - IT Support
This subprocess allows users and employees to open IT Support tickets for any issues they are encountering with the MisterED application. They will write a description, along with the steps they took to replicate the issue or any supporting documentation they may be able to provide. The System Administrator can then assign themselves the ticket, contact the user/employee that opened the ticket to discuss it further, and implement a system fix should it be necessary for the solution. Once a ticket has been completed the Administrator can close it and log the IT Support ticket for record-keeping and previous system version purposes.