1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
|
@startuml
!define Table(name,desc) class name as "desc" << (T,#FFAAAA) >>
!define primary_key(x) <b>x</b>
!define foreign_key(x) <color:purple>x</color>
hide methods
hide stereotypes
' entities
Table(accounts, "Account") {
primary_key(id)
name
address
birth_date
phone_number
pager_number
}
Table(beds, "Bed") {
primary_key(id)
foreign_key(care_centre_id)
foreign_key(patient_id)
bed_number
room_number
}
Table(care_centres, "CareCentre") {
primary_key(id)
foreign_key(nurse_id)
name
location
}
Table(consumptions, "Consumption") {
primary_key(id)
foreign_key(patient_id)
foreign_key(item_id)
consumed_at
quantity
total_cost
}
Table(items, "Item") {
primary_key(id)
sku
description
unit_cost
}
Table(laboratories, "Laboratory") {
primary_key(id)
name
location
}
Table(patients, "Patient") {
primary_key(id)
foreign_key(account_id)
foreign_key(physician_id)
foreign_key(referring_physician_id)
type
contacted_at
}
Table(hours_worked, "HoursWorked") {
primary_key(id)
foreign_key(care_centre_id)
foreign_key(employee_id)
started_at
ended_at
}
Table(staff, "Staff") {
primary_key(id)
foreign_key(account_id)
foreign_key(laboratory_id)
type
hired_at
}
Table(treatments, "Treatment") {
primary_key(id)
foreign_key(patient_id)
foreign_key(physician_id)
name
number
occurred_at
results
}
Table(qualifications, "Qualification") {
primary_key(id)
foreign_key(staff_id)
name
}
Table(visits, "Visit") {
primary_key(id)
foreign_key(patient_id)
scheduled_at
comments
}
beds --> care_centres
beds --> patients
consumptions --> items
consumptions --> patients
consumptions --> staff
hours_worked --> care_centres
hours_worked --> staff
patients --> accounts
patients --> staff
qualifications --> staff
staff --> accounts
staff --> laboratories
treatments --> patients
treatments --> staff
visits --> patients
@enduml
|