Skip to content

Commit

Permalink
add postgresql version setup scripts (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
peiyaoli authored Jan 31, 2020
1 parent 3bb402e commit 4b15f50
Show file tree
Hide file tree
Showing 3 changed files with 197 additions and 0 deletions.
40 changes: 40 additions & 0 deletions setup-amsterdamumcdb/postgres/postgres-create-index.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
CREATE INDEX admissions_admissionid_index ON admissions (admissionid);
CREATE INDEX admissions_patientid_index ON admissions (patientid);

-- drugitems table
CREATE INDEX drugitems_admissionid_index ON drugitems (admissionid);
CREATE INDEX drugitems_orderid_index ON drugitems (orderid);
CREATE INDEX drugitems_ordercategoryid_index ON drugitems (ordercategoryid);
CREATE INDEX drugitems_itemid_index ON drugitems (itemid);
CREATE INDEX drugitems_start_index ON drugitems (start);
CREATE INDEX drugitems_stop_index ON drugitems (stop);

-- freetextitems table
CREATE INDEX freetextitems_admissionid_index ON freetextitems (admissionid);
CREATE INDEX freetextitems_itemid_index ON freetextitems (itemid);
CREATE INDEX freetextitems_measuredat_index ON freetextitems (measuredat);

-- listitems table
CREATE INDEX listitems_admissionid_index ON listitems (admissionid);
CREATE INDEX listitems_itemid_index ON listitems (itemid);
CREATE INDEX listitems_measuredat_index ON listitems (measuredat);

-- numericitems table
CREATE INDEX numericitems_admissionid_index ON numericitems (admissionid);
CREATE INDEX numericitems_itemid_index ON numericitems (itemid);
CREATE INDEX numericitems_measuredat_index ON numericitems (measuredat);
CREATE INDEX numericitems_admission_item_time_index ON numericitems (admissionid, itemid, measuredat);
CREATE INDEX numericitems_islabresult_index ON numericitems (islabresult);
CREATE INDEX numericitems_fluidout_index ON numericitems (fluidout);

-- procedureorderitems table
CREATE INDEX procedureorderitems_admissionid_index ON procedureorderitems (admissionid);
CREATE INDEX procedureorderitems_itemid_index ON procedureorderitems (itemid);
CREATE INDEX procedureorderitems_ordercategoryid_index ON procedureorderitems (ordercategoryid);
CREATE INDEX procedureorderitems_registeredat_index ON procedureorderitems (registeredat);

-- processitems table
CREATE INDEX processitems_admissionid_index ON processitems (admissionid);
CREATE INDEX processitems_itemid_index ON processitems (itemid);
CREATE INDEX processitems_start_index ON processitems (start);
CREATE INDEX processitems_stop_index ON processitems (stop);
135 changes: 135 additions & 0 deletions setup-amsterdamumcdb/postgres/postgres-create-tables.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
DROP TABLE IF EXISTS admissions CASCADE;
CREATE TABLE admissions
(
patientid INTEGER,
admissionid serial PRIMARY KEY,
admissioncount INTEGER,
location VARCHAR,
urgency BIT,
origin VARCHAR,
admittedat BIGINT,
admissionyeargroup VARCHAR,
dischargedat BIGINT,
lengthofstay SMALLINT,
destination VARCHAR,
gender VARCHAR,
agegroup VARCHAR,
dateofdeath BIGINT,
weightgroup VARCHAR,
weightsource VARCHAR,
lengthgroup VARCHAR,
lengthsource VARCHAR,
specialty VARCHAR
);

DROP TABLE IF EXISTS drugitems CASCADE;
CREATE TABLE drugitems
(
admissionid INTEGER,
orderid BIGINT,
ordercategoryid INTEGER,
ordercategory VARCHAR,
itemid INTEGER,
item VARCHAR,
isadditive BIT,
isconditional BIT,
rate FLOAT,
rateunit VARCHAR,
rateunitid INTEGER,
ratetimeunitid INTEGER,
doserateperkg BIT,
dose FLOAT,
doseunit VARCHAR,
doserateunit VARCHAR,
doseunitid INTEGER,
doserateunitid INTEGER,
administered FLOAT,
administeredunit VARCHAR,
administeredunitid INTEGER,
action VARCHAR,
start BIGINT,
stop BIGINT,
duration BIGINT,
solutionitemid INTEGER,
solutionitem VARCHAR,
solutionadministered FLOAT,
solutionadministeredunit VARCHAR,
fluidin FLOAT,
iscontinuous BIT
);

DROP TABLE IF EXISTS freetextitems CASCADE;
CREATE TABLE freetextitems
(
admissionid INTEGER,
itemid BIGINT,
item VARCHAR,
value VARCHAR,
comment VARCHAR,
measuredat BIGINT,
registeredat BIGINT,
registeredby VARCHAR,
updatedat BIGINT,
updatedby VARCHAR,
islabresult BIT
);

DROP TABLE IF EXISTS listitems CASCADE;
CREATE TABLE listitems
(
admissionid INTEGER,
itemid BIGINT,
item VARCHAR,
valueid INT,
value VARCHAR,
measuredat BIGINT,
registeredat BIGINT,
registeredby VARCHAR,
updatedat BIGINT,
updatedby VARCHAR,
islabresult BIT
);

DROP TABLE IF EXISTS numericitems CASCADE;
CREATE TABLE numericitems
(
admissionid INTEGER,
itemid BIGINT,
item VARCHAR,
tag VARCHAR,
value FLOAT,
unitid INT,
unit VARCHAR,
comment VARCHAR,
measuredat BIGINT,
registeredat BIGINT,
registeredby VARCHAR,
updatedat BIGINT,
updatedby VARCHAR,
islabresult BIT,
fluidout FLOAT
);

DROP TABLE IF EXISTS procedureorderitems CASCADE;
CREATE TABLE procedureorderitems
(
admissionid INTEGER,
orderid BIGINT,
ordercategoryid INT,
ordercategoryname VARCHAR,
itemid INT,
item VARCHAR,
registeredat BIGINT,
registeredby VARCHAR
);

DROP TABLE IF EXISTS processitems CASCADE;
CREATE TABLE processitems
(
admissionid INTEGER,
itemid BIGINT,
item VARCHAR,
start BIGINT,
stop BIGINT,
duration BIGINT
);
22 changes: 22 additions & 0 deletions setup-amsterdamumcdb/postgres/postgres-load-data-csv.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
/*
Load data from CSV file into tables
*/
-- modify `data_dir` to directory where data files locates
-- \cd :data_dir

SET CLIENT_ENCODING TO 'WIN1252';

-- admissions table
\copy admissions FROM 'admissions.csv' DELIMITER ',' CSV HEADER NULL ''
-- drugitems table
\copy drugitems FROM 'drugitems.csv' DELIMITER ',' CSV HEADER NULL ''
-- freetextitems
\copy freetextitems FROM 'freetextitems.csv' DELIMITER ',' CSV HEADER NULL ''
-- listitems
\copy listitems FROM 'listitems.csv' DELIMITER ',' CSV HEADER NULL ''
-- numericitems
\copy numericitems FROM 'numericitems.csv' DELIMITER ',' CSV HEADER NULL ''
-- procedureorderitems
\copy procedureorderitems FROM 'procedureorderitems.csv' DELIMITER ',' CSV HEADER NULL ''
-- processitems
\copy processitems FROM 'processitems.csv' DELIMITER ',' CSV HEADER NULL ''

0 comments on commit 4b15f50

Please sign in to comment.