-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate_tables.sql
More file actions
55 lines (49 loc) · 1.64 KB
/
create_tables.sql
File metadata and controls
55 lines (49 loc) · 1.64 KB
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
CREATE DATABASE IF NOT EXISTS SysmexReferralsDB;
USE SysmexReferralsDB;
CREATE TABLE IF NOT EXISTS Patient (
NHI VARCHAR(10) PRIMARY KEY,
Name VARCHAR(100) NOT NULL,
DOB DATE
);
CREATE TABLE IF NOT EXISTS Department (
DepartmentID INT AUTO_INCREMENT PRIMARY KEY,
Name VARCHAR(100) NOT NULL UNIQUE
);
CREATE TABLE IF NOT EXISTS Worker (
WorkerID INT AUTO_INCREMENT PRIMARY KEY,
FullName VARCHAR(100) NOT NULL,
Role ENUM('Surgeon', 'Referrer', 'Other') NOT NULL
);
CREATE TABLE IF NOT EXISTS WorkerAvailability (
AvailabilityID INT AUTO_INCREMENT PRIMARY KEY,
WorkerID INT NOT NULL,
StartDT DATETIME NOT NULL,
EndDT DATETIME NOT NULL,
FOREIGN KEY (WorkerID) REFERENCES Worker(WorkerID)
);
CREATE TABLE IF NOT EXISTS Referral (
ReferralID INT AUTO_INCREMENT PRIMARY KEY,
NHI VARCHAR(10) NOT NULL,
ReferralDate DATE,
DepartmentID INT,
ReferrerID INT,
SurgeonID INT,
AddedToWaitlistDate DATE,
FsaDate DATE,
HealthTargetEligible BOOLEAN,
FOREIGN KEY (NHI) REFERENCES Patient(NHI),
FOREIGN KEY (DepartmentID) REFERENCES Department(DepartmentID),
FOREIGN KEY (ReferrerID) REFERENCES Worker(WorkerID),
FOREIGN KEY (SurgeonID) REFERENCES Worker(WorkerID)
);
CREATE TABLE IF NOT EXISTS Contact (
ContactID INT AUTO_INCREMENT PRIMARY KEY,
ReferralID INT NOT NULL,
WorkerID INT NULL,
ContactDate DATETIME,
ActionTaken VARCHAR(255) NOT NULL,
FollowUpContactID INT NULL,
FOREIGN KEY (ReferralID) REFERENCES Referral(ReferralID),
FOREIGN KEY (WorkerID) REFERENCES Worker(WorkerID),
FOREIGN KEY (FollowUpContactID) REFERENCES Contact(ContactID)
);