diff --git a/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-0.000-25.000.sql b/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-0.000-25.000.sql index 7a0af5bd2..3b3e0f0a8 100644 --- a/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-0.000-25.000.sql +++ b/snprc_ehr/resources/schemas/dbscripts/sqlserver/snprc_ehr-0.000-25.000.sql @@ -1,19 +1,3 @@ -/* - * Copyright (c) 2018-2019 LabKey Corporation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - CREATE SCHEMA snprc_ehr; GO @@ -21,27 +5,58 @@ CREATE TABLE snprc_ehr.package ( id int not null, name NVARCHAR(100), description NVARCHAR(MAX), - Container entityId NOT NULL, + Container entityId NOT NULL, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), + pkgType NVARCHAR(1) not null default 'U', CONSTRAINT PK_packages PRIMARY KEY (id), CONSTRAINT FK_packages_Container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); +CREATE UNIQUE INDEX idx_package_objectid ON snprc_ehr.package (objectid); + CREATE TABLE snprc_ehr.package_category ( id int not null, - name NVARCHAR(100), description NVARCHAR(MAX), - Container entityId NOT NULL, + Container entityId NOT NULL, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), CONSTRAINT PK_package_categories PRIMARY KEY (id), CONSTRAINT FK_package_categories_Container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); GO +CREATE UNIQUE INDEX idx_package_category_objectid ON snprc_ehr.package_category (objectid); + CREATE TABLE snprc_ehr.package_category_junction ( rowId int not null, packageId int not null, categoryId int not null, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), CONSTRAINT PK_package_category_junction PRIMARY KEY (rowId), CONSTRAINT FK_package_category_junction_packageId FOREIGN KEY (packageId) REFERENCES snprc_ehr.package(id), @@ -50,528 +65,234 @@ CREATE TABLE snprc_ehr.package_category_junction ( GO CREATE UNIQUE INDEX IDX_package_category_junction ON snprc_ehr.package_category_junction(categoryId, packageId); - -ALTER TABLE snprc_ehr.package_category DROP COLUMN name; - -ALTER TABLE snprc_ehr.package ADD Created DATETIME; -ALTER TABLE snprc_ehr.package ADD CreatedBy USERID; -ALTER TABLE snprc_ehr.package ADD Modified DATETIME; -ALTER TABLE snprc_ehr.package ADD ModifiedBy USERID; - -ALTER TABLE snprc_ehr.package_category ADD Created DATETIME; -ALTER TABLE snprc_ehr.package_category ADD CreatedBy USERID; -ALTER TABLE snprc_ehr.package_category ADD Modified DATETIME; -ALTER TABLE snprc_ehr.package_category ADD ModifiedBy USERID; - -ALTER TABLE snprc_ehr.package_category_junction ADD Created DATETIME; -ALTER TABLE snprc_ehr.package_category_junction ADD CreatedBy USERID; -ALTER TABLE snprc_ehr.package_category_junction ADD Modified DATETIME; -ALTER TABLE snprc_ehr.package_category_junction ADD ModifiedBy USERID; - -ALTER TABLE snprc_ehr.package ADD objectid nvarchar(4000); - -ALTER TABLE snprc_ehr.package_category ADD objectid nvarchar(4000); - -ALTER TABLE snprc_ehr.package_category_junction ADD objectid nvarchar(4000); - -GO - -CREATE PROCEDURE snprc_ehr.handleUpgrade AS - BEGIN - IF NOT EXISTS(SELECT column_name - FROM information_schema.columns - WHERE table_name='package' and table_schema='snprc_ehr' and column_name='objectid') - BEGIN - -- Run variants of scripts from trunk - - ALTER TABLE snprc_ehr.package ADD objectid nvarchar(4000); - ALTER TABLE snprc_ehr.package_category ADD objectid nvarchar(4000); - ALTER TABLE snprc_ehr.package_category_junction ADD objectid nvarchar(4000); - END - END; - -GO - -EXEC snprc_ehr.handleUpgrade -GO - -DROP PROCEDURE snprc_ehr.handleUpgrade -GO - --- Alters existing ehr_lookups.species table to include additional SNPRC species code columns columns needed --- for ETLs (objectid) - -CREATE PROCEDURE snprc_ehr.handleUpgrade AS - BEGIN - IF NOT EXISTS(SELECT column_name - FROM information_schema.columns - WHERE table_name='species' and table_schema='ehr_lookups' and column_name='objectid') - BEGIN - -- Run variants of scripts from trunk - - ALTER TABLE ehr_lookups.species ADD species_code nvarchar(3); - ALTER TABLE ehr_lookups.species ADD arc_species_code nvarchar(3); - --ALTER TABLE ehr_lookups.species ADD arc_common_name nvarchar(255); - --ALTER TABLE ehr_lookups.species ADD arc_scientific_name nvarchar(255); - ALTER TABLE ehr_lookups.species ADD objectid nvarchar(4000); - ALTER TABLE ehr_lookups.species ADD tid int; - END - END; - -GO - -EXEC snprc_ehr.handleUpgrade -GO - -DROP PROCEDURE snprc_ehr.handleUpgrade -GO - --- Use custom SNPRC species table instead of ehr_lookups.species - -ALTER TABLE ehr_lookups.species DROP COLUMN species_code; -ALTER TABLE ehr_lookups.species DROP COLUMN arc_species_code; -ALTER TABLE ehr_lookups.species DROP COLUMN objectid; -ALTER TABLE ehr_lookups.species DROP COLUMN tid; +CREATE UNIQUE INDEX idx_package_category_junction_objectid ON snprc_ehr.package_category_junction (objectid); CREATE TABLE snprc_ehr.species ( - common NVARCHAR(255) NOT NULL, - scientific_name NVARCHAR(255), - id_prefix NVARCHAR(255), - mhc_prefix NVARCHAR(255), - blood_per_kg FLOAT, - max_draw_pct FLOAT, - blood_draw_interval FLOAT, - dateDisabled DATETIME NULL, - cites_code NVARCHAR(200), - species_code NVARCHAR(3), - arc_species_code NVARCHAR(3), - objectid NVARCHAR(4000), - tid INT, - CONSTRAINT pk_species PRIMARY KEY (common ) -); - --- change primary key to species_code column + common NVARCHAR(255) NOT NULL, + scientific_name NVARCHAR(255), + id_prefix NVARCHAR(255), + mhc_prefix NVARCHAR(255), + blood_per_kg FLOAT, + max_draw_pct FLOAT, + blood_draw_interval FLOAT, + dateDisabled DATETIME NULL, + cites_code NVARCHAR(200), + species_code NVARCHAR(3) NOT NULL, + arc_species_code NVARCHAR(3) NOT NULL, + tid INT, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + primate VARCHAR(1), + objectid uniqueidentifier not null default newid(), + Created DATETIME, + Modified DATETIME, + CreatedBy USERID, + ModifiedBy USERID, -TRUNCATE TABLE snprc_ehr.species + CONSTRAINT pk_species PRIMARY KEY (species_code) +); -ALTER TABLE snprc_ehr.species ALTER COLUMN species_code NVARCHAR(3) NOT NULL -ALTER TABLE snprc_ehr.species ALTER COLUMN arc_species_code NVARCHAR(3) NOT NULL -ALTER TABLE snprc_ehr.species DROP CONSTRAINT pk_species -ALTER TABLE snprc_ehr.species ADD CONSTRAINT pk_species PRIMARY KEY (species_code) +CREATE UNIQUE INDEX idx_species_objectid ON snprc_ehr.species (objectid); CREATE TABLE snprc_ehr.clinical_observation_datasets ( - rowId Int NOT NULL, - dataset_name NVARCHAR(255) NOT NULL, - category_name NVARCHAR(255) NOT NULL, - sort_order Int NULL, - Container entityId NOT NULL, + rowId Int NOT NULL, + dataset_name NVARCHAR(255) NOT NULL, + category_name NVARCHAR(255) NOT NULL, + sort_order Int NULL, + Container entityId NOT NULL, + objectid uniqueidentifier not null default newid(), CONSTRAINT pk_clinical_observation_datasets PRIMARY KEY (rowId), CONSTRAINT FK_clinical_observation_datasets_Container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) - ); - +); GO CREATE TABLE snprc_ehr.validAccounts( - account varchar(16) NOT NULL, - accountStatus varchar(1) NOT NULL, - date DATETIME NOT NULL, - endDate DATETIME NULL, - description VARCHAR(100) NULL, - accountGroup VARCHAR(20) NOT NULL, - userName VARCHAR(128) NOT NULL, - entryDateTm DATETIME NOT NULL, - Container entityId NOT NULL, - Created DATETIME, + account varchar(16) NOT NULL, + accountStatus varchar(1) NOT NULL, + date DATETIME NOT NULL, + endDate DATETIME NULL, + description VARCHAR(100) NULL, + accountGroup VARCHAR(20) NOT NULL, + Container entityId NOT NULL, + Created DATETIME, CreatedBy USERID, Modified DATETIME, ModifiedBy USERID, - objectid NVARCHAR(4000) - - CONSTRAINT [PK_VALID_ACCOUNTS] PRIMARY KEY CLUSTERED ( account ASC ) + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), + CONSTRAINT [PK_VALID_ACCOUNTS] PRIMARY KEY CLUSTERED (account ASC ) ); GO -CREATE TABLE snprc_ehr.lab_tests ( - rowid int identity(1,1), - type varchar(100), - testid varchar(100) NOT NULL, - name varchar(100), - units varchar(100), - aliases varchar(1000), - alertOnAbnormal bit, - alertOnAny bit, - includeInPanel bit, - sort_order int, - userName VARCHAR(128) NOT NULL, - entryDateTm DATETIME NOT NULL, - objectid nvarchar(4000), - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, +CREATE UNIQUE INDEX idx_validAccounts_objectid ON snprc_ehr.validAccounts (objectid); + +CREATE TABLE snprc_ehr.labwork_services ( + RowId [INT] IDENTITY(1,1) NOT NULL, + ServiceName varchar(100) NOT NULL, + ServiceId INT NOT NULL, + Dataset varchar(100), + ChargeType varchar(100), + CollectionMethod varchar(500), + AlertOnComplete bit, + Tissue varchar(100), + OutsideLab bit, + DateDisabled datetime, + Method varchar(100), + Active INT, + Bench varchar(20), + ObjectId uniqueidentifier NOT NULL DEFAULT NEWID(), + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + Container entityId NOT NULL, - CONSTRAINT PK_snprc_lab_tests PRIMARY KEY (rowid), - CONSTRAINT FK_snprc_lab_tests FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) + CONSTRAINT PK_snprc_labwork_services PRIMARY KEY (ServiceId), + CONSTRAINT FK_snprc_labwork_services_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); GO -CREATE INDEX IDX_snprc_lab_tests_test_id ON snprc_ehr.lab_tests (testid); - +CREATE UNIQUE INDEX idx_labwork_services_serviceId ON [snprc_ehr].[labwork_services](ServiceId); GO - -CREATE TABLE snprc_ehr.labwork_services ( - servicename varchar(200) NOT NULL, - serviceid varchar(200) NOT NULL, - dataset varchar(200), - chargetype varchar(200), - collectionmethod varchar(500), - alertOnComplete bit, - tissue varchar(100), - outsidelab bit, - datedisabled datetime, - method varchar(100), - userName VARCHAR(128) NOT NULL, - entryDateTm DATETIME NOT NULL, - objectid nvarchar(4000), +CREATE TABLE snprc_ehr.validInstitutions ( + institution_id integer NOT NULL , + institution_name varchar(200) NOT NULL, + short_name varchar(20) NOT NULL, + city varchar(50) NOT NULL, + state varchar(20) NOT NULL, + affiliate varchar(50) NULL, + web_site varchar(200) NULL, Created DATETIME, CreatedBy USERID, Modified DATETIME, ModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_labwork_services PRIMARY KEY (servicename), - CONSTRAINT FK_snprc_labwork_services FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) + Container entityId NOT NULL, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), + + CONSTRAINT PK_snprc_valid_institutions PRIMARY KEY (institution_id), + CONSTRAINT FK_snprc_valid_institutions FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - GO -CREATE TABLE snprc_ehr.validInstitutions ( - institution_id integer NOT NULL , - institution_name varchar(200) NOT NULL, - short_name varchar(20) NOT NULL, - city varchar(50) NOT NULL, - state varchar(20) NOT NULL, - affiliate varchar(50) NULL, - web_site varchar(200) NULL, - objectid nvarchar(4000) NOT NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, - -CONSTRAINT PK_snprc_valid_institutions PRIMARY KEY (institution_id), -CONSTRAINT FK_snprc_valid_institutions FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); - -GO +CREATE UNIQUE INDEX idx_validInstitutions_objectid ON snprc_ehr.validInstitutions (objectid); CREATE TABLE snprc_ehr.validVets ( - vetId integer NOT NULL, - displayName varchar(128) NOT NULL , - emailAddress varchar(128) NULL, - status varchar(10) NOT NULL, - objectid nvarchar(4000) NOT NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_validVets PRIMARY KEY (vetId), - CONSTRAINT FK_snprc_validVets FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); - -GO - -CREATE TABLE snprc_ehr.valid_bd_status ( - value integer NOT NULL, - description varchar(128) NOT NULL , - objectid nvarchar(4000) NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_valid_bd_status PRIMARY KEY (value), - CONSTRAINT FK_snprc_valid_bd_status FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) + vetId integer NOT NULL, + displayName varchar(128) NOT NULL , + emailAddress varchar(128) NULL, + status varchar(10) NOT NULL, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + Container entityId NOT NULL, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + objectid uniqueidentifier not null default newid(), + + CONSTRAINT PK_snprc_validVets PRIMARY KEY (vetId), + CONSTRAINT FK_snprc_validVets FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - GO -CREATE TABLE snprc_ehr.valid_birth_code ( - value integer NOT NULL, - description varchar(128) NOT NULL , - objectid nvarchar(4000) NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_valid_birth_code PRIMARY KEY (value), - CONSTRAINT FK_snprc_valid_birth_code FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); -GO +CREATE UNIQUE INDEX idx_validVets_objectid ON snprc_ehr.validVets (objectid); -CREATE TABLE snprc_ehr.valid_death_code ( - value integer NOT NULL, - description varchar(128) NOT NULL , - objectid nvarchar(4000) NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - Container entityId NOT NULL, +CREATE TABLE snprc_ehr.valid_bd_status ( + value integer NOT NULL, + description varchar(128) NOT NULL , + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + Container entityId NOT NULL, + objectid uniqueidentifier not null default newid(), - CONSTRAINT PK_snprc_valid_death_code PRIMARY KEY (value), - CONSTRAINT FK_snprc_valid_death_code FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) + CONSTRAINT PK_snprc_valid_bd_status PRIMARY KEY (value), + CONSTRAINT FK_snprc_valid_bd_status FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - GO - -ALTER TABLE snprc_ehr.labwork_services ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.labwork_services ADD diModified DATETIME; -ALTER TABLE snprc_ehr.labwork_services ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.labwork_services ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.lab_tests ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.lab_tests ADD diModified DATETIME; -ALTER TABLE snprc_ehr.lab_tests ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.lab_tests ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.package ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.package ADD diModified DATETIME; -ALTER TABLE snprc_ehr.package ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.package ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.package_category ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.package_category ADD diModified DATETIME; -ALTER TABLE snprc_ehr.package_category ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.package_category ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.package_category_junction ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.package_category_junction ADD diModified DATETIME; -ALTER TABLE snprc_ehr.package_category_junction ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.package_category_junction ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.validAccounts ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.validAccounts ADD diModified DATETIME; -ALTER TABLE snprc_ehr.validAccounts ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.validAccounts ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.validInstitutions ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.validInstitutions ADD diModified DATETIME; -ALTER TABLE snprc_ehr.validInstitutions ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.validInstitutions ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.species ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.species ADD diModified DATETIME; -ALTER TABLE snprc_ehr.species ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.species ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.validVets ADD diCreated DATETIME; -ALTER TABLE snprc_ehr.validVets ADD diModified DATETIME; -ALTER TABLE snprc_ehr.validVets ADD diCreatedBy USERID; -ALTER TABLE snprc_ehr.validVets ADD diModifiedBy USERID; - -ALTER TABLE snprc_ehr.species ADD primate VARCHAR(1); - -ALTER TABLE snprc_ehr.validAccounts DROP COLUMN entryDateTm; -ALTER TABLE snprc_ehr.validAccounts DROP COLUMN userName; - -ALTER TABLE snprc_ehr.labwork_services DROP COLUMN entryDateTm; -ALTER TABLE snprc_ehr.labwork_services DROP COLUMN userName; - -ALTER TABLE snprc_ehr.lab_tests DROP COLUMN entryDateTm; -ALTER TABLE snprc_ehr.lab_tests DROP COLUMN userName; +CREATE UNIQUE INDEX idx_valid_bd_status_objectid ON snprc_ehr.valid_bd_status (objectid); CREATE TABLE snprc_ehr.animal_group_categories( - category_code int NOT NULL, - description varchar(128) NULL, - comment varchar(128) NULL, - displayable char(1) NOT NULL, - species char(2) NULL, - sex char(1) NULL, - enforce_exclusivity char(1) NOT NULL, - allow_future_date char(1) NOT NULL, - sort_order int NULL, - objectid nvarchar(4000) NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - diCreated DATETIME, - diModified DATETIME, - diCreatedBy USERID, - diModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_animal_group_categories PRIMARY KEY (category_code), - CONSTRAINT FK_animal_group_categories FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); - -GO - -CREATE TABLE snprc_ehr.animal_groups( - code INT NOT NULL, - category_code INT NOT NULL, - description VARCHAR(128) NOT NULL, - date DATE NOT NULL, - enddate DATE NULL, - comment VARCHAR(MAX) NULL, - sort_order INT NULL, - objectid nvarchar(4000) NULL, - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - diCreated DATETIME, - diModified DATETIME, - diCreatedBy USERID, - diModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_animal_groups PRIMARY KEY (code, category_code), - CONSTRAINT FK_snprc_animal_groups FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) + category_code int NOT NULL, + description varchar(128) NULL, + comment varchar(128) NULL, + displayable char(1) NOT NULL, + species char(2) NULL, + sex char(1) NULL, + enforce_exclusivity char(1) NOT NULL, + allow_future_date char(1) NOT NULL, + sort_order int NULL, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + Container entityId NOT NULL, + objectid uniqueidentifier not null default newid(), + + CONSTRAINT PK_animal_group_categories PRIMARY KEY (category_code), + CONSTRAINT FK_animal_group_categories FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - -GO - -EXEC sp_rename 'snprc_ehr.animal_groups.description', 'name', 'COLUMN'; GO --- DROP the object id column --- ADD the objectid back as a uniqueidentifier +CREATE UNIQUE INDEX idx_animal_group_categories_objectid ON snprc_ehr.animal_group_categories (objectid); -ALTER TABLE snprc_ehr.species DROP COLUMN objectid; -ALTER TABLE snprc_ehr.species ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.package_category DROP COLUMN objectid; -ALTER TABLE snprc_ehr.package_category ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.package_category_junction DROP COLUMN objectid; -ALTER TABLE snprc_ehr.package_category_junction ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.animal_groups DROP COLUMN objectid; -ALTER TABLE snprc_ehr.animal_groups ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.validVets DROP COLUMN objectid; -ALTER TABLE snprc_ehr.validVets ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.lab_tests DROP COLUMN objectid; -ALTER TABLE snprc_ehr.lab_tests ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.validAccounts DROP COLUMN objectid; -ALTER TABLE snprc_ehr.validAccounts ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.valid_bd_status DROP COLUMN objectid; -ALTER TABLE snprc_ehr.valid_bd_status ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.valid_birth_code DROP COLUMN objectid; -ALTER TABLE snprc_ehr.valid_birth_code ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.valid_death_code DROP COLUMN objectid; -ALTER TABLE snprc_ehr.valid_death_code ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.animal_group_categories DROP COLUMN objectid; -ALTER TABLE snprc_ehr.animal_group_categories ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.validInstitutions DROP COLUMN objectid; -ALTER TABLE snprc_ehr.validInstitutions ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.package DROP COLUMN objectid; -ALTER TABLE snprc_ehr.package ADD objectid uniqueidentifier not null default newid(); - -ALTER TABLE snprc_ehr.clinical_observation_datasets ADD objectid uniqueidentifier not null default newid(); - --- create a unique index on the objectid -CREATE UNIQUE INDEX idx_species_objectid ON snprc_ehr.species (objectid) -CREATE UNIQUE INDEX idx_package_category_objectid ON snprc_ehr.package_category (objectid) -CREATE UNIQUE INDEX idx_package_category_junction_objectid ON snprc_ehr.package_category_junction (objectid) -CREATE UNIQUE INDEX idx_animal_groups_objectid ON snprc_ehr.animal_groups (objectid) -CREATE UNIQUE INDEX idx_validVets_objectid ON snprc_ehr.validVets (objectid) -CREATE UNIQUE INDEX idx_lab_tests_objectid ON snprc_ehr.lab_tests (objectid) -CREATE UNIQUE INDEX idx_validAccounts_objectid ON snprc_ehr.validAccounts (objectid) -CREATE UNIQUE INDEX idx_valid_bd_status_objectid ON snprc_ehr.valid_bd_status (objectid) -CREATE UNIQUE INDEX idx_valid_birth_code_objectid ON snprc_ehr.valid_birth_code (objectid) -CREATE UNIQUE INDEX idx_valid_death_code_objectid ON snprc_ehr.valid_death_code (objectid) -CREATE UNIQUE INDEX idx_animal_group_categories_objectid ON snprc_ehr.animal_group_categories (objectid) -CREATE UNIQUE INDEX idx_validInstitutions_objectid ON snprc_ehr.validInstitutions (objectid) -CREATE UNIQUE INDEX idx_package_objectid ON snprc_ehr.package (objectid) - --- add unique index on code column in snprc_ehr.animal_groups -CREATE UNIQUE INDEX idx_animal_groups_code ON snprc_ehr.animal_groups (code) - --- Need to change the primary key - recreate labwork_services table - The table will need to be repopulated using the ETL process - -IF exists (select 1 from INFORMATION_SCHEMA.TABLES where TABLE_NAME = 'labwork_services' AND TABLE_SCHEMA = 'snprc_ehr') - drop table snprc_ehr.labwork_services - -CREATE TABLE snprc_ehr.labwork_services ( - rowId int identity, - serviceName varchar(200) NOT NULL, - serviceId varchar(200) NOT NULL, - dataset varchar(200), - chargeType varchar(200), - collectionMethod varchar(500), - alertOnComplete bit, - tissue varchar(100), - outsideLab bit, - dateDisabled datetime, - method varchar(100), - objectid UNIQUEIDENTIFIER not null default newid(), - Created DATETIME, - CreatedBy USERID, - Modified DATETIME, - ModifiedBy USERID, - diCreated DATETIME, - diModified DATETIME, - diCreatedBy USERID, - diModifiedBy USERID, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_labwork_services PRIMARY KEY (rowId), - CONSTRAINT FK_snprc_labwork_services FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +CREATE TABLE snprc_ehr.animal_groups( + code INT NOT NULL, + category_code INT NOT NULL, + name VARCHAR(128) NOT NULL, -- Renamed from description + date DATE NOT NULL, + enddate DATE NULL, + comment VARCHAR(MAX) NULL, + sort_order INT NULL, + Created DATETIME, + CreatedBy USERID, + Modified DATETIME, + ModifiedBy USERID, + diCreated DATETIME, + diModified DATETIME, + diCreatedBy USERID, + diModifiedBy USERID, + Container entityId NOT NULL, + objectid uniqueidentifier not null default newid(), + + CONSTRAINT PK_snprc_animal_groups PRIMARY KEY (code, category_code), + CONSTRAINT FK_snprc_animal_groups FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - -CREATE UNIQUE INDEX idx_labwork_services_serviceName ON snprc_ehr.labwork_services (serviceName) -CREATE UNIQUE INDEX idx_labwork_services_serviceId ON snprc_ehr.labwork_services (serviceId) -CREATE UNIQUE INDEX idx_labwork_services_objectid ON snprc_ehr.labwork_services (objectid) - -ALTER TABLE snprc_ehr.species ADD Created DATETIME; -ALTER TABLE snprc_ehr.species ADD Modified DATETIME; -ALTER TABLE snprc_ehr.species ADD CreatedBy USERID; -ALTER TABLE snprc_ehr.species ADD ModifiedBy USERID; - --- drop existing tables -if exists (select 1 - from sysobjects - where id = object_id('snprc_ehr.lab_tests') - and type = 'U') - drop table snprc_ehr.lab_tests GO -if exists (select 1 - from sysobjects - where id = object_id('snprc_ehr.labwork_services') - and type = 'U') - drop table snprc_ehr.labwork_services -go +CREATE UNIQUE INDEX idx_animal_groups_objectid ON snprc_ehr.animal_groups (objectid); +CREATE UNIQUE INDEX idx_animal_groups_code ON snprc_ehr.animal_groups (code); --- labwork_types CREATE TABLE snprc_ehr.labwork_types ( RowId [INT] IDENTITY(1,1) NOT NULL, ServiceType varchar(100) NOT NULL, - ObjectId nvarchar(4000), + ObjectId uniqueidentifier NOT NULL DEFAULT NEWID(), [Created] [DATETIME] NULL, [CreatedBy] [dbo].[USERID] NULL, [Modified] [DATETIME] NULL, @@ -580,108 +301,57 @@ CREATE TABLE snprc_ehr.labwork_types ( [DiModified] [DATETIME] NULL, [DiCreatedBy] [dbo].[USERID] NULL, [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL, + Container entityId NOT NULL, CONSTRAINT PK_snprc_labwork_types PRIMARY KEY (ServiceType), CONSTRAINT FK_snprc_labwork_types_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - -GO - -ALTER TABLE [snprc_ehr].[labwork_types] ADD DEFAULT (NEWID()) FOR [ObjectId] -GO - - --- labwork_services - -CREATE TABLE snprc_ehr.labwork_services ( - RowId [INT] IDENTITY(1,1) NOT NULL, - ServiceName varchar(100) NOT NULL, - ServiceId INT NOT NULL, - Dataset varchar(100), - ChargeType varchar(100), - CollectionMethod varchar(500), - AlertOnComplete bit, - Tissue varchar(100), - OutsideLab bit, - DateDisabled datetime, - Method varchar(100), - Active INT, - Bench varchar(20), - ObjectId nvarchar(4000), - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL, - - CONSTRAINT PK_snprc_labwork_services PRIMARY KEY (ServiceId), - CONSTRAINT FK_snprc_labwork_services_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); - -GO - -ALTER TABLE [snprc_ehr].[labwork_services] ADD DEFAULT (NEWID()) FOR [ObjectId] GO -CREATE UNIQUE INDEX idx_labwork_services_serviceId ON [snprc_ehr].[labwork_services](ServiceId); -GO - -ALTER TABLE [snprc_ehr].[labwork_services] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_dataset] FOREIGN KEY([Dataset]) -REFERENCES [snprc_ehr].[labwork_types] ([ServiceType]) +ALTER TABLE [snprc_ehr].[labwork_services] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_dataset] FOREIGN KEY([Dataset]) REFERENCES [snprc_ehr].[labwork_types] ([ServiceType]); GO - -ALTER TABLE [snprc_ehr].[labwork_services] CHECK CONSTRAINT [FK_snprc_labwork_panels_dataset] +ALTER TABLE [snprc_ehr].[labwork_services] CHECK CONSTRAINT [FK_snprc_labwork_panels_dataset]; GO --- labwork_panels CREATE TABLE [snprc_ehr].[labwork_panels]( - RowId [INT] IDENTITY(1,1) NOT NULL, - [ServiceId] INT NOT NULL, - [TestId] [VARCHAR](100) NOT NULL, - [TestName] [VARCHAR](100) NULL, - [Units] [VARCHAR](100) NULL, - [SortOrder] INT NULL, - [Aliases] [VARCHAR](1000) NULL, - [AlertOnAbnormal] [BIT] NULL, - [AlertOnAny] [BIT] NULL, - [IncludeInPanel] [BIT] NULL, - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - [ObjectId] [UNIQUEIDENTIFIER] NOT NULL, - CONSTRAINT [PK_snprc_labwork_panels] PRIMARY KEY CLUSTERED + RowId [INT] IDENTITY(1,1) NOT NULL, + [ServiceId] INT NOT NULL, + [TestId] [VARCHAR](100) NOT NULL, + [TestName] [VARCHAR](100) NULL, + [Units] [VARCHAR](100) NULL, + [SortOrder] INT NULL, + [Aliases] [VARCHAR](1000) NULL, + [AlertOnAbnormal] [BIT] NULL, + [AlertOnAny] [BIT] NULL, + [IncludeInPanel] [BIT] NULL, + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [Container] [dbo].[ENTITYID] NOT NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + [ObjectId] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + CONSTRAINT [PK_snprc_labwork_panels] PRIMARY KEY CLUSTERED ( - [RowId] ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] -) ON [PRIMARY] -GO - -ALTER TABLE [snprc_ehr].[labwork_panels] ADD DEFAULT (NEWID()) FOR [objectid] + [RowId] ASC + ) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +) ON [PRIMARY]; GO -ALTER TABLE [snprc_ehr].[labwork_panels] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_container] FOREIGN KEY([Container]) -REFERENCES [core].[Containers] ([EntityId]) +ALTER TABLE [snprc_ehr].[labwork_panels] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); GO -ALTER TABLE [snprc_ehr].[labwork_panels] CHECK CONSTRAINT [FK_snprc_labwork_panels_container] +ALTER TABLE [snprc_ehr].[labwork_panels] CHECK CONSTRAINT [FK_snprc_labwork_panels_container]; GO -ALTER TABLE [snprc_ehr].[labwork_panels] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_services] FOREIGN KEY([ServiceId]) -REFERENCES [snprc_ehr].[labwork_services] ([ServiceId]) +ALTER TABLE [snprc_ehr].[labwork_panels] WITH CHECK ADD CONSTRAINT [FK_snprc_labwork_panels_services] FOREIGN KEY([ServiceId]) REFERENCES [snprc_ehr].[labwork_services] ([ServiceId]); GO -ALTER TABLE [snprc_ehr].[labwork_panels] CHECK CONSTRAINT [FK_snprc_labwork_panels_services] +ALTER TABLE [snprc_ehr].[labwork_panels] CHECK CONSTRAINT [FK_snprc_labwork_panels_services]; GO CREATE TABLE [snprc_ehr].[MhcData]( @@ -691,7 +361,7 @@ CREATE TABLE [snprc_ehr].[MhcData]( [OcId] [NVARCHAR](128) NULL, [MhcValue] [nvarchar](128) NULL, [DataFileSource] [nvarchar](4000) NULL, - [ObjectId] nvarchar(128), + [ObjectId] uniqueidentifier NOT NULL DEFAULT NEWID(), [Created] [DATETIME] NULL, [CreatedBy] [dbo].[USERID] NULL, [Modified] [DATETIME] NULL, @@ -708,22 +378,18 @@ CREATE TABLE [snprc_ehr].[MhcData]( go - -ALTER TABLE [snprc_ehr].[MhcData] ADD DEFAULT (NEWID()) FOR [ObjectId] -GO - -ALTER TABLE [snprc_ehr].[MhcData] ADD CONSTRAINT [AK_ID_Haplotype] UNIQUE NONCLUSTERED +ALTER TABLE [snprc_ehr].[MhcData] ADD CONSTRAINT [AK_ID_Haplotype] UNIQUE NONCLUSTERED ( [Id] ASC, [Haplotype] ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, IGNORE_DUP_KEY = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON); GO CREATE TABLE [snprc_ehr].[ValidChargeBySpecies]( [Project] INTEGER NOT NULL, [Species] NVARCHAR(2) NOT NULL, [Purpose] NVARCHAR (2) NOT NULL, - [ObjectId] nvarchar(128), + [ObjectId] uniqueidentifier NOT NULL DEFAULT NEWID(), [Created] [DATETIME] NULL, [CreatedBy] [dbo].[USERID] NULL, [Modified] [DATETIME] NULL, @@ -732,45 +398,16 @@ CREATE TABLE [snprc_ehr].[ValidChargeBySpecies]( [DiModified] [DATETIME] NULL, [DiCreatedBy] [dbo].[USERID] NULL, [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL + Container entityId NOT NULL, + startDate DATETIME NOT NULL DEFAULT GETDATE(), + stopDate DATETIME, - CONSTRAINT PK_snprc_ValidChargeBySpecies PRIMARY KEY ([Project]) + CONSTRAINT PK_snprc_ValidChargeBySpecies PRIMARY KEY CLUSTERED (Project, Species), CONSTRAINT FK_snprc_ValidChargeBySpecies_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - -go - -ALTER TABLE [snprc_ehr].[ValidChargeBySpecies] ADD DEFAULT (NEWID()) FOR [ObjectId] GO EXEC core.fn_dropifexists 'FeeSchedule','snprc_ehr', 'TABLE'; -GO - -CREATE TABLE [snprc_ehr].[FeeSchedule]( - [RowId] [bigint] IDENTITY(1,1) NOT NULL, - [ActivityId] INTEGER NOT NULL, - [Species] NVARCHAR(128) NOT NULL, - [Description] NVARCHAR (256) NOT NULL, - [BudgetYear] NVARCHAR (256) NOT NULL, - [Cost] NUMERIC (9,2) NOT NULL, - [FileName] NVARCHAR (256) NOT NULL, - [ObjectId] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL - - CONSTRAINT PK_snprc_fee_schedule PRIMARY KEY ([RowId]) - CONSTRAINT FK_snprc_fee_Schedule_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -); - -CREATE UNIQUE INDEX idx_snprc_fee_schedule_objectid ON snprc_ehr.feeSchedule (objectid) -CREATE UNIQUE INDEX idx_snprc_fee_schedule_activityId_budgetYear ON snprc_ehr.FeeSchedule (ActivityId, BudgetYear); - -EXEC core.fn_dropifexists 'FeeSchedule','snprc_ehr', 'TABLE'; -EXEC core.fn_dropifexists 'FeeScheduleSpeciesLookup','snprc_ehr', 'TABLE'; -GO CREATE TABLE [snprc_ehr].[FeeSchedule]( [RowId] [bigint] IDENTITY(1,1) NOT NULL, @@ -787,16 +424,19 @@ CREATE TABLE [snprc_ehr].[FeeSchedule]( [CreatedBy] [dbo].[USERID] NULL, [Modified] [DATETIME] NULL, [ModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL + Container entityId NOT NULL - CONSTRAINT PK_snprc_fee_schedule PRIMARY KEY ([RowId]) + CONSTRAINT PK_snprc_fee_schedule PRIMARY KEY ([RowId]), CONSTRAINT FK_snprc_fee_Schedule_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); -CREATE UNIQUE INDEX idx_snprc_fee_schedule_objectid ON snprc_ehr.feeSchedule (objectid) +CREATE UNIQUE INDEX idx_snprc_fee_schedule_objectid ON snprc_ehr.feeSchedule (objectid); CREATE UNIQUE INDEX idx_snprc_fee_schedule_activityId_budgetYear ON snprc_ehr.FeeSchedule (StartingYear, VersionLabel, ActivityId, BudgetYear); GO +EXEC core.fn_dropifexists 'FeeScheduleSpeciesLookup','snprc_ehr', 'TABLE'; +GO + CREATE TABLE [snprc_ehr].[FeeScheduleSpeciesLookup] ( [FsSpecies] [VARCHAR](128) NOT NULL, [SpeciesCode] [VARCHAR](2) NOT NULL, @@ -807,61 +447,14 @@ CREATE TABLE [snprc_ehr].[FeeScheduleSpeciesLookup] ( [ModifiedBy] [dbo].[USERID] NULL, [Container] [dbo].[ENTITYID] NOT NULL - CONSTRAINT [PK_FeeScheduleSpeciesLookup] PRIMARY KEY CLUSTERED ([FsSpecies], [SpeciesCode]) + CONSTRAINT [PK_FeeScheduleSpeciesLookup] PRIMARY KEY CLUSTERED ([FsSpecies], [SpeciesCode]), CONSTRAINT [FK_FeeScheduleSpeciesLookup_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); GO -ALTER TABLE snprc_ehr.package ADD pkgType NVARCHAR(1) not null default 'U'; - -EXEC core.fn_dropifexists 'valid_birth_code','snprc_ehr', 'TABLE'; -EXEC core.fn_dropifexists 'valid_death_code','snprc_ehr', 'TABLE'; - -EXEC core.fn_dropifexists 'LocationTemperature','snprc_ehr', 'TABLE'; - -GO -/************************************* -ObjectId should be populated before insert. - - -srr 02.25.2019 -*************************************/ - -CREATE TABLE [snprc_ehr].[LocationTemperature]( - [Room] [varchar](100) NOT NULL, - [Date] [DATETIME] NOT NULL, - [LowTemperature] [NUMERIC](6, 2) NULL, - [HighTemperature] [NUMERIC](6, 2) NULL, - [Notify] [VARCHAR](18) NULL, - [ObjectId] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), - [user_name] [VARCHAR](128) NOT NULL, - [entry_date_tm] [DATETIME] NOT NULL, - [Container] [entityID] NOT NULL, - [Created] DATETIME, - [CreatedBy] USERID, - [Modified] DATETIME, - [ModifiedBy] USERID - - CONSTRAINT [PK_LocationTemperature] PRIMARY KEY CLUSTERED ([Room] ASC,[Date] ASC) - CONSTRAINT FK_snprc_LocationTemperature_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -) - GO - - -CREATE UNIQUE INDEX idx_snprc_LocationTemperature_objectid ON snprc_ehr.LocationTemperature (ObjectId); -CREATE UNIQUE INDEX idx_snprc_LocationTemperature_Room ON snprc_ehr.LocationTemperature (Room); -GO - EXEC core.fn_dropifexists 'LocationTemperature','snprc_ehr', 'TABLE'; GO -/************************************* -ObjectId should be populated before insert. - - -srr 02.25.2019 ori -srr 02.27.2019 19.11 version -*************************************/ CREATE TABLE [snprc_ehr].[LocationTemperature]( [Room] [varchar](100) NOT NULL, @@ -878,125 +471,45 @@ CREATE TABLE [snprc_ehr].[LocationTemperature]( [diCreatedBy] [dbo].[USERID] NULL, [diModifiedBy] [dbo].[USERID] NULL, [Container] [dbo].[ENTITYID] NOT NULL, - [objectid] [uniqueidentifier] NOT NULL + [objectid] [uniqueidentifier] NOT NULL DEFAULT NEWID(), - CONSTRAINT [PK_LocationTemperature] PRIMARY KEY CLUSTERED ([Room] ASC,[Date] ASC) + CONSTRAINT [PK_LocationTemperature] PRIMARY KEY CLUSTERED ([Room] ASC,[Date] ASC), CONSTRAINT FK_snprc_LocationTemperature_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -) +); GO CREATE UNIQUE INDEX idx_snprc_LocationTemperature_objectid ON snprc_ehr.LocationTemperature (ObjectId); CREATE INDEX idx_snprc_LocationTemperature_Date ON snprc_ehr.LocationTemperature (Date, Room); GO --- Version 12 is replaced by version 13 srr - EXEC core.fn_dropifexists 'ValidDiet','snprc_ehr', 'TABLE'; ---GO; -/*************************************************** -Note: ArcSpeciesCode is null for most rows - therefore not included in PK - PK is composite of Diet and StartDate - - Currently: In legacy table, SnomedCode is - generated using a identity (tid). - - This was refactored to an integer - DietId. - May refactor out or to a counter - value at a later date. - -srr 03.11.2019 ori -***************************************************/ - CREATE TABLE snprc_ehr.ValidDiet( - [Diet] [nvarchar](20) NOT NULL, - [ArcSpeciesCode] [nvarchar](2) NULL, - [StartDate] [datetime] NOT NULL, - [StopDate] [datetime] NULL, - [SnomedCode] [nvarchar](7) NULL, - [DietId] [INTEGER] NOT NULL, - --ObjectId] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), - --[Container] [entityID] NOT NULL, - [Created] DATETIME, - [CreatedBy] USERID, - [Modified] DATETIME, - [ModifiedBy] USERID, - [diCreated] [datetime] NULL, - [diModified] [datetime] NULL, - [diCreatedBy] [dbo].[USERID] NULL, - [diModifiedBy] [dbo].[USERID] NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [objectid] [uniqueidentifier] NOT NULL - CONSTRAINT [PK_ValidDiet] PRIMARY KEY CLUSTERED ([Diet] ASC,[StartDate] ASC) - ) - - go - -EXEC core.fn_dropifexists 'ValidDiet','snprc_ehr', 'TABLE'; - -/***************************************************************** -Note: ArcSpeciesCode is null for most rows -therefore not included in PK -PK is composite of Diet and StartDate - -Currently: In legacy table, SnomedCode is -generated using a identity (tid). -As of 03.18.2019 column is now DietCode. - -This was refactored to an integer -DietId. -May refactor out or to a counter -value at a later date. - -srr 03.11.2019 ori -srr 03.18.2019 To agree w/ naming conventions elsewhere -refactored DietId to DietCode - + [Diet] [nvarchar](20) NOT NULL, + [ArcSpeciesCode] [nvarchar](2) NULL, + [StartDate] [datetime] NOT NULL, + [StopDate] [datetime] NULL, + [SnomedCode] [nvarchar](7) NULL, + [DietCode] [INTEGER] NOT NULL, -- Renamed from DietId + [Created] DATETIME, + [CreatedBy] USERID, + [Modified] DATETIME, + [ModifiedBy] USERID, + [diCreated] [datetime] NULL, + [diModified] [datetime] NULL, + [diCreatedBy] [dbo].[USERID] NULL, + [diModifiedBy] [dbo].[USERID] NULL, + [Container] [dbo].[ENTITYID] NOT NULL, + [objectid] [uniqueidentifier] NOT NULL DEFAULT NEWID(), -******************************************************************/ + CONSTRAINT [PK_ValidDiet] PRIMARY KEY CLUSTERED (Diet) -- Changed primary key +); -CREATE TABLE snprc_ehr.ValidDiet( - [Diet] [nvarchar](20) NOT NULL, - [ArcSpeciesCode] [nvarchar](2) NULL, - [StartDate] [datetime] NOT NULL, - [StopDate] [datetime] NULL, - [SnomedCode] [nvarchar](7) NULL, - [DietCode] [INTEGER] NOT NULL, - --ObjectId] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), - --[Container] [entityID] NOT NULL, - [Created] DATETIME, - [CreatedBy] USERID, - [Modified] DATETIME, - [ModifiedBy] USERID, - [diCreated] [datetime] NULL, - [diModified] [datetime] NULL, - [diCreatedBy] [dbo].[USERID] NULL, - [diModifiedBy] [dbo].[USERID] NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [objectid] [uniqueidentifier] NOT NULL - CONSTRAINT [PK_ValidDiet] PRIMARY KEY CLUSTERED ([Diet] ASC,[StartDate] ASC) - ) - --- will need to be changed if we begin to use Diet instead of SnomedCode srr CREATE UNIQUE INDEX idx_ValidDiet_SnomedCode_StartStopDate ON snprc_ehr.ValidDiet(SnomedCode, StartDate, StopDate); - go - -/********************************************************* -Valids for diagnosis (DX) taken from legacy DB. - Likely needs refactoring. - Will no do now. - srr - -*********************************************************/ - - +go EXEC core.fn_dropifexists 'ValidDXGroup','snprc_ehr', 'TABLE'; ---srr 07.17.19 - CREATE TABLE snprc_ehr.ValidDXGroup ( DXGroup VARCHAR(30) NOT NULL, @@ -1009,14 +522,13 @@ CREATE TABLE snprc_ehr.ValidDXGroup diCreatedBy dbo.USERID NULL, diModifiedBy dbo.USERID NULL, Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL - CONSTRAINT PK_ValidDXGroup PRIMARY KEY CLUSTERED (DXGroup ASC) -) + objectid uniqueidentifier NOT NULL DEFAULT NEWID(), + CONSTRAINT PK_ValidDXGroup PRIMARY KEY CLUSTERED (DXGroup ASC) +); EXEC core.fn_dropifexists 'ValidDXList','snprc_ehr', 'TABLE'; - --srr 07.17.19 CREATE TABLE snprc_ehr.ValidDXList @@ -1032,9 +544,10 @@ CREATE TABLE snprc_ehr.ValidDXList diCreatedBy dbo.USERID NULL, diModifiedBy dbo.USERID NULL, Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL - CONSTRAINT PK_ValidDXList PRIMARY KEY CLUSTERED (DXGroup ASC, DX ASC) -) + objectid uniqueidentifier NOT NULL DEFAULT NEWID(), + + CONSTRAINT PK_ValidDXList PRIMARY KEY CLUSTERED (DXGroup ASC, DX ASC) +); EXEC core.fn_dropifexists 'ValidVaccines','snprc_ehr', 'TABLE'; @@ -1052,182 +565,46 @@ CREATE TABLE snprc_ehr.ValidVaccines diCreatedBy dbo.USERID NULL, diModifiedBy dbo.USERID NULL, Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL - CONSTRAINT PK_ValidVaccine PRIMARY KEY CLUSTERED (Vaccine ASC) -) - --- adding species to the PK -ALTER TABLE snprc_ehr.ValidChargeBySpecies - DROP CONSTRAINT PK_snprc_ValidChargeBySpecies -GO - -ALTER TABLE snprc_ehr.ValidChargeBySpecies ADD CONSTRAINT - PK_snprc_ValidChargeBySpecies PRIMARY KEY CLUSTERED -( - Project, - Species -) - -GO - -/******************************************************* -New table to load data from new animal wizard. - Data will be ETLed back down to animal database - -srr 01.28.2020 - - May not use all columns. - I defaulted to nvarchar(400) if unsure of datatype. - May need to change databypes to match those in lookup tables. + objectid uniqueidentifier NOT NULL DEFAULT NEWID(), -*******************************************************/ + CONSTRAINT PK_ValidVaccine PRIMARY KEY CLUSTERED (Vaccine ASC) +); EXEC core.fn_dropifexists 'NewAnimalData','snprc_ehr', 'TABLE'; CREATE TABLE snprc_ehr.NewAnimalData ( - Id NVARCHAR(32) NOT NULL, - BirthDate DATETIME NULL, - AcquisitionType INT NULL, - AcqDate DATETIME NULL, -- Will use for all start dates in this dataset - Gender NVARCHAR(10) NULL, --gender nvarchar(4000) - Sire NVARCHAR(32) NULL, - Dam NVARCHAR(32) NULL, - Species NVARCHAR(3) NULL, -- species, nvarchar(4000) - Colony NVARCHAR(400) NULL, - AnimalAccount NVARCHAR(400) NULL, - OwnerInstitution INT NULL, -- lookup snprc_ehr.validInstitutions - ResponsibleInstitution INT NULL, -- likely same as owner - Location NVARCHAR(400) NULL, - Diet NVARCHAR(400) NULL, - Pedigree NVARCHAR(400) NULL, - IACUC NVARCHAR(400) NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified DATETIME NULL, - ModifiedBy dbo.USERID NULL, - DiCreated DATETIME NULL, - DiModified DATETIME NULL, - DiCreatedBy dbo.USERID NULL, - DiModifiedBy dbo.USERID NULL, - Container ENTITYID NOT NULL, - objectid UNIQUEIDENTIFIER NOT NULL - CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) -); ---[DeliveryType] [nvarchar](400) NULL, ---[BirthNature] [nvarchar](400) NULL, ---[AcquireType] [nvarchar](400) NULL, - - -/* -Species, -Acq_code, -id_type, -institution_id, -colony, -delivery_type, -birth_nature, -acquire_type, -animalAccounts, -location, -IACUC fields, -pedigree, -diet - */ - - - -go - -ALTER TABLE snprc_ehr.ValidChargeBySpecies ADD startDate DATETIME NOT NULL DEFAULT GETDATE(); -ALTER TABLE snprc_ehr.ValidChargeBySpecies ADD stopDate DATETIME; - -/******************************************************* -New table to load data from new animal wizard. - Data will be ETLed back down to animal database - -srr 01.28.2020 - - May not use all columns. - I defaulted to nvarchar(400) if unsure of datatype. - May need to change databypes to match those in lookup tables. - -srr 03.09.2020 version 20.003 -Changed to ints for values that have a dropdown. - No Real data, therefore dropping table and re-recreating. -*******************************************************/ - -EXEC core.fn_dropifexists 'NewAnimalData','snprc_ehr', 'TABLE'; - - - -CREATE TABLE [snprc_ehr].[NewAnimalData]( - [Id] [nvarchar](32) NOT NULL, - [BirthDate] [datetime] NULL, - [AcquisitionType] [int] NULL, - [AcqDate] [datetime] NULL, - [Gender] [nvarchar](10) NULL, - [Sire] [nvarchar](32) NULL, - [Dam] [nvarchar](32) NULL, - [Species] [nvarchar](3) NULL, - [Colony] [int] NULL, - [AnimalAccount] [int] NULL, - [OwnerInstitution] [int] NULL, - [ResponsibleInstitution] [int] NULL, - [Room] [int] NULL, - [Cage] [int] NULL, - [Diet] [int] NULL, - [Pedigree] [int] NULL, - [IACUC] [int] NULL, - [Created] [datetime] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [datetime] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [objectid] [uniqueidentifier] NOT NULL, - CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) -); - --- generated w/o issue from SSMS srr 04.10.20 --- schemas/dbscripts/sqlserver/snprc_ehr-20.003-20.004.sql -EXEC core.fn_dropifexists 'BehaviorNotificationComment','snprc_ehr', 'TABLE'; - + Id nvarchar(32) NOT NULL, + BirthDate datetime NULL, + BirthCode int NULL, + AcquisitionType int NULL, + AcqDate datetime NULL, + SourceInstitutionLocation nvarchar(10) NULL, + Gender nvarchar(10) NULL, + Sire nvarchar(32) NULL, + Dam nvarchar(32) NULL, + Species nvarchar(3) NULL, + Colony int NULL, + AnimalAccount nvarchar(16) NULL, + OwnerInstitution int NULL, + ResponsibleInstitution int NULL, + Room int NULL, + Cage int NULL, + Diet nvarchar(20) NULL, + Pedigree int NULL, + IACUC nvarchar(200) NULL, + Created datetime NULL, + CreatedBy dbo.USERID NULL, + Modified datetime NULL, + ModifiedBy dbo.USERID NULL, + Container dbo.ENTITYID NOT NULL, + objectid uniqueidentifier NOT NULL DEFAULT NEWID(), -CREATE TABLE snprc_ehr.BehaviorNotificationComment -( - NotificationNumber INT NOT NULL, - NotificationDateTm DATETIME NOT NULL, - BehaviorId INT NOT NULL, - NotificationStatus INT NOT NULL, - CaseNumber INT NULL, - NotificationComments VARCHAR(255) NULL, - SuspiciousBehavior CHAR(1) NOT NULL, - Sib CHAR(1) NOT NULL, - HousingType INT NULL, - Behavior VARCHAR(30) NOT NULL, - AbnormalFlag CHAR(1) NOT NULL, - BehaviorDescription VARCHAR(200) NOT NULL, - BehaviorCategory VARCHAR(40) NULL, - BehaviorComments VARCHAR(200) NULL, - Container ENTITYID NOT NULL, - Created DATETIME NULL, - CreatedBy USERID NULL, - ModifiedBy USERID NULL, - Modified DATETIME NULL, - DiCreatedBy USERID NULL, - DiCreated DATETIME NULL, - DiModifiedBy USERID NULL, - DiModified DATETIME NULL, - ObjectId UNIQUEIDENTIFIER NULL, - CONSTRAINT PK_BehaviorNotiComment PRIMARY KEY (NotificationNumber) + CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) ); --- generated w/o issue from SSMS srr 04.10.20 --- schemas/dbscripts/sqlserver/snprc_ehr-20.003-20.004.sql --- changed pk to tid idenity EXEC core.fn_dropifexists 'BehaviorNotificationComment','snprc_ehr', 'TABLE'; - CREATE TABLE snprc_ehr.BehaviorNotificationComment ( NotificationNumber INT NOT NULL, @@ -1254,13 +631,13 @@ CREATE TABLE snprc_ehr.BehaviorNotificationComment DiModifiedBy USERID NULL, DiModified DATETIME NULL, tid INT IDENTITY, - objectid UNIQUEIDENTIFIER NULL - CONSTRAINT PK_BehaviorNotiComment_oid PRIMARY KEY (tid) + objectid UNIQUEIDENTIFIER NULL DEFAULT NEWID(), + + CONSTRAINT PK_BehaviorNotiComment_oid PRIMARY KEY (tid) ); EXEC core.fn_dropifexists 'ValidDefaultIACUC','snprc_ehr', 'TABLE'; - CREATE TABLE snprc_ehr.validDefaultIACUC ( WorkingIacuc varchar(7) NOT NULL, @@ -1277,143 +654,11 @@ CREATE TABLE snprc_ehr.validDefaultIACUC DiCreated DATETIME NULL, DiModifiedBy USERID NULL, DiModified DATETIME NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL - CONSTRAINT PK_ValidDefaultIACUC PRIMARY KEY (WorkingIacuc) -); - -/******************************************************* -New table to load data from new animal wizard. - Data will be ETLed back down to animal database - -srr 01.28.2020 - - May not use all columns. - I defaulted to nvarchar(400) if unsure of datatype. - May need to change datatypes to match those in lookup tables. - -srr 03.09.2020 version 20.003 - Changed to ints for values that have a dropdown. - No Real data, therefore dropping table and re-recreating. -srr 06.08.2020 version 20.007 - Added column for BirthCode. - 1 DOB accurate - 2 Month-Year accurate - 3 Year accurate - No Real data, therefore dropping table and re-recreating. -*******************************************************/ + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), -EXEC core.fn_dropifexists 'NewAnimalData','snprc_ehr', 'TABLE'; - - -CREATE TABLE snprc_ehr.NewAnimalData -( - Id nvarchar(32) NOT NULL, - BirthDate datetime NULL, - BirthCode int NULL, - AcquisitionType int NULL, - AcqDate datetime NULL, - Gender nvarchar(10) NULL, - Sire nvarchar(32) NULL, - Dam nvarchar(32) NULL, - Species nvarchar(3) NULL, - Colony int NULL, - AnimalAccount int NULL, - OwnerInstitution int NULL, - ResponsibleInstitution int NULL, - Room int NULL, - Cage int NULL, - Diet int NULL, - Pedigree int NULL, - IACUC int NULL, - Created datetime NULL, - CreatedBy dbo.USERID NULL, - Modified datetime NULL, - ModifiedBy dbo.USERID NULL, - Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL, - CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) -); - -/****************************************************** -Change ValidDiet PK -Script generated by SSMS -srr 06.16.2020 -******************************************************/ -ALTER TABLE snprc_ehr.ValidDiet - DROP CONSTRAINT PK_ValidDiet - GO -ALTER TABLE snprc_ehr.ValidDiet ADD CONSTRAINT - PK_ValidDiet PRIMARY KEY CLUSTERED -( - Diet -) - -GO -ALTER TABLE snprc_ehr.ValidDiet SET (LOCK_ESCALATION = TABLE) -GO - -/******************************************************* -New table to load data from new animal wizard. - Data will be ETLed back down to animal database - -srr 01.28.2020 - - May not use all columns. - I defaulted to nvarchar(400) if unsure of datatype. - May need to change datatypes to match those in lookup tables. - -srr 03.09.2020 version 20.003 - Changed to ints for values that have a dropdown. - No Real data, therefore dropping table and re-recreating. -srr 06.08.2020 version 20.007 - Added column for BirthCode. - 1 DOB accurate - 2 Month-Year accurate - 3 Year accurate - No Real data, therefore dropping table and re-recreating. - - srr 06.24.2020 - Changed Diet, AnimalAccount and IACUC to strings -*******************************************************/ - -EXEC core.fn_dropifexists 'NewAnimalData','snprc_ehr', 'TABLE'; - - -CREATE TABLE snprc_ehr.NewAnimalData -( - Id nvarchar(32) NOT NULL, - BirthDate datetime NULL, - BirthCode int NULL, - AcquisitionType int NULL, - AcqDate datetime NULL, - Gender nvarchar(10) NULL, - Sire nvarchar(32) NULL, - Dam nvarchar(32) NULL, - Species nvarchar(3) NULL, - Colony int NULL, - AnimalAccount nvarchar(16) NULL, - OwnerInstitution int NULL, - ResponsibleInstitution int NULL, - Room int NULL, - Cage int NULL, - Diet nvarchar(20) NULL, - Pedigree int NULL, - IACUC nvarchar(200) NULL, - Created datetime NULL, - CreatedBy dbo.USERID NULL, - Modified datetime NULL, - ModifiedBy dbo.USERID NULL, - Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL, - CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) + CONSTRAINT PK_ValidDefaultIACUC PRIMARY KEY (WorkingIacuc) ); -/******************************************************* -Counters table for SNPRC_EHRSequencer - Creator: thawkins - Date: 08/21/2020 -*******************************************************/ - CREATE TABLE snprc_ehr.Counters ( RowId INT IDENTITY(1,1) NOT NULL, @@ -1429,10 +674,6 @@ GO CREATE UNIQUE INDEX idx_snprc_container_NameValue ON snprc_ehr.Counters (Container, Name, Value); GO -/* - * New table to track number of animals allowed and assigned to IACUC protocols - * 9/25/2020 tjh - */ EXEC core.fn_dropifexists 'IacucAssignmentStats','snprc_ehr', 'TABLE'; CREATE TABLE snprc_ehr.IacucAssignmentStats @@ -1451,15 +692,12 @@ CREATE TABLE snprc_ehr.IacucAssignmentStats diModified DATETIME, diCreatedBy USERID, diModifiedBy USERID, - Container entityId NOT NULL + Container entityId NOT NULL, + CONSTRAINT PK_IacucAssignmentStats PRIMARY KEY CLUSTERED ( WorkingIacuc ASC, ThreeYearPeriod ASC ), CONSTRAINT FK_IacucAssignmentsStats_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) -) +); -/* - * New table to configure external reports - * - */ EXEC core.fn_dropifexists 'ExternalReports','snprc_ehr', 'TABLE'; CREATE TABLE snprc_ehr.ExternalReports @@ -1474,126 +712,167 @@ CREATE TABLE snprc_ehr.ExternalReports Created DATETIME DEFAULT GETDATE(), Modified DATETIME DEFAULT GETDATE(), CreatedBy USERID, - ModifiedBy USERID - CONSTRAINT PK_ExternalReports PRIMARY KEY CLUSTERED ( Id ASC) -) + ModifiedBy USERID, -/* 21.xxx SQL scripts */ + CONSTRAINT PK_ExternalReports PRIMARY KEY CLUSTERED ( Id ASC) +); -/******************************************************* -New table to load data from new animal wizard. - Data will be ETLed back down to animal database +EXEC core.fn_dropifexists @objname = 'HL7_IMPORT_LOG',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -srr 01.28.2020 +CREATE TABLE [snprc_ehr].[HL7_IMPORT_LOG]( + [TID] [NUMERIC](18, 0) IDENTITY(1,1) NOT NULL, + [MESSAGE_ID] [VARCHAR](50) NOT NULL, + [OBSERVATION_DATE_TM] [DATETIME] NULL, + [MESSAGE_CONTROL_ID] [VARCHAR](50) NULL, + [IMPORT_STATUS] [INT] NOT NULL, + [RESULT_STATUS] [VARCHAR](10) NULL, + [PATIENT_ID] [VARCHAR](20) NULL, + [SPECIES] [VARCHAR](50) NULL, + [HL7_MESSAGE_TEXT] [VARCHAR](MAX) NULL, + [IMPORT_TEXT] [VARCHAR](MAX) NULL, + [Container] [dbo].[ENTITYID] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), + [TIMESTAMP] [TIMESTAMP] NULL, + CONSTRAINT [PK_HL7_IMPORT_LOG] PRIMARY KEY CLUSTERED +( +[TID] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON), + CONSTRAINT [CKC_HL7_IMPORT_LOG_OBSERVATION_DATE] CHECK (([OBSERVATION_DATE_TM] IS NULL OR [OBSERVATION_DATE_TM]<=GETDATE())) + ); +GO - May not use all columns. - I defaulted to nvarchar(400) if unsure of datatype. - May need to change datatypes to match those in lookup tables. +ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] WITH CHECK ADD CONSTRAINT [FK_HL7_IMPORT_LOG_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO -srr 03.09.2020 version 20.003 - Changed to ints for values that have a dropdown. - No Real data, therefore dropping table and re-recreating. -srr 06.08.2020 version 20.007 - Added column for BirthCode. - 1 DOB accurate - 2 Month-Year accurate - 3 Year accurate - No Real data, therefore dropping table and re-recreating. +EXEC core.fn_dropifexists @objname = 'HL7_OBX',@objschema = 'snprc_ehr', @objtype = 'TABLE'; - srr 06.24.2020 - Changed Diet, AnimalAccount and IACUC to strings - srr 04012021 version 21.000 -*******************************************************/ +CREATE TABLE [snprc_ehr].[HL7_OBX]( + [MESSAGE_ID] [VARCHAR](50) NOT NULL, + [IDX] [INT] NOT NULL, + [OBR_OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, + [SET_ID] [VARCHAR](20) NOT NULL, + [OBR_SET_ID] [VARCHAR](20) NOT NULL, + [VALUE_TYPE] [VARCHAR](10) NULL, + [TEST_ID] [VARCHAR](20) NULL, + [TEST_NAME] [VARCHAR](50) NULL, + [serviceTestId] [UNIQUEIDENTIFIER] NULL, + [QUALITATIVE_RESULT] [VARCHAR](MAX) NULL, + [RESULT] [VARCHAR](MAX) NULL, + [UNITS] [VARCHAR](20) NULL, + [REFERENCE_RANGE] [VARCHAR](60) NULL, + [ABNORMAL_FLAGS] [VARCHAR](10) NULL, + [RESULT_STATUS] [VARCHAR](10) NULL, + [Container] [dbo].[ENTITYID] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), + [TIMESTAMP] [TIMESTAMP] NULL, + CONSTRAINT [PK_HL7_OBX] PRIMARY KEY CLUSTERED +( + [OBJECT_ID] +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); +GO -EXEC core.fn_dropifexists 'NewAnimalData','snprc_ehr', 'TABLE'; +CREATE NONCLUSTERED INDEX [IDX_HL7_OBX_OBR_OBJ_ID] ON [snprc_ehr].[HL7_OBX] +( + [OBR_OBJECT_ID] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]; +GO +ALTER TABLE [snprc_ehr].[HL7_OBX] WITH CHECK ADD CONSTRAINT [FK_HL7_OBX_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO -CREATE TABLE snprc_ehr.NewAnimalData -( - Id nvarchar(32) NOT NULL, - BirthDate datetime NULL, - BirthCode int NULL, - AcquisitionType int NULL, - AcqDate datetime NULL, - SourceInstitutionLocation nvarchar(10) NULL, - Gender nvarchar(10) NULL, - Sire nvarchar(32) NULL, - Dam nvarchar(32) NULL, - Species nvarchar(3) NULL, - Colony int NULL, - AnimalAccount nvarchar(16) NULL, - OwnerInstitution int NULL, - ResponsibleInstitution int NULL, - Room int NULL, - Cage int NULL, - Diet nvarchar(20) NULL, - Pedigree int NULL, - IACUC nvarchar(200) NULL, - Created datetime NULL, - CreatedBy dbo.USERID NULL, - Modified datetime NULL, - ModifiedBy dbo.USERID NULL, - Container dbo.ENTITYID NOT NULL, - objectid uniqueidentifier NOT NULL, - CONSTRAINT PK_snprc_NEWANIMALDATA PRIMARY KEY (Id) -); +EXEC core.fn_dropifexists @objname = 'HL7_NTE',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -/* 22.xxx SQL scripts */ +CREATE TABLE [snprc_ehr].[HL7_NTE]( + [MESSAGE_ID] [VARCHAR](50) NOT NULL, + [IDX] [INT] NOT NULL, + [OBR_OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, + [SET_ID] [VARCHAR](20) NOT NULL, + [OBR_SET_ID] [VARCHAR](20) NOT NULL, + [COMMENT] [VARCHAR](MAX) NULL, + [Container] [dbo].[ENTITYID] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), + [TIMESTAMP] [TIMESTAMP] NULL, + CONSTRAINT [PK_HL7_NTE] PRIMARY KEY CLUSTERED +( + [OBJECT_ID] ASC -/******************************************************* -New tables for Orchard clinical path data integration via HL7 -05/19/22 - Terry Hawkins -*/ +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); +GO -/* - Drop tables if they already exist -*/ +ALTER TABLE [snprc_ehr].[HL7_NTE] WITH CHECK ADD CONSTRAINT [FK_HL7_NTE_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO + +CREATE NONCLUSTERED INDEX [IDX_HL7_NTE_OBR_OBJ_ID] ON [snprc_ehr].[HL7_NTE] +( + [OBR_OBJECT_ID] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]; +GO -EXEC core.fn_dropifexists @objname = 'HL7_IMPORT_LOG',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_OBX',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_NTE',@objschema = 'snprc_ehr', @objtype = 'TABLE'; EXEC core.fn_dropifexists @objname = 'HL7_OBR',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_PID',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_PV1',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_ORC',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_MSH',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'f_isNumeric',@objschema = 'snprc_ehr', @objtype = 'FUNCTION'; -CREATE TABLE [snprc_ehr].[HL7_MSH]( +CREATE TABLE [snprc_ehr].[HL7_OBR]( [MESSAGE_ID] [VARCHAR](50) NOT NULL, + [MESSAGE_CONTROL_ID] [VARCHAR](50) NOT NULL, [IDX] [INT] NOT NULL, - [SENDING_APPLICATION] [VARCHAR](50) NULL, - [SENDING_FACILITY] [VARCHAR](50) NULL, - [RECEIVING_APPLICATION] [VARCHAR](50) NULL, - [RECEIVING_FACILITY] [VARCHAR](50) NULL, - [MESSAGE_TYPE] [VARCHAR](50) NULL, -- MSH_F9_C1 - [TRIGGER_EVENT_ID][VARCHAR](50) NULL, -- MSH_F9_C2 - [MESSAGE_CONTROL_ID] [VARCHAR](50) NULL, - [MESSAGE_DATE_TM] [DATETIME] NULL, + [ANIMAL_ID] [VARCHAR](6) NOT NULL, + [VERIFIED_DATE_TM] [DATETIME] NULL, + [REQUESTED_DATE_TM] [DATETIME] NULL, + [OBSERVATION_DATE_TM] [DATETIME] NULL, + [SPECIMEN_RECEIVED_DATE_TM] [DATETIME] NULL, + [PV1_VISIT_NUM] [VARCHAR](50) NULL, + [SET_ID] [VARCHAR](20) NOT NULL, + [SPECIMEN_NUM] [VARCHAR](50) NULL, + [PROCEDURE_ID] [VARCHAR](20) NULL, + [PROCEDURE_NAME] [VARCHAR](200) NULL, -- Increased size from VARCHAR(50) + [PRIORITY] [VARCHAR](10) NULL, + [RESULT_STATUS] [VARCHAR](10) NULL, + [TECHNICIAN_FIRST_NAME] [VARCHAR](50) NULL, + [TECHNICIAN_LAST_NAME] [VARCHAR](50) NULL, + [CHARGE_ID] [INT] NULL, [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), [TIMESTAMP] [TIMESTAMP] NULL, - CONSTRAINT [PK_HL7_MSH] PRIMARY KEY CLUSTERED + CONSTRAINT [PK_HL7_OBR] PRIMARY KEY CLUSTERED ( - [MESSAGE_ID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ) - GO + [OBJECT_ID] +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON), + CONSTRAINT [CKC_ENTRY_DATE_TM_HL7_OBR_OBR] CHECK (([ENTRY_DATE_TM]<=GETDATE())) +); +GO -ALTER TABLE [snprc_ehr].[HL7_MSH] ADD CONSTRAINT [DF_HL7_MSH_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO +CREATE NONCLUSTERED INDEX [IDX_HL7_OBR_ID_DATE] ON [snprc_ehr].[HL7_OBR] +( + [ANIMAL_ID] ASC, + [OBSERVATION_DATE_TM] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]; +GO -ALTER TABLE [snprc_ehr].[HL7_MSH] ADD CONSTRAINT [DF_HL7_MSH_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO +ALTER TABLE [snprc_ehr].[HL7_OBR] WITH CHECK ADD CONSTRAINT [FK_HL7_OBR_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO + +ALTER TABLE [snprc_ehr].[HL7_OBX] WITH CHECK ADD CONSTRAINT [FK_OBX_REF_OBR] FOREIGN KEY([OBR_OBJECT_ID]) REFERENCES [snprc_ehr].[HL7_OBR] ([OBJECT_ID]); +GO + +ALTER TABLE [snprc_ehr].[HL7_OBX] CHECK CONSTRAINT [FK_OBX_REF_OBR]; +GO + +ALTER TABLE [snprc_ehr].[HL7_NTE] WITH CHECK ADD CONSTRAINT [FK_NTE_REF_OBR] FOREIGN KEY([OBR_OBJECT_ID]) REFERENCES [snprc_ehr].[HL7_OBR] ([OBJECT_ID]); +GO -ALTER TABLE [snprc_ehr].[HL7_MSH] ADD CONSTRAINT [DF_HL7_MSH_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO +ALTER TABLE [snprc_ehr].[HL7_NTE] CHECK CONSTRAINT [FK_NTE_REF_OBR]; +GO -ALTER TABLE [snprc_ehr].[HL7_MSH] WITH CHECK ADD CONSTRAINT [FK_HL7_MSH_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO +EXEC core.fn_dropifexists @objname = 'HL7_PID',@objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE [snprc_ehr].[HL7_PID]( [MESSAGE_ID] [VARCHAR](50) NOT NULL, @@ -1608,43 +887,28 @@ CREATE TABLE [snprc_ehr].[HL7_PID]( [ACCOUNT_NUMBER] [VARCHAR] (50) NULL, --F18_C1 [DEATH_DATE] [VARCHAR] (50) NULL, -- F29_C1 [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), [TIMESTAMP] [TIMESTAMP] NULL, CONSTRAINT [PK_HL7_PID] PRIMARY KEY CLUSTERED ( -[MESSAGE_ID] ASC, -[IDX] -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ) - GO - -ALTER TABLE [snprc_ehr].[HL7_PID] ADD CONSTRAINT [DF_HL7_PID_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_PID] ADD CONSTRAINT [DF_HL7_PID_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_PID] ADD CONSTRAINT [DF_HL7_PID_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_PID] WITH CHECK ADD CONSTRAINT [FK_PID_REF_MSH] FOREIGN KEY([MESSAGE_ID]) - REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]) - GO + [MESSAGE_ID] ASC, + [IDX] +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ); +GO CREATE NONCLUSTERED INDEX [IDX_HL7_PID_ID] ON [snprc_ehr].[HL7_PID] ( - [PATIENT_ID_EXTERNAL] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] + [PATIENT_ID_EXTERNAL] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]; GO -ALTER TABLE [snprc_ehr].[HL7_PID] CHECK CONSTRAINT [FK_PID_REF_MSH] - GO +ALTER TABLE [snprc_ehr].[HL7_PID] WITH CHECK ADD CONSTRAINT [FK_HL7_PID_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO -ALTER TABLE [snprc_ehr].[HL7_PID] WITH CHECK ADD CONSTRAINT [FK_HL7_PID_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO +EXEC core.fn_dropifexists @objname = 'HL7_PV1',@objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE [snprc_ehr].[HL7_PV1]( [MESSAGE_ID] [VARCHAR](50) NOT NULL, @@ -1657,37 +921,22 @@ CREATE TABLE [snprc_ehr].[HL7_PV1]( [CHARGE_NUMBER] [VARCHAR] (20) NULL, -- F22_C1 (Courtesy Code) [ADMIT_DATE] [DATETIME] NULL, --F44_C1 [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), [TIMESTAMP] [TIMESTAMP] NULL, CONSTRAINT [PK_HL7_PV1] PRIMARY KEY CLUSTERED ( [MESSAGE_ID] ASC, -[IDX] -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ) - GO - -ALTER TABLE [snprc_ehr].[HL7_PV1] ADD CONSTRAINT [DF_HL7_PV1_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_PV1] ADD CONSTRAINT [DF_HL7_PV1_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_PV1] ADD CONSTRAINT [DF_HL7_PV1_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_PV1] WITH CHECK ADD CONSTRAINT [FK_PV1_REF_MSH] FOREIGN KEY([MESSAGE_ID]) - REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]) - GO + [IDX] +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ); +GO -ALTER TABLE [snprc_ehr].[HL7_PV1] CHECK CONSTRAINT [FK_PV1_REF_MSH] - GO +ALTER TABLE [snprc_ehr].[HL7_PV1] WITH CHECK ADD CONSTRAINT [FK_HL7_PV1_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); +GO -ALTER TABLE [snprc_ehr].[HL7_PV1] WITH CHECK ADD CONSTRAINT [FK_HL7_PV1_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO +EXEC core.fn_dropifexists @objname = 'HL7_ORC',@objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE [snprc_ehr].[HL7_ORC]( [MESSAGE_ID] [VARCHAR](50) NOT NULL, @@ -1703,414 +952,190 @@ CREATE TABLE [snprc_ehr].[HL7_ORC]( [CALLBACK_EMAIL] [VARCHAR](50) NULL, -- F14_C3 [ORDER_DATE] [DATETIME] NULL, -- F15_C1 [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), [TIMESTAMP] [TIMESTAMP] NULL, CONSTRAINT [PK_HL7_ORC] PRIMARY KEY CLUSTERED ( [MESSAGE_ID] ASC, -[IDX] -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ) - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] ADD CONSTRAINT [DF_HL7_ORC_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] ADD CONSTRAINT [DF_HL7_ORC_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] ADD CONSTRAINT [DF_HL7_ORC_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] WITH CHECK ADD CONSTRAINT [FK_ORC_REF_MSH] FOREIGN KEY([MESSAGE_ID]) - REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]) - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] CHECK CONSTRAINT [FK_ORC_REF_MSH] - GO - -ALTER TABLE [snprc_ehr].[HL7_ORC] WITH CHECK ADD CONSTRAINT [FK_HL7_ORC_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO - -CREATE TABLE [snprc_ehr].[HL7_OBR]( - [MESSAGE_ID] [VARCHAR](50) NOT NULL, - [MESSAGE_CONTROL_ID] [VARCHAR](50) NOT NULL, - [IDX] [INT] NOT NULL, - [ANIMAL_ID] [VARCHAR](6) NOT NULL, - [VERIFIED_DATE_TM] [DATETIME] NULL, - [REQUESTED_DATE_TM] [DATETIME] NULL, - [OBSERVATION_DATE_TM] [DATETIME] NULL, - [SPECIMEN_RECEIVED_DATE_TM] [DATETIME] NULL, - [PV1_VISIT_NUM] [VARCHAR](50) NULL, - [SET_ID] [VARCHAR](20) NOT NULL, - [SPECIMEN_NUM] [VARCHAR](50) NULL, - [PROCEDURE_ID] [VARCHAR](20) NULL, - [PROCEDURE_NAME] [VARCHAR](50) NULL, - [PRIORITY] [VARCHAR](10) NULL, - [RESULT_STATUS] [VARCHAR](10) NULL, - [TECHNICIAN_FIRST_NAME] [VARCHAR](50) NULL, - [TECHNICIAN_LAST_NAME] [VARCHAR](50) NULL, - [CHARGE_ID] [INT] NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, - [TIMESTAMP] [TIMESTAMP] NULL, - CONSTRAINT [PK_HL7_OBR] PRIMARY KEY CLUSTERED -( -[OBJECT_ID] -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) + [IDX] +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ); GO -ALTER TABLE [snprc_ehr].[HL7_OBR] ADD CONSTRAINT [DF_HL7_OBR_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] ADD CONSTRAINT [DF_HL7_OBR_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] ADD CONSTRAINT [DF_HL7_OBR_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] WITH CHECK ADD CONSTRAINT [CKC_ENTRY_DATE_TM_HL7_OBR_OBR] CHECK (([ENTRY_DATE_TM]<=GETDATE())) - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] CHECK CONSTRAINT [CKC_ENTRY_DATE_TM_HL7_OBR_OBR] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] WITH CHECK ADD CONSTRAINT [FK_OBR_REF_MSH] FOREIGN KEY([MESSAGE_ID]) - REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]) - GO - -ALTER TABLE [snprc_ehr].[HL7_OBR] CHECK CONSTRAINT [FK_OBR_REF_MSH] - GO - -CREATE NONCLUSTERED INDEX [IDX_HL7_OBR_ID_DATE] ON [snprc_ehr].[HL7_OBR] -( - [ANIMAL_ID] ASC, - [OBSERVATION_DATE_TM] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +ALTER TABLE [snprc_ehr].[HL7_ORC] WITH CHECK ADD CONSTRAINT [FK_HL7_ORC_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); GO -ALTER TABLE [snprc_ehr].[HL7_OBR] WITH CHECK ADD CONSTRAINT [FK_HL7_OBR_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO +EXEC core.fn_dropifexists @objname = 'HL7_MSH',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -CREATE TABLE [snprc_ehr].[HL7_OBX]( +CREATE TABLE [snprc_ehr].[HL7_MSH]( [MESSAGE_ID] [VARCHAR](50) NOT NULL, [IDX] [INT] NOT NULL, - [OBR_OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [SET_ID] [VARCHAR](20) NOT NULL, - [OBR_SET_ID] [VARCHAR](20) NOT NULL, - [VALUE_TYPE] [VARCHAR](10) NULL, - [TEST_ID] [VARCHAR](20) NULL, - [TEST_NAME] [VARCHAR](50) NULL, - [serviceTestId] [UNIQUEIDENTIFIER] NULL, - [QUALITATIVE_RESULT] [VARCHAR](MAX) NULL, - [RESULT] [VARCHAR](MAX) NULL, - [UNITS] [VARCHAR](20) NULL, - [REFERENCE_RANGE] [VARCHAR](60) NULL, - [ABNORMAL_FLAGS] [VARCHAR](10) NULL, - [RESULT_STATUS] [VARCHAR](10) NULL, + [SENDING_APPLICATION] [VARCHAR](50) NULL, + [SENDING_FACILITY] [VARCHAR](50) NULL, + [RECEIVING_APPLICATION] [VARCHAR](50) NULL, + [RECEIVING_FACILITY] [VARCHAR](50) NULL, + [MESSAGE_TYPE] [VARCHAR](50) NULL, -- MSH_F9_C1 + [TRIGGER_EVENT_ID][VARCHAR](50) NULL, -- MSH_F9_C2 + [MESSAGE_CONTROL_ID] [VARCHAR](50) NULL, + [MESSAGE_DATE_TM] [DATETIME] NULL, [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, + [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL DEFAULT NEWID(), + [USER_NAME] [VARCHAR](128) NOT NULL DEFAULT USER_NAME(), + [ENTRY_DATE_TM] [DATETIME] NOT NULL DEFAULT GETDATE(), [TIMESTAMP] [TIMESTAMP] NULL, - CONSTRAINT [PK_HL7_OBX] PRIMARY KEY CLUSTERED + CONSTRAINT [PK_HL7_MSH] PRIMARY KEY CLUSTERED ( - [OBJECT_ID] -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) + [MESSAGE_ID] ASC +) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) + ); GO -ALTER TABLE [snprc_ehr].[HL7_OBX] ADD CONSTRAINT [DF_HL7_OBX_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBX] ADD CONSTRAINT [DF_HL7_OBX_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBX] ADD CONSTRAINT [DF_HL7_OBX_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_OBX] WITH CHECK ADD CONSTRAINT [FK_OBX_REF_OBR] FOREIGN KEY([OBR_OBJECT_ID]) - REFERENCES [snprc_ehr].[HL7_OBR] ([OBJECT_ID]) - GO - -ALTER TABLE [snprc_ehr].[HL7_OBX] CHECK CONSTRAINT [FK_OBX_REF_OBR] - GO - -CREATE NONCLUSTERED INDEX [IDX_HL7_OBX_OBR_OBJ_ID] ON [snprc_ehr].[HL7_OBX] -( - [OBR_OBJECT_ID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +ALTER TABLE [snprc_ehr].[HL7_MSH] WITH CHECK ADD CONSTRAINT [FK_HL7_MSH_container] FOREIGN KEY([Container]) REFERENCES [core].[Containers] ([EntityId]); GO -ALTER TABLE [snprc_ehr].[HL7_OBX] WITH CHECK ADD CONSTRAINT [FK_HL7_OBX_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO - -CREATE TABLE [snprc_ehr].[HL7_NTE]( - [MESSAGE_ID] [VARCHAR](50) NOT NULL, - [IDX] [INT] NOT NULL, - [OBR_OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [SET_ID] [VARCHAR](20) NOT NULL, - [OBR_SET_ID] [VARCHAR](20) NOT NULL, - [COMMENT] [VARCHAR](MAX) NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, - [TIMESTAMP] [TIMESTAMP] NULL, - CONSTRAINT [PK_HL7_NTE] PRIMARY KEY CLUSTERED -( - [OBJECT_ID] ASC - -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) +ALTER TABLE [snprc_ehr].[HL7_OBR] WITH CHECK ADD CONSTRAINT [FK_OBR_REF_MSH] FOREIGN KEY([MESSAGE_ID]) REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]); GO -ALTER TABLE [snprc_ehr].[HL7_NTE] ADD CONSTRAINT [DF_HL7_NTE_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_NTE] ADD CONSTRAINT [DF_HL7_NTE_USER] DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_NTE] ADD CONSTRAINT [DF_HL7_NTE_ENTRY] DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_NTE] WITH CHECK ADD CONSTRAINT [FK_NTE_REF_OBR] FOREIGN KEY([OBR_OBJECT_ID]) - REFERENCES [snprc_ehr].[HL7_OBR] ([OBJECT_ID]) - GO - -ALTER TABLE [snprc_ehr].[HL7_NTE] CHECK CONSTRAINT [FK_NTE_REF_OBR] - GO - -ALTER TABLE [snprc_ehr].[HL7_NTE] WITH CHECK ADD CONSTRAINT [FK_HL7_NTE_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO - -CREATE NONCLUSTERED INDEX [IDX_HL7_NTE_OBR_OBJ_ID] ON [snprc_ehr].[HL7_NTE] -( - [OBR_OBJECT_ID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] +ALTER TABLE [snprc_ehr].[HL7_OBR] CHECK CONSTRAINT [FK_OBR_REF_MSH]; GO -CREATE TABLE [snprc_ehr].[HL7_IMPORT_LOG]( - [TID] [NUMERIC](18, 0) IDENTITY(1,1) NOT NULL, - [MESSAGE_ID] [VARCHAR](50) NOT NULL, - [OBSERVATION_DATE_TM] [DATETIME] NULL, - [MESSAGE_CONTROL_ID] [VARCHAR](50) NULL, - [IMPORT_STATUS] [INT] NOT NULL, - [RESULT_STATUS] [VARCHAR](10) NULL, - [PATIENT_ID] [VARCHAR](20) NULL, - [SPECIES] [VARCHAR](50) NULL, - [HL7_MESSAGE_TEXT] [VARCHAR](MAX) NULL, - [IMPORT_TEXT] [VARCHAR](MAX) NULL, - [Container] [dbo].[ENTITYID] NOT NULL, - [OBJECT_ID] [UNIQUEIDENTIFIER] NOT NULL, - [USER_NAME] [VARCHAR](128) NOT NULL, - [ENTRY_DATE_TM] [DATETIME] NOT NULL, - [TIMESTAMP] [TIMESTAMP] NULL, - CONSTRAINT [PK_HL7_IMPORT_LOG] PRIMARY KEY CLUSTERED -( -[TID] ASC -)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) - ) - GO - -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] ADD DEFAULT (USER_NAME()) FOR [USER_NAME] - GO - -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] ADD DEFAULT (GETDATE()) FOR [ENTRY_DATE_TM] - GO - -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] ADD CONSTRAINT [DF_HL7_IMPROT_LOG_OBJECT_ID] DEFAULT (NEWID()) FOR [OBJECT_ID] - GO - -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] WITH CHECK ADD CONSTRAINT [CKC_HL7_IMPORT_LOG_OBSERVATION_DATE] CHECK (([OBSERVATION_DATE_TM] IS NULL OR [OBSERVATION_DATE_TM]<=GETDATE())) - GO - -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] CHECK CONSTRAINT [CKC_HL7_IMPORT_LOG_OBSERVATION_DATE] - GO +ALTER TABLE [snprc_ehr].[HL7_PID] WITH CHECK ADD CONSTRAINT [FK_PID_REF_MSH] FOREIGN KEY([MESSAGE_ID]) REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]); +GO -ALTER TABLE [snprc_ehr].[HL7_IMPORT_LOG] WITH CHECK ADD CONSTRAINT [FK_HL7_IMPORT_LOG_container] FOREIGN KEY([Container]) - REFERENCES [core].[Containers] ([EntityId]) - GO +ALTER TABLE [snprc_ehr].[HL7_PID] CHECK CONSTRAINT [FK_PID_REF_MSH]; +GO --- ========================================================================== --- Author: Terry Hawkins --- Create date: 2/28/14 --- Description: Returns 1 if the value is numeric, 0 if value is not numeric --- 6/19/2015 added additional criteria based on the current datasets. tjh --- 2/29/2016 fixed file formatting. Fixed bug in patindex call (removed). tjh --- ========================================================================== -CREATE FUNCTION [snprc_ehr].[f_isNumeric] -( - @value VARCHAR(MAX) -) -RETURNS INT -AS -BEGIN - -- Declare the return variable here - DECLARE @return INT +ALTER TABLE [snprc_ehr].[HL7_PV1] WITH CHECK ADD CONSTRAINT [FK_PV1_REF_MSH] FOREIGN KEY([MESSAGE_ID]) REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]); +GO - IF (@value IS NULL) - BEGIN - SET @return = 0 - GOTO finis - END +ALTER TABLE [snprc_ehr].[HL7_PV1] CHECK CONSTRAINT [FK_PV1_REF_MSH]; +GO - select @value = LTRIM(RTRIM(REPLACE(@value, ' ', ''))) +ALTER TABLE [snprc_ehr].[HL7_ORC] WITH CHECK ADD CONSTRAINT [FK_ORC_REF_MSH] FOREIGN KEY([MESSAGE_ID]) REFERENCES [snprc_ehr].[HL7_MSH] ([MESSAGE_ID]); +GO - IF (ISNUMERIC(@value) = 1) - BEGIN - if ( LEN(@value) = 1 AND CHARINDEX ('+', @value, 1) > 0) - OR ( LEN(@value) = 1 AND CHARINDEX('-', @value, 1) > 0) - OR (CHARINDEX(',', @value, 1) > 0) - OR (CHARINDEX('-' , @value, 2) > 1) +ALTER TABLE [snprc_ehr].[HL7_ORC] CHECK CONSTRAINT [FK_ORC_REF_MSH]; +GO - BEGIN - SET @return = 0 - GOTO finis - END +EXEC core.fn_dropifexists @objname = 'HL7_PathologyCasesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; - SET @return = 1 - GOTO finis +CREATE TABLE snprc_ehr.HL7_PathologyCasesStaging ( + ID NVARCHAR(32) NOT NULL, + Date DATETIME NOT NULL, + RowId BIGINT IDENTITY(1,1) NOT NULL, + AccessionNumber NVARCHAR(10) NULL, + AccessionCode NVARCHAR(4000) NULL, + Tissue NVARCHAR(4000) NULL, + PerformedBy NVARCHAR(64) NULL, + Description NVARCHAR(4000) NULL, + Remark NVARCHAR(4000) NULL, + ApathRecordStatus NVARCHAR(1) NULL, + DeathType NVARCHAR(1) NULL, + Created DATETIME NULL, + CreatedBy dbo.USERID NULL, + Modified datetime NULL, + ModifiedBy dbo.USERID NULL, + Container dbo.ENTITYID NOT NULL, + ObjectId uniqueidentifier NULL, + timestamp ROWVERSION, - END - SET @return = 0 + CONSTRAINT PK_HL7_PathologyCasesStaging PRIMARY KEY CLUSTERED + ( + ID ASC, + Date ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); +GO - finis: - RETURN @return +EXEC core.fn_dropifexists @objname = 'HL7_PathologyDiagnosesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -END +CREATE TABLE snprc_ehr.HL7_PathologyDiagnosesStaging ( + ID NVARCHAR(32) NOT NULL, + Date DATETIME NOT NULL, + AccessionNumber NVARCHAR(40) NULL, + RowId BIGINT IDENTITY(1,1) NOT NULL, + Morphology NVARCHAR(4000) NULL, + Organ NVARCHAR(4000) NULL, + EtiologyCode NVARCHAR(4000) NULL, + SpecificEtiology NVARCHAR(4000) NULL, + PerformedBy NVARCHAR(64) NULL, + Description NVARCHAR(4000) NULL, + Remark NVARCHAR(4000) NULL, + Created datetime NULL, + CreatedBy dbo.USERID NULL, + Modified datetime NULL, + ModifiedBy dbo.USERID NULL, + Container dbo.ENTITYID NOT NULL, + ObjectId uniqueidentifier NULL, + timestamp ROWVERSION, + CONSTRAINT PK_HL7_PathologyDiagnosesStaging PRIMARY KEY CLUSTERED + ( + RowID ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); GO -EXEC core.fn_dropifexists @objname = 'HL7_PathologyCasesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_PathologyDiagnosesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; EXEC core.fn_dropifexists @objname = 'HL7_DeletePathologyCasesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_DeletePathologyDiagnosesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'HL7_Demographics', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -CREATE TABLE snprc_ehr.HL7_PathologyCasesStaging ( - ID NVARCHAR(32) NOT NULL, - Date DATETIME NOT NULL, - RowId BIGINT IDENTITY(1,1) NOT NULL, - AccessionNumber NVARCHAR(10) NULL, - AccessionCode NVARCHAR(4000) NULL, - Tissue NVARCHAR(4000) NULL, - PerformedBy NVARCHAR(64) NULL, - Description NVARCHAR(4000) NULL, - Remark NVARCHAR(4000) NULL, - ApathRecordStatus NVARCHAR(1) NULL, - DeathType NVARCHAR(1) NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified datetime NULL, - ModifiedBy dbo.USERID NULL, - Container dbo.ENTITYID NOT NULL, - ObjectId uniqueidentifier NULL, - timestamp ROWVERSION, - - CONSTRAINT PK_HL7_PathologyCasesStaging PRIMARY KEY CLUSTERED - ( - ID ASC, - Date ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) -GO +CREATE TABLE snprc_ehr.HL7_DeletePathologyCasesStaging ( + AccessionNumber NVARCHAR(10) NOT NULL, + ObjectId UNIQUEIDENTIFIER NOT NULL, + timestamp ROWVERSION -CREATE TABLE snprc_ehr.HL7_PathologyDiagnosesStaging ( - ID NVARCHAR(32) NOT NULL, - Date DATETIME NOT NULL, - AccessionNumber NVARCHAR(40) NULL, - RowId BIGINT IDENTITY(1,1) NOT NULL, - Morphology NVARCHAR(4000) NULL, - Organ NVARCHAR(4000) NULL, - EtiologyCode NVARCHAR(4000) NULL, - SpecificEtiology NVARCHAR(4000) NULL, - PerformedBy NVARCHAR(64) NULL, - Description NVARCHAR(4000) NULL, - Remark NVARCHAR(4000) NULL, - Created datetime NULL, - CreatedBy dbo.USERID NULL, - Modified datetime NULL, - ModifiedBy dbo.USERID NULL, - Container dbo.ENTITYID NOT NULL, - ObjectId uniqueidentifier NULL, - timestamp ROWVERSION, - - CONSTRAINT PK_HL7_PathologyDiagnosesStaging PRIMARY KEY CLUSTERED - ( - RowID ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) + CONSTRAINT PK_HL7_DeletePathologyCasesStaging PRIMARY KEY CLUSTERED + ( + AccessionNumber ASC, + ObjectId ASC + ) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); GO -CREATE TABLE snprc_ehr.HL7_DeletePathologyCasesStaging ( - AccessionNumber NVARCHAR(10) NOT NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL, - timestamp ROWVERSION - - CONSTRAINT PK_HL7_DeletePathologyCasesStaging PRIMARY KEY CLUSTERED - ( - AccessionNumber ASC, - ObjectId ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) -GO +EXEC core.fn_dropifexists @objname = 'HL7_DeletePathologyDiagnosesStaging',@objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE snprc_ehr.HL7_DeletePathologyDiagnosesStaging ( - AccessionNumber NVARCHAR(10) NOT NULL, - ObjectId uniqueidentifier NOT NULL, - timestamp ROWVERSION - - CONSTRAINT PK_HL7_DeletePathologyDiagnosesStaging PRIMARY KEY CLUSTERED - ( - AccessionNumber ASC, - ObjectId ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) -GO + AccessionNumber NVARCHAR(10) NOT NULL, + ObjectId uniqueidentifier NOT NULL, + timestamp ROWVERSION -CREATE TABLE snprc_ehr.HL7_Demographics ( - ID NVARCHAR(32) NOT NULL, - RowId BIGINT IDENTITY(1,1) NOT NULL, - Gender NVARCHAR(32) NULL, - Species NVARCHAR(32) NOT NULL, - Breed NVARCHAR(40) NOT NULL, - BirthDate DATETIME NULL, - DeathDate DATETIME NULL, - isDeceased NVARCHAR(32) NULL, - Dam NVARCHAR(32) NULL, - Sire NVARCHAR(32) Null, - ObjectId uniqueidentifier NULL, - Modified datetime NULL, - ModifiedBy NVARCHAR(32) NULL, - Container dbo.ENTITYID NOT NULL, - - CONSTRAINT PK_HL7_Demographics PRIMARY KEY CLUSTERED - ( - RowId ASC - )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) -) + CONSTRAINT PK_HL7_DeletePathologyDiagnosesStaging PRIMARY KEY CLUSTERED + ( + AccessionNumber ASC, + ObjectId ASC + ) + WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); GO --- Increase procedure name size in OBR table -ALTER TABLE snprc_ehr.HL7_OBR ALTER COLUMN PROCEDURE_NAME VARCHAR(200) NULL +EXEC core.fn_dropifexists @objname = 'HL7_Demographics', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists 'SndSuperPackageStaging', 'snprc_ehr', 'TABLE'; -GO +CREATE TABLE snprc_ehr.HL7_Demographics ( + ID NVARCHAR(32) NOT NULL, + RowId BIGINT IDENTITY(1,1) NOT NULL, + Gender NVARCHAR(32) NULL, + Species NVARCHAR(32) NOT NULL, + Breed NVARCHAR(40) NOT NULL, + BirthDate DATETIME NULL, + DeathDate DATETIME NULL, + isDeceased NVARCHAR(32) NULL, + Dam NVARCHAR(32) NULL, + Sire NVARCHAR(32) Null, + ObjectId uniqueidentifier NULL, + Modified datetime NULL, + ModifiedBy NVARCHAR(32) NULL, + Container dbo.ENTITYID NOT NULL, -EXEC core.fn_dropifexists 'SndPackageStaging', 'snprc_ehr', 'TABLE'; + CONSTRAINT PK_HL7_Demographics PRIMARY KEY CLUSTERED + ( + RowId ASC + ) WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) +); GO -EXEC core.fn_dropifexists 'SndPackageAttributeStaging', 'snprc_ehr', 'TABLE'; +EXEC core.fn_dropifexists 'SndSuperPackageStaging', 'snprc_ehr', 'TABLE'; GO CREATE TABLE snprc_ehr.SndSuperPackageStaging @@ -2133,12 +1158,15 @@ CREATE TABLE snprc_ehr.SndSuperPackageStaging Modified DATETIME NOT NULL, ModifiedBy USERID NOT NULL, diModified DATETIME NOT NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() CONSTRAINT PK_SndSuperPackageStaging PRIMARY KEY CLUSTERED ( TopLevelPkgId, SuperPkgId) ); GO +EXEC core.fn_dropifexists 'SndPackageStaging', 'snprc_ehr', 'TABLE'; +GO + CREATE TABLE snprc_ehr.SndPackageStaging ( PkgId INTEGER NOT NULL, @@ -2152,12 +1180,15 @@ CREATE TABLE snprc_ehr.SndPackageStaging ModifiedBy USERID NOT NULL, Modified DATETIME NOT NULL, diModified DATETIME NOT NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() CONSTRAINT PK_SndPackageStaging PRIMARY KEY CLUSTERED (PkgId) ); GO +EXEC core.fn_dropifexists 'SndPackageAttributeStaging', 'snprc_ehr', 'TABLE'; +GO + CREATE TABLE snprc_ehr.SndPackageAttributeStaging ( PkgId INTEGER NOT NULL, @@ -2176,85 +1207,101 @@ CREATE TABLE snprc_ehr.SndPackageAttributeStaging CreatedBy USERID NOT NULL, Modified DATETIME NOT NULL, ModifiedBy USERID NOT NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() CONSTRAINT pk_SndPackagesAttributeStaging PRIMARY KEY CLUSTERED (AttributeId) ); GO -/* 24.xxx SQL scripts */ - EXEC core.fn_dropifexists @objname = 'therapy_formulary', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'therapy_frequency', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'therapy_routes', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'therapy_units', @objschema = 'snprc_ehr', @objtype = 'TABLE'; -EXEC core.fn_dropifexists @objname = 'therapy_resolutions', @objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE snprc_ehr.therapy_formulary( - RowId INT NOT NULL, - drug VARCHAR(400) NOT NULL, - dose NUMERIC(8, 4) NOT NULL, - route INT NOT NULL, -- FK snprc_ehr.therapy_routes.RowId - frequency INT NOT NULL, -- FK snprc_ehr.therapy_frequency.RowId` - duration INT NOT NULL, - units INT NOT NULL, -- FK snprc_ehr.therapy_units.RowId - isActive INT NULL, - dateDisabled DATETIME NULL, - Container dbo.ENTITYID NOT NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified DATETIME NULL, - ModifiedBy dbo.USERID NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL - - CONSTRAINT PK_therapy_formulary PRIMARY KEY CLUSTERED (RowId) -) + RowId INT NOT NULL, + drug VARCHAR(400) NOT NULL, + dose NUMERIC(8, 4) NOT NULL, + route INT NOT NULL, -- FK snprc_ehr.therapy_routes.RowId + frequency INT NOT NULL, -- FK snprc_ehr.therapy_frequency.RowId` + duration INT NOT NULL, + units INT NOT NULL, -- FK snprc_ehr.therapy_units.RowId + isActive INT NULL, + dateDisabled DATETIME NULL, + Container dbo.ENTITYID NOT NULL, + Created DATETIME NULL, + CreatedBy dbo.USERID NULL, + Modified DATETIME NULL, + ModifiedBy dbo.USERID NULL, + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() + + CONSTRAINT PK_therapy_formulary PRIMARY KEY CLUSTERED (RowId) +); -ALTER TABLE snprc_ehr.therapy_formulary WITH CHECK ADD CONSTRAINT FK_therapy_formulary_container FOREIGN KEY(Container) - REFERENCES core.Containers (EntityId) - GO +ALTER TABLE snprc_ehr.therapy_formulary WITH CHECK ADD CONSTRAINT FK_therapy_formulary_container FOREIGN KEY(Container) REFERENCES core.Containers (EntityId); +GO +EXEC core.fn_dropifexists @objname = 'therapy_frequency', @objschema = 'snprc_ehr', @objtype = 'TABLE'; + +CREATE TABLE snprc_ehr.therapy_frequency( + RowId INT NOT NULL, + frequency VARCHAR(30) NOT NULL, + description VARCHAR(100) NULL, + isActive INT NULL, + Container dbo.ENTITYID NOT NULL, + Created DATETIME NULL, + CreatedBy dbo.USERID NULL, + Modified DATETIME NULL, + ModifiedBy dbo.USERID NULL, + ObjectId UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() + + CONSTRAINT PK_therapy_frequency PRIMARY KEY CLUSTERED (RowId) +); + +ALTER TABLE snprc_ehr.therapy_frequency WITH CHECK ADD CONSTRAINT FK_therapy_frequency FOREIGN KEY(Container) REFERENCES core.Containers (EntityId); +GO + +EXEC core.fn_dropifexists @objname = 'therapy_routes', @objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE snprc_ehr.therapy_routes( + RowId INT NOT NULL, + route VARCHAR(30) NOT NULL, + description VARCHAR(100) NULL, + isActive INT NULL, + Container dbo.ENTITYID NOT NULL, + Created DATETIME NULL, + CreatedBy dbo.USERID NULL, + Modified DATETIME NULL, + ModifiedBy dbo.USERID NULL, + ObjectId UNIQUEIDENTIFIER NULL DEFAULT NEWID() - RowId INT NOT NULL, - route VARCHAR(30) NOT NULL, - description VARCHAR(100) NULL, - isActive INT NULL, - Container dbo.ENTITYID NOT NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified DATETIME NULL, - ModifiedBy dbo.USERID NULL, - ObjectId UNIQUEIDENTIFIER NULL - - CONSTRAINT PK_therapy_routes PRIMARY KEY CLUSTERED (RowId) -) -ALTER TABLE snprc_ehr.therapy_routes WITH CHECK ADD CONSTRAINT FK_therapy_routes FOREIGN KEY(Container) - REFERENCES core.Containers (EntityId) - GO + CONSTRAINT PK_therapy_routes PRIMARY KEY CLUSTERED (RowId) +); + +ALTER TABLE snprc_ehr.therapy_routes WITH CHECK ADD CONSTRAINT FK_therapy_routes FOREIGN KEY(Container) REFERENCES core.Containers (EntityId); +GO + +EXEC core.fn_dropifexists @objname = 'therapy_units', @objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE snprc_ehr.therapy_units( - RowId INT NOT NULL, - units VARCHAR(30) NOT NULL, - description VARCHAR(100), - isActive INT NULL, - Container dbo.ENTITYID NOT NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified DATETIME NULL, - ModifiedBy dbo.USERID NULL, - ObjectId UNIQUEIDENTIFIER NULL - - CONSTRAINT PK_therapy_units PRIMARY KEY CLUSTERED (RowId) -) -ALTER TABLE snprc_ehr.therapy_units WITH CHECK ADD CONSTRAINT FK_therapy_units FOREIGN KEY(Container) - REFERENCES core.Containers (EntityId) - GO + RowId INT NOT NULL, + units VARCHAR(30) NOT NULL, + description VARCHAR(100), + isActive INT NULL, + Container dbo.ENTITYID NOT NULL, + Created DATETIME NULL, + CreatedBy dbo.USERID NULL, + Modified DATETIME NULL, + ModifiedBy dbo.USERID NULL, + ObjectId UNIQUEIDENTIFIER NULL DEFAULT NEWID() + + CONSTRAINT PK_therapy_units PRIMARY KEY CLUSTERED (RowId) +); + +ALTER TABLE snprc_ehr.therapy_units WITH CHECK ADD CONSTRAINT FK_therapy_units FOREIGN KEY(Container) REFERENCES core.Containers (EntityId); +GO + +EXEC core.fn_dropifexists @objname = 'therapy_resolutions', @objschema = 'snprc_ehr', @objtype = 'TABLE'; CREATE TABLE snprc_ehr.therapy_resolutions ( - RowId INT NOT NULL, resolution VARCHAR(30) NOT NULL, isActive INT NULL, @@ -2263,29 +1310,53 @@ CREATE TABLE snprc_ehr.therapy_resolutions CreatedBy dbo.USERID NULL, Modified DATETIME NULL, ModifiedBy dbo.USERID NULL, - ObjectId UNIQUEIDENTIFIER NULL + ObjectId UNIQUEIDENTIFIER NULL DEFAULT NEWID(), - CONSTRAINT PK_therapy_resolutions PRIMARY KEY CLUSTERED (RowId) -) + CONSTRAINT PK_therapy_resolutions PRIMARY KEY CLUSTERED (RowId) +); -ALTER TABLE snprc_ehr.therapy_resolutions WITH CHECK ADD CONSTRAINT FK_therapy_resolutions FOREIGN KEY(Container) - REFERENCES core.Containers (EntityId) - GO +ALTER TABLE snprc_ehr.therapy_resolutions WITH CHECK ADD CONSTRAINT FK_therapy_resolutions FOREIGN KEY(Container) REFERENCES core.Containers (EntityId); +GO -CREATE TABLE snprc_ehr.therapy_frequency( - RowId INT NOT NULL, - frequency VARCHAR(30) NOT NULL, - description VARCHAR(100) NULL, - isActive INT NULL, - Container dbo.ENTITYID NOT NULL, - Created DATETIME NULL, - CreatedBy dbo.USERID NULL, - Modified DATETIME NULL, - ModifiedBy dbo.USERID NULL, - ObjectId UNIQUEIDENTIFIER NOT NULL - - CONSTRAINT PK_therapy_frequency PRIMARY KEY CLUSTERED (RowId) +CREATE FUNCTION [snprc_ehr].[f_isNumeric] +( + @value VARCHAR(MAX) ) -ALTER TABLE snprc_ehr.therapy_frequency WITH CHECK ADD CONSTRAINT FK_therapy_frequency FOREIGN KEY(Container) - REFERENCES core.Containers (EntityId) - GO \ No newline at end of file +RETURNS INT +AS +BEGIN + -- Declare the return variable here + DECLARE @return INT + + IF (@value IS NULL) + BEGIN + SET @return = 0 + GOTO finis + END + + select @value = LTRIM(RTRIM(REPLACE(@value, ' ', ''))) + + IF (ISNUMERIC(@value) = 1) + BEGIN + if ( LEN(@value) = 1 AND CHARINDEX ('+', @value, 1) > 0) + OR ( LEN(@value) = 1 AND CHARINDEX('-', @value, 1) > 0) + OR (CHARINDEX(',', @value, 1) > 0) + OR (CHARINDEX('-' , @value, 2) > 1) + + BEGIN + SET @return = 0 + GOTO finis + END + + SET @return = 1 + GOTO finis + + END + SET @return = 0 + + finis: + RETURN @return + +END + +GO diff --git a/snprc_genetics/module.properties b/snprc_genetics/module.properties index d41cfed2d..ed88888ab 100644 --- a/snprc_genetics/module.properties +++ b/snprc_genetics/module.properties @@ -1,5 +1,5 @@ ModuleClass: org.labkey.snprc_genetics.SNPRC_GeneticsModule -SupportedDatabases: mssql +SupportedDatabases: mssql, pgsql License: Apache 2.0 LicenseURL: http://www.apache.org/licenses/LICENSE-2.0 ManageVersion: true diff --git a/snprc_r24/resources/schemas/dbscripts/sqlserver/snprc_r24-0.000-25.000.sql b/snprc_r24/resources/schemas/dbscripts/sqlserver/snprc_r24-0.000-25.000.sql index c93834cf4..e3e44abd2 100644 --- a/snprc_r24/resources/schemas/dbscripts/sqlserver/snprc_r24-0.000-25.000.sql +++ b/snprc_r24/resources/schemas/dbscripts/sqlserver/snprc_r24-0.000-25.000.sql @@ -18,138 +18,123 @@ CREATE SCHEMA snprc_r24; GO CREATE TABLE [snprc_R24].[Biomarkers]( - [RowId] [bigint] IDENTITY(1,1) NOT NULL, - [SampleId] [NVARCHAR](32) NOT NULL, - [Lab] [nvarchar](128) NULL, - [Analyte] [nvarchar](128) NOT NULL, - [ObjectId] nvarchar(128), - [Value] numeric(6,2), - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL - - - CONSTRAINT PK_snprc_r24_Biomarkers PRIMARY KEY ([SampleId], [Analyte]) - CONSTRAINT FK_snprc_r24_Biomarkers_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); + [RowId] [bigint] IDENTITY(1,1) NOT NULL, + [SampleId] [NVARCHAR](32) NOT NULL, + [Lab] [nvarchar](128) NULL, + [Analyte] [nvarchar](128) NOT NULL, + [ObjectId] nvarchar(128) DEFAULT (NEWID()) NULL, + [Value] numeric(6,2), + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + Container entityId NOT NULL, + + CONSTRAINT PK_snprc_r24_Biomarkers PRIMARY KEY ([SampleId], [Analyte]), + CONSTRAINT FK_snprc_r24_Biomarkers_container FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +); go -ALTER TABLE [snprc_r24].[Biomarkers] ADD DEFAULT (NEWID()) FOR [ObjectId] -GO - -/* snprc_r24-17.10-17.20.sql */ - CREATE TABLE [snprc_r24].[SampleInventory]( - [RowId] [bigint] IDENTITY(1,1) NOT NULL, - [AnimalId] [NVARCHAR](32) NOT NULL, - [Date] [DATETIME] NOT NULL, - [SampleId] [NVARCHAR](32) NOT NULL, - [Aim] [NVARCHAR](128) NULL, - [SampleType] [NVARCHAR](128) NOT NULL, - [ObjectId] nvarchar(128) NULL, - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL - - CONSTRAINT [pk_snprc_r24_sampleinventory] PRIMARY KEY ( [SampleId] ASC) - CONSTRAINT [fk_snprc_r24_sampleinventory_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); - -GO + [RowId] [bigint] IDENTITY(1,1) NOT NULL, + [AnimalId] [NVARCHAR](32) NOT NULL, + [Date] [DATETIME] NOT NULL, + [SampleId] [NVARCHAR](32) NOT NULL, + [Aim] [NVARCHAR](128) NULL, + [SampleType] [NVARCHAR](128) NOT NULL, + [ObjectId] nvarchar(128) DEFAULT (NEWID()) NULL, + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + Container entityId NOT NULL, + SampleWeight NUMERIC(7,2) NULL, + SampleAmount NUMERIC(7,2) NULL, + + CONSTRAINT [pk_snprc_r24_sampleinventory] PRIMARY KEY ([SampleId] ASC), + CONSTRAINT [fk_snprc_r24_sampleinventory_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +); -ALTER TABLE [snprc_r24].[SampleInventory] ADD DEFAULT (NEWID()) FOR [ObjectId] GO CREATE TABLE [snprc_r24].[lookupSets]( - [RowId] [bigint] IDENTITY(1,1) NOT NULL, - [SetName] [NVARCHAR](32) NOT NULL, - [Label] [NVARCHAR](32) NOT NULL, - [ObjectId] nvarchar(128) NULL, - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL - - CONSTRAINT [pk_snprc_r24_lookupsets] PRIMARY KEY ( [RowId] ASC) - CONSTRAINT [fk_snprc_r24_lookupsets_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); -GO - -CREATE UNIQUE NONCLUSTERED INDEX [idx_snprc_r24_lookupSets_setname] ON [snprc_r24].[lookupSets] ( [SetName] ASC ) + [RowId] [bigint] IDENTITY(1,1) NOT NULL, + [SetName] [NVARCHAR](32) NOT NULL, + [Label] [NVARCHAR](32) NOT NULL, + [ObjectId] nvarchar(128) DEFAULT (NEWID()) NULL, + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + Container entityId NOT NULL, + + CONSTRAINT [pk_snprc_r24_lookupsets] PRIMARY KEY ([RowId] ASC), + CONSTRAINT [fk_snprc_r24_lookupsets_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +); GO -ALTER TABLE [snprc_r24].[LookupSets] ADD DEFAULT (NEWID()) FOR [ObjectId] +CREATE UNIQUE NONCLUSTERED INDEX [idx_snprc_r24_lookupSets_setname] ON [snprc_r24].[lookupSets] ( [SetName] ASC ); GO CREATE TABLE [snprc_r24].[lookups]( - [RowId] [bigint] IDENTITY(1,1) NOT NULL, - [SetName] [NVARCHAR](32) NOT NULL, - [Value] [NVARCHAR](128) NOT NULL, - [SortOrder] [INTEGER] NULL, - [DateDisabled] [datetime] NULL, - [ObjectId] nvarchar(128) NULL, - [Created] [DATETIME] NULL, - [CreatedBy] [dbo].[USERID] NULL, - [Modified] [DATETIME] NULL, - [ModifiedBy] [dbo].[USERID] NULL, - [DiCreated] [DATETIME] NULL, - [DiModified] [DATETIME] NULL, - [DiCreatedBy] [dbo].[USERID] NULL, - [DiModifiedBy] [dbo].[USERID] NULL, - Container entityId NOT NULL - - CONSTRAINT [pk_snprc_r24_lookups] PRIMARY KEY ( [RowId] ASC), - CONSTRAINT [fk_snprc_r24_lookups_SetName] FOREIGN KEY (SetName) REFERENCES snprc_r24.LookupSets (SetName), - CONSTRAINT [fk_snprc_r24_lookups_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) ); + [RowId] [bigint] IDENTITY(1,1) NOT NULL, + [SetName] [NVARCHAR](32) NOT NULL, + [Value] [NVARCHAR](128) NOT NULL, + [SortOrder] [INTEGER] NULL, + [DateDisabled] [datetime] NULL, + [ObjectId] nvarchar(128) DEFAULT (NEWID()) NULL, + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + [DiCreated] [DATETIME] NULL, + [DiModified] [DATETIME] NULL, + [DiCreatedBy] [dbo].[USERID] NULL, + [DiModifiedBy] [dbo].[USERID] NULL, + Container entityId NOT NULL, + + CONSTRAINT [pk_snprc_r24_lookups] PRIMARY KEY ([RowId] ASC), + CONSTRAINT [fk_snprc_r24_lookups_SetName] FOREIGN KEY (SetName) REFERENCES snprc_r24.LookupSets (SetName), + CONSTRAINT [fk_snprc_r24_lookups_container] FOREIGN KEY (Container) REFERENCES core.Containers (EntityId) +); GO -CREATE UNIQUE NONCLUSTERED INDEX [idx_snprc_r24_lookups_setname] ON [snprc_r24].[lookups] ( [SetName] ASC, [VALUE] ASC) +CREATE UNIQUE NONCLUSTERED INDEX [idx_snprc_r24_lookups_setname] ON [snprc_r24].[lookups] ( [SetName] ASC, [VALUE] ASC); GO -ALTER TABLE [snprc_r24].[Lookups] ADD DEFAULT (NEWID()) FOR [ObjectId] -GO - -/* snprc_r24-18.10-18.20.sql */ - -ALTER TABLE snprc_r24.SampleInventory ADD SampleWeight NUMERIC(7,2) NULL; -ALTER TABLE snprc_r24.SampleInventory ADD SampleAmount NUMERIC(7,2) NULL; - CREATE TABLE [snprc_r24].[RowsToDelete]( -[ObjectId] [dbo].[EntityId] NOT NULL, -[Modified] [DATETIME] NOT NULL -CONSTRAINT [pk_snprc_r24_RowsToDelete] PRIMARY KEY ( [ObjectId] ASC) ); + [ObjectId] [dbo].[EntityId] NOT NULL, + [Modified] [DATETIME] NOT NULL, + + CONSTRAINT [pk_snprc_r24_RowsToDelete] PRIMARY KEY ([ObjectId] ASC) +); GO CREATE TABLE [snprc_r24].[WeightStaging] ( -[AnimalId] [NVARCHAR](32) NOT NULL, -[Date] [DATETIME] NOT NULL, -[Weight] [NUMERIC](7,4) NOT NULL, -[ObjectId] [dbo].EntityId NOT NULL, -[Created] [DATETIME] NULL, -[CreatedBy] [dbo].[USERID] NULL, -[Modified] [DATETIME] NULL, -[ModifiedBy] [dbo].[USERID] NULL - -CONSTRAINT [pk_snprc_r24_weight_staging] PRIMARY KEY ( [ObjectId] ASC) ); + [AnimalId] [NVARCHAR](32) NOT NULL, + [Date] [DATETIME] NOT NULL, + [Weight] [FLOAT] NOT NULL, + [ObjectId] [dbo].EntityId NOT NULL, + [Created] [DATETIME] NULL, + [CreatedBy] [dbo].[USERID] NULL, + [Modified] [DATETIME] NULL, + [ModifiedBy] [dbo].[USERID] NULL, + + CONSTRAINT [pk_snprc_r24_weight_staging] PRIMARY KEY ([ObjectId] ASC) +); GO - -/* 24.xxx SQL scripts */ - -ALTER TABLE snprc_r24.WeightStaging ALTER COLUMN Weight FLOAT \ No newline at end of file