Deployment Diagram - SENG-350-2024-fall/Team-1 GitHub Wiki
MrED Deployment Diagram
This deployment diagram represents a healthcare system architecture, focusing on ED management. The system is composed of three main nodes: Hospital Systems, a Central Server, and User Devices, with an additional cloud component for the BC Public Health DB.
Cloud Component: BC Public Health DB
This cloud-based database contains:
- Provincial Health Number (PHN)
- Patient Records
- API for data access
It has a secure connection for data exchange with the Hospital Systems and a secure connection with the Central Server.
Main Nodes
1. Hospital Systems
This node represents the on-premises hospital infrastructure:
- Components:
- Hospital Staff
- Online Nurse
- Hospital Workstations
- Database (Hospital Database):
- Patient Records
- Staff Records
- ED Waiting List
2. Central Server
This node acts as the core of the system:
- Components:
- System Admin
- Database (Central Database):
- Load Balancer
- Health Records
- User Data
The Central Server has an internal network connection to the Hospital Systems.
3. User Devices
This node represents various user interfaces:
Mobile App:
- GPS Location
- Symptom Checker
- Wait Time Check
Web App:
- Symptom Checker
- Wait Time Check
Shared Components (Mobile and Web):
- Patient Login
- Staff Login
- Provide Recommendation
- Call
- Chat
User Devices connect to the Central Server via a secure external connection.
Overview:
-
User Authentication:
- Patient and Staff logins authenticate against the Central Database
-
Symptom Checking:
- Both mobile and web symptom checkers query the Central Database
-
Wait Time Checking:
- Mobile and web wait time checkers access the ED Waiting List in the Hospital Database
-
Recommendations:
- The recommendation component fetches data from the Central Database
-
Communication with Online Nurse:
- Call and Chat components connect to the Online Nurse in the Hospital Systems
-
Data Exchange:
- Secure data exchange occurs between the Hospital Systems and the BC Public Health DB
Diagram
@startuml deployment-MrED
'cloud components'
cloud "BC Public Health DB" as publicDB {
component "Provincial Health Number" as PHN
component "Patient Records" as publicRecords
component "API" as api
}
'main nodes'
node "Hospital Systems" as systems {
component "Hospital Staff" as staff
component "Online Nurse" as onlineNurse
component "Hospital Workstations" as workstations
database "Hospital Database" as DB {
[Patient Records] as records
[Staff Records] as staffRecords
[ED Waiting List] as EDList
}
}
node "Central Server" as server {
component "System Admin" as sysadmin
database "Central Database" as centralDB {
[Load Balancer] as balancer
[Health Records] as healthRecords
[User Data] as userData
}
}
node "User Devices" as devices {
node "Mobile App" as mobileApp {
[GPS Location] as mobileGPS
[Symptom Checker] as mobileSymptomChecker
[Wait Time Check] as mobileWaitTime
}
node "Web App" as webApp {
[Symptom Checker] as webSymptomChecker
[Wait Time Check] as webWaitTime
}
'Shared components between Mobile and Web Apps'
'GPS Location is only guaranteed on mobile devices'
component "Patient Login" as userLogin
component "Staff Login" as staffLogin
component "Provide Recommendation" as recommendation
component "Call" as call
component "Chat" as chat
}
'Define relationships'
devices --> server : Secure External Connection
server --> systems : Internal Network
server --> publicDB : Secure API Connection
systems --> publicDB : Secure Data Exchange
userLogin --> centralDB : Authenticate
staffLogin --> centralDB : Authenticate
mobileSymptomChecker --> centralDB : Query
webSymptomChecker --> centralDB : Query
recommendation --> centralDB : Fetch Data
mobileWaitTime --> EDList : Check
webWaitTime --> EDList : Check
call --> onlineNurse : Connect
chat --> onlineNurse : Message
@enduml