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
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
|
@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, "accounts") {
primary_key(id)
name
address
birth_date
phone_number
pager_number
created_at
updated_at
}
Table(beds, "beds") {
primary_key(id)
bed_number
room_number
foreign_key(care_centre_id)
foreign_key(patient_id)
created_at
updated_at
}
Table(care_centres, "care_centres") {
primary_key(id)
foreign_key(nurse_id)
name
location
created_at
updated_at
}
Table(consumptions, "consumptions") {
primary_key(id)
foreign_key(patient_id)
foreign_key(item_id)
consumed_at
quantity
total_cost
created_at
updated_at
}
Table(items, "items") {
primary_key(id)
sku
description
unit_cost
created_at
updated_at
}
Table(laboratories, "laboratories") {
primary_key(id)
name
location
created_at
updated_at
}
Table(patients, "patients") {
primary_key(id)
foreign_key(account_id)
foreign_key(physician_id)
foreign_key(referring_physician_id)
contacted_at : datetime
created_at
updated_at
}
Table(shifts, "shifts") {
primary_key(id)
foreign_key(care_centre_id)
foreign_key(employee_id)
started_at
ended_at
created_at
updated_at
}
Table(staff, "staff") {
primary_key(id)
foreign_key(account_id)
foreign_key(laboratory_id)
type
hired_at
qualifications
created_at
updated_at
}
Table(treatments, "treatments") {
primary_key(id)
foreign_key(patient_id)
name
number
occurred_at
results
created_at
updated_at
}
Table(visits, "visits") {
primary_key(id)
foreign_key(patient_id)
scheduled_at
comments
created_at
updated_at
}
Table(volunteers, "volunteers") {
primary_key(id)
foreign_key(account_id)
skill
created_at
updated_at
}
beds --> care_centres : "belongs to"
beds --> patients : "belongs to"
consumptions --> patients : "belongs to"
consumptions --> items : "belongs to"
consumptions --> staff : "belongs to"
patients --> accounts : "belongs to"
patients --> staff : "belongs to"
volunteers --> accounts : "belongs to"
shifts --> care_centres : "belongs to"
shifts --> staff : "belongs to"
staff --> accounts : "belongs to"
staff --> laboratories : "belongs to"
treatments --> staff : "belongs to"
treatments --> patients : "belongs to"
visits --> patients : "belongs to"
@enduml
|