@startuml !define Table(name,desc) class name as "desc" << (T,#FFAAAA) >> !define primary_key(x) x !define foreign_key(x) x 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