Advertisement
Trickysticks

SQL HW

Dec 3rd, 2018
194
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.32 KB | None | 0 0
  1. DROP DATABASE clinic;
  2.  
  3. CREATE DATABASE clinic;
  4.  
  5. USE clinic;
  6.  
  7. CREATE TABLE InsurancePolicy (
  8. company VARCHAR(25),
  9. policyNo INT(6),
  10. insuredName VARCHAR(25),
  11. policyType VARCHAR(10),
  12. medicalCopay INT(3),
  13. labCopay INT(3),
  14. pharmacyCopay INT(3),
  15. startDate DATE,
  16. endingDate DATE,
  17. PRIMARY KEY (company, policyNo));
  18.  
  19. CREATE TABLE Patient (
  20. patientNo INT(6),
  21. patientName VARCHAR(25),
  22. address VARCHAR(50),
  23. phone VARCHAR(10),
  24. dateOfBirth DATE,
  25. sex CHAR(1),
  26. insuranceCo VARCHAR(25),
  27. policyNo INT(6),
  28. relationshipToInsured VARCHAR(10),
  29. PRIMARY KEY (patientNo),
  30. FOREIGN KEY (insuranceCo, policyNo) REFERENCES InsurancePolicy(company, policyNo));
  31.  
  32. CREATE TABLE Staff (
  33. staffNo INT(6),
  34. staffName VARCHAR(25),
  35. title VARCHAR(15),
  36. specialty VARCHAR(15),
  37. address VARCHAR(50),
  38. phone VARCHAR(10),
  39. PRIMARY KEY (staffNo));
  40.  
  41. CREATE TABLE Room (
  42. roomNo INT(2),
  43. roomType VARCHAR(15),
  44. roomCondition VARCHAR(10),
  45. PRIMARY KEY (roomNo));
  46.  
  47. CREATE TABLE Visit (
  48. visitNo INT(6),
  49. patientNo INT(6),
  50. visitDate DATE,
  51. visitTime VARCHAR(8),
  52. duration VARCHAR(10),
  53. reason VARCHAR(20),
  54. staffNo INT(6),
  55. roomNo INT(2),
  56. visitType VARCHAR(25),
  57. visitCost DECIMAL(6, 2),
  58. PRIMARY KEY (visitNo),
  59. FOREIGN KEY (patientNo) REFERENCES Patient(patientNo),
  60. FOREIGN KEY (staffNo) REFERENCES Staff(staffNo),
  61. FOREIGN KEY (roomNo) REFERENCES Room(roomNo));
  62.  
  63. CREATE TABLE Appointment (
  64. patientNo INT(6),
  65. apptDate DATE,
  66. apptTime VARCHAR(8),
  67. reason VARCHAR(50),
  68. staffNo INT(6),
  69. visitNo INT(6),
  70. PRIMARY KEY(patientNo, apptDate, apptTime),
  71. FOREIGN KEY(staffNo) REFERENCES Staff(staffNo),
  72. FOREIGN KEY(visitNo) REFERENCES Visit(visitNo));
  73.  
  74. CREATE TABLE Availability (
  75. staffNo INT(6),
  76. dateAvail date,
  77. startTime VARCHAR(8),
  78. endTime VARCHAR(8),
  79. PRIMARY KEY(staffNo, dateAvail),
  80. FOREIGN KEY(staffNo) REFERENCES Staff(staffNo));
  81.  
  82. CREATE TABLE DiagnosisMenu (
  83. diagCode INT(3),
  84. diagName VARCHAR(30),
  85. PRIMARY KEY(diagCode));
  86.  
  87. CREATE TABLE ProcedureMenu (
  88. procCode INT(3),
  89. procName VARCHAR(15),
  90. cost DECIMAL(7,2),
  91. PRIMARY KEY(procCode));
  92.  
  93.  
  94. CREATE TABLE PrescriptionScript (
  95. scriptNo INT(6),
  96. visitNo INT(6),
  97. dateWritten DATE,
  98. itemPrescribed VARCHAR(20),
  99. quanityPrescribed INT(3),
  100. directions VARCHAR(20),
  101. numberRefills INT(2),
  102. PRIMARY KEY(scriptNo),
  103. FOREIGN KEY(visitNo) REFERENCES Visit(visitNo));
  104.  
  105. CREATE TABLE LabTest (
  106. testNo INT(6),
  107. prescriptionNo INT(6),
  108. testType VARCHAR(20),
  109. testDate date,
  110. testTime VARCHAR(8),
  111. cost DECIMAL(6,2),
  112. result VARCHAR(20),
  113. PRIMARY KEY(testNo),
  114. FOREIGN KEY (prescriptionNo) REFERENCES PrescriptionScript(scriptNo));
  115.  
  116. CREATE TABLE PrescriptionMedication (
  117. RXNo INT(6),
  118. scriptNo INT(6),
  119. drugDispensed VARCHAR(20),
  120. dateDispensed DATE,
  121. quantityDispensed INT(3),
  122. refillsRemaining INT(2),
  123. cost DECIMAL(6,2),
  124. PRIMARY KEY(RXNo),
  125. FOREIGN KEY(scriptNo) REFERENCES PrescriptionScript(scriptNo));
  126.  
  127. CREATE TABLE ProcedurePerformed (
  128. visitNo INT(6),
  129. procCode INT(3),
  130. result VARCHAR(20),
  131. PRIMARY KEY(visitNo, procCode),
  132. FOREIGN KEY (visitNo) REFERENCES Visit(visitNo),
  133. FOREIGN KEY(procCode) REFERENCES ProcedureMenu(procCode));
  134.  
  135. CREATE TABLE Diagnosis (
  136. visitNo INT(6),
  137. diagCode INT(3),
  138. dateOnset DATE,
  139. symptoms VARCHAR(50),
  140. severity VARCHAR(10),
  141. prognosis VARCHAR(10),
  142. PRIMARY KEY(visitNo, diagCode),
  143. FOREIGN KEY (visitNo) REFERENCES Visit(visitNo),
  144. FOREIGN KEY(diagCode) REFERENCES DiagnosisMenu(diagCode));
  145.  
  146. CREATE TABLE Referral (
  147. refNo INT(6),
  148. visitNo INT(6),
  149. refTo VARCHAR(20),
  150. reason VARCHAR(50),
  151. PRIMARY KEY(refNo),
  152. FOREIGN KEY(visitNo) REFERENCES Visit(visitNo));
  153.  
  154. CREATE TABLE Bill (
  155. invoiceNo INT(6),
  156. patientNo INT(6),
  157. billDate DATE,
  158. totalAmount DECIMAL(7,2),
  159. dueDate DATE,
  160. amountPaid DECIMAL(7,2),
  161. PRIMARY KEY(invoiceNo),
  162. FOREIGN KEY(patientNo) REFERENCES Patient(patientNo));
  163.  
  164. CREATE TABLE Charge (
  165. invoiceNo INT(6),
  166. serviceType VARCHAR(25),
  167. serviceDate DATE,
  168. amountCharged DECIMAL(7,2),
  169. PRIMARY KEY(invoiceNo, serviceType, serviceDate));
  170.  
  171. CREATE TABLE Payment (
  172. invoiceNo INT(6),
  173. datePaid date,
  174. amount DECIMAL(7,2),
  175. patientPayer INT(6),
  176. insuranceCompany VARCHAR(25),
  177. policyNo INT(6),
  178. PRIMARY KEY(invoiceNo, datePaid),
  179. FOREIGN KEY(invoiceNo) REFERENCES Bill(invoiceNo),
  180. FOREIGN KEY(patientPayer) REFERENCES Patient(patientNo),
  181. FOREIGN KEY(insuranceCompany, policyNo) REFERENCES InsurancePolicy(company, policyNo));
  182.  
  183. -- Insert some records
  184.  
  185. INSERT INTO InsurancePolicy VALUES('GHI',123456,'Frances Hughes', 'PPO',15.00, 10.00, 15.00,'2015-01-01',null);
  186. INSERT INTO InsurancePolicy VALUES('Empire',234567,'Irene Jacobs', 'HMO',15.00, 10.00, 15.00,'2015-01-01',null);
  187. INSERT INTO InsurancePolicy VALUES('Government',345678,'Winston Lee', 'well care',0, 0, 0,'2015-01-01',null);
  188. INSERT INTO InsurancePolicy VALUES('Health One',456789,'Samantha Babson', 'PPO',10.00, 10.00, 15.00,'2015-01-01','2015-12-31');
  189.  
  190. INSERT INTO Patient VALUES(111111, 'Frances Hughes','10 Pacific Avenue,San Diego, CA, 92101-6666','6193216789','1990-01-15','F','GHI',123456,'self');
  191. INSERT INTO Patient VALUES(111112, 'Irene Jacobs','1 Windswept Place Chicago, IL 60601-5555','3121239876','1980-04-28','F','Empire',234567,'self');
  192. INSERT INTO Patient VALUES(111113, 'Winston Lee','22 Amazon Street, New York,NY, 10101','2127659876','1985-09-20','M','Government',345678, 'self');
  193. INSERT INTO Patient VALUES(111114, 'Samantha Babson','20 Liffey Avenue, Chicago, IL, 60601','3127654321','1988-03-15','F','Health One',456789,'self');
  194. INSERT INTO Patient VALUES(111115, 'Tara Hughes','10 Pacific Avenue,San Diego, CA, 92101-6666','6193216789','2015-01-30','F','GHI',123456,'child');
  195. INSERT INTO Patient VALUES(111116, 'Thomas Jacobs','1 Windswept Place, Chicago, IL 60601-5555','3121239876','2000-04-01','M','Empire',234567,'child');
  196. INSERT INTO Patient VALUES(111117, 'Valerie King','22 Amazon Street, New York,NY, 10101','2127659876','1985-03-18','F','Government',345678, 'spouse');
  197. INSERT INTO Patient VALUES(111118, 'James Babson','20 Liffey Avenue, Chicago, IL, 60601','3127654321','1985-02-16','M','Health One',456789,'spouse');
  198.  
  199. INSERT INTO Staff VALUES(123456,'John Smith','Dr.','surgery','10 Sapphire Row, New Rochelle, NY, 10801','9171233333');
  200. INSERT INTO Staff VALUES(987654,'Terrence DeSimone','Dr.','pediatrics','10 Emerald Lane, New York, NY, 10101','2127676767');
  201. INSERT INTO Staff VALUES(234567,'Tracy Williams','Dr.','surgery','25 Ruby Place, New York, NY, 10101','2121231234');
  202. INSERT INTO Staff VALUES(876543,'Brenda Davis','RN','family med','11 Pearl Street, New Rochelle, NY, 10801','9171231234');
  203. INSERT INTO Staff VALUES(345678,'Georgia Griffin','midwife','obstetrics','21 Garnet Street, New Rochelle, NY, 10801','9173334444');
  204.  
  205. INSERT INTO Room VALUES(1, 'examining', 'excellent');
  206. INSERT INTO Room VALUES(2, 'consultation', 'excellent');
  207. INSERT INTO Room VALUES(3, 'examining', 'excellent');
  208. INSERT INTO Room VALUES(4, 'operating', 'excellent');
  209. INSERT INTO Room VALUES(5, 'delivery', 'excellent');
  210. INSERT INTO Room VALUES(6, 'examining', 'good');
  211.  
  212.  
  213. INSERT INTO Visit VALUES(112233, 111111, '2015-05-15','10:30 AM', '15 min', 'URI', 123456, 1, 'office visit',75.00);
  214. INSERT INTO Visit VALUES(223344, 111112, '2015-05-15','10:45 AM', '15 min', 'backache', 123456, 1, 'office visit', 75.00);
  215. INSERT INTO Visit VALUES(334455, 111112, '2015-05-20','9:15 AM', '15 min', 'knee injury', 123456, 3, 'emergency visit', 100.00);
  216. INSERT INTO Visit VALUES(445566, 111117, '2015-05-20','9:15 AM', '15 min', 'prenatal checkup', 345678, 3, 'office visit', 75.00);
  217. INSERT INTO Visit VALUES(556677, 111115, '2015-05-21','9:15 AM', '15 min', 'MMP immunization', 876543, 2, 'office visit', 75.00);
  218. INSERT INTO Visit VALUES(667788, 111113, '2015-05-22','9:15 AM', '45 min', 'mole removal', 123456, 4,'surgical visit', 150.00);
  219.  
  220. INSERT INTO Appointment VALUES(111111, '2015-05-15','10:30 AM','fever', 123456,112233);
  221. INSERT INTO Appointment VALUES(111112, '2015-05-15','10:45 AM','back pain', 876543,223344);
  222. INSERT INTO Appointment VALUES(111113, '2015-05-22','9:15 AM','mole', 123456,667788);
  223. INSERT INTO Appointment VALUES(111115, '2015-05-21','9:15 AM','well baby care', 876543,556677);
  224. INSERT INTO Appointment VALUES(111117, '2015-05-20','9:15 AM','prenatal care', 345678,445566);
  225. INSERT INTO Appointment VALUES(111111, '2015-05-25','11:30 AM','checkup', 123456,null);
  226.  
  227. INSERT INTO Availability VALUES(123456, '2015-12-01', '9:00 AM','9:00 PM');
  228. INSERT INTO Availability VALUES(123456, '2015-12-02', '9:00 AM','6:00 PM');
  229. INSERT INTO Availability VALUES(123456, '2015-12-03', '12:00 PM','9:00 PM');
  230. INSERT INTO Availability VALUES(123456, '2015-12-04', '9:00 AM','9:00 PM');
  231. INSERT INTO Availability VALUES(123456, '2015-12-05', '9:00 AM','6:00 PM');
  232. INSERT INTO Availability VALUES(123456, '2015-12-06', '12:00 PM','6:00 PM');
  233. INSERT INTO Availability VALUES(123456, '2015-12-07', '9:00 AM','9:00 PM');
  234. INSERT INTO Availability VALUES(987654, '2015-12-01', '9:00 AM','6:00 PM');
  235. INSERT INTO Availability VALUES(987654, '2015-12-02', '9:00 AM','9:00 PM');
  236. INSERT INTO Availability VALUES(987654, '2015-12-03', '10:00 AM','6:00 PM');
  237. INSERT INTO Availability VALUES(987654, '2015-12-04', '9:00 AM','6:00 PM');
  238. INSERT INTO Availability VALUES(987654, '2015-12-05', '9:00 AM','9:00 PM');
  239. INSERT INTO Availability VALUES(987654, '2015-12-06', '10:00 AM','9:00 PM');
  240. INSERT INTO Availability VALUES(987654, '2015-12-07', '12:00 PM','9:00 PM');
  241.  
  242. INSERT INTO DiagnosisMenu VALUES(010,'torn meniscus');
  243. INSERT INTO DiagnosisMenu VALUES(011,'pregnancy-normal');
  244. INSERT INTO DiagnosisMenu VALUES(015,'upper resp infection');
  245. INSERT INTO DiagnosisMenu VALUES(029, 'immunization');
  246. INSERT INTO DiagnosisMenu VALUES(030, 'benign growth');
  247. INSERT INTO DiagnosisMenu VALUES(040, 'degenerative disk');
  248.  
  249. INSERT INTO ProcedureMenu VALUES(001, 'throat swabbing', 25.00);
  250. INSERT INTO ProcedureMenu VALUES(002, 'venipuncture', 15.00);
  251. INSERT INTO ProcedureMenu VALUES(003, 'mole excision', 125.00);
  252. INSERT INTO ProcedureMenu VALUES(004, 'wound cleaning', 25.00);
  253. INSERT INTO ProcedureMenu VALUES(005, 'normal delivery', 600.00);
  254.  
  255.  
  256. INSERT INTO PrescriptionScript VALUES(555551, 112233,'2015-05-15','amoxicillin',20,'twice daily',1);
  257. INSERT INTO PrescriptionScript VALUES(555552, 667788,'2015-05-22','tetracycline',5,'once daily',0);
  258. INSERT INTO PrescriptionScript VALUES(555553, 334455,'2015-05-20','Lipitor',60,'once daily',5);
  259. INSERT INTO PrescriptionScript VALUES(555554, 112233,'2015-05-15', 'strep throat culture',null, null, null);
  260. INSERT INTO PrescriptionScript VALUES(555555, 334455,'2015-05-20', 'complete blood count',null, null, null);
  261. INSERT INTO PrescriptionScript VALUES(555556, 223344,'2015-05-15', 'X-RAY-hip',null, null, null);
  262.  
  263. INSERT INTO LabTest VALUES(000001,555554,'strep throat culture','2015-05-15','11:30 AM',10.00,'positive');
  264. INSERT INTO LabTest VALUES(000002,555555,'complete blood count','2015-05-21','11:30 AM',15.00,'normal');
  265. INSERT INTO LabTest VALUES(000003,555556,'X-RAY-hip','2015-05-16','11:30 AM',200.00,'normal');
  266.  
  267. INSERT INTO PrescriptionMedication VALUES(111111, 555551, 'tetracycline', '2015-05-15', 10, 1,20.00);
  268. INSERT INTO PrescriptionMedication VALUES(111112, 555552, 'tetracycline', '2015-05-22', 5, 0,20.00);
  269. INSERT INTO PrescriptionMedication VALUES(111113, 555553, 'Lipitor', '2015-05-21', 100, 2,50.00);
  270.  
  271. INSERT INTO ProcedurePerformed VALUES(112233, 001,'positive');
  272. INSERT INTO ProcedurePerformed VALUES(667788, 003,'normal');
  273. INSERT INTO ProcedurePerformed VALUES(334455, 004,'normal');
  274.  
  275. INSERT INTO Diagnosis VALUES(112233, 015, '2015-05-12','sore throat, fever', 'severe','full recvy');
  276. INSERT INTO Diagnosis VALUES(223344, 040, '2015-01-15','pain, stiffness', 'severe','poor');
  277. INSERT INTO Diagnosis VALUES(334455, 010, '2015-05-19','pain, swelling', 'severe','guarded');
  278. INSERT INTO Diagnosis VALUES(445566, 011, '2015-12-20',null, null,'excellent');
  279. INSERT INTO Diagnosis VALUES(556677, 029, null,null, null,'excellent');
  280. INSERT INTO Diagnosis VALUES(667788, 030, '2015-04-20',null, null,'excellent');
  281.  
  282. INSERT INTO Referral VALUES (123321,334455, 'Surgical Center', 'knee surgery');
  283. INSERT INTO Referral VALUES (124421,223344, 'Ortho Center', 'physical therapy');
  284.  
  285. INSERT INTO Bill VALUES(123123,111111, '2015-06-01',160.00,'2015-07-01',0);
  286. INSERT INTO Bill VALUES(123124,111112, '2015-06-01',395.00,'2015-07-01',0);
  287. INSERT INTO Bill VALUES(123125,111113, '2015-06-01',207,'2015-07-01',0);
  288. INSERT INTO Bill VALUES(123127,111115, '2015-06-01',160.00,'2015-07-01',0);
  289. INSERT INTO Bill VALUES(123129,111117, '2015-06-01',160.00,'2015-07-01',0);
  290.  
  291. INSERT INTO Charge VALUES(123123, 'office visit', '2015-05-15',75.00);
  292. INSERT INTO Charge VALUES(123123, 'missed appt', '2015-05-25',50.00);
  293. INSERT INTO Charge VALUES(123123, 'amoxicillin', '2015-05-15',10.00);
  294. INSERT INTO Charge VALUES(123123, 'throat swabbing', '2015-05-25',25.00);
  295. INSERT INTO Charge VALUES(123123, 'strep throat culture', '2015-05-15',10.00);
  296. INSERT INTO Charge VALUES(123124,'office visit','2015-05-15',75.00);
  297. INSERT INTO Charge VALUES(123124, 'emergency visit','2015-05-20',100.00);
  298. INSERT INTO Charge VALUES(123124, 'X-RAY-hip','2015-05-15', 200.00);
  299. INSERT INTO Charge VALUES(123124, 'tetracycline', '2015-05-22',20.00);
  300.  
  301. INSERT INTO Payment VALUES(123123, '2015-06-05',60.00,null,'GHI',123456);
  302. INSERT INTO Payment VALUES(123123, '2015-06-30',100.00,111111,null, null);
  303. INSERT INTO Payment VALUES(123124, '2015-06-10',55.00, null, 'Empire', 234567);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement