Entity‐Relationship Diagram - SENG-350-2024-fall/Team-1 GitHub Wiki
This ERD represents a comprehensive healthcare system focusing on patient care, professional roles, and hospital management. Here's a breakdown of the entities and their relationships:
-
FirstResponder
- Attributes: Name, ID (key), Position, Location, OnCallStatus
-
OnlineNurse
- Attributes: Name, ID (key), Position, ShiftSchedule, Available
-
HealthcareProfessional
- Attributes: Specialization, ShiftSchedule, OnCallStatus, Username, Password
-
Patient
- Attributes: Name, PHN (key), HealthCareCardNumber, Location, Gender, Birthdate, Occupation, HealthRecords, queuePosition
-
SystemAdmin
- Attributes: Name, ID (key), Position, Schedule
-
Symptom (weak entity)
- Attributes: Symptom_Info
-
Hospital
- Attributes: Name, ID (key), Location, EstimatedWaitTime, PhoneNumber, Capacity
-
TriageReport (weak entity)
- Attributes: ReportID (key), ReportContent, DateCreated
-
exhibitsSymptoms:
- Between Patient (1) and Symptom (N)
-
provideTechSupport:
- Between SystemAdmin (1) and Patient, OnlineNurse, HealthcareProfessional, FirstResponder (N)
- Attribute: supportTicket
-
createsTriageReport:
- Between OnlineNurse (1) and TriageReport (N)
- Also involves Patient (1)
-
treatsPatient:
- Between HealthcareProfessional (N) and Patient (N)
-
triagesPatient:
- Between OnlineNurse (1) and Patient (N)
- Attribute: recommendation
-
assistsPatient:
- Between FirstResponder (N) and Patient (N)
-
employedAt:
- Between Hospital (1) and HealthcareProfessional, OnlineNurse, FirstResponder, SystemAdmin (N)
- The system revolves around the Patient entity, which is central to most relationships.
- Healthcare professionals are categorized into distinct roles: FirstResponder, OnlineNurse, and HealthcareProfessional, each with specific responsibilities.
- The SystemAdmin provides technical support to all user types.
- The Hospital entity represents the physical location where most healthcare activities occur.
- Triage reports and symptoms are treated as weak entities, likely dependent on the Patient entity for their existence.
- The system accounts for both in-person (treatsPatient, assistsPatient) and remote (triagesPatient) patient care.
@startchen
entity FirstResponder {
Name
ID <<key>>
Position
Location
OnCallStatus
}
entity OnlineNurse {
Name
ID <<key>>
Position
ShiftSchedule
Available
}
entity HealthcareProfessional {
Specialization
ShiftSchedule
OnCallStatus
Username
Password
}
entity Patient {
Name
PHN <<key>>
HealthCareCardNumber
Location
Gender
Birthdate
Occupation
HealthRecords
queuePosition
}
entity SystemAdmin {
Name
ID <<key>>
Position
Schedule
}
entity Symptom <<weak>> {
Symptom_Info
}
entity Hospital {
Name
ID <<key>>
Location
EstimatedWaitTime
PhoneNumber
Capacity
}
entity TriageReport <<weak>> {
ReportID <<key>>
ReportContent
DateCreated
}
relationship exhibitsSymptoms {
}
relationship provideTechSupport {
supportTicket
}
relationship createsTriageReport {
}
relationship treatsPatient {
}
relationship triagesPatient {
recommendation
}
relationship assistsPatient {
}
relationship employedAt {
}
Patient -1- exhibitsSymptoms
exhibitsSymptoms -N- Symptom
OnlineNurse -1- createsTriageReport
createsTriageReport -N- TriageReport
Patient -1- createsTriageReport
HealthcareProfessional -N- treatsPatient
treatsPatient -N- Patient
OnlineNurse -1- triagesPatient
triagesPatient -N- Patient
FirstResponder -N- assistsPatient
assistsPatient -N- Patient
HealthcareProfessional -N- employedAt
OnlineNurse -N- employedAt
FirstResponder -N- employedAt
SystemAdmin -N- employedAt
employedAt -1- Hospital
SystemAdmin -1- provideTechSupport
provideTechSupport -N- Patient
provideTechSupport -N- OnlineNurse
provideTechSupport -N- HealthcareProfessional
provideTechSupport -N- FirstResponder
@endchen