198 lines
6.3 KiB
MySQL
198 lines
6.3 KiB
MySQL
|
|
-- Table definition for fieldseeker.SampleCollection
|
||
|
|
-- Includes versioning for tracking changes
|
||
|
|
|
||
|
|
CREATE SCHEMA IF NOT EXISTS fieldseeker;
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_notinuit_f_enum AS ENUM (
|
||
|
|
'1',
|
||
|
|
'0'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitosampletype_enum AS ENUM (
|
||
|
|
'Blood',
|
||
|
|
'Tissue',
|
||
|
|
'Specimen',
|
||
|
|
'Carcass'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitosamplecondition_enum AS ENUM (
|
||
|
|
'Usable',
|
||
|
|
'Unusable'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitosamplespecies_enum AS ENUM (
|
||
|
|
'Chicken',
|
||
|
|
'Wild bird',
|
||
|
|
'Horse',
|
||
|
|
'Human'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_notinuisex_enum AS ENUM (
|
||
|
|
'M',
|
||
|
|
'F',
|
||
|
|
'U'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitoactivity_enum AS ENUM (
|
||
|
|
'Routine inspection',
|
||
|
|
'Pre-treatment',
|
||
|
|
'Maintenance',
|
||
|
|
'ULV',
|
||
|
|
'BARRIER',
|
||
|
|
'LOGIN',
|
||
|
|
'TREATSD',
|
||
|
|
'SD',
|
||
|
|
'SITEVISIT',
|
||
|
|
'ONLINE',
|
||
|
|
'SYNC',
|
||
|
|
'CREATESR',
|
||
|
|
'LC',
|
||
|
|
'ACCEPTSR',
|
||
|
|
'POINT',
|
||
|
|
'DOWNLOAD',
|
||
|
|
'COMPLETESR',
|
||
|
|
'POLYGON',
|
||
|
|
'TRAP',
|
||
|
|
'SAMPLE',
|
||
|
|
'QA',
|
||
|
|
'PTA',
|
||
|
|
'FIELDSCOUTING',
|
||
|
|
'OFFLINE',
|
||
|
|
'LINE',
|
||
|
|
'TRAPLOCATION',
|
||
|
|
'SAMPLELOCATION',
|
||
|
|
'LCLOCATION'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitolabname_enum AS ENUM (
|
||
|
|
'Internal Lab',
|
||
|
|
'State Lab'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitositecondition_enum AS ENUM (
|
||
|
|
'Dry',
|
||
|
|
'Clean',
|
||
|
|
'Full',
|
||
|
|
'Low'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_notinuiwinddirection_enum AS ENUM (
|
||
|
|
'N',
|
||
|
|
'NE',
|
||
|
|
'E',
|
||
|
|
'SE',
|
||
|
|
'S',
|
||
|
|
'SW',
|
||
|
|
'W',
|
||
|
|
'NW'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitotestmethod_enum AS ENUM (
|
||
|
|
'RAMP',
|
||
|
|
'VecTest',
|
||
|
|
'ELISA',
|
||
|
|
'RT-PCR'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TYPE fieldseeker.samplecollection_mosquitodisease_enum AS ENUM (
|
||
|
|
'EEE',
|
||
|
|
'WNV',
|
||
|
|
'Dengue',
|
||
|
|
'Zika'
|
||
|
|
);
|
||
|
|
|
||
|
|
CREATE TABLE fieldseeker.samplecollection (
|
||
|
|
objectid BIGSERIAL NOT NULL,
|
||
|
|
loc_id UUID,
|
||
|
|
startdatetime TIMESTAMP,
|
||
|
|
enddatetime TIMESTAMP,
|
||
|
|
sitecond fieldseeker.samplecollection_mosquitositecondition_enum,
|
||
|
|
sampleid VARCHAR(25),
|
||
|
|
survtech VARCHAR(25),
|
||
|
|
datesent TIMESTAMP,
|
||
|
|
datetested TIMESTAMP,
|
||
|
|
testtech VARCHAR(25),
|
||
|
|
comments VARCHAR(250),
|
||
|
|
processed fieldseeker.samplecollection_notinuit_f_enum,
|
||
|
|
sampletype fieldseeker.samplecollection_mosquitosampletype_enum,
|
||
|
|
samplecond fieldseeker.samplecollection_mosquitosamplecondition_enum,
|
||
|
|
species fieldseeker.samplecollection_mosquitosamplespecies_enum,
|
||
|
|
sex fieldseeker.samplecollection_notinuisex_enum,
|
||
|
|
avetemp DOUBLE PRECISION,
|
||
|
|
windspeed DOUBLE PRECISION,
|
||
|
|
winddir fieldseeker.samplecollection_notinuiwinddirection_enum,
|
||
|
|
raingauge DOUBLE PRECISION,
|
||
|
|
activity fieldseeker.samplecollection_mosquitoactivity_enum,
|
||
|
|
testmethod fieldseeker.samplecollection_mosquitotestmethod_enum,
|
||
|
|
diseasetested fieldseeker.samplecollection_mosquitodisease_enum,
|
||
|
|
diseasepos fieldseeker.samplecollection_mosquitodisease_enum,
|
||
|
|
reviewed fieldseeker.samplecollection_notinuit_f_enum,
|
||
|
|
reviewedby VARCHAR(25),
|
||
|
|
revieweddate TIMESTAMP,
|
||
|
|
locationname VARCHAR(25),
|
||
|
|
zone VARCHAR(25),
|
||
|
|
recordstatus SMALLINT,
|
||
|
|
zone2 VARCHAR(25),
|
||
|
|
globalid UUID,
|
||
|
|
created_user VARCHAR(255),
|
||
|
|
created_date TIMESTAMP,
|
||
|
|
last_edited_user VARCHAR(255),
|
||
|
|
last_edited_date TIMESTAMP,
|
||
|
|
lab fieldseeker.samplecollection_mosquitolabname_enum,
|
||
|
|
fieldtech VARCHAR(25),
|
||
|
|
flockid UUID,
|
||
|
|
samplecount SMALLINT,
|
||
|
|
chickenid UUID,
|
||
|
|
gatewaysync SMALLINT,
|
||
|
|
creationdate TIMESTAMP,
|
||
|
|
creator VARCHAR(128),
|
||
|
|
editdate TIMESTAMP,
|
||
|
|
editor VARCHAR(128),
|
||
|
|
VERSION INTEGER NOT NULL DEFAULT 1,
|
||
|
|
PRIMARY KEY (objectid, VERSION)
|
||
|
|
);
|
||
|
|
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.VERSION IS 'Tracks version changes to the row. Increases when data is modified.';
|
||
|
|
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.startdatetime IS 'Start';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.enddatetime IS 'Finish';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.sitecond IS 'Conditions';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.sampleid IS 'Sample ID';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.survtech IS 'Surveillance Technician';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.datesent IS 'Sent';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.datetested IS 'Tested';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.testtech IS 'Test Technician';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.comments IS 'Comments';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.processed IS 'Processed';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.sampletype IS 'Sample Type';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.samplecond IS 'Sample Condition';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.species IS 'Species';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.sex IS 'Sex';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.avetemp IS 'Average Temperature';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.windspeed IS 'Wind Speed';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.winddir IS 'Wind Direction';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.raingauge IS 'Rain Gauge';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.activity IS 'Activity';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.testmethod IS 'Test Method';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.diseasetested IS 'Disease Tested';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.diseasepos IS 'Disease Positive';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.reviewed IS 'Reviewed';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.reviewedby IS 'Reviewed By';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.revieweddate IS 'Reviewed Date';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.locationname IS 'Location Name';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.zone IS 'Zone';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.recordstatus IS 'RecordStatus';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.zone2 IS 'Zone2';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.lab IS 'Lab';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.fieldtech IS 'Field Tech';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.samplecount IS 'Sample Count';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.chickenid IS 'ChickenID';
|
||
|
|
COMMENT ON COLUMN fieldseeker.samplecollection.gatewaysync IS 'Gateway Sync';
|
||
|
|
|
||
|
|
-- See insert/insert_samplecollection_versioned.sql for prepared insert statement
|
||
|
|
|
||
|
|
-- Usage notes for versioning:
|
||
|
|
-- When inserting a new row, VERSION defaults to 1
|
||
|
|
-- When updating a row, insert a new row with the same ID but incremented VERSION
|
||
|
|
-- The most recent version of a row has the highest VERSION value
|