| 1 | -- Drop all tables if they exist
|
|---|
| 2 | DROP TABLE IF EXISTS synergymed.branded_medicine_instanceof_medicine CASCADE;
|
|---|
| 3 | DROP TABLE IF EXISTS synergymed.allergicreaction_healthprofile_medicine CASCADE;
|
|---|
| 4 | DROP TABLE IF EXISTS synergymed.supplyorder_brandedmedicine CASCADE;
|
|---|
| 5 | DROP TABLE IF EXISTS synergymed.shoppingcart_brandedmedicine CASCADE;
|
|---|
| 6 | DROP TABLE IF EXISTS synergymed.pharmacy_catalog CASCADE;
|
|---|
| 7 | DROP TABLE IF EXISTS synergymed.patientorder_brandedmedicine CASCADE;
|
|---|
| 8 | DROP TABLE IF EXISTS synergymed.patientorder CASCADE;
|
|---|
| 9 | DROP TABLE IF EXISTS synergymed.inventory_brandedmedicine CASCADE;
|
|---|
| 10 | DROP TABLE IF EXISTS synergymed.healthprofile CASCADE;
|
|---|
| 11 | DROP TABLE IF EXISTS synergymed.distributor_brandedmedicine CASCADE;
|
|---|
| 12 | DROP TABLE IF EXISTS synergymed.contactinformation CASCADE;
|
|---|
| 13 | DROP TABLE IF EXISTS synergymed.clubcard CASCADE;
|
|---|
| 14 | DROP TABLE IF EXISTS synergymed.brandedmedicineimage CASCADE;
|
|---|
| 15 | DROP TABLE IF EXISTS synergymed.brandedmedicine CASCADE;
|
|---|
| 16 | DROP TABLE IF EXISTS synergymed.supplyorder CASCADE;
|
|---|
| 17 | DROP TABLE IF EXISTS synergymed.shoppingcart CASCADE;
|
|---|
| 18 | DROP TABLE IF EXISTS synergymed.sensitivepatientdata CASCADE;
|
|---|
| 19 | DROP TABLE IF EXISTS synergymed.prescription CASCADE;
|
|---|
| 20 | DROP TABLE IF EXISTS synergymed.pharmacy CASCADE;
|
|---|
| 21 | DROP TABLE IF EXISTS synergymed.pharmacist CASCADE;
|
|---|
| 22 | DROP TABLE IF EXISTS synergymed.payment CASCADE;
|
|---|
| 23 | DROP TABLE IF EXISTS synergymed.patient CASCADE;
|
|---|
| 24 | DROP TABLE IF EXISTS synergymed.medicineinteraction CASCADE;
|
|---|
| 25 | DROP TABLE IF EXISTS synergymed.manufacturer CASCADE;
|
|---|
| 26 | DROP TABLE IF EXISTS synergymed.inventory CASCADE;
|
|---|
| 27 | DROP TABLE IF EXISTS synergymed.facility CASCADE;
|
|---|
| 28 | DROP TABLE IF EXISTS synergymed.distributor CASCADE;
|
|---|
| 29 | DROP TABLE IF EXISTS synergymed.deliverycompany CASCADE;
|
|---|
| 30 | DROP TABLE IF EXISTS synergymed.admins CASCADE;
|
|---|
| 31 | DROP TABLE IF EXISTS synergymed.users CASCADE;
|
|---|
| 32 | DROP TABLE IF EXISTS synergymed.paymentmethod CASCADE;
|
|---|
| 33 | DROP TABLE IF EXISTS synergymed.medicine CASCADE;
|
|---|
| 34 | DROP TABLE IF EXISTS synergymed.company CASCADE;
|
|---|
| 35 |
|
|---|
| 36 | -- Create schema
|
|---|
| 37 | CREATE SCHEMA IF NOT EXISTS synergymed AUTHORIZATION postgres;
|
|---|
| 38 |
|
|---|
| 39 | -- Table: company
|
|---|
| 40 | CREATE TABLE synergymed.company (
|
|---|
| 41 | id INT4 NOT NULL,
|
|---|
| 42 | company_name VARCHAR(255) NOT NULL,
|
|---|
| 43 | description TEXT,
|
|---|
| 44 | registration_number VARCHAR(100) NOT NULL,
|
|---|
| 45 | CONSTRAINT company_pkey PRIMARY KEY (id),
|
|---|
| 46 | CONSTRAINT company_registration_number_key UNIQUE (registration_number)
|
|---|
| 47 | );
|
|---|
| 48 |
|
|---|
| 49 | -- Table: medicine
|
|---|
| 50 | CREATE TABLE synergymed.medicine (
|
|---|
| 51 | id INT4 NOT NULL,
|
|---|
| 52 | medicine_name VARCHAR(255) NOT NULL,
|
|---|
| 53 | active_ingredient VARCHAR(255) NOT NULL,
|
|---|
| 54 | CONSTRAINT medicine_pkey PRIMARY KEY (id)
|
|---|
| 55 | );
|
|---|
| 56 |
|
|---|
| 57 | -- Table: paymentmethod
|
|---|
| 58 | CREATE TABLE synergymed.paymentmethod (
|
|---|
| 59 | id INT4 NOT NULL,
|
|---|
| 60 | method_name VARCHAR(50) NOT NULL,
|
|---|
| 61 | CONSTRAINT paymentmethod_pkey PRIMARY KEY (id)
|
|---|
| 62 | );
|
|---|
| 63 |
|
|---|
| 64 | -- Table: users
|
|---|
| 65 | CREATE TABLE synergymed.users (
|
|---|
| 66 | id INT4 NOT NULL,
|
|---|
| 67 | first_name VARCHAR(100) NOT NULL,
|
|---|
| 68 | last_name VARCHAR(100) NOT NULL,
|
|---|
| 69 | username VARCHAR(100) NOT NULL,
|
|---|
| 70 | hashed_password VARCHAR(255) NOT NULL,
|
|---|
| 71 | e_mail VARCHAR(255) NOT NULL,
|
|---|
| 72 | gender VARCHAR(50),
|
|---|
| 73 | date_created DATE NOT NULL,
|
|---|
| 74 | CONSTRAINT users_pkey PRIMARY KEY (id),
|
|---|
| 75 | CONSTRAINT users_username_key UNIQUE (username),
|
|---|
| 76 | CONSTRAINT users_e_mail_key UNIQUE (e_mail)
|
|---|
| 77 | );
|
|---|
| 78 |
|
|---|
| 79 | -- Table: admins
|
|---|
| 80 | CREATE TABLE synergymed.admins (
|
|---|
| 81 | user_id INT4 NOT NULL,
|
|---|
| 82 | CONSTRAINT admin_pkey PRIMARY KEY (user_id),
|
|---|
| 83 | CONSTRAINT admin_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 84 | );
|
|---|
| 85 |
|
|---|
| 86 | -- Table: deliverycompany
|
|---|
| 87 | CREATE TABLE synergymed.deliverycompany (
|
|---|
| 88 | company_id INT4 NOT NULL,
|
|---|
| 89 | CONSTRAINT deliverycompany_pkey PRIMARY KEY (company_id),
|
|---|
| 90 | CONSTRAINT deliverycompany_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 91 | );
|
|---|
| 92 |
|
|---|
| 93 | -- Table: distributor
|
|---|
| 94 | CREATE TABLE synergymed.distributor (
|
|---|
| 95 | company_id INT4 NOT NULL,
|
|---|
| 96 | CONSTRAINT distributor_pkey PRIMARY KEY (company_id),
|
|---|
| 97 | CONSTRAINT distributor_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 98 | );
|
|---|
| 99 |
|
|---|
| 100 | -- Table: facility
|
|---|
| 101 | CREATE TABLE synergymed.facility (
|
|---|
| 102 | id INT4 NOT NULL,
|
|---|
| 103 | company_id INT4 NOT NULL,
|
|---|
| 104 | facility_name VARCHAR(150) NOT NULL,
|
|---|
| 105 | code VARCHAR(50) NOT NULL,
|
|---|
| 106 | CONSTRAINT facility_pkey PRIMARY KEY (id),
|
|---|
| 107 | CONSTRAINT facility_code_key UNIQUE (code),
|
|---|
| 108 | CONSTRAINT facility_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 109 | );
|
|---|
| 110 |
|
|---|
| 111 | -- Table: inventory
|
|---|
| 112 | CREATE TABLE synergymed.inventory (
|
|---|
| 113 | facility_id INT4 NOT NULL,
|
|---|
| 114 | CONSTRAINT inventory_pkey PRIMARY KEY (facility_id),
|
|---|
| 115 | CONSTRAINT inventory_facility_id_key UNIQUE (facility_id),
|
|---|
| 116 | CONSTRAINT inventory_facility_id_fkey FOREIGN KEY (facility_id) REFERENCES synergymed.facility(id)
|
|---|
| 117 | );
|
|---|
| 118 |
|
|---|
| 119 | -- Table: manufacturer
|
|---|
| 120 | CREATE TABLE synergymed.manufacturer (
|
|---|
| 121 | company_id INT4 NOT NULL,
|
|---|
| 122 | CONSTRAINT manufacturer_pkey PRIMARY KEY (company_id),
|
|---|
| 123 | CONSTRAINT manufacturer_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 124 | );
|
|---|
| 125 |
|
|---|
| 126 | -- Table: medicineinteraction
|
|---|
| 127 | CREATE TABLE synergymed.medicineinteraction (
|
|---|
| 128 | medicine_id_1 INT4 NOT NULL,
|
|---|
| 129 | medicine_id_2 INT4 NOT NULL,
|
|---|
| 130 | type VARCHAR(100) NOT NULL,
|
|---|
| 131 | description TEXT,
|
|---|
| 132 | severity VARCHAR(50) NOT NULL,
|
|---|
| 133 | CONSTRAINT medicineinteraction_pkey PRIMARY KEY (medicine_id_1, medicine_id_2),
|
|---|
| 134 | CONSTRAINT medicineinteraction_check CHECK (medicine_id_1 <> medicine_id_2),
|
|---|
| 135 | CONSTRAINT medicineinteraction_medicine_id_1_fkey FOREIGN KEY (medicine_id_1) REFERENCES synergymed.medicine(id),
|
|---|
| 136 | CONSTRAINT medicineinteraction_medicine_id_2_fkey FOREIGN KEY (medicine_id_2) REFERENCES synergymed.medicine(id)
|
|---|
| 137 | );
|
|---|
| 138 |
|
|---|
| 139 | -- Table: patient
|
|---|
| 140 | CREATE TABLE synergymed.patient (
|
|---|
| 141 | user_id INT4 NOT NULL,
|
|---|
| 142 | is_verified BOOL NOT NULL,
|
|---|
| 143 | CONSTRAINT patient_pkey PRIMARY KEY (user_id),
|
|---|
| 144 | CONSTRAINT patient_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 145 | );
|
|---|
| 146 |
|
|---|
| 147 | -- Table: payment
|
|---|
| 148 | CREATE TABLE synergymed.payment (
|
|---|
| 149 | id INT4 NOT NULL,
|
|---|
| 150 | patient_id INT4 NOT NULL,
|
|---|
| 151 | payment_method_id INT4 NOT NULL,
|
|---|
| 152 | payment_date DATE NOT NULL,
|
|---|
| 153 | amount INT4 NOT NULL,
|
|---|
| 154 | status VARCHAR(50) NOT NULL,
|
|---|
| 155 | CONSTRAINT payment_pkey PRIMARY KEY (id),
|
|---|
| 156 | CONSTRAINT payment_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id),
|
|---|
| 157 | CONSTRAINT payment_payment_method_id_fkey FOREIGN KEY (payment_method_id) REFERENCES synergymed.paymentmethod(id)
|
|---|
| 158 | );
|
|---|
| 159 |
|
|---|
| 160 | -- Table: pharmacist
|
|---|
| 161 | CREATE TABLE synergymed.pharmacist (
|
|---|
| 162 | user_id INT4 NOT NULL,
|
|---|
| 163 | CONSTRAINT pharmacist_pkey PRIMARY KEY (user_id),
|
|---|
| 164 | CONSTRAINT pharmacist_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id)
|
|---|
| 165 | );
|
|---|
| 166 |
|
|---|
| 167 | -- Table: pharmacy
|
|---|
| 168 | CREATE TABLE synergymed.pharmacy (
|
|---|
| 169 | company_id INT4 NOT NULL,
|
|---|
| 170 | CONSTRAINT pharmacy_pkey PRIMARY KEY (company_id),
|
|---|
| 171 | CONSTRAINT pharmacy_company_id_fkey FOREIGN KEY (company_id) REFERENCES synergymed.company(id)
|
|---|
| 172 | );
|
|---|
| 173 |
|
|---|
| 174 | -- Table: prescription
|
|---|
| 175 | CREATE TABLE synergymed.prescription (
|
|---|
| 176 | id INT4 NOT NULL,
|
|---|
| 177 | patient_id INT4,
|
|---|
| 178 | medicine_id INT4 NOT NULL,
|
|---|
| 179 | issued_by VARCHAR(20) NOT NULL,
|
|---|
| 180 | issued_at DATE NOT NULL,
|
|---|
| 181 | valid_to DATE NOT NULL,
|
|---|
| 182 | embg VARCHAR(20) NOT NULL,
|
|---|
| 183 | CONSTRAINT prescription_pkey PRIMARY KEY (id),
|
|---|
| 184 | CONSTRAINT prescription_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id),
|
|---|
| 185 | CONSTRAINT prescription_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 186 | );
|
|---|
| 187 |
|
|---|
| 188 | -- Table: sensitivepatientdata
|
|---|
| 189 | CREATE TABLE synergymed.sensitivepatientdata (
|
|---|
| 190 | id INT4 NOT NULL,
|
|---|
| 191 | patient_id INT4 NOT NULL,
|
|---|
| 192 | pharmacist_id INT4,
|
|---|
| 193 | embg VARCHAR(20) NOT NULL,
|
|---|
| 194 | portrait_photo VARCHAR(255) NOT NULL,
|
|---|
| 195 | CONSTRAINT sensitivepatientdata_pkey PRIMARY KEY (id),
|
|---|
| 196 | CONSTRAINT sensitivepatientdata_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id),
|
|---|
| 197 | CONSTRAINT sensitivepatientdata_pharmacist_id_fkey FOREIGN KEY (pharmacist_id) REFERENCES synergymed.pharmacist(user_id)
|
|---|
| 198 | );
|
|---|
| 199 |
|
|---|
| 200 | -- Table: shoppingcart
|
|---|
| 201 | CREATE TABLE synergymed.shoppingcart (
|
|---|
| 202 | id INT4 NOT NULL,
|
|---|
| 203 | patient_id INT4 NOT NULL,
|
|---|
| 204 | CONSTRAINT shoppingcart_pkey PRIMARY KEY (id),
|
|---|
| 205 | CONSTRAINT shoppingcart_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id)
|
|---|
| 206 | );
|
|---|
| 207 |
|
|---|
| 208 | -- Table: supplyorder
|
|---|
| 209 | CREATE TABLE synergymed.supplyorder (
|
|---|
| 210 | id INT4 NOT NULL,
|
|---|
| 211 | distributor_id INT4 NOT NULL,
|
|---|
| 212 | pharmacy_id INT4 NOT NULL,
|
|---|
| 213 | order_date DATE NOT NULL,
|
|---|
| 214 | expected_arrival_date DATE NOT NULL,
|
|---|
| 215 | CONSTRAINT supplyorder_pkey PRIMARY KEY (id),
|
|---|
| 216 | CONSTRAINT supplyorder_distributor_id_fkey FOREIGN KEY (distributor_id) REFERENCES synergymed.distributor(company_id),
|
|---|
| 217 | CONSTRAINT supplyorder_pharmacy_id_fkey FOREIGN KEY (pharmacy_id) REFERENCES synergymed.pharmacy(company_id)
|
|---|
| 218 | );
|
|---|
| 219 |
|
|---|
| 220 | -- Table: brandedmedicine
|
|---|
| 221 | CREATE TABLE synergymed.brandedmedicine (
|
|---|
| 222 | id INT4 NOT NULL,
|
|---|
| 223 | manufacturer_id INT4 NOT NULL,
|
|---|
| 224 | price NUMERIC(10,2) NOT NULL,
|
|---|
| 225 | description TEXT,
|
|---|
| 226 | dosage_form VARCHAR(100) NOT NULL,
|
|---|
| 227 | strength VARCHAR(100) NOT NULL,
|
|---|
| 228 | origin_country VARCHAR(100),
|
|---|
| 229 | CONSTRAINT brandedmedicine_pkey PRIMARY KEY (id),
|
|---|
| 230 | CONSTRAINT brandedmedicine_manufacturer_id_fkey FOREIGN KEY (manufacturer_id) REFERENCES synergymed.manufacturer(company_id)
|
|---|
| 231 | );
|
|---|
| 232 |
|
|---|
| 233 | -- Table: brandedmedicineimage
|
|---|
| 234 | CREATE TABLE synergymed.brandedmedicineimage (
|
|---|
| 235 | id INT4 NOT NULL,
|
|---|
| 236 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 237 | image VARCHAR(255) NOT NULL,
|
|---|
| 238 | CONSTRAINT brandedmedicineimage_pkey PRIMARY KEY (id),
|
|---|
| 239 | CONSTRAINT brandedmedicineimage_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 240 | );
|
|---|
| 241 |
|
|---|
| 242 | -- Table: clubcard
|
|---|
| 243 | CREATE TABLE synergymed.clubcard (
|
|---|
| 244 | id INT4 NOT NULL,
|
|---|
| 245 | user_id INT4 NOT NULL,
|
|---|
| 246 | club_program VARCHAR(100) NOT NULL,
|
|---|
| 247 | points INT4 NOT NULL,
|
|---|
| 248 | CONSTRAINT clubcard_pkey PRIMARY KEY (id),
|
|---|
| 249 | CONSTRAINT clubcard_patient_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.patient(user_id)
|
|---|
| 250 | );
|
|---|
| 251 |
|
|---|
| 252 | -- Table: contactinformation
|
|---|
| 253 | CREATE TABLE synergymed.contactinformation (
|
|---|
| 254 | id INT4 NOT NULL,
|
|---|
| 255 | phone VARCHAR(20),
|
|---|
| 256 | address VARCHAR(255),
|
|---|
| 257 | user_id INT4,
|
|---|
| 258 | facility_id INT4,
|
|---|
| 259 | CONSTRAINT contactinformation_pkey PRIMARY KEY (id),
|
|---|
| 260 | CONSTRAINT contactinformation_target_oneof_chk CHECK (((user_id IS NOT NULL)::int + (facility_id IS NOT NULL)::int) = 1),
|
|---|
| 261 | CONSTRAINT contactinformation_user_id_fkey FOREIGN KEY (user_id) REFERENCES synergymed.users(id),
|
|---|
| 262 | CONSTRAINT contactinformation_facility_id_fkey FOREIGN KEY (facility_id) REFERENCES synergymed.facility(id)
|
|---|
| 263 | );
|
|---|
| 264 |
|
|---|
| 265 | -- Table: distributor_brandedmedicine
|
|---|
| 266 | CREATE TABLE synergymed.distributor_brandedmedicine (
|
|---|
| 267 | id INT4 NOT NULL,
|
|---|
| 268 | distributor_id INT4 NOT NULL,
|
|---|
| 269 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 270 | CONSTRAINT distributorbrandedmedicine_pkey PRIMARY KEY (id),
|
|---|
| 271 | CONSTRAINT distributorbrandedmedicine_distributor_id_fkey FOREIGN KEY (distributor_id) REFERENCES synergymed.distributor(company_id),
|
|---|
| 272 | CONSTRAINT distributorbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 273 | );
|
|---|
| 274 |
|
|---|
| 275 | -- Table: healthprofile
|
|---|
| 276 | CREATE TABLE synergymed.healthprofile (
|
|---|
| 277 | id INT4 NOT NULL,
|
|---|
| 278 | patient_id INT4 NOT NULL,
|
|---|
| 279 | blood_type VARCHAR(10),
|
|---|
| 280 | CONSTRAINT healthprofile_pkey PRIMARY KEY (id),
|
|---|
| 281 | CONSTRAINT healthprofile_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id)
|
|---|
| 282 | );
|
|---|
| 283 |
|
|---|
| 284 | -- Table: inventory_brandedmedicine
|
|---|
| 285 | CREATE TABLE synergymed.inventory_brandedmedicine (
|
|---|
| 286 | inventory_id INT4 NOT NULL,
|
|---|
| 287 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 288 | quantity INT4 NOT NULL,
|
|---|
| 289 | last_changed DATE NOT NULL,
|
|---|
| 290 | CONSTRAINT inventorybrandedmedicine_pkey PRIMARY KEY (inventory_id, branded_medicine_id),
|
|---|
| 291 | CONSTRAINT inventorybrandedmedicine_inventory_id_fkey FOREIGN KEY (inventory_id) REFERENCES synergymed.inventory(facility_id),
|
|---|
| 292 | CONSTRAINT inventorybrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 293 | );
|
|---|
| 294 |
|
|---|
| 295 | -- Table: patientorder
|
|---|
| 296 | CREATE TABLE synergymed.patientorder (
|
|---|
| 297 | id INT4 NOT NULL,
|
|---|
| 298 | patient_id INT4 NOT NULL,
|
|---|
| 299 | delivery_company_id INT4 NOT NULL,
|
|---|
| 300 | payment_id INT4 NOT NULL,
|
|---|
| 301 | order_date DATE NOT NULL,
|
|---|
| 302 | expected_arrival_date DATE NOT NULL,
|
|---|
| 303 | status VARCHAR(100) NOT NULL,
|
|---|
| 304 | total_price INT4 NOT NULL,
|
|---|
| 305 | CONSTRAINT orders_pkey PRIMARY KEY (id),
|
|---|
| 306 | CONSTRAINT orders_payment_id_key UNIQUE (payment_id),
|
|---|
| 307 | CONSTRAINT orders_patient_id_fkey FOREIGN KEY (patient_id) REFERENCES synergymed.patient(user_id),
|
|---|
| 308 | CONSTRAINT orders_delivery_company_id_fkey FOREIGN KEY (delivery_company_id) REFERENCES synergymed.deliverycompany(company_id),
|
|---|
| 309 | CONSTRAINT orders_payment_id_fkey FOREIGN KEY (payment_id) REFERENCES synergymed.payment(id)
|
|---|
| 310 | );
|
|---|
| 311 |
|
|---|
| 312 | -- Table: patientorder_brandedmedicine
|
|---|
| 313 | CREATE TABLE synergymed.patientorder_brandedmedicine (
|
|---|
| 314 | id INT4 NOT NULL,
|
|---|
| 315 | order_id INT4 NOT NULL,
|
|---|
| 316 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 317 | quantity INT4 NOT NULL,
|
|---|
| 318 | CONSTRAINT patientorder_brandedmedicine_pkey PRIMARY KEY (id),
|
|---|
| 319 | CONSTRAINT orderbrandedmedicine_order_id_fkey FOREIGN KEY (order_id) REFERENCES synergymed.patientorder(id),
|
|---|
| 320 | CONSTRAINT orderbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 321 | );
|
|---|
| 322 |
|
|---|
| 323 | -- Table: pharmacy_catalog
|
|---|
| 324 | CREATE TABLE synergymed.pharmacy_catalog (
|
|---|
| 325 | pharmacy_id INT4 NOT NULL,
|
|---|
| 326 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 327 | CONSTRAINT pharmacy_catalog_pkey PRIMARY KEY (pharmacy_id, branded_medicine_id),
|
|---|
| 328 | CONSTRAINT pharmacybrandedmedicine_pharmacy_id_fkey FOREIGN KEY (pharmacy_id) REFERENCES synergymed.pharmacy(company_id),
|
|---|
| 329 | CONSTRAINT pharmacybrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 330 | );
|
|---|
| 331 |
|
|---|
| 332 | -- Table: shoppingcart_brandedmedicine
|
|---|
| 333 | CREATE TABLE synergymed.shoppingcart_brandedmedicine (
|
|---|
| 334 | shopping_cart_id INT4 NOT NULL,
|
|---|
| 335 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 336 | quantity INT4 NOT NULL,
|
|---|
| 337 | CONSTRAINT shoppingcartbrandedmedicine_pkey PRIMARY KEY (shopping_cart_id, branded_medicine_id),
|
|---|
| 338 | CONSTRAINT shoppingcartbrandedmedicine_shopping_cart_id_fkey FOREIGN KEY (shopping_cart_id) REFERENCES synergymed.shoppingcart(id),
|
|---|
| 339 | CONSTRAINT shoppingcartbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 340 | );
|
|---|
| 341 |
|
|---|
| 342 | -- Table: supplyorder_brandedmedicine
|
|---|
| 343 | CREATE TABLE synergymed.supplyorder_brandedmedicine (
|
|---|
| 344 | supply_order_id INT4 NOT NULL,
|
|---|
| 345 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 346 | quantity INT4 NOT NULL,
|
|---|
| 347 | CONSTRAINT supplyorderbrandedmedicine_pkey PRIMARY KEY (supply_order_id, branded_medicine_id),
|
|---|
| 348 | CONSTRAINT supplyorderbrandedmedicine_supply_order_id_fkey FOREIGN KEY (supply_order_id) REFERENCES synergymed.supplyorder(id),
|
|---|
| 349 | CONSTRAINT supplyorderbrandedmedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id)
|
|---|
| 350 | );
|
|---|
| 351 |
|
|---|
| 352 | -- Table: allergicreaction_healthprofile_medicine
|
|---|
| 353 | CREATE TABLE synergymed.allergicreaction_healthprofile_medicine (
|
|---|
| 354 | health_profile_id INT4 NOT NULL,
|
|---|
| 355 | medicine_id INT4 NOT NULL,
|
|---|
| 356 | date_diagnosed DATE,
|
|---|
| 357 | description TEXT,
|
|---|
| 358 | severity VARCHAR(50),
|
|---|
| 359 | CONSTRAINT healthprofilemedicineallergy_pkey PRIMARY KEY (health_profile_id, medicine_id),
|
|---|
| 360 | CONSTRAINT healthprofilemedicineallergy_health_profile_id_fkey FOREIGN KEY (health_profile_id) REFERENCES synergymed.healthprofile(id),
|
|---|
| 361 | CONSTRAINT healthprofilemedicineallergy_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 362 | );
|
|---|
| 363 |
|
|---|
| 364 | -- Table: branded_medicine_instanceof_medicine
|
|---|
| 365 | CREATE TABLE synergymed.branded_medicine_instanceof_medicine (
|
|---|
| 366 | branded_medicine_id INT4 NOT NULL,
|
|---|
| 367 | medicine_id INT4 NOT NULL,
|
|---|
| 368 | CONSTRAINT brandedmedicinemedicine_pkey PRIMARY KEY (branded_medicine_id, medicine_id),
|
|---|
| 369 | CONSTRAINT brandedmedicinemedicine_branded_medicine_id_fkey FOREIGN KEY (branded_medicine_id) REFERENCES synergymed.brandedmedicine(id),
|
|---|
| 370 | CONSTRAINT brandedmedicinemedicine_medicine_id_fkey FOREIGN KEY (medicine_id) REFERENCES synergymed.medicine(id)
|
|---|
| 371 | );
|
|---|