This page contains details on how to set up databases for use with SQL Server.
See platform requirements for information on supported versions of SQL Server.
A script similar to the following can be used to create a new database named cdr with username cdr and password SmileCDR123 in MSSQL:
--create db off of master
USE master;
--check if exists
IF DB_ID (N'cdr') IS NOT NULL
DROP DATABASE cdr;
--create database
CREATE DATABASE cdr
COLLATE Latin1_General_100_CS_AS_SC_UTF8
WITH TRUSTWORTHY ON, DB_CHAINING ON;
--Verifying collation and option settings.
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on
FROM sys.databases
WHERE name = N'cdr';
CREATE LOGIN cdr WITH PASSWORD = 'SmileCDR123'
Use cdr
IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = N'cdr')
BEGIN
CREATE USER [cdr] FOR LOGIN [cdr]
EXEC sp_addrolemember N'db_owner', N'cdr'
END;
To guarantee that an inserted row has been completely isolated, SQL Server uses a strict locking mechanism that prevents any reading or writing on that row new until the transaction is complete. Most other databases (like Postgres) allow reading to happen while a row is being inserted.
Postgres' transaction isolation documentation states that two SELECT statements in a single transaction may return different values and still be able to guarantee that the transaction was isolated as a whole. SQL Server takes a different approach and states that this is an invalidation of the isolation property of a SQL transaction. This is a valid approach as we might have subsequent queries in our transaction that require a consistent view of a row, however when we try to write concurrently to a table this strictness may cause deadlocks to occur depending on our indexing strategy. Using the
READ_COMMITTED_SNAPSHOT isolation level, SQL Server can guarantee that a transaction has a consistent view of a row without needing to lock the row to reads. This isolation level is the default of Azure SQL Databases.
Use cdr
ALTER DATABASE CURRENT
SET READ_COMMITTED_SNAPSHOT ON;
The database should run at compatibility level 130 (SQL Server 2016) or higher; see SQL Server Compatibility Level for why this is recommended and what happens on an older level. Check the current level with:
Use cdr
SELECT compatibility_level FROM sys.databases WHERE name = DB_NAME();
Only if the reported level is below 130, raise it to the highest level your SQL Server version supports (eg. 160 for SQL Server 2022, 150 for SQL Server 2019):
Use cdr
ALTER DATABASE CURRENT
SET COMPATIBILITY_LEVEL = 160;
When configuring Smile CDR to connect to a MSSQL database, set the appropriate persistence and cluster manager properties to values similar to the following (making adjustments where necessary, e.g. for hostname, port number, username and password):
module.clustermgr.config.db.driver =MSSQL_2012
module.clustermgr.config.db.url =jdbc:sqlserver://localhost:1433;trustServerCertificate=true;sendStringParametersAsUnicode=true;database=cdr
module.clustermgr.config.db.username =cdr
module.clustermgr.config.db.password =SmileCDR123
If the JDBC URL does not set sendStringParametersAsUnicode, Smile CDR appends
sendStringParametersAsUnicode=false to it. Smile CDR's schema uses VARCHAR rather than NVARCHAR columns, and sending string parameters as Unicode makes SQL Server treat them as NVARCHAR, which prevents index seeks on those columns.
That setting cannot be combined with prepareMethod=none: together they make the SQL Server driver emit a three-part
Database.Schema.Object qualifier that the server rejects, which breaks schema migration and validation.
Smile CDR therefore behaves as follows:
prepareMethod=none and does not set sendStringParametersAsUnicode, the addition described above is
bypassed and a warning is logged. Because the property is not added, string search parameters are sent as NVARCHAR
and will not use VARCHAR index seeks, which degrades string search performance across the cluster.prepareMethod=none and sendStringParametersAsUnicode=false, startup fails with a
configuration error.If you need to disable server-side prepared statements, use prepareMethod=prepexec instead of prepareMethod=none,
which is compatible with sendStringParametersAsUnicode=false and therefore preserves VARCHAR index seeks.
Alternatively, keep prepareMethod=none and set sendStringParametersAsUnicode=true, accepting the loss of those index seeks.
To initialize a new SQL Server database for the Cluster Manager, initialize a database with the following SQL:
create sequence SEQ_AG_ADDRESS_PID start with 1 increment by 50;
create sequence SEQ_AG_APP_REQUEST_PID start with 1 increment by 50;
create sequence SEQ_AG_APPL_PID start with 1 increment by 50;
create sequence SEQ_AG_ATTESTATION_PID start with 1 increment by 50;
create sequence SEQ_AG_CLASS_PID start with 1 increment by 50;
create sequence SEQ_AG_COUNTRY_PID start with 1 increment by 50;
create sequence SEQ_AG_DATA_PID start with 1 increment by 50;
create sequence SEQ_AG_DOCUMENT_PID start with 1 increment by 50;
create sequence SEQ_AG_DRAFT_PID start with 1 increment by 50;
create sequence SEQ_AG_MEMBER_PHONE_PID start with 1 increment by 50;
create sequence SEQ_AG_METADATA_PID start with 1 increment by 50;
create sequence SEQ_AG_NOTE_PID start with 1 increment by 50;
create sequence SEQ_AG_OAUTH_REDIRECT_PID start with 1 increment by 50;
create sequence SEQ_AG_PERMISSION_PID start with 1 increment by 50;
create sequence SEQ_AG_PHONE_PID start with 1 increment by 50;
create sequence SEQ_AG_PREREQUISITE_PID start with 1 increment by 50;
create sequence SEQ_AG_PROFILE_PID start with 1 increment by 50;
create sequence SEQ_AG_SANDBOX_CLIENT_PID start with 1 increment by 50;
create sequence SEQ_AG_SCOPE_PID start with 1 increment by 50;
create sequence SEQ_AG_SCREENSHOT_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_HEADER_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_TARGETMODULE_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_TARGETRES_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_TARGETUSER_PID start with 1 increment by 50;
create sequence SEQ_AUDITEVT_TYPE_PID start with 1 increment by 50;
create sequence SEQ_CACHE_SYNC_PID start with 1 increment by 50;
create sequence SEQ_CDATEMPLATE_PID start with 1 increment by 50;
create sequence SEQ_CDATEMPLATEPARAM_PID start with 1 increment by 50;
create sequence SEQ_CDR_RESTORE_PID start with 1 increment by 50;
create sequence SEQ_CUSTOM_ROLE_PERM_PID start with 1 increment by 50;
create sequence SEQ_CUSTOM_ROLE_PID start with 1 increment by 50;
create sequence SEQ_EXECUTION_PID start with 1 increment by 50;
create sequence SEQ_HTTPSESSION_PID start with 1 increment by 50;
create sequence SEQ_ID_CODE_PID start with 1 increment by 50;
create sequence SEQ_METRICHEALTH_PID start with 1 increment by 50;
create sequence SEQ_MODPROC_PID start with 1 increment by 50;
create sequence SEQ_MODSTAT_PID start with 1 increment by 50;
create sequence SEQ_MODULE_CFGPROP_PID start with 1 increment by 50;
create sequence SEQ_MODULE_DEP_PID start with 1 increment by 50;
create sequence SEQ_MODULE_PID start with 1 increment by 50;
create sequence SEQ_MODULE_PROT_CFG_PID start with 1 increment by 50;
create sequence SEQ_MODULE_PROT_DEP_PID start with 1 increment by 50;
create sequence SEQ_MODULE_PROT_SUPPLIES_PID start with 1 increment by 50;
create sequence SEQ_MODULE_PROTOTYPE_PID start with 1 increment by 50;
create sequence SEQ_NODE_PID start with 1 increment by 50;
create sequence SEQ_NODEPROC_PID start with 1 increment by 50;
create sequence SEQ_OA2ATOKADNLINFO_PID start with 1 increment by 50;
create sequence SEQ_OA2ATOKEN_PID start with 1 increment by 50;
create sequence SEQ_OA2ATOKGRNTDA_PID start with 1 increment by 50;
create sequence SEQ_OA2ATOKSCP_PID start with 1 increment by 50;
create sequence SEQ_OA2AUTHCODE_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIDETAASCOP_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIDETAGSCOP_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIDETAUTHGRNTTYP_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIDETCLISEC_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIDETREGREDIRURI_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIENTDETAILS_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIENTDETAILSSCOPE_PID start with 1 increment by 50;
create sequence SEQ_OA2CLIENTPERM_PID start with 1 increment by 50;
create sequence SEQ_OA2REFTOKEN_PID start with 1 increment by 50;
create sequence SEQ_OA2RTOKADNLINFO_PID start with 1 increment by 50;
create sequence SEQ_OA2RTOKGRNTDA_PID start with 1 increment by 50;
create sequence SEQ_OA2RTOKLNCHRESID_PID start with 1 increment by 50;
create sequence SEQ_OA2RTOKREQPRM_PID start with 1 increment by 50;
create sequence SEQ_OA2RTOKSCP_PID start with 1 increment by 50;
create sequence SEQ_OA2SERVER_PID start with 1 increment by 50;
create sequence SEQ_SCHJOB_ID start with 1 increment by 50;
create sequence SEQ_USER_OA2CLN_TOS_PID start with 1 increment by 50;
create sequence SEQ_USER_PERM_PID start with 1 increment by 50;
create sequence SEQ_USER_PID start with 1 increment by 50;
create sequence SEQ_USER_PSN_PID start with 1 increment by 50;
create sequence SEQ_USERDEFLNCHCTX_PID start with 1 increment by 50;
create sequence SEQ_USERTFAKEY_PID start with 1 increment by 50;
create sequence SEQ_USROA2CLNTAPRVDSCP_PID start with 1 increment by 50;
create sequence SEQ_XACT_LOG_PID start with 1 increment by 50;
create sequence SEQ_XACT_LOG_SO_PID start with 1 increment by 50;
create sequence SEQ_XACT_LOG_STEP_PID start with 1 increment by 50;
create table AG_ADDRESS (
PID bigint not null,
ADDRESS_LINE1 varchar(200) not null,
ADDRESS_LINE2 varchar(200),
CITY varchar(200) not null,
COUNTRY varchar(200) not null,
POSTAL_CODE varchar(200) not null,
REGION varchar(200) not null,
AG_PROFILE_PID bigint,
primary key (PID)
);
create table AG_APP_REQUEST (
PID bigint not null,
APP_DESCRIPTION varchar(400),
APP_DEVELOPER_NAME varchar(200),
APP_HOMEPAGE varchar(200),
APP_NAME varchar(200) not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
MEMBER_COMMENT varchar(200),
COMPANY_NAME varchar(200),
EMAIL varchar(200) not null,
FIRST_NAME varchar(200) not null,
INDUSTRY varchar(200),
JOB_TITLE varchar(200),
LAST_NAME varchar(200) not null,
NOTE varchar(400),
REQUEST_STATUS varchar(20) not null,
SUBSCRIBE_ACCEPTED bit,
MODULE_PID bigint not null,
primary key (PID)
);
create table AG_APPL (
PID bigint not null,
ATTESTATION_ACCEPTED bit not null,
BACKEND_SERVICE bit,
CONFIDENTIAL bit,
CONFIDENTIAL_TYPE varchar(20),
JWK_SET_URL varchar(4000),
HOME_URL varchar(200),
LAUNCH_URL varchar(200),
LONG_DESC varchar(4000) not null,
APP_NAME varchar(200) not null,
OAUTH_REDIRECT_URL varchar(200) not null,
PRIVACY_POLICY_URL varchar(200) not null,
SHORT_DESC varchar(200) not null,
AG_STATUS varchar(20) not null,
TERMS_OF_SERVICE_URL varchar(200) not null,
VERSION_NUMBER bigint,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
IDENTIFIER varchar(200),
SEED varchar(256),
VIDEO_URL varchar(200),
VIDEO_URL_STATUS varchar(20),
JWK_SET_PID bigint,
ATTESTATION_PID bigint,
ICON_PID bigint,
MODULE_PID bigint not null,
OAUTH2_CLIENT_PID bigint,
PARENT_PID bigint,
PROFILE_PID bigint,
USER_PID bigint,
primary key (PID)
);
create table AG_ATTESTATION (
PID bigint not null,
ARCHIVE_DATE datetime2(6),
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
TITLE varchar(200) not null,
HTML_PID bigint,
MODULE_PID bigint not null,
PLAIN_HTML_PID bigint,
primary key (PID)
);
create table AG_CLASS (
PID bigint not null,
CLASSIFICATION varchar(200) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_COUNTRY (
PID bigint not null,
ISO_CODE_ALPHA2 varchar(2) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_DATA (
PID bigint not null,
DATA_LOB varbinary(max),
DATA_BIN varbinary(max),
primary key (PID)
);
create table AG_DOCUMENT (
PID bigint not null,
FILEACTIVE bit not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
FILEDESC varchar(200),
FILENAME varchar(200) not null,
FILETYPE varchar(200) not null,
DOCUMENT_PID bigint not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_DRAFT (
PID bigint not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
BACKEND_SERVICE bit,
DATA_HASH int,
APP_NAME varchar(200) not null,
DRAFT_PID bigint not null,
MODULE_PID bigint not null,
SOURCE_APP_PID bigint,
USER_PID bigint not null,
primary key (PID)
);
create table AG_MEMBER_PHONE (
PID bigint not null,
COUNTRY_CODE varchar(20) not null,
PHONE_NUMBER varchar(20) not null,
PHONE_TYPE varchar(20) not null,
AG_APP_REQUEST_PID bigint,
primary key (PID)
);
create table AG_METADATA (
PID bigint not null,
METADATA_KEY varchar(100) not null,
METADATA_SEARCHABLE bit not null,
METADATA_VALUE varchar(4000) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_NOTE (
PID bigint not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
MESSAGE varchar(1500) not null,
REASON varchar(1000) not null,
NOTE_TYPE varchar(20),
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_OAUTH_REDIRECT (
PID bigint not null,
OAUTH_REDIRECT_URL varchar(200) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_PERMISSION (
PID bigint not null,
PERMISSION varchar(200) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_PHONE (
PID bigint not null,
COUNTRY_CODE varchar(20) not null,
PHONE_NUMBER varchar(20) not null,
PHONE_TYPE varchar(20) not null,
AG_PROFILE_PID bigint,
primary key (PID)
);
create table AG_PREREQUISITE (
PID bigint not null,
PREREQUISITE varchar(200) not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_PROFILE (
PID bigint not null,
ABOUT_US varchar(250),
ARCHIVE_DATE datetime2(6),
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
LAST_MODIFIED_BY varchar(200) not null,
LAST_MODIFIED_DATE datetime2(6) not null,
BUSINESS_NAME varchar(200),
DESIGNATION varchar(200),
DUNS_NUMBER varchar(200),
FULL_NAME varchar(200) not null,
INCORPORATED bit,
INDIVIDUAL bit not null,
SALES_CONTACT varchar(200),
SUPPORT_CONTACT varchar(200),
SUPPORT_WEBPAGE varchar(200),
PROFILE_TYPE varchar(20),
WEBSITE_URL varchar(200),
MODULE_PID bigint not null,
USER_PID bigint not null,
primary key (PID)
);
create table AG_SANDBOX_CLIENT (
PID bigint not null,
SEED varchar(256),
MODULE_PID bigint not null,
OAUTH2_CLIENT_PID bigint not null,
USER_PID bigint not null,
primary key (PID)
);
create table AG_SCOPE (
PID bigint not null,
SCOPE varchar(200) not null,
SCOPE_TYPE varchar(20),
AG_APPL_PID bigint,
primary key (PID)
);
create table AG_SCREENSHOT (
PID bigint not null,
FILENAME varchar(200) not null,
POSITION int not null,
ASSET_STATUS varchar(20) not null,
SCREENSHOT_PID bigint not null,
AG_APPL_PID bigint,
primary key (PID)
);
create table CDR_AUDIT_EVT (
PID bigint not null,
EVT_ADDITIONAL_JSON varchar(max),
EVT_ADDITIONAL_JSON_VC varchar(max),
AUSER_TYPE int,
HAVE_HEADERS bit,
REMOTE_ADDRESS varchar(100),
REQUEST_ID varchar(128),
HAVE_TARGET_MODULES bit not null,
SOURCE_TRANSACTION_ID varchar(128),
HAVE_TARGET_RESOURCES bit not null,
HAVE_TARGET_USERS bit not null,
EVT_TIMESTAMP datetime2(6) not null,
TRANSACTION_GUID varchar(36),
TYPE_DISPLAY varchar(200) not null,
USER_PID bigint,
CLIENT_PID bigint,
ENDPOINT_MODULE_PID bigint not null,
TYPE_PID bigint not null,
primary key (PID)
);
create table CDR_AUDIT_EVT_HEADER (
PID bigint not null,
EVT_HEADER_NAME varchar(100) not null,
EVT_HEADER_VALUE varchar(250),
EVENT_PID bigint not null,
primary key (PID)
);
create table CDR_AUDIT_EVT_TARGET_MODULE (
PID bigint not null,
EVENT_PID bigint not null,
MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_AUDIT_EVT_TARGET_RES (
PID bigint not null,
REQ_VAL_RESULT int,
RES_ID varchar(120) not null,
RES_VERSION bigint,
RES_VERSION_STR varchar(128),
EVENT_PID bigint not null,
PERS_MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_AUDIT_EVT_TARGET_USER (
PID bigint not null,
USER_PID bigint not null,
EVENT_PID bigint not null,
primary key (PID)
);
create table CDR_AUDIT_EVT_TYPE (
PID bigint not null,
CODEVAL varchar(200),
SYSTEM_URL varchar(200),
primary key (PID)
);
create table CDR_CACHE_SYNC (
PID bigint not null,
CACHE_ID varchar(256) not null,
MODULE_PID bigint not null,
UPDATED_TIME datetime2(6) not null,
VERSION bigint not null,
primary key (PID)
);
create table CDR_CDA_TEMPLATE (
PID bigint not null,
TEMPLATE_DESCRIPTION varchar(250),
TEMPLATE_ID varchar(250) not null,
TEMPLATE_CONTENT varchar(max),
TEMPLATE_CONTENT_VC varchar(max),
MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_CDA_TEMPLATE_PARAM (
PID bigint not null,
TEMPLATE_PARAMETER_NAME varchar(250) not null,
TEMPLATE_PID bigint,
primary key (PID)
);
create table CDR_CUSTOM_ROLE (
PID bigint not null,
ROLE_DESCRIPTION varchar(500),
ROLE_NAME varchar(100) not null,
primary key (PID)
);
create table CDR_CUSTOM_ROLE_PERM (
PID bigint not null,
PERMISSION_TYPE varchar(100) not null,
PERMISSION_ARG varchar(200),
CUSTOM_ROLE_PID bigint not null,
primary key (PID)
);
create table CDR_DB_VERSION (
DB_VERSION varchar(100) not null,
DB_INIT_TIME datetime2(6) not null,
primary key (DB_VERSION)
);
create table CDR_GLOBAL_GAUGE (
ID varchar(200) not null,
VAL_DOUBLE float(53),
VAL_LONG bigint,
primary key (ID)
);
create table CDR_HTTP_SESSION (
PID bigint not null,
SES_ATTRS varbinary(max),
SES_ATTRS_BIN varbinary(max),
SES_EXPIRY datetime2(6) not null,
LAST_ACCESSED_TIME datetime2(6),
MAX_INACTIVE bigint not null,
PRINCIPAL_USERNAME varchar(200),
SES_ID varchar(200) not null,
MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_IDENTIFICATION_CODES (
PID bigint not null,
CDR_CODE varchar(6) not null,
CODE_STATUS varchar(20) not null,
CREATED_ON datetime2(6) not null,
EXPIRES_ON datetime2(6) not null,
USER_PID bigint not null,
primary key (PID)
);
create table CDR_METRIC_HEALTH (
PID bigint not null,
CUSTOM_HEALTHCHECK_NAME varchar(256),
ERROR_STRING varchar(256),
HEALTHCHECK_TYPE int not null,
IS_HEALTHY bit not null,
HEALTHY_STRING varchar(256),
MODPROC_PID bigint not null,
primary key (PID)
);
create table CDR_MODULE (
PID bigint not null,
DELETED bit not null,
MODULE_DISABLED bit not null,
MATURITY int,
MODULE_ID varchar(50) not null,
PORTVAL int,
NODE_PID bigint not null,
PROTOTYPE_PID bigint not null,
primary key (PID)
);
create table CDR_MODULE_CFG_PROP (
PID bigint not null,
VALUE_STRING varchar(200),
VALUE_EXTENDED varchar(max),
VALUE_EXTENDED_VC varchar(max),
MODULE_PID bigint not null,
PROTOTYPE_PID bigint not null,
primary key (PID)
);
create table CDR_MODULE_DEP (
PID bigint not null,
MODULE_PID bigint not null,
PROTOTYPE_PID bigint not null,
TARGET_PID bigint,
primary key (PID)
);
create table CDR_MODULE_PROCESS (
PID bigint not null,
FIRST_MP bit,
MODULE_PID bigint not null,
NODEPROC_PID bigint not null,
RESTART_REQUIRED bit not null,
MODULE_STATUS int not null,
MODULE_STATUS_DESC varchar(200),
STATUS_TIMESTAMP datetime2(6),
primary key (PID)
);
create table CDR_MODULE_PROT_CFG (
PID bigint not null,
IS_ADVANCED bit not null,
CATEGORY_KEY varchar(100) not null,
DEFAULT_VALUE varchar(1000),
DESC_KEY varchar(200),
ENUM_TYPE varchar(200),
CFG_INDEX int not null,
CFG_KEY varchar(200) not null,
CFG_MATURITY varchar(200),
NAME_KEY varchar(200) not null,
IS_OPTIONAL bit not null,
CFG_TYPE varchar(100) not null,
PROTOTYPE_PID bigint not null,
primary key (PID)
);
create table CDR_MODULE_PROT_DEP (
PID bigint not null,
DESCRIPTION_KEY varchar(200) not null,
ENTRY_KEY varchar(200) not null,
PROTOTYPE_PID bigint,
primary key (PID)
);
create table CDR_MODULE_PROT_SUPPLIES (
PID bigint not null,
ENTRY_KEY int not null,
PROTOTYPE_PID bigint,
primary key (PID)
);
create table CDR_MODULE_PROTOTYPE (
PID bigint not null,
MODULE_TYPE varchar(200) not null,
STOPPABLE bit not null,
primary key (PID)
);
create table CDR_MODULE_STATE (
PID bigint not null,
STATE_TYPE int not null,
STATE_VAL varchar(200),
MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_NODE (
PID bigint not null,
IS_CONFIG_LOCKED bit,
IS_DELETED bit,
ENVIRONMENT_TYPE varchar(16),
NODE_ID varchar(30) not null,
IS_SECURITY_STRICT bit,
primary key (PID)
);
create table CDR_NODE_MODULE_DIAGNOSTICS (
DIAGNOSTICS_JSON varchar(max),
DIAGNOSTICS_JSON_VC varchar(max),
MODULE_PID bigint not null,
NODE_PID bigint not null,
primary key (MODULE_PID, NODE_PID)
);
create table CDR_NODE_PROCESS (
PID bigint not null,
CREATED_TIME datetime2(6) not null,
HEARTBEAT_TIME datetime2(6),
KILLED_BY varchar(20),
NODE_PID bigint not null,
PROCESS_ID varchar(20) not null,
PROCESS_NAME varchar(100),
STARTED_TIME datetime2(6),
NODE_STATUS int not null,
STOPPED_TIME datetime2(6),
OPT_LOCK int not null,
primary key (PID)
);
create table CDR_OA2_CLI_DET_AUTH_GRNT_TYP (
PID bigint not null,
GRANT_TYPE varchar(100) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OA2_CLI_DET_AUTOAP_SCOPE (
PID bigint not null,
SCOPE varchar(764) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OA2_CLI_DET_AUTOGRNT_SCOPE (
PID bigint not null,
SCOPE varchar(764) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OA2_CLI_DET_CLISEC (
PID bigint not null,
SEC_ACTIVATION datetime2(6),
SEC_CREATION datetime2(6),
SEC_DESC varchar(250),
SEC_EXPIRATION datetime2(6),
CLI_SECRET varchar(250) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OA2_CLI_DET_REG_REDIR_URI (
PID bigint not null,
REDIR_URI varchar(200) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OA2_SERVER (
PID bigint not null,
ARCHIVED_AT datetime2(6),
AUDIENCE varchar(500),
AUTH_WELL_KNOWN_CONFIG_URL varchar(500),
CLIENT_AUTH_KS_ID varchar(50),
CLIENT_AUTH_METHOD varchar(100),
CUSTOM_TOKEN_PARAMS varchar(500),
FEDERATION_AUTH_SCRIPT_TEXT varbinary(max),
FEDERATION_AUTH_SCRIPT_TXT_BIN varbinary(max),
FEDERATION_AUTH_URL varchar(500),
FEDERATION_JWKS_URL varchar(500),
FEDERATION_REG_ID varchar(500) not null,
FEDERATION_REQ_SCOPES varchar(500),
FEDERATION_TOKEN_URL varchar(500),
FEDERATION_USER_INFO_URL varchar(500),
FEDERATION_USER_MAPPING_TEXT varbinary(max),
FEDERATION_USR_MAPPING_TXT_BIN varbinary(max),
FHIR_ENDPOINT_URL varchar(500),
ISS varchar(200) not null,
SERVER_NAME varchar(200),
NOTES varchar(1000),
ORGANIZATION_ID varchar(500),
RESPONSE_TYPE varchar(500),
INTRSPCT_CLIENT_ID varchar(200),
INTRSPCT_CLIENT_SCRT varchar(200),
JWKS_FILE varchar(500),
JWKS_TEXT varchar(max),
JWKS_TEXT_VC varchar(max),
MODULE_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_ATOKEN (
PID bigint not null,
EXPIRATION datetime2(6) not null,
GRANT_TYPE varchar(20),
ID_TOKEN_BYTES varbinary(max),
ID_TOKEN_BYTES_BIN varbinary(max),
ID_TOKEN_VAL varchar(1000),
ISSUED datetime2(6) not null,
REDIRECT_URI varchar(200),
TOKEN_HASH varchar(150) not null,
TOKEN_BYTES varbinary(max),
TOKEN_BYTES_BIN varbinary(max),
TOKEN_VAL varchar(1000),
CLIENT_PID bigint not null,
MODULE_PID bigint not null,
REFRESH_TOKEN_PID bigint,
USER_PID bigint,
primary key (PID)
);
create table CDR_OAUTH2_ATOKEN_ADNLINFO (
PID bigint not null,
INFO_KEY varchar(200) not null,
INFO_VALUE varchar(200) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_ATOKEN_GRNTDA (
PID bigint not null,
PERM_ARG varchar(764),
PERM_NAME varchar(100) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_ATOKEN_SCOPE (
PID bigint not null,
SCOPE varchar(764) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_ATOKEN_UDATA (
ATOKEN_PID bigint not null,
TOKEN_KEY varchar(256) not null,
VAL varbinary(max),
primary key (ATOKEN_PID, TOKEN_KEY)
);
create table CDR_OAUTH2_ATOKEN_UDATA_BIN (
ATOKEN_PID bigint not null,
TOKEN_KEY varchar(256) not null,
VAL_BIN varbinary(max),
primary key (ATOKEN_PID, TOKEN_KEY)
);
create table CDR_OAUTH2_AUTH_CODE (
PID bigint not null,
OAUTH2_AUTHENTICATION varbinary(max),
OAUTH2_AUTHENTICATION_BIN varbinary(max),
CLIENT_ID varchar(200) not null,
CODE_VAL varchar(100) not null,
EXPIRATION datetime2(6) not null,
PKCE_CHALLENGE varchar(200),
PKCE_CHALLENGE_TYPE varchar(10),
STATE_VAL varchar(256),
primary key (PID)
);
create table CDR_OAUTH2_CLIENT_DET_SCOPE (
PID bigint not null,
SCOPE varchar(764) not null,
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_CLIENT_DETAILS (
PID bigint not null,
ACCESS_TOKEN_VALIDITY_SECONDS int,
ALWAYS_REQUIRE_APPROVAL bit,
ARCHIVED_AT datetime2(6),
ATTESTATION_ACCEPTED bit,
CAN_INTROSPECT_ANY bit,
CAN_INTROSPECT_OWN bit,
CAN_REUSE_TOKENS bit,
CLIENT_ID varchar(200) not null,
CLIENT_NAME varchar(200),
CLIENT_SECRET varchar(200),
ENABLED bit,
FIXED_SCOPE bit not null,
JWKS_URL varchar(4000),
PUBLIC_JWKS varbinary(max),
PUBLIC_JWKS_BIN varbinary(max),
REFRESH_TOKEN_VALIDITY_SECONDS int,
REMEMBER_APPROVED_SCOPES bit,
SECRET_CLIENT_CAN_CHANGE bit,
SECRET_REQUIRED bit not null,
MODULE_PID bigint,
primary key (PID)
);
create table CDR_OAUTH2_CLIENT_PERM (
PID bigint not null,
PERMISSION_TYPE varchar(100) not null,
PERMISSION_ARG varchar(200),
CLIENT_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_JWT_UNIQ_ID (
JWT_ID varchar(500) not null,
CONSUMED_TIMESTAMP datetime2(6) not null,
primary key (JWT_ID)
);
create table CDR_OAUTH2_KEYSTORE (
KEYSTORE_ID varchar(50) not null,
FILE_PATH varchar(4000),
JSON_KEYS varchar(4000),
primary key (KEYSTORE_ID)
);
create table CDR_OAUTH2_REFRESH_TOKEN (
PID bigint not null,
EXPIRATION datetime2(6),
ISSUED datetime2(6) not null,
TOKEN_VAL varchar(150) not null,
CLIENT_PID bigint,
USER_PID bigint,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_ADNLINFO (
PID bigint not null,
INFO_KEY varchar(200) not null,
INFO_VALUE varchar(200) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_GRNTDA (
PID bigint not null,
PERM_ARG varchar(764),
PERM_NAME varchar(100) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_LNCHRESID (
PID bigint not null,
RESOURCE_ID varchar(64) not null,
RESOURCE_TYPE varchar(50) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_REQPRM (
PID bigint not null,
PARM_KEY varchar(200) not null,
PARM_VALUE varchar(1600),
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_SCOPE (
PID bigint not null,
SCOPE varchar(764) not null,
TOKEN_PID bigint not null,
primary key (PID)
);
create table CDR_OAUTH2_RTOKEN_UDATA (
TOKEN_PID bigint not null,
TOKEN_KEY varchar(256) not null,
VAL varbinary(max),
primary key (TOKEN_PID, TOKEN_KEY)
);
create table CDR_OAUTH2_RTOKEN_UDATA_BIN (
TOKEN_PID bigint not null,
TOKEN_KEY varchar(256) not null,
VAL_BIN varbinary(max),
primary key (TOKEN_PID, TOKEN_KEY)
);
create table CDR_RESTORE (
PID bigint not null,
CONFIGS varchar(max),
CONFIGS_VC varchar(max),
CREATED datetime2(6) not null,
VERSION varchar(50) not null,
NODE_PID bigint not null,
USER_PID bigint,
primary key (PID)
);
create table CDR_SCHEDULED_JOB_DETAILS (
PID bigint not null,
IS_ACTIVE bit not null,
CREATION_DATE datetime2(6) not null,
JOB_ID varchar(200) not null,
SCHEDULE_EXPRESSION varchar(250) not null,
SCHEDULER_TYPE varchar(50) not null,
PARAMETERS varchar(max),
TARGET varchar(250) not null,
MODULE_PID bigint not null,
NODE_PID bigint not null,
primary key (PID)
);
create table CDR_SCHEDULED_JOB_EXECUTION (
EXECUTION_ID bigint not null,
EXECUTION_END datetime2(6),
EXECUTION_START datetime2(6) not null,
EXECUTED_JOB_ID varchar(100),
JOB_STATUS varchar(50) not null,
PARAMETERS varchar(max),
TRANSACTION_GUID varchar(36),
JOB_PID bigint not null,
primary key (EXECUTION_ID)
);
create table CDR_USER_DETAILS (
PID bigint not null,
IS_ANON_ACCT bit,
CREDS_EXPIRE_ON datetime2(6),
USER_DISABLED bit not null,
EMAIL varchar(200),
EXPIRES_ON datetime2(6),
IS_EXTERNAL bit,
FAILED_LOGIN_ATTEMPTS int,
FAMILY_NAME varchar(200),
GIVEN_NAME varchar(200),
LAST_ACTIVE datetime2(6),
LAST_CONNECTED datetime2(6),
USER_LOCKED bit not null,
MODULE_PID bigint not null,
NOTES varchar(max),
NOTES_VC varchar(max),
USER_PASSWORD varchar(200),
IS_SERVICE_ACCT bit,
IS_SYSTEM_USER bit not null,
UPDATED_TS datetime2(6) not null,
USERNAME varchar(200) not null,
USERNAME_HAS_NAMESPACE bit,
primary key (PID)
);
create table CDR_USER_DETAILS_DEF_LNCH_CTX (
PID bigint not null,
CONTEXT_TYPE varchar(50) not null,
RESOURCE_ID varchar(64) not null,
USER_PID bigint not null,
primary key (PID)
);
create table CDR_USER_DETAILS_OA2CLNAPRVSCP (
PID bigint not null,
IS_APPROVED bit not null,
SCOPE varchar(764) not null,
CLIENT_PID bigint not null,
USER_PID bigint not null,
primary key (PID)
);
create table CDR_USER_OA2CLN_TOS (
PID bigint not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
REVOKED_BY varchar(200),
REVOKED_DATE datetime2(6),
VERSION varchar(200) not null,
CLIENT_PID bigint not null,
USER_PID bigint not null,
primary key (PID)
);
create table CDR_USER_PERM (
PID bigint not null,
PERMISSION_TYPE varchar(100) not null,
PERMISSION_ARG varchar(200),
USER_PID bigint,
primary key (PID)
);
create table CDR_USER_PSN (
PID bigint not null,
CREATED_BY varchar(200) not null,
CREATED_DATE datetime2(6) not null,
REVOKED_BY varchar(200),
REVOKED_DATE datetime2(6),
USER_PID bigint not null,
VERSION varchar(200) not null,
primary key (PID)
);
create table CDR_USER_TFA_KEY (
PID bigint not null,
CONFIRMED_AT datetime2(6),
KEY_EXPIRES datetime2(6),
FAILED_VERIFS int,
A_KEY varchar(250) not null,
A_STYLE varchar(20) not null,
OPTLOCK int not null,
USER_PID bigint not null,
primary key (PID)
);
create table CDR_XACT_LOG (
PID bigint not null,
ADDITIONAL_JSON varchar(max),
INITIAL_TIMESTAMP datetime2(6) not null,
EVT_OUTCOME int not null,
SRC_XACT_ID varchar(128),
EVT_SUBTYPE int not null,
SRC_GUID varchar(36),
EVT_TYPE int not null,
USER_PID bigint,
CLIENT_PID bigint,
CDR_ENDPOINT_MODULE_PID bigint,
primary key (PID)
);
create table CDR_XACT_LOG_STEP (
STEP_PID bigint not null,
BODY_BYTES varbinary(max),
BODY_BYTES_BIN varbinary(max),
BODY_TYPE int,
HAS_STORAGE_OUTCOMES bit,
LOCAL_HOST varchar(100),
LOCAL_PORT int,
EVT_OUTCOME int,
PROCESSING_TIME bigint,
REMOTE_HOST varchar(100),
REMOTE_PORT int,
REQUEST_URL_STR varchar(250),
REQ_VAL_RESULT int,
REQUEST_VERB varchar(7),
RESPONSE_STATUS smallint,
SUBSCRIPTION_ID varchar(77),
LOG_TIMESTAMP datetime2(6) not null,
STEP_TYPE int not null,
LOG_PID bigint not null,
primary key (STEP_PID)
);
create table CDR_XACT_LOG_STOR_OUTCOME (
PID bigint not null,
ERROR_MSG varchar(200),
SOURCE_RESOURCE_ID varchar(100),
SOURCE_RESOURCE_TYPE varchar(40),
SOURCE_URI varchar(768),
TARGET_OUTCOME varchar(100),
TARGET_RESOURCE_ID varchar(100),
TARGET_RESOURCE_TYPE varchar(40),
TARGET_RESOURCE_VERSION bigint,
STEP_PID bigint not null,
primary key (PID)
);
create index IDX_AG_APPL_IDENTIFIER
on AG_APPL (IDENTIFIER);
create index IDX_AG_ATTEST_ARCHIVE_DATE
on AG_ATTESTATION (ARCHIVE_DATE);
alter table AG_DRAFT
add constraint IDX_AG_DRAFT_APPNAME_USER unique (APP_NAME, USER_PID);
alter table AG_OAUTH_REDIRECT
add constraint IDX_AG_OAUTH_REDIRECT_PID unique (OAUTH_REDIRECT_URL, PID);
create index IDX_AE_TGUID
on CDR_AUDIT_EVT (TRANSACTION_GUID);
create index IDX_CDRAUDITEVT_EVTTIMESTAMP
on CDR_AUDIT_EVT (EVT_TIMESTAMP);
create index IDX_AUDITEVT_HEADER_EVT
on CDR_AUDIT_EVT_HEADER (EVENT_PID);
create index IDX_AUDITEVT_TARGMOD_EVT
on CDR_AUDIT_EVT_TARGET_MODULE (EVENT_PID);
create index IDX_AUDITEVT_TARGRES_EVT
on CDR_AUDIT_EVT_TARGET_RES (EVENT_PID);
create index IDX_AUDITEVT_TARGRES_RES_EVT
on CDR_AUDIT_EVT_TARGET_RES (RES_ID, EVENT_PID);
create index IDX_AUDITEVT_TARGUSR_EVT
on CDR_AUDIT_EVT_TARGET_USER (EVENT_PID);
create unique nonclustered index IDX_AUDITEVTTYPE_SYSTEM_CODE
on CDR_AUDIT_EVT_TYPE (SYSTEM_URL, CODEVAL) where SYSTEM_URL is not null and CODEVAL is not null;
alter table CDR_CACHE_SYNC
add constraint IDX_CACHE_SYNC_ID unique (MODULE_PID, CACHE_ID);
alter table CDR_CDA_TEMPLATE
add constraint IDX_CDATEMPL_ID unique (TEMPLATE_ID);
alter table CDR_CUSTOM_ROLE
add constraint IDX_CUSTOM_ROLE_NAME unique (ROLE_NAME);
create index IDX_CUSTOM_ROLE_PERM_ROLE
on CDR_CUSTOM_ROLE_PERM (CUSTOM_ROLE_PID);
create index IDX_HTTPSESSION_EXPIRY
on CDR_HTTP_SESSION (SES_EXPIRY);
create index IDX_HTTPSESSION_MODULE
on CDR_HTTP_SESSION (MODULE_PID);
alter table CDR_HTTP_SESSION
add constraint IDX_HTTPSESSION_ID unique (SES_ID);
create index IDX_ICE_UPIDCREATEDON
on CDR_IDENTIFICATION_CODES (USER_PID, CREATED_ON);
create unique nonclustered index IDX_METRICHC_MOD_TYPE_NAME
on CDR_METRIC_HEALTH (MODPROC_PID, HEALTHCHECK_TYPE, CUSTOM_HEALTHCHECK_NAME) where MODPROC_PID is not null and HEALTHCHECK_TYPE is not null and CUSTOM_HEALTHCHECK_NAME is not null;
alter table CDR_MODULE
add constraint IDX_MODULE_ID unique (NODE_PID, MODULE_ID);
alter table CDR_MODULE_CFG_PROP
add constraint IDX_CDR_MODULE_CDR_PROP_MODKEY unique (MODULE_PID, PROTOTYPE_PID);
alter table CDR_MODULE_PROCESS
add constraint IDX_MODPROC_NODEPROC_MOD unique (NODEPROC_PID, MODULE_PID);
alter table CDR_MODULE_PROT_CFG
add constraint IDX_CDR_MODULE_PROT_CDG_MODKEY unique (PROTOTYPE_PID, CFG_KEY);
create unique nonclustered index IDX_MODULEPROTDEP_PROT_KEY
on CDR_MODULE_PROT_DEP (PROTOTYPE_PID, ENTRY_KEY) where PROTOTYPE_PID is not null and ENTRY_KEY is not null;
alter table CDR_MODULE_PROTOTYPE
add constraint IDX_MODULEPROTOTYPE_TYPE unique (MODULE_TYPE);
create index IDX_MODSTAT_MOD
on CDR_MODULE_STATE (MODULE_PID);
alter table CDR_MODULE_STATE
add constraint IDX_MODSTAT_MODTYPE unique (MODULE_PID, STATE_TYPE);
alter table CDR_NODE
add constraint IDX_NODE_ID unique (NODE_ID);
alter table CDR_NODE_PROCESS
add constraint IDX_NODEPROC_PROCID unique (PROCESS_ID);
alter table CDR_OA2_CLI_DET_AUTH_GRNT_TYP
add constraint IDX_OA2TOKGRTTYP_TOK_GRNT_TYP unique (CLIENT_PID, GRANT_TYPE);
alter table CDR_OA2_CLI_DET_AUTOAP_SCOPE
add constraint IDX_OA2CLIDETAASCOPE_TOK_SCOP unique (CLIENT_PID, SCOPE);
alter table CDR_OA2_CLI_DET_AUTOGRNT_SCOPE
add constraint IDX_OA2CLIDETAGSCOPE_TOK_SCOP unique (CLIENT_PID, SCOPE);
alter table CDR_OA2_CLI_DET_CLISEC
add constraint IDX_OA2CLIDETCLISEC_SECRET unique (CLIENT_PID, CLI_SECRET);
alter table CDR_OA2_CLI_DET_REG_REDIR_URI
add constraint IDX_OA2CLIDETRRURI_TOK_SCO unique (CLIENT_PID, REDIR_URI);
create index IDX_OA2SERVER_FED_REG_ID
on CDR_OA2_SERVER (MODULE_PID, FEDERATION_REG_ID, ARCHIVED_AT);
create index IDX_OA2SERVER_MODULE_ISSURL
on CDR_OA2_SERVER (MODULE_PID, ISS, ARCHIVED_AT);
create index IDX_OA2ATOKEN_TOKEN_HASH
on CDR_OAUTH2_ATOKEN (TOKEN_HASH);
create index IDX_OA2ATOKEN_USER
on CDR_OAUTH2_ATOKEN (USER_PID);
create index IDX_OA2ATOKEN_EXPIRATION
on CDR_OAUTH2_ATOKEN (EXPIRATION);
alter table CDR_OAUTH2_ATOKEN_ADNLINFO
add constraint IDX_OA2ATOKADLNF_ATOKEN_ADNLNF unique (TOKEN_PID, INFO_KEY);
create index IDX_OA2ATOKGRNT_ATOKEN_PERM
on CDR_OAUTH2_ATOKEN_GRNTDA (TOKEN_PID, PERM_NAME);
create index IDX_OA2ATOKSCP_SCP
on CDR_OAUTH2_ATOKEN_SCOPE (SCOPE, TOKEN_PID);
alter table CDR_OAUTH2_ATOKEN_SCOPE
add constraint IDX_OA2ATOKSCP_ATOKEN_SCOPE unique (TOKEN_PID, SCOPE);
create index IDX_OA2AUTHCODE_EXPIRATION
on CDR_OAUTH2_AUTH_CODE (EXPIRATION);
alter table CDR_OAUTH2_AUTH_CODE
add constraint IDX_OA2AUTHCODE_CODE unique (CODE_VAL);
alter table CDR_OAUTH2_CLIENT_DET_SCOPE
add constraint IDX_OA2CLIDETSCOP_TOKEN_SCOPE unique (CLIENT_PID, SCOPE);
create unique nonclustered index IDX_OA2CLIENTDETAILS_CLI_MOD
on CDR_OAUTH2_CLIENT_DETAILS (MODULE_PID, CLIENT_ID, ARCHIVED_AT) where MODULE_PID is not null and CLIENT_ID is not null and ARCHIVED_AT is not null;
create index IDX_OA2JWTUNIQID_TIMESTAMP
on CDR_OAUTH2_JWT_UNIQ_ID (CONSUMED_TIMESTAMP);
create index IDX_OA2REFTOKEN_USER
on CDR_OAUTH2_REFRESH_TOKEN (USER_PID);
create index IDX_OA2REFTOKEN_EXPIRATION
on CDR_OAUTH2_REFRESH_TOKEN (EXPIRATION);
alter table CDR_OAUTH2_REFRESH_TOKEN
add constraint IDX_OA2REFTOKEN_TOKEN unique (TOKEN_VAL);
alter table CDR_OAUTH2_RTOKEN_ADNLINFO
add constraint IDX_OA2RTOKADLNF_RTOKEN_ADNLNF unique (TOKEN_PID, INFO_KEY);
alter table CDR_OAUTH2_RTOKEN_REQPRM
add constraint IDX_OA2RTOKREQPRM_RTOKEN_PARM unique (TOKEN_PID, PARM_KEY);
create index IDX_OA2RTOKSCP_SCP
on CDR_OAUTH2_RTOKEN_SCOPE (SCOPE, TOKEN_PID);
alter table CDR_OAUTH2_RTOKEN_SCOPE
add constraint IDX_OA2RTOKSCP_RTOKEN_SCOPE unique (TOKEN_PID, SCOPE);
create index IDX_NID_CR_VER
on CDR_RESTORE (NODE_PID, CREATED, VERSION);
create index FK_CDR_RESTORE_NODE
on CDR_RESTORE (NODE_PID);
create index FK_CDR_RESTORE_USER
on CDR_RESTORE (USER_PID);
create index IDX_SCHEDULEDJOB_IDDATE
on CDR_SCHEDULED_JOB_DETAILS (NODE_PID, MODULE_PID, CREATION_DATE, JOB_ID);
create index FK_SCHEDULEDJOB_MODULEPID
on CDR_SCHEDULED_JOB_DETAILS (MODULE_PID);
alter table CDR_SCHEDULED_JOB_DETAILS
add constraint IDX_SCHJOB_ID unique (NODE_PID, MODULE_PID, JOB_ID);
create index IDX_CSJE_IDSTART
on CDR_SCHEDULED_JOB_EXECUTION (JOB_PID, EXECUTION_START);
alter table CDR_SCHEDULED_JOB_EXECUTION
add constraint IDX_CSJE_STARTID unique (EXECUTION_START, EXECUTION_ID);
create index IDX_USER_FAMILYNAME
on CDR_USER_DETAILS (MODULE_PID, FAMILY_NAME);
create index IDX_USER_GIVENNAME
on CDR_USER_DETAILS (MODULE_PID, GIVEN_NAME);
alter table CDR_USER_DETAILS
add constraint IDX_USERDET_MODULE_USERNAME unique (MODULE_PID, USERNAME);
create index IDX_USERDEFLNCHCTX_USER
on CDR_USER_DETAILS_DEF_LNCH_CTX (USER_PID);
alter table CDR_USER_DETAILS_DEF_LNCH_CTX
add constraint IDX_USERDEFLNCHCTX_USER_CTYP unique (USER_PID, CONTEXT_TYPE);
create index IDX_USROA2CLNTAPRVDSCP_CLNTUSR
on CDR_USER_DETAILS_OA2CLNAPRVSCP (CLIENT_PID, USER_PID);
create index IDX_USER_OA2CLN_TOS_USRCLNT
on CDR_USER_OA2CLN_TOS (USER_PID, CLIENT_PID);
create index IDX_USER_PERM_PERM_USER
on CDR_USER_PERM (PERMISSION_TYPE, USER_PID);
create index IDX_USER_PSN_USR
on CDR_USER_PSN (USER_PID, VERSION, CREATED_DATE, REVOKED_DATE);
alter table CDR_USER_TFA_KEY
add constraint IDX_USERTFAKEY_USER unique (USER_PID);
create index IDX_XACTLOG_INITTS
on CDR_XACT_LOG (INITIAL_TIMESTAMP);
create index IDX_XACTID
on CDR_XACT_LOG (SRC_XACT_ID);
create unique nonclustered index IDX_GUID
on CDR_XACT_LOG (SRC_GUID) where SRC_GUID is not null;
create index IDX_XACTLOGSTEP_LOGID
on CDR_XACT_LOG_STEP (LOG_PID);
create index IDX_XACTLOGSO_STEP
on CDR_XACT_LOG_STOR_OUTCOME (STEP_PID);
create index IDX_XACTLOGSO_SOURCE_TGT
on CDR_XACT_LOG_STOR_OUTCOME (SOURCE_URI, TARGET_RESOURCE_TYPE, TARGET_RESOURCE_ID, TARGET_OUTCOME);
create index IDX_XACTLOGSO_TGT_SOURCE
on CDR_XACT_LOG_STOR_OUTCOME (TARGET_RESOURCE_TYPE, TARGET_RESOURCE_ID, TARGET_OUTCOME, SOURCE_URI);
alter table AG_ADDRESS
add constraint FK_AG_ADDRESS_AG_PROFILE
foreign key (AG_PROFILE_PID)
references AG_PROFILE;
alter table AG_APP_REQUEST
add constraint FK_AG_APP_REQUEST_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_APPL
add constraint FK_AG_APPL_JWK_SET
foreign key (JWK_SET_PID)
references AG_DATA;
alter table AG_APPL
add constraint FK_AG_APPL_AG_ATTESTATION
foreign key (ATTESTATION_PID)
references AG_ATTESTATION;
alter table AG_APPL
add constraint FK_AG_APPL_ICON
foreign key (ICON_PID)
references AG_DATA;
alter table AG_APPL
add constraint FK_AG_APPL_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_APPL
add constraint FK_AG_APPL_OAUTH2_CLIENT
foreign key (OAUTH2_CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table AG_APPL
add constraint FK_AG_APPL_PARENT_PID
foreign key (PARENT_PID)
references AG_APPL;
alter table AG_APPL
add constraint FK_AG_APPL_AG_PROFILE
foreign key (PROFILE_PID)
references AG_PROFILE;
alter table AG_APPL
add constraint FK_AG_APPL_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table AG_ATTESTATION
add constraint FK_AG_ATTESTATION_HTML
foreign key (HTML_PID)
references AG_DATA;
alter table AG_ATTESTATION
add constraint FK_AG_ATTESTATION_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_ATTESTATION
add constraint FK_AG_ATTESTATION_PLAIN_HTML
foreign key (PLAIN_HTML_PID)
references AG_DATA;
alter table AG_CLASS
add constraint FK_AG_CLASS_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_COUNTRY
add constraint FK_AG_COUNTRY_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_DOCUMENT
add constraint FK_AG_DOCUMENT_DATA_BLOB
foreign key (DOCUMENT_PID)
references AG_DATA;
alter table AG_DOCUMENT
add constraint FK_AG_DOCUMENT_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_DRAFT
add constraint FK_AG_DRAFT_DATA_BLOB
foreign key (DRAFT_PID)
references AG_DATA;
alter table AG_DRAFT
add constraint FK_AG_DRAFT_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_DRAFT
add constraint FK_AG_DRAFT_SOURCE_APP_PID
foreign key (SOURCE_APP_PID)
references AG_APPL;
alter table AG_DRAFT
add constraint FK_AG_DRAFT_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table AG_MEMBER_PHONE
add constraint FK_AG_MEMBER_PHONE_APP_REQUEST
foreign key (AG_APP_REQUEST_PID)
references AG_APP_REQUEST;
alter table AG_METADATA
add constraint FK_AG_METADATA_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_NOTE
add constraint FK_AG_NOTE_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_OAUTH_REDIRECT
add constraint FK_AG_OAUTH_REDIRECT_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_PERMISSION
add constraint FK_AG_PERMISSION_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_PHONE
add constraint FK_AG_PHONE_AG_PROFILE
foreign key (AG_PROFILE_PID)
references AG_PROFILE;
alter table AG_PREREQUISITE
add constraint FK_AG_PREREQUISITE_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_PROFILE
add constraint FK_AG_PROFILE_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_PROFILE
add constraint FK_AG_PROFILE_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table AG_SANDBOX_CLIENT
add constraint FK_AG_SANDBOX_CLIENT_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table AG_SANDBOX_CLIENT
add constraint FK_AG_CLIENT_OAUTH2_CLIENT
foreign key (OAUTH2_CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table AG_SANDBOX_CLIENT
add constraint FK_AG_SANDBOX_CLIENT_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table AG_SCOPE
add constraint FK_AG_SCOPE_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table AG_SCREENSHOT
add constraint FK_AG_SCREENSHOT_DATA_BLOB
foreign key (SCREENSHOT_PID)
references AG_DATA;
alter table AG_SCREENSHOT
add constraint FK_AG_SCREENSHOT_AG_APPL
foreign key (AG_APPL_PID)
references AG_APPL;
alter table CDR_AUDIT_EVT
add constraint FK_AUDITEVT_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_AUDIT_EVT
add constraint FK_AUDITEVT_ENDPOINTMODULE
foreign key (ENDPOINT_MODULE_PID)
references CDR_MODULE;
alter table CDR_AUDIT_EVT
add constraint FK_AUDITEVT_TYPE
foreign key (TYPE_PID)
references CDR_AUDIT_EVT_TYPE;
alter table CDR_AUDIT_EVT
add constraint FK_AUDITEVT_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_AUDIT_EVT_HEADER
add constraint FK_AUDITEVT_HEADER_EVT
foreign key (EVENT_PID)
references CDR_AUDIT_EVT;
alter table CDR_AUDIT_EVT_TARGET_MODULE
add constraint FK_AUDITEVT_TARGETMODULE_EVT
foreign key (EVENT_PID)
references CDR_AUDIT_EVT;
alter table CDR_AUDIT_EVT_TARGET_MODULE
add constraint FK_AUDITEVT_TARGETMOD_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_AUDIT_EVT_TARGET_RES
add constraint FK_AUDITEVT_TARGETRES_EVT
foreign key (EVENT_PID)
references CDR_AUDIT_EVT;
alter table CDR_AUDIT_EVT_TARGET_RES
add constraint FK_AUDITEVT_TARGETRES_PERSMOD
foreign key (PERS_MODULE_PID)
references CDR_MODULE;
alter table CDR_AUDIT_EVT_TARGET_USER
add constraint FK_AUDITEVT_TARGETUSER_EVT
foreign key (EVENT_PID)
references CDR_AUDIT_EVT;
alter table CDR_AUDIT_EVT_TARGET_USER
add constraint FK_AUDITEVT_TARGETUSER_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_CACHE_SYNC
add constraint FK_CACHE_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_CDA_TEMPLATE
add constraint FK_CDA_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_CDA_TEMPLATE_PARAM
add constraint FK_CDATEMPLATE_PID
foreign key (TEMPLATE_PID)
references CDR_CDA_TEMPLATE;
alter table CDR_CUSTOM_ROLE_PERM
add constraint FK_CUSTOM_ROLE_PERM_ROLE
foreign key (CUSTOM_ROLE_PID)
references CDR_CUSTOM_ROLE;
alter table CDR_HTTP_SESSION
add constraint FK_HTTPSESSION_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_IDENTIFICATION_CODES
add constraint FK_IDCODE_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_METRIC_HEALTH
add constraint FK_HEALTH_MODP
foreign key (MODPROC_PID)
references CDR_MODULE_PROCESS;
alter table CDR_MODULE
add constraint FK_MODULE_NODE
foreign key (NODE_PID)
references CDR_NODE;
alter table CDR_MODULE
add constraint FK_MODULE_PROTOTYPE
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROTOTYPE;
alter table CDR_MODULE_CFG_PROP
add constraint FK_MODULECFGPROP_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_MODULE_CFG_PROP
add constraint FK_MODULECFGPROP_PROTOTYPE
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROT_CFG;
alter table CDR_MODULE_DEP
add constraint FK_MODULEDEP_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_MODULE_DEP
add constraint FK_MODULEDEP_PROTOTYPE
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROT_DEP;
alter table CDR_MODULE_DEP
add constraint FK_MODULEDEP_TARGET
foreign key (TARGET_PID)
references CDR_MODULE;
alter table CDR_MODULE_PROCESS
add constraint FK_MODPROC_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_MODULE_PROCESS
add constraint FK_MODPROC_NODEPROC
foreign key (NODEPROC_PID)
references CDR_NODE_PROCESS;
alter table CDR_MODULE_PROT_CFG
add constraint FK_CDR_MODULEPROTCFG_PROT
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROTOTYPE;
alter table CDR_MODULE_PROT_DEP
add constraint FK_MODULE_PROT_DEP_PROT
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROTOTYPE;
alter table CDR_MODULE_PROT_SUPPLIES
add constraint FK_MODULE_PROT_SUPPLIES_PROT
foreign key (PROTOTYPE_PID)
references CDR_MODULE_PROTOTYPE;
alter table CDR_MODULE_STATE
add constraint FK_MODSTAT_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_NODE_MODULE_DIAGNOSTICS
add constraint FK_MULTI_NODE_MODULE_PID
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_NODE_MODULE_DIAGNOSTICS
add constraint FK_MULTI_NODE_PID
foreign key (NODE_PID)
references CDR_NODE;
alter table CDR_NODE_PROCESS
add constraint FK_NODEPROCESS_NODE
foreign key (NODE_PID)
references CDR_NODE;
alter table CDR_OA2_CLI_DET_AUTH_GRNT_TYP
add constraint FK_OA2CLIDETAUTHGRNTTY_CLI
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OA2_CLI_DET_AUTOAP_SCOPE
add constraint FK_OA2CLIDETAUTOAPPSCOP_CLI
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OA2_CLI_DET_AUTOGRNT_SCOPE
add constraint FK_OA2CLIDETAUTOGRNTPSCOP_CLI
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OA2_CLI_DET_CLISEC
add constraint FK_OA2CLIDETCLISEC_CLI
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OA2_CLI_DET_REG_REDIR_URI
add constraint FK_OA2CLIDETREGREDURI_CLI
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OA2_SERVER
add constraint FK_OA2SERVER_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_OAUTH2_ATOKEN
add constraint FK_OA2ATOKEN_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OAUTH2_ATOKEN
add constraint FK_OA2ATOKEN_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_OAUTH2_ATOKEN
add constraint FK_OA2ATOKEN_REF_TOK
foreign key (REFRESH_TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_ATOKEN
add constraint FK_OA2ATOKEN_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_OAUTH2_ATOKEN_ADNLINFO
add constraint FK_OA2ATOKADNLINFO_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_ATOKEN;
alter table CDR_OAUTH2_ATOKEN_GRNTDA
add constraint FK_OA2ATOKGRNTDA_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_ATOKEN;
alter table CDR_OAUTH2_ATOKEN_SCOPE
add constraint FK_OA2ATOKSCP_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_ATOKEN;
alter table CDR_OAUTH2_ATOKEN_UDATA
add constraint FK_OA2ATOKUD_TOKEN
foreign key (ATOKEN_PID)
references CDR_OAUTH2_ATOKEN;
alter table CDR_OAUTH2_ATOKEN_UDATA_BIN
add constraint FK_OA2ATOKUDBIN_TOKEN
foreign key (ATOKEN_PID)
references CDR_OAUTH2_ATOKEN;
alter table CDR_OAUTH2_CLIENT_DET_SCOPE
add constraint FK_OA2CLIDETSCOP_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OAUTH2_CLIENT_DETAILS
add constraint FK_OA2CLIENTDETAILS_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_OAUTH2_CLIENT_PERM
add constraint FK_OA2CLIENTPERM_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OAUTH2_REFRESH_TOKEN
add constraint FK_OA2REFTOKEN_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_OAUTH2_REFRESH_TOKEN
add constraint FK_OA2REFTOKEN_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_OAUTH2_RTOKEN_ADNLINFO
add constraint FK_OA2RTOKADNLINFO_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_GRNTDA
add constraint FK_OA2RTOKGRNTDA_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_LNCHRESID
add constraint FK_OA2RTOKLNCHRESID_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_REQPRM
add constraint FK_OA2RTOKREQPRM_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_SCOPE
add constraint FK_OA2RTOKSCP_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_UDATA
add constraint FK_OA2RTOKUD_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_OAUTH2_RTOKEN_UDATA_BIN
add constraint FK_OA2RTOKUDBIN_TOKEN
foreign key (TOKEN_PID)
references CDR_OAUTH2_REFRESH_TOKEN;
alter table CDR_RESTORE
add constraint FK_CDR_RESTORE_NODE
foreign key (NODE_PID)
references CDR_NODE;
alter table CDR_RESTORE
add constraint FK_CDR_RESTORE_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_SCHEDULED_JOB_DETAILS
add constraint FK_SCHEDULEDJOB_MODULEPID
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_SCHEDULED_JOB_DETAILS
add constraint FK_SCHEDULEDJOB_NODEPID
foreign key (NODE_PID)
references CDR_NODE;
alter table CDR_SCHEDULED_JOB_EXECUTION
add constraint FK_SCHEDULEDJOBEXECUTION_JOBID
foreign key (JOB_PID)
references CDR_SCHEDULED_JOB_DETAILS
on delete cascade;
alter table CDR_USER_DETAILS
add constraint FK_USERDETAILS_MODULE
foreign key (MODULE_PID)
references CDR_MODULE;
alter table CDR_USER_DETAILS_DEF_LNCH_CTX
add constraint FK_USERDEFLNCHCTX_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_USER_DETAILS_OA2CLNAPRVSCP
add constraint FK_USROA2CLNTAPRVDSCP_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_USER_DETAILS_OA2CLNAPRVSCP
add constraint FK_USROA2CLNTAPRVDSCP_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_USER_OA2CLN_TOS
add constraint FK_USER_OA2CLN_TOS_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_USER_OA2CLN_TOS
add constraint FK_USER_OA2CLN_TOS_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_USER_PERM
add constraint FK_USERPERM_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_USER_PSN
add constraint FK_USER_PSN_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_USER_TFA_KEY
add constraint FK_USERTFAKEY_USER
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_XACT_LOG
add constraint FK_TRANSIT_CLIENT
foreign key (CLIENT_PID)
references CDR_OAUTH2_CLIENT_DETAILS;
alter table CDR_XACT_LOG
add constraint FK_XACTLOGSTEP_MODULE
foreign key (CDR_ENDPOINT_MODULE_PID)
references CDR_MODULE;
alter table CDR_XACT_LOG
add constraint FK_TRANSIT_EVENT
foreign key (USER_PID)
references CDR_USER_DETAILS;
alter table CDR_XACT_LOG_STEP
add constraint FK_XACTLOGSTEP_XACTLOG
foreign key (LOG_PID)
references CDR_XACT_LOG;
To initialize a new SQL Server database for FHIR Storage (Relational), initialize a database with the following SQL:
create sequence SEQ_BLKEXCOL_PID start with 1 increment by 50;
create sequence SEQ_BLKEXCOLFILE_PID start with 1 increment by 50;
create sequence SEQ_BLKEXJOB_PID start with 1 increment by 50;
create sequence SEQ_BLKIMJOB_PID start with 1 increment by 50;
create sequence SEQ_BLKIMJOBFILE_PID start with 1 increment by 50;
create sequence SEQ_CDH_LB_REF start with 1 increment by 50;
create sequence SEQ_CDH_LB_SUB_GROUP start with 1 increment by 50;
create sequence SEQ_CDH_LB_WL start with 1 increment by 50;
create sequence SEQ_CDH_LB_WL_SUBS start with 1 increment by 50;
create sequence SEQ_CNCPT_MAP_GRP_ELM_TGT_PID start with 1 increment by 50;
create sequence SEQ_CODESYSTEM_PID start with 1 increment by 50;
create sequence SEQ_CODESYSTEMVER_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_DESIG_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_MAP_GROUP_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_MAP_GRP_ELM_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_MAP_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_PC_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_PID start with 1 increment by 50;
create sequence SEQ_CONCEPT_PROP_PID start with 1 increment by 50;
create sequence SEQ_EMPI_LINK_ID start with 1 increment by 50;
create sequence SEQ_FORCEDID_ID start with 1 increment by 50;
create sequence SEQ_HFJ_REVINFO start with 1 increment by 50;
create sequence SEQ_HISTORYTAG_ID start with 1000 increment by 50;
create sequence SEQ_IDXCMBTOKNU_ID start with 1000 increment by 50;
create sequence SEQ_IDXCMPSTRUNIQ_ID start with 1000 increment by 50;
create sequence SEQ_NPM_PACK start with 1 increment by 50;
create sequence SEQ_NPM_PACKVER start with 1 increment by 50;
create sequence SEQ_NPM_PACKVERRES start with 1 increment by 50;
create sequence SEQ_RES_REINDEX_JOB start with 1 increment by 50;
create sequence SEQ_RESLINK_ID start with 1000 increment by 50;
create sequence SEQ_RESOURCE_HISTORY_ID start with 1000 increment by 50;
create sequence SEQ_RESOURCE_ID start with 1000 increment by 50;
create sequence SEQ_RESOURCE_TYPE start with 1 increment by 1;
create sequence SEQ_RESPARMPRESENT_ID start with 1000 increment by 50;
create sequence SEQ_RESTAG_ID start with 1000 increment by 50;
create sequence SEQ_SEARCH start with 1 increment by 50;
create sequence SEQ_SEARCH_INC start with 1 increment by 50;
create sequence SEQ_SEARCH_RES start with 1 increment by 50;
create sequence SEQ_SPIDX_COORDS start with 1000 increment by 50;
create sequence SEQ_SPIDX_DATE start with 1000 increment by 50;
create sequence SEQ_SPIDX_IDENTITY start with 1 increment by 1;
create sequence SEQ_SPIDX_NUMBER start with 1000 increment by 50;
create sequence SEQ_SPIDX_QUANTITY start with 1000 increment by 50;
create sequence SEQ_SPIDX_QUANTITY_NRML start with 1000 increment by 50;
create sequence SEQ_SPIDX_STRING start with 1000 increment by 50;
create sequence SEQ_SPIDX_TOKEN start with 1000 increment by 50;
create sequence SEQ_SPIDX_TOKEN_IDENTIFIER start with 1000 increment by 50;
create sequence SEQ_SPIDX_URI start with 1000 increment by 50;
create sequence SEQ_SUBSCRIPTION_ID start with 1 increment by 50;
create sequence SEQ_TAGDEF_ID start with 1 increment by 50;
create sequence SEQ_VALUESET_C_DSGNTN_PID start with 1 increment by 50;
create sequence SEQ_VALUESET_CONCEPT_PID start with 1 increment by 50;
create sequence SEQ_VALUESET_PID start with 1 increment by 50;
create table BT2_JOB_ATTACHMENT (
ATTACHMENT_ID varchar(100) not null,
JOB_INSTANCE_ID varchar(100) not null,
ATTACHMENT_DATA varbinary(max) not null,
ATTACHMENT_LENGTH_CMP bigint not null,
ATTACHMENT_LENGTH_UC bigint not null,
CMP_STATUS varchar(50) not null,
CONTENT_TYPE varchar(50) not null,
EXTRA_CHUNK_IDX int,
FILENAME varchar(300) not null,
primary key (ATTACHMENT_ID, JOB_INSTANCE_ID)
);
create table BT2_JOB_ATTACHMENT_CHUNK (
ATTACHMENT_ID varchar(100) not null,
CHUNK_INDEX int not null,
JOB_INSTANCE_ID varchar(100) not null,
ATTACHMENT_DATA varbinary(max) not null,
primary key (ATTACHMENT_ID, CHUNK_INDEX, JOB_INSTANCE_ID)
);
create table BT2_JOB_INSTANCE (
ID varchar(100) not null,
JOB_CANCELLED bit not null,
CMB_RECS_PROCESSED int,
CMB_RECS_PER_SEC float(53),
CREATE_TIME datetime2(6) not null,
CUR_GATED_STEP_ID varchar(100),
DEFINITION_ID varchar(100) not null,
DEFINITION_VER int not null,
END_TIME datetime2(6),
ERROR_COUNT int not null,
ERROR_MSG varchar(500),
EST_REMAINING varchar(100),
FAST_TRACKING bit,
PARAMS_JSON varchar(2000),
PARAMS_JSON_LOB varchar(max),
PARAMS_JSON_VC varchar(max),
PROGRESS_PCT float(53) not null,
REPORT varchar(max),
REPORT_VC varchar(max),
START_TIME datetime2(6),
STAT varchar(20) not null,
TOT_ELAPSED_MILLIS int,
CLIENT_ID varchar(200),
USER_NAME varchar(200),
UPDATE_TIME datetime2(6),
USER_DATA_JSON varchar(max),
WARNING_MSG varchar(4000),
WORK_CHUNKS_PURGED bit not null,
primary key (ID)
);
create table BT2_WORK_CHUNK (
ID varchar(100) not null,
CREATE_TIME datetime2(6) not null,
END_TIME datetime2(6),
ERROR_COUNT int not null,
ERROR_MSG varchar(500),
INSTANCE_ID varchar(100) not null,
DEFINITION_ID varchar(100) not null,
DEFINITION_VER int not null,
LAST_HEARTBEAT datetime2(6),
NEXT_POLL_TIME datetime2(6),
POLL_ATTEMPTS int,
RECORDS_PROCESSED int,
SEQ int not null,
CHUNK_DATA varchar(max),
CHUNK_DATA_VC varchar(max),
START_TIME datetime2(6),
STAT varchar(20) not null,
TGT_STEP_ID varchar(100) not null,
UPDATE_TIME datetime2(6),
WARNING_MSG varchar(4000),
primary key (ID)
);
create table CDH_LB_REF (
PID bigint not null,
EXPIRES datetime2(6),
LB_RES_ID bigint not null,
LB_RES_PARTITION_ID int,
ORDER_DATE datetime2(6),
ROOT_RES_ID bigint not null,
ROOT_RES_PARTITION_ID int,
RULE_SYSTEM varchar(200) not null,
RULE_VALUE varchar(200) not null,
SUBS_RES_ID bigint not null,
SUBS_RES_PARTITION_ID int,
TRACK_PARAM varchar(200),
TRACK_SUBPARAM varchar(200),
primary key (PID)
);
create table CDH_LB_SUB_GROUP (
PID bigint not null,
SUBS_GROUP varchar(200) not null,
SUBS_ID varchar(200) not null,
SUBS_RES_ID bigint not null,
SUBS_RES_PARTITION_ID int,
primary key (PID)
);
create table CDH_LB_WL (
PID bigint not null,
SUBSCRIBER_TYPE varchar(200) not null,
WATCHLIST_SYSTEM varchar(200) not null,
WATCHLIST_VALUE varchar(200) not null,
primary key (PID)
);
create table CDH_LB_WL_SUBS (
PID bigint not null,
SEED_STATUS int not null,
SUBS_ID varchar(200) not null,
SUBS_RES_ID bigint not null,
SUBS_RES_PARTITION_ID int,
WATCHLIST_ID bigint not null,
primary key (PID)
);
create table CDH_SPIDX_TOKEN_COMMON (
HASH_SYS_AND_VALUE bigint not null,
HASH_IDENTITY bigint not null,
HASH_VALUE bigint not null,
SYSTEM_ID bigint,
SP_VALUE varchar(200),
primary key (HASH_SYS_AND_VALUE)
);
create table CDH_SPIDX_TOKEN_COMMON_RES (
RES_ID bigint not null,
PARTITION_ID int,
HASH_SYS_AND_VALUE bigint not null,
primary key (RES_ID, HASH_SYS_AND_VALUE)
);
create table CDH_SPIDX_TOKEN_IDENTIFIER (
RES_ID bigint not null,
PARTITION_ID int,
SP_ID bigint not null,
HASH_IDENTITY bigint not null,
HASH_VALUE bigint,
SP_SYSTEM_URL_ID bigint,
TYPE_HASH_SYS_AND_VALUE bigint,
SP_VALUE varchar(768) not null,
primary key (RES_ID, SP_ID)
);
create table HFJ_BINARY_STORAGE_BLOB (
BLOB_ID varchar(200) not null,
BLOB_DATA varbinary(max),
CONTENT_TYPE varchar(100) not null,
BLOB_HASH varchar(128),
PUBLISHED_DATE datetime2(6) not null,
RESOURCE_ID varchar(100) not null,
BLOB_SIZE bigint not null,
STORAGE_CONTENT_BIN varbinary(max),
primary key (BLOB_ID)
);
create table HFJ_BLK_EXPORT_COLFILE (
PID bigint not null,
RES_ID varchar(100) not null,
COLLECTION_PID bigint not null,
primary key (PID)
);
create table HFJ_BLK_EXPORT_COLLECTION (
PID bigint not null,
TYPE_FILTER varchar(1000),
RES_TYPE varchar(40) not null,
OPTLOCK int not null,
JOB_PID bigint not null,
primary key (PID)
);
create table HFJ_BLK_EXPORT_JOB (
PID bigint not null,
CREATED_TIME datetime2(6) not null,
EXP_TIME datetime2(6),
JOB_ID varchar(36) not null,
REQUEST varchar(1024) not null,
EXP_SINCE datetime2(6),
JOB_STATUS varchar(10) not null,
STATUS_MESSAGE varchar(500),
STATUS_TIME datetime2(6) not null,
OPTLOCK int not null,
primary key (PID)
);
create table HFJ_BLK_IMPORT_JOB (
PID bigint not null,
BATCH_SIZE int not null,
FILE_COUNT int not null,
JOB_DESC varchar(500),
JOB_ID varchar(36) not null,
ROW_PROCESSING_MODE varchar(20) not null,
JOB_STATUS varchar(10) not null,
STATUS_MESSAGE varchar(500),
STATUS_TIME datetime2(6) not null,
OPTLOCK int not null,
primary key (PID)
);
create table HFJ_BLK_IMPORT_JOBFILE (
PID bigint not null,
JOB_CONTENTS varbinary(max),
JOB_CONTENTS_VC varchar(max),
FILE_DESCRIPTION varchar(500),
FILE_SEQ int not null,
TENANT_NAME varchar(200),
JOB_PID bigint not null,
primary key (PID)
);
create table HFJ_FORCED_ID (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
FORCED_ID varchar(100) not null,
RESOURCE_PID bigint not null,
RESOURCE_TYPE varchar(100) default '',
primary key (PID)
);
create table HFJ_HISTORY_TAG (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
TAG_ID bigint,
RES_VER_PID bigint not null,
RES_ID bigint not null,
RES_TYPE varchar(40) not null,
RES_TYPE_ID smallint,
primary key (PID)
);
create table HFJ_IDX_CMB_TOK_NU (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
DATE_ORDINAL int,
HASH_COMPLETE bigint not null,
IDX_STRING varchar(500),
RES_ID bigint,
primary key (PID)
);
create table HFJ_IDX_CMP_STRING_UNIQ (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_COMPLETE bigint,
HASH_COMPLETE_2 bigint,
IDX_STRING varchar(500) not null,
RES_ID bigint,
primary key (PID)
);
create table HFJ_PARTITION (
PART_ID int not null,
PART_DESC varchar(200),
PART_NAME varchar(200) not null,
primary key (PART_ID)
);
create table HFJ_RES_IDENTIFIER_PT_UNIQ (
IDENT_SYSTEM_PID bigint not null,
IDENT_VALUE varchar(500) not null,
FHIR_ID varchar(64) not null,
primary key (IDENT_SYSTEM_PID, IDENT_VALUE)
);
create table HFJ_RES_LINK (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
SRC_PATH varchar(500) not null,
SRC_RESOURCE_ID bigint not null,
SOURCE_RESOURCE_TYPE varchar(40) not null,
SRC_RES_TYPE_ID smallint,
TARGET_RES_PARTITION_DATE date,
TARGET_RES_PARTITION_ID int,
TARGET_RESOURCE_ID bigint,
TARGET_RESOURCE_TYPE varchar(40) not null,
TARGET_RES_TYPE_ID smallint,
TARGET_RESOURCE_URL varchar(200),
TARGET_RESOURCE_VERSION bigint,
SP_UPDATED datetime2(6),
primary key (PID)
);
create table HFJ_RES_PARAM_PRESENT (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_PRESENCE bigint,
SP_PRESENT bit not null,
RES_ID bigint not null,
primary key (PID)
);
create table HFJ_RES_REINDEX_JOB (
PID bigint not null,
JOB_DELETED bit not null,
REINDEX_COUNT int,
RES_TYPE varchar(100),
SUSPENDED_UNTIL datetime2(6),
UPDATE_THRESHOLD_HIGH datetime2(6) not null,
UPDATE_THRESHOLD_LOW datetime2(6),
primary key (PID)
);
create table HFJ_RES_SEARCH_URL (
RES_SEARCH_URL varchar(768) not null,
PARTITION_ID int not null,
CREATED_TIME datetime2(6) not null,
PARTITION_DATE date,
RES_ID bigint not null,
primary key (RES_SEARCH_URL, PARTITION_ID)
);
create table HFJ_RES_SYSTEM (
PID bigint not null,
SYSTEM_URL varchar(500) not null,
primary key (PID)
);
create table HFJ_RES_TAG (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
TAG_ID bigint,
RES_ID bigint,
RES_TYPE varchar(40) not null,
RES_TYPE_ID smallint,
primary key (PID)
);
create table HFJ_RES_VER (
PARTITION_ID int,
PID bigint not null,
RES_DELETED_AT datetime2(6),
RES_VERSION varchar(7),
HAS_TAGS bit not null,
RES_PUBLISHED datetime2(6) not null,
RES_UPDATED datetime2(6) not null,
RES_ENCODING varchar(5) not null,
PARTITION_DATE date,
REQUEST_ID varchar(16),
RES_TEXT varbinary(max),
RES_ID bigint not null,
RES_TEXT_VC varchar(max),
RES_TYPE varchar(40) not null,
RES_TYPE_ID smallint,
RES_VER bigint not null,
SOURCE_URI varchar(768),
primary key (PID)
);
create table HFJ_RES_VER_PROV (
RES_VER_PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
REQUEST_ID varchar(16),
RES_PID bigint not null,
SOURCE_URI varchar(768),
primary key (RES_VER_PID)
);
create table HFJ_RESOURCE (
RES_ID bigint not null,
PARTITION_ID int,
RES_DELETED_AT datetime2(6),
RES_VERSION varchar(7),
HAS_TAGS bit not null,
RES_PUBLISHED datetime2(6) not null,
RES_UPDATED datetime2(6) not null,
FHIR_ID varchar(64),
SP_HAS_LINKS bit not null,
HASH_SHA256 varchar(64),
SP_INDEX_STATUS smallint,
RES_LANGUAGE varchar(20),
SP_CMPSTR_UNIQ_PRESENT bit,
SP_CMPTOKS_PRESENT bit,
SP_COORDS_PRESENT bit not null,
SP_DATE_PRESENT bit not null,
SP_NUMBER_PRESENT bit not null,
SP_QUANTITY_NRML_PRESENT bit not null,
SP_QUANTITY_PRESENT bit not null,
SP_STRING_PRESENT bit not null,
SP_TOKEN_PRESENT bit not null,
SP_URI_PRESENT bit not null,
PARTITION_DATE date,
RES_TYPE varchar(40) not null,
RES_TYPE_ID smallint,
SEARCH_URL_PRESENT bit,
RES_VER bigint not null,
primary key (RES_ID)
);
create table HFJ_RESOURCE_MODIFIED (
RES_ID varchar(256) not null,
RESOURCE_TYPE varchar(40) not null,
RES_VER varchar(8) not null,
CREATED_TIME datetime2(6) not null,
SUMMARY_MESSAGE varchar(4000) not null,
primary key (RES_ID, RESOURCE_TYPE, RES_VER)
);
create table HFJ_RESOURCE_TYPE (
RES_TYPE_ID smallint not null,
RES_TYPE varchar(100) not null,
primary key (RES_TYPE_ID)
);
create table HFJ_REVINFO (
REV bigint not null,
REVTSTMP datetime2(6),
primary key (REV)
);
create table HFJ_SEARCH (
PID bigint not null,
CREATED datetime2(6) not null,
SEARCH_DELETED bit,
EXPIRY_OR_NULL datetime2(6),
FAILURE_CODE int,
FAILURE_MESSAGE varchar(500),
LAST_UPDATED_HIGH datetime2(6),
LAST_UPDATED_LOW datetime2(6),
NUM_BLOCKED int,
NUM_FOUND int not null,
PARTITION_ID int,
PREFERRED_PAGE_SIZE int,
RESOURCE_ID bigint,
RESOURCE_TYPE varchar(200),
SEARCH_PARAM_MAP varbinary(max),
SEARCH_PARAM_MAP_BIN varbinary(max),
SEARCH_QUERY_STRING varchar(max),
SEARCH_QUERY_STRING_HASH int,
SEARCH_QUERY_STRING_VC varchar(max),
SEARCH_TYPE int not null,
SEARCH_STATUS varchar(10) not null,
TOTAL_COUNT int,
SEARCH_UUID varchar(136) not null,
OPTLOCK_VERSION int,
primary key (PID)
);
create table HFJ_SEARCH_INCLUDE (
PID bigint not null,
SEARCH_INCLUDE varchar(200) not null,
INC_RECURSE bit not null,
REVINCLUDE bit not null,
SEARCH_PID bigint not null,
primary key (PID)
);
create table HFJ_SEARCH_RESULT (
PID bigint not null,
SEARCH_ORDER int not null,
RESOURCE_PARTITION_ID int,
RESOURCE_PID bigint not null,
SEARCH_PID bigint not null,
primary key (PID)
);
create table HFJ_SPIDX_COORDS (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
SP_LATITUDE float(53),
SP_LONGITUDE float(53),
primary key (SP_ID)
);
create table HFJ_SPIDX_DATE (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
SP_VALUE_HIGH datetime2(6),
SP_VALUE_HIGH_DATE_ORDINAL int,
SP_VALUE_LOW datetime2(6),
SP_VALUE_LOW_DATE_ORDINAL int,
primary key (SP_ID)
);
create table HFJ_SPIDX_IDENTITY (
SP_IDENTITY_ID int not null,
HASH_IDENTITY bigint not null,
SP_NAME varchar(256) not null,
RES_TYPE varchar(100) not null,
primary key (SP_IDENTITY_ID)
);
create table HFJ_SPIDX_NUMBER (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
SP_VALUE decimal(19,2),
primary key (SP_ID)
);
create table HFJ_SPIDX_QUANTITY (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
HASH_IDENTITY_AND_UNITS bigint,
HASH_IDENTITY_SYS_UNITS bigint,
SP_SYSTEM varchar(200),
SP_UNITS varchar(200),
SP_VALUE float(53),
primary key (SP_ID)
);
create table HFJ_SPIDX_QUANTITY_NRML (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
HASH_IDENTITY_AND_UNITS bigint,
HASH_IDENTITY_SYS_UNITS bigint,
SP_SYSTEM varchar(200),
SP_UNITS varchar(200),
SP_VALUE float(53),
primary key (SP_ID)
);
create table HFJ_SPIDX_STRING (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
HASH_EXACT bigint,
HASH_NORM_PREFIX bigint,
SP_VALUE_EXACT varchar(768),
SP_VALUE_NORMALIZED varchar(768),
primary key (SP_ID)
);
create table HFJ_SPIDX_TOKEN (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
HASH_SYS bigint,
HASH_SYS_AND_VALUE bigint,
HASH_VALUE bigint,
SP_SYSTEM varchar(200),
SP_VALUE varchar(200),
primary key (SP_ID)
);
create table HFJ_SPIDX_URI (
SP_ID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
HASH_IDENTITY bigint,
SP_MISSING bit not null,
SP_NAME varchar(100),
RES_ID bigint not null,
RES_TYPE varchar(100),
SP_UPDATED datetime2(6),
HASH_URI bigint,
SP_URI varchar(500),
primary key (SP_ID)
);
create table HFJ_SUBSCRIPTION_STATS (
PID bigint not null,
CREATED_TIME datetime2(6) not null,
RES_ID bigint,
primary key (PID)
);
create table HFJ_TAG_DEF (
TAG_ID bigint not null,
TAG_CODE varchar(200),
TAG_DISPLAY varchar(200),
TAG_SYSTEM varchar(200),
TAG_TYPE int not null,
TAG_USER_SELECTED bit,
TAG_VERSION varchar(30),
primary key (TAG_ID)
);
create table MPI_LINK (
PID bigint not null,
PARTITION_DATE date,
PARTITION_ID int,
CREATED datetime2(6) not null,
EID_MATCH bit,
GOLDEN_RESOURCE_PARTITION_ID int,
GOLDEN_RESOURCE_PID bigint not null,
NEW_PERSON bit,
LINK_SOURCE int not null,
MATCH_RESULT int not null,
TARGET_TYPE varchar(40),
PERSON_PARTITION_ID int,
PERSON_PID bigint not null,
RULE_COUNT bigint,
SCORE float(53),
TARGET_PARTITION_ID int,
TARGET_PID bigint not null,
UPDATED datetime2(6) not null,
VECTOR bigint,
VERSION varchar(16) not null,
primary key (PID)
);
create table MPI_LINK_AUD (
PID bigint not null,
REV bigint not null,
REVTYPE smallint,
PARTITION_DATE date,
PARTITION_ID int,
CREATED datetime2(6),
EID_MATCH bit,
GOLDEN_RESOURCE_PARTITION_ID int,
GOLDEN_RESOURCE_PID bigint,
NEW_PERSON bit,
LINK_SOURCE int,
MATCH_RESULT int,
TARGET_TYPE varchar(40),
PERSON_PARTITION_ID int,
PERSON_PID bigint,
RULE_COUNT bigint,
SCORE float(53),
TARGET_PARTITION_ID int,
TARGET_PID bigint,
UPDATED datetime2(6),
VECTOR bigint,
VERSION varchar(16),
primary key (REV, PID)
);
create table NPM_PACKAGE (
PID bigint not null,
CUR_VERSION_ID varchar(200),
PACKAGE_DESC varchar(512),
PACKAGE_ID varchar(200) not null,
UPDATED_TIME datetime2(6) not null,
primary key (PID)
);
create table NPM_PACKAGE_VER (
PID bigint not null,
PKG_AUTHOR varchar(512),
AUTHOR_UPPER varchar(512),
CURRENT_VERSION bit not null,
PKG_DESC varchar(512),
DESC_UPPER varchar(512),
FHIR_VERSION varchar(10) not null,
FHIR_VERSION_ID varchar(20) not null,
PARTITION_ID int,
BINARY_RES_ID bigint not null,
PACKAGE_ID varchar(200) not null,
PACKAGE_SIZE_BYTES bigint not null,
SAVED_TIME datetime2(6) not null,
UPDATED_TIME datetime2(6) not null,
VERSION_ID varchar(200) not null,
PACKAGE_PID bigint not null,
primary key (PID)
);
create table NPM_PACKAGE_VER_RES (
PID bigint not null,
CANONICAL_URL varchar(200),
CANONICAL_VERSION varchar(200),
FILE_DIR varchar(200),
FHIR_VERSION varchar(10) not null,
FHIR_VERSION_ID varchar(20) not null,
FILE_NAME varchar(200),
PARTITION_ID int,
RES_SIZE_BYTES bigint not null,
BINARY_RES_ID bigint not null,
RES_TYPE varchar(40) not null,
UPDATED_TIME datetime2(6) not null,
PACKVER_PID bigint not null,
primary key (PID)
);
create table TRM_CODESYSTEM (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
CODE_SYSTEM_URI varchar(200) not null,
CURRENT_VERSION_PARTITION_ID int,
CURRENT_VERSION_PID bigint,
CS_NAME varchar(200),
RES_ID bigint not null,
primary key (PID)
);
create table TRM_CODESYSTEM_VER (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
CS_DISPLAY varchar(200),
CS_INTENDED_VERSION_ID varchar(200),
CODESYSTEM_PID bigint,
CS_VERSION_ID varchar(200),
RES_ID bigint not null,
primary key (PID)
);
create table TRM_CONCEPT (
PID bigint not null,
PARTITION_ID int,
CODEVAL varchar(500) not null,
CODESYSTEM_PID bigint not null,
DISPLAY varchar(400),
INDEX_STATUS smallint,
PARENT_PIDS varchar(max),
PARENT_PIDS_VC varchar(max),
CODE_SEQUENCE int,
CONCEPT_UPDATED datetime2(6),
primary key (PID)
);
create table TRM_CONCEPT_DESIG (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
CS_VER_PID bigint not null,
CONCEPT_PID bigint not null,
LANG varchar(500),
USE_CODE varchar(500),
USE_DISPLAY varchar(500),
USE_SYSTEM varchar(500),
VAL varchar(2000),
VAL_VC varchar(max),
primary key (PID)
);
create table TRM_CONCEPT_MAP (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
RES_ID bigint not null,
SOURCE_URL varchar(200),
TARGET_URL varchar(200),
URL varchar(200) not null,
VER varchar(200),
primary key (PID)
);
create table TRM_CONCEPT_MAP_GROUP (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
CONCEPT_MAP_PID bigint not null,
CONCEPT_MAP_URL varchar(200),
SOURCE_URL varchar(200) not null,
SOURCE_VS varchar(200),
SOURCE_VERSION varchar(200),
TARGET_URL varchar(200) not null,
TARGET_VS varchar(200),
TARGET_VERSION varchar(200),
primary key (PID)
);
create table TRM_CONCEPT_MAP_GRP_ELEMENT (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
SOURCE_CODE varchar(500) not null,
CONCEPT_MAP_GROUP_PID bigint not null,
CONCEPT_MAP_URL varchar(200),
SOURCE_DISPLAY varchar(500),
SYSTEM_URL varchar(200),
SYSTEM_VERSION varchar(200),
VALUESET_URL varchar(200),
primary key (PID)
);
create table TRM_CONCEPT_MAP_GRP_ELM_TGT (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
TARGET_CODE varchar(500),
CONCEPT_MAP_GRP_ELM_PID bigint not null,
CONCEPT_MAP_URL varchar(200),
TARGET_DISPLAY varchar(500),
TARGET_EQUIVALENCE varchar(50),
SYSTEM_URL varchar(200),
SYSTEM_VERSION varchar(200),
VALUESET_URL varchar(200),
primary key (PID)
);
create table TRM_CONCEPT_PC_LINK (
PID bigint not null,
PARTITION_ID int,
CHILD_PID bigint not null,
CODESYSTEM_PID bigint not null,
PARENT_PID bigint not null,
REL_TYPE int,
primary key (PID)
);
create table TRM_CONCEPT_PROPERTY (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
PROP_CODESYSTEM varchar(500),
CS_VER_PID bigint,
CONCEPT_PID bigint not null,
PROP_DISPLAY varchar(500),
PROP_KEY varchar(500) not null,
PROP_TYPE int not null,
PROP_VAL varchar(500),
PROP_VAL_BIN varbinary(max),
PROP_VAL_LOB varbinary(max),
primary key (PID)
);
create table TRM_VALUESET (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
EXPANSION_ERROR varchar(max),
EXPANSION_STATUS varchar(50) not null,
EXPANDED_AT datetime2(6),
VS_INTENDED_VERSION_ID varchar(200),
VSNAME varchar(200),
RES_ID bigint not null,
TOTAL_CONCEPT_DESIGNATIONS bigint default 0 not null,
TOTAL_CONCEPTS bigint default 0 not null,
URL varchar(200) not null,
VER varchar(200),
primary key (PID)
);
create table TRM_VALUESET_C_DESIGNATION (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
VALUESET_CONCEPT_PID bigint not null,
LANG varchar(500),
USE_CODE varchar(500),
USE_DISPLAY varchar(500),
USE_SYSTEM varchar(500),
VAL varchar(2000) not null,
VALUESET_PID bigint not null,
primary key (PID)
);
create table TRM_VALUESET_CONCEPT (
PID bigint not null,
PARTITION_ID int,
PARTITION_DATE date,
CODEVAL varchar(500) not null,
DISPLAY varchar(400),
INDEX_STATUS bigint,
VALUESET_ORDER int not null,
SOURCE_DIRECT_PARENT_PIDS varchar(max),
SOURCE_DIRECT_PARENT_PIDS_VC varchar(max),
SOURCE_PID bigint,
SYSTEM_URL varchar(200) not null,
SYSTEM_VER varchar(200),
VALUESET_PID bigint not null,
primary key (PID)
);
create index IDX_BT2JA_INST_ID
on BT2_JOB_ATTACHMENT (JOB_INSTANCE_ID);
alter table BT2_JOB_ATTACHMENT
add constraint IDX_BT2JA_INST_ID_AND_FN unique (JOB_INSTANCE_ID, FILENAME);
create index IDX_BT2JI_CT
on BT2_JOB_INSTANCE (CREATE_TIME);
create index IDX_BT2JI_STAT_CT_ID
on BT2_JOB_INSTANCE (STAT, CREATE_TIME, ID);
create index IDX_BT2WC_II_SEQ
on BT2_WORK_CHUNK (INSTANCE_ID, SEQ);
create index IDX_BT2WC_II_SI_S_SEQ_ID
on BT2_WORK_CHUNK (INSTANCE_ID, TGT_STEP_ID, STAT, SEQ, ID);
create index IDX_CDH_LB_REF_RULE_SUBS
on CDH_LB_REF (RULE_SYSTEM, RULE_VALUE, SUBS_RES_ID);
create index IDX_CDH_LB_REF_TRACK_PARAM
on CDH_LB_REF (TRACK_PARAM);
create index IDX_CDH_LB_REF_TRACK_SUBPARAM
on CDH_LB_REF (TRACK_SUBPARAM);
create index IDX_CDH_LB_REF_EXPIRES
on CDH_LB_REF (EXPIRES);
create index FK_LB_RES
on CDH_LB_REF (LB_RES_ID);
create index FK_LB_SUBS
on CDH_LB_REF (SUBS_RES_ID);
create index FK_LB_ROOT
on CDH_LB_REF (ROOT_RES_ID);
alter table CDH_LB_REF
add constraint IDX_CDH_LB_REF_UNIQ unique (RULE_SYSTEM, RULE_VALUE, ROOT_RES_ID, SUBS_RES_ID, LB_RES_ID);
create index IDX_CDH_LB_SUB_GROUP_GROUP
on CDH_LB_SUB_GROUP (SUBS_GROUP);
create index IDX_CDH_LB_SUB_GROUP_ID
on CDH_LB_SUB_GROUP (SUBS_ID);
alter table CDH_LB_SUB_GROUP
add constraint IDX_CDH_LB_SUB_ID_GROUP unique (SUBS_RES_ID, SUBS_GROUP);
alter table CDH_LB_WL
add constraint IDX_CDH_LB_WL_WATCHLIST_TOKEN unique (WATCHLIST_SYSTEM, WATCHLIST_VALUE);
create index FK_LB_WL_SUBS
on CDH_LB_WL_SUBS (SUBS_RES_ID);
alter table CDH_LB_WL_SUBS
add constraint IDX_CDH_LB_WL_SUBS_WATCHLIST unique (WATCHLIST_ID, SUBS_RES_ID);
create index IDX_SP_TOKEN_COMMON_SYSTEM
on CDH_SPIDX_TOKEN_COMMON (SYSTEM_ID, HASH_SYS_AND_VALUE);
create index IDX_SP_TOKEN_COMMON_VALUE
on CDH_SPIDX_TOKEN_COMMON (HASH_VALUE, HASH_SYS_AND_VALUE);
create index IDX_SP_TOKEN_COMMON_IDENTITY
on CDH_SPIDX_TOKEN_COMMON (HASH_IDENTITY, HASH_SYS_AND_VALUE);
create index IDX_SP_TOKEN_COMMON_RES_HASH
on CDH_SPIDX_TOKEN_COMMON_RES (HASH_SYS_AND_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_ID_HASH_SYSTEM
on CDH_SPIDX_TOKEN_IDENTIFIER (HASH_IDENTITY, SP_SYSTEM_URL_ID, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_ID_HASH
on CDH_SPIDX_TOKEN_IDENTIFIER (HASH_IDENTITY, RES_ID, PARTITION_ID, SP_SYSTEM_URL_ID);
create index IDX_SP_TOKEN_ID_HASH_VALUE
on CDH_SPIDX_TOKEN_IDENTIFIER (HASH_IDENTITY, HASH_VALUE, RES_ID, PARTITION_ID, SP_SYSTEM_URL_ID, TYPE_HASH_SYS_AND_VALUE);
create index IDX_BLKEX_EXPTIME
on HFJ_BLK_EXPORT_JOB (EXP_TIME);
alter table HFJ_BLK_EXPORT_JOB
add constraint IDX_BLKEX_JOB_ID unique (JOB_ID);
alter table HFJ_BLK_IMPORT_JOB
add constraint IDX_BLKIM_JOB_ID unique (JOB_ID);
create index IDX_BLKIM_JOBFILE_JOBID
on HFJ_BLK_IMPORT_JOBFILE (JOB_PID);
create index IDX_RESHISTTAG_RESID
on HFJ_HISTORY_TAG (RES_ID);
create unique nonclustered index IDX_RESHISTTAG_TAGID
on HFJ_HISTORY_TAG (RES_VER_PID, TAG_ID) where RES_VER_PID is not null and TAG_ID is not null;
create index IDX_IDXCMBTOKNU_HASHC
on HFJ_IDX_CMB_TOK_NU (HASH_COMPLETE, RES_ID, PARTITION_ID);
create index IDX_IDXCMBTOKNU_HD
on HFJ_IDX_CMB_TOK_NU (HASH_COMPLETE, DATE_ORDINAL, RES_ID, PARTITION_ID);
create index IDX_IDXCMBTOKNU_RES
on HFJ_IDX_CMB_TOK_NU (RES_ID);
create index IDX_IDXCMPSTRUNIQ_RESOURCE
on HFJ_IDX_CMP_STRING_UNIQ (RES_ID);
alter table HFJ_IDX_CMP_STRING_UNIQ
add constraint IDX_IDXCMPSTRUNIQ_STRING unique (IDX_STRING);
alter table HFJ_PARTITION
add constraint IDX_PART_NAME unique (PART_NAME);
create index IDX_RL_SRC
on HFJ_RES_LINK (SRC_RESOURCE_ID);
create index IDX_RL_TGT_v2
on HFJ_RES_LINK (TARGET_RESOURCE_ID, SRC_PATH, SRC_RESOURCE_ID, TARGET_RESOURCE_TYPE, PARTITION_ID);
create index IDX_RL_SRCPATH_TGTURL
on HFJ_RES_LINK (SRC_PATH, TARGET_RESOURCE_URL, PARTITION_ID, SRC_RESOURCE_ID);
create index IDX_RESPARMPRESENT_RESID
on HFJ_RES_PARAM_PRESENT (RES_ID);
create index IDX_RESPARMPRESENT_HASHPRES
on HFJ_RES_PARAM_PRESENT (HASH_PRESENCE);
create index IDX_RESSEARCHURL_RES
on HFJ_RES_SEARCH_URL (RES_ID);
create index IDX_RESSEARCHURL_TIME
on HFJ_RES_SEARCH_URL (CREATED_TIME);
alter table HFJ_RES_SYSTEM
add constraint IDX_RESIDENT_SYS unique (SYSTEM_URL);
create index IDX_RES_TAG_RES_TAG
on HFJ_RES_TAG (RES_ID, TAG_ID, PARTITION_ID);
create index IDX_RES_TAG_TAG_RES
on HFJ_RES_TAG (TAG_ID, RES_ID, PARTITION_ID);
create unique nonclustered index IDX_RESTAG_TAGID
on HFJ_RES_TAG (RES_ID, TAG_ID) where RES_ID is not null and TAG_ID is not null;
create index IDX_RESVER_TYPE_DATE
on HFJ_RES_VER (RES_TYPE, RES_UPDATED, RES_ID);
create index IDX_RESVER_ID_DATE
on HFJ_RES_VER (RES_ID, RES_UPDATED);
create index IDX_RESVER_DATE
on HFJ_RES_VER (RES_UPDATED, RES_ID);
create index IDX_RESVER_ID_SRC_URI
on HFJ_RES_VER (SOURCE_URI, RES_ID, PARTITION_ID);
alter table HFJ_RES_VER
add constraint IDX_RESVER_ID_VER unique (RES_ID, RES_VER);
create index IDX_RESVERPROV_SOURCEURI
on HFJ_RES_VER_PROV (SOURCE_URI);
create index IDX_RESVERPROV_REQUESTID
on HFJ_RES_VER_PROV (REQUEST_ID);
create index IDX_RESVERPROV_RES_PID
on HFJ_RES_VER_PROV (RES_PID);
create index IDX_RES_DATE
on HFJ_RESOURCE (RES_UPDATED);
create index IDX_RES_FHIR_ID
on HFJ_RESOURCE (FHIR_ID);
create index IDX_RES_TYPE_DEL_UPDATED
on HFJ_RESOURCE (RES_TYPE, RES_DELETED_AT, RES_UPDATED, PARTITION_ID, RES_ID);
create index IDX_RES_RESID_UPDATED
on HFJ_RESOURCE (RES_ID, RES_UPDATED, PARTITION_ID);
create unique nonclustered index IDX_RES_TYPE_FHIR_ID
on HFJ_RESOURCE (RES_TYPE, FHIR_ID) where RES_TYPE is not null and FHIR_ID is not null;
create index IDX_RES_MOD_CREATED
on HFJ_RESOURCE_MODIFIED (CREATED_TIME);
alter table HFJ_RESOURCE_TYPE
add constraint IDX_RES_TYPE_NAME unique (RES_TYPE);
create index IDX_SEARCH_RESTYPE_HASHS
on HFJ_SEARCH (RESOURCE_TYPE, SEARCH_QUERY_STRING_HASH, CREATED);
create index IDX_SEARCH_CREATED
on HFJ_SEARCH (CREATED);
alter table HFJ_SEARCH
add constraint IDX_SEARCH_UUID unique (SEARCH_UUID);
create index FK_SEARCHINC_SEARCH
on HFJ_SEARCH_INCLUDE (SEARCH_PID);
alter table HFJ_SEARCH_RESULT
add constraint IDX_SEARCHRES_ORDER unique (SEARCH_PID, SEARCH_ORDER);
create index IDX_SP_COORDS_HASH_V2
on HFJ_SPIDX_COORDS (HASH_IDENTITY, SP_LATITUDE, SP_LONGITUDE, RES_ID, PARTITION_ID);
create index IDX_SP_COORDS_UPDATED
on HFJ_SPIDX_COORDS (SP_UPDATED);
create index IDX_SP_COORDS_RESID
on HFJ_SPIDX_COORDS (RES_ID);
create index IDX_SP_DATE_HASH_V2
on HFJ_SPIDX_DATE (HASH_IDENTITY, SP_VALUE_LOW, SP_VALUE_HIGH, RES_ID, PARTITION_ID);
create index IDX_SP_DATE_HASH_HIGH_V2
on HFJ_SPIDX_DATE (HASH_IDENTITY, SP_VALUE_HIGH, RES_ID, PARTITION_ID);
create index IDX_SP_DATE_ORD_HASH_V2
on HFJ_SPIDX_DATE (HASH_IDENTITY, SP_VALUE_LOW_DATE_ORDINAL, SP_VALUE_HIGH_DATE_ORDINAL, RES_ID, PARTITION_ID);
create index IDX_SP_DATE_ORD_HASH_HIGH_V2
on HFJ_SPIDX_DATE (HASH_IDENTITY, SP_VALUE_HIGH_DATE_ORDINAL, RES_ID, PARTITION_ID);
create index IDX_SP_DATE_RESID_V2
on HFJ_SPIDX_DATE (RES_ID, HASH_IDENTITY, SP_VALUE_LOW, SP_VALUE_HIGH, SP_VALUE_LOW_DATE_ORDINAL, SP_VALUE_HIGH_DATE_ORDINAL, PARTITION_ID);
alter table HFJ_SPIDX_IDENTITY
add constraint IDX_HASH_IDENTITY unique (HASH_IDENTITY);
create index IDX_SP_NUMBER_HASH_VAL_V2
on HFJ_SPIDX_NUMBER (HASH_IDENTITY, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_NUMBER_RESID_V2
on HFJ_SPIDX_NUMBER (RES_ID, HASH_IDENTITY, SP_VALUE, PARTITION_ID);
create index IDX_SP_QUANTITY_HASH_V2
on HFJ_SPIDX_QUANTITY (HASH_IDENTITY, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QUANTITY_HASH_UN_V2
on HFJ_SPIDX_QUANTITY (HASH_IDENTITY_AND_UNITS, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QUANTITY_HASH_SYSUN_V2
on HFJ_SPIDX_QUANTITY (HASH_IDENTITY_SYS_UNITS, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QUANTITY_RESID_V2
on HFJ_SPIDX_QUANTITY (RES_ID, HASH_IDENTITY, HASH_IDENTITY_SYS_UNITS, HASH_IDENTITY_AND_UNITS, SP_VALUE, PARTITION_ID);
create index IDX_SP_QNTY_NRML_HASH_V2
on HFJ_SPIDX_QUANTITY_NRML (HASH_IDENTITY, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QNTY_NRML_HASH_UN_V2
on HFJ_SPIDX_QUANTITY_NRML (HASH_IDENTITY_AND_UNITS, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QNTY_NRML_HASH_SYSUN_V2
on HFJ_SPIDX_QUANTITY_NRML (HASH_IDENTITY_SYS_UNITS, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_QNTY_NRML_RESID_V2
on HFJ_SPIDX_QUANTITY_NRML (RES_ID, HASH_IDENTITY, HASH_IDENTITY_SYS_UNITS, HASH_IDENTITY_AND_UNITS, SP_VALUE, PARTITION_ID);
create index IDX_SP_STRING_HASH_IDENT_V2
on HFJ_SPIDX_STRING (HASH_IDENTITY, RES_ID, PARTITION_ID);
create index IDX_SP_STRING_HASH_NRM_V2
on HFJ_SPIDX_STRING (HASH_NORM_PREFIX, SP_VALUE_NORMALIZED, RES_ID, PARTITION_ID);
create index IDX_SP_STRING_HASH_EXCT_V2
on HFJ_SPIDX_STRING (HASH_EXACT, RES_ID, PARTITION_ID);
create index IDX_SP_STRING_RESID_V2
on HFJ_SPIDX_STRING (RES_ID, HASH_NORM_PREFIX, PARTITION_ID);
create index IDX_SP_TOKEN_HASH_V2
on HFJ_SPIDX_TOKEN (HASH_IDENTITY, SP_SYSTEM, SP_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_HASH_S_V2
on HFJ_SPIDX_TOKEN (HASH_SYS, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_HASH_SV_V2
on HFJ_SPIDX_TOKEN (HASH_SYS_AND_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_HASH_V_V2
on HFJ_SPIDX_TOKEN (HASH_VALUE, RES_ID, PARTITION_ID);
create index IDX_SP_TOKEN_RESID_V2
on HFJ_SPIDX_TOKEN (RES_ID, HASH_SYS_AND_VALUE, HASH_VALUE, HASH_SYS, HASH_IDENTITY, PARTITION_ID);
create index IDX_SP_URI_HASH_URI_V2
on HFJ_SPIDX_URI (HASH_URI, RES_ID, PARTITION_ID);
create index IDX_SP_URI_HASH_IDENTITY_V2
on HFJ_SPIDX_URI (HASH_IDENTITY, SP_URI, RES_ID, PARTITION_ID);
create index IDX_SP_URI_COORDS
on HFJ_SPIDX_URI (RES_ID);
create unique nonclustered index IDX_SUBSC_RESID
on HFJ_SUBSCRIPTION_STATS (RES_ID) where RES_ID is not null;
create index IDX_TAG_DEF_TP_CD_SYS
on HFJ_TAG_DEF (TAG_TYPE, TAG_CODE, TAG_SYSTEM, TAG_ID, TAG_VERSION, TAG_USER_SELECTED);
create index IDX_EMPI_MATCH_TGT_VER
on MPI_LINK (MATCH_RESULT, TARGET_PID, VERSION);
create index IDX_EMPI_GR_TGT
on MPI_LINK (GOLDEN_RESOURCE_PID, TARGET_PID);
create index FK_EMPI_LINK_TARGET
on MPI_LINK (TARGET_PID);
create index IDX_EMPI_TGT_MR_LS
on MPI_LINK (TARGET_TYPE, MATCH_RESULT, LINK_SOURCE);
create index IDX_EMPI_TGT_MR_SCORE
on MPI_LINK (TARGET_TYPE, MATCH_RESULT, SCORE);
alter table MPI_LINK
add constraint IDX_EMPI_PERSON_TGT unique (PERSON_PID, TARGET_PID);
alter table NPM_PACKAGE
add constraint IDX_PACK_ID unique (PACKAGE_ID);
create index FK_NPM_PKV_PKG
on NPM_PACKAGE_VER (PACKAGE_PID);
create index FK_NPM_PKV_RESID
on NPM_PACKAGE_VER (BINARY_RES_ID);
alter table NPM_PACKAGE_VER
add constraint IDX_PACKVER unique (PACKAGE_ID, VERSION_ID);
create index IDX_PACKVERRES_URL
on NPM_PACKAGE_VER_RES (CANONICAL_URL);
create index FK_NPM_PACKVERRES_PACKVER
on NPM_PACKAGE_VER_RES (PACKVER_PID);
create index FK_NPM_PKVR_RESID
on NPM_PACKAGE_VER_RES (BINARY_RES_ID);
create index FK_TRMCODESYSTEM_RES
on TRM_CODESYSTEM (RES_ID);
create index FK_TRMCODESYSTEM_CURVER
on TRM_CODESYSTEM (CURRENT_VERSION_PID);
alter table TRM_CODESYSTEM
add constraint IDX_CS_CODESYSTEM unique (CODE_SYSTEM_URI);
create index FK_CODESYSVER_RES_ID
on TRM_CODESYSTEM_VER (RES_ID);
create index FK_CODESYSVER_CS_ID
on TRM_CODESYSTEM_VER (CODESYSTEM_PID);
create unique nonclustered index IDX_CODESYSTEM_AND_VER
on TRM_CODESYSTEM_VER (CODESYSTEM_PID, CS_VERSION_ID) where CODESYSTEM_PID is not null and CS_VERSION_ID is not null;
create index IDX_CONCEPT_INDEXSTATUS
on TRM_CONCEPT (INDEX_STATUS);
create index IDX_CONCEPT_UPDATED
on TRM_CONCEPT (CONCEPT_UPDATED);
alter table TRM_CONCEPT
add constraint IDX_CONCEPT_CS_CODE unique (CODESYSTEM_PID, CODEVAL);
create index FK_CONCEPTDESIG_CONCEPT
on TRM_CONCEPT_DESIG (CONCEPT_PID);
create index FK_CONCEPTDESIG_CSV
on TRM_CONCEPT_DESIG (CS_VER_PID);
create index FK_TRMCONCEPTMAP_RES
on TRM_CONCEPT_MAP (RES_ID);
create unique nonclustered index IDX_CONCEPT_MAP_URL
on TRM_CONCEPT_MAP (URL, VER) where URL is not null and VER is not null;
create index FK_TCMGROUP_CONCEPTMAP
on TRM_CONCEPT_MAP_GROUP (CONCEPT_MAP_PID);
create index IDX_CNCPT_MAP_GRP_CD
on TRM_CONCEPT_MAP_GRP_ELEMENT (SOURCE_CODE);
create index FK_TCMGELEMENT_GROUP
on TRM_CONCEPT_MAP_GRP_ELEMENT (CONCEPT_MAP_GROUP_PID);
create index IDX_CNCPT_MP_GRP_ELM_TGT_CD
on TRM_CONCEPT_MAP_GRP_ELM_TGT (TARGET_CODE);
create index FK_TCMGETARGET_ELEMENT
on TRM_CONCEPT_MAP_GRP_ELM_TGT (CONCEPT_MAP_GRP_ELM_PID);
create index FK_TERM_CONCEPTPC_CHILD
on TRM_CONCEPT_PC_LINK (CHILD_PID);
create index FK_TERM_CONCEPTPC_PARENT
on TRM_CONCEPT_PC_LINK (PARENT_PID);
create index FK_TERM_CONCEPTPC_CS
on TRM_CONCEPT_PC_LINK (CODESYSTEM_PID);
create index FK_CONCEPTPROP_CONCEPT
on TRM_CONCEPT_PROPERTY (CONCEPT_PID);
create index FK_CONCEPTPROP_CSV
on TRM_CONCEPT_PROPERTY (CS_VER_PID);
create index FK_TRMVALUESET_RES
on TRM_VALUESET (RES_ID);
create unique nonclustered index IDX_VALUESET_URL
on TRM_VALUESET (URL, VER) where URL is not null and VER is not null;
create index FK_TRM_VALUESET_CONCEPT_PID
on TRM_VALUESET_C_DESIGNATION (VALUESET_CONCEPT_PID);
create index FK_TRM_VSCD_VS_PID
on TRM_VALUESET_C_DESIGNATION (VALUESET_PID);
alter table TRM_VALUESET_CONCEPT
add constraint IDX_VS_CONCEPT_CSCD unique (VALUESET_PID, SYSTEM_URL, CODEVAL);
alter table TRM_VALUESET_CONCEPT
add constraint IDX_VS_CONCEPT_ORDER unique (VALUESET_PID, VALUESET_ORDER);
alter table BT2_JOB_ATTACHMENT
add constraint FK_BT2JA_INSTANCE
foreign key (JOB_INSTANCE_ID)
references BT2_JOB_INSTANCE;
alter table BT2_JOB_ATTACHMENT_CHUNK
add constraint FK_BT2_JOB_ATTCHNK_PARENT
foreign key (ATTACHMENT_ID, JOB_INSTANCE_ID)
references BT2_JOB_ATTACHMENT;
alter table BT2_WORK_CHUNK
add constraint FK_BT2WC_INSTANCE
foreign key (INSTANCE_ID)
references BT2_JOB_INSTANCE;
alter table CDH_LB_REF
add constraint FK_LB_RES
foreign key (LB_RES_ID)
references HFJ_RESOURCE;
alter table CDH_LB_REF
add constraint FK_LB_ROOT
foreign key (ROOT_RES_ID)
references HFJ_RESOURCE;
alter table CDH_LB_REF
add constraint FK_LB_SUBS
foreign key (SUBS_RES_ID)
references HFJ_RESOURCE;
alter table CDH_LB_SUB_GROUP
add constraint FK_LB_GP_SUBS
foreign key (SUBS_RES_ID)
references HFJ_RESOURCE;
alter table CDH_LB_WL_SUBS
add constraint FK_LB_WL_SUBS
foreign key (SUBS_RES_ID)
references HFJ_RESOURCE;
alter table CDH_LB_WL_SUBS
add constraint FK_LB_WL_ID
foreign key (WATCHLIST_ID)
references CDH_LB_WL;
alter table CDH_SPIDX_TOKEN_COMMON_RES
add constraint FK_SP_TOKEN_COMMON_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table CDH_SPIDX_TOKEN_IDENTIFIER
add constraint FK_SP_TOKEN_IDENTIFIER_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_BLK_EXPORT_COLFILE
add constraint FK_BLKEXCOLFILE_COLLECT
foreign key (COLLECTION_PID)
references HFJ_BLK_EXPORT_COLLECTION;
alter table HFJ_BLK_EXPORT_COLLECTION
add constraint FK_BLKEXCOL_JOB
foreign key (JOB_PID)
references HFJ_BLK_EXPORT_JOB;
alter table HFJ_BLK_IMPORT_JOBFILE
add constraint FK_BLKIMJOBFILE_JOB
foreign key (JOB_PID)
references HFJ_BLK_IMPORT_JOB;
alter table HFJ_HISTORY_TAG
add constraint FK_HISTORYTAG_HISTORY
foreign key (RES_VER_PID)
references HFJ_RES_VER;
alter table HFJ_IDX_CMB_TOK_NU
add constraint FK_IDXCMBTOKNU_RES_ID
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_IDX_CMP_STRING_UNIQ
add constraint FK_IDXCMPSTRUNIQ_RES_ID
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_RES_LINK
add constraint FK_RESLINK_SOURCE
foreign key (SRC_RESOURCE_ID)
references HFJ_RESOURCE;
alter table HFJ_RES_PARAM_PRESENT
add constraint FK_RESPARMPRES_RESID
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_RES_TAG
add constraint FK_RESTAG_RESOURCE
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_RES_VER
add constraint FK_RESOURCE_HISTORY_RESOURCE
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_RES_VER_PROV
add constraint FK_RESVERPROV_RES_PID
foreign key (RES_PID)
references HFJ_RESOURCE;
alter table HFJ_SEARCH_INCLUDE
add constraint FK_SEARCHINC_SEARCH
foreign key (SEARCH_PID)
references HFJ_SEARCH;
alter table HFJ_SPIDX_COORDS
add constraint FKC97MPK37OKWU8QVTCEG2NH9VN
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_DATE
add constraint FK_SP_DATE_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_NUMBER
add constraint FK_SP_NUMBER_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_QUANTITY
add constraint FK_SP_QUANTITY_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_QUANTITY_NRML
add constraint FK_SP_QUANTITYNM_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_STRING
add constraint FK_SPIDXSTR_RESOURCE
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_TOKEN
add constraint FK_SP_TOKEN_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table HFJ_SPIDX_URI
add constraint FKGXSREUTYMMFJUWDSWV3Y887DO
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table MPI_LINK
add constraint FK_EMPI_LINK_GOLDEN_RESOURCE
foreign key (GOLDEN_RESOURCE_PID)
references HFJ_RESOURCE;
alter table MPI_LINK
add constraint FK_EMPI_LINK_PERSON
foreign key (PERSON_PID)
references HFJ_RESOURCE;
alter table MPI_LINK
add constraint FK_EMPI_LINK_TARGET
foreign key (TARGET_PID)
references HFJ_RESOURCE;
alter table MPI_LINK_AUD
add constraint FKaow7nxncloec419ars0fpp58m
foreign key (REV)
references HFJ_REVINFO;
alter table NPM_PACKAGE_VER
add constraint FK_NPM_PKV_PKG
foreign key (PACKAGE_PID)
references NPM_PACKAGE;
alter table NPM_PACKAGE_VER
add constraint FK_NPM_PKV_RESID
foreign key (BINARY_RES_ID)
references HFJ_RESOURCE;
alter table NPM_PACKAGE_VER_RES
add constraint FK_NPM_PACKVERRES_PACKVER
foreign key (PACKVER_PID)
references NPM_PACKAGE_VER;
alter table NPM_PACKAGE_VER_RES
add constraint FK_NPM_PKVR_RESID
foreign key (BINARY_RES_ID)
references HFJ_RESOURCE;
alter table TRM_CODESYSTEM
add constraint FK_TRMCODESYSTEM_CURVER
foreign key (CURRENT_VERSION_PID)
references TRM_CODESYSTEM_VER;
alter table TRM_CODESYSTEM
add constraint FK_TRMCODESYSTEM_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table TRM_CODESYSTEM_VER
add constraint FK_CODESYSVER_CS_ID
foreign key (CODESYSTEM_PID)
references TRM_CODESYSTEM;
alter table TRM_CODESYSTEM_VER
add constraint FK_CODESYSVER_RES_ID
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table TRM_CONCEPT
add constraint FK_CONCEPT_PID_CS_PID
foreign key (CODESYSTEM_PID)
references TRM_CODESYSTEM_VER;
alter table TRM_CONCEPT_DESIG
add constraint FK_CONCEPTDESIG_CSV
foreign key (CS_VER_PID)
references TRM_CODESYSTEM_VER;
alter table TRM_CONCEPT_DESIG
add constraint FK_CONCEPTDESIG_CONCEPT
foreign key (CONCEPT_PID)
references TRM_CONCEPT;
alter table TRM_CONCEPT_MAP
add constraint FK_TRMCONCEPTMAP_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table TRM_CONCEPT_MAP_GROUP
add constraint FK_TCMGROUP_CONCEPTMAP
foreign key (CONCEPT_MAP_PID)
references TRM_CONCEPT_MAP;
alter table TRM_CONCEPT_MAP_GRP_ELEMENT
add constraint FK_TCMGELEMENT_GROUP
foreign key (CONCEPT_MAP_GROUP_PID)
references TRM_CONCEPT_MAP_GROUP;
alter table TRM_CONCEPT_MAP_GRP_ELM_TGT
add constraint FK_TCMGETARGET_ELEMENT
foreign key (CONCEPT_MAP_GRP_ELM_PID)
references TRM_CONCEPT_MAP_GRP_ELEMENT;
alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_CHILD
foreign key (CHILD_PID)
references TRM_CONCEPT;
alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_CS
foreign key (CODESYSTEM_PID)
references TRM_CODESYSTEM_VER;
alter table TRM_CONCEPT_PC_LINK
add constraint FK_TERM_CONCEPTPC_PARENT
foreign key (PARENT_PID)
references TRM_CONCEPT;
alter table TRM_CONCEPT_PROPERTY
add constraint FK_CONCEPTPROP_CSV
foreign key (CS_VER_PID)
references TRM_CODESYSTEM_VER;
alter table TRM_CONCEPT_PROPERTY
add constraint FK_CONCEPTPROP_CONCEPT
foreign key (CONCEPT_PID)
references TRM_CONCEPT;
alter table TRM_VALUESET
add constraint FK_TRMVALUESET_RES
foreign key (RES_ID)
references HFJ_RESOURCE;
alter table TRM_VALUESET_C_DESIGNATION
add constraint FK_TRM_VALUESET_CONCEPT_PID
foreign key (VALUESET_CONCEPT_PID)
references TRM_VALUESET_CONCEPT;
alter table TRM_VALUESET_C_DESIGNATION
add constraint FK_TRM_VSCD_VS_PID
foreign key (VALUESET_PID)
references TRM_VALUESET;
alter table TRM_VALUESET_CONCEPT
add constraint FK_TRM_VALUESET_PID
foreign key (VALUESET_PID)
references TRM_VALUESET;
Background: the FHIR specification considers the Resource id to be a case sensitive. Meaning :
PUT /Patient/patient1 (unique properties)
PUT /Patient/Patient1 (unique properties)
are different resources
With the recommended collation (SQL_Latin1_General_CP1_CI_AS), this will fail.
This is corrected by upgrading to a current release.
To fix this manually in older releases, change the collation for only
HFJ_RESOURCE.FHIR_ID to SQL_Latin1_General_CP1_CS_AS.
Please run the following SQLs:
IDX_RES_FHIR_IDdrop index HFJ_RESOURCE.IDX_RES_FHIR_ID;
drop index IDX_RES_TYPE_FHIR_ID on HFJ_RESOURCE;
ALTER TABLE HFJ_RESOURCE ALTER COLUMN FHIR_ID varchar(64) COLLATE SQL_Latin1_General_CP1_CS_AS;
IDX_RES_FHIR_ID:create index IDX_RES_FHIR_ID on HFJ_RESOURCE(FHIR_ID);
create unique index IDX_RES_TYPE_FHIR_ID on HFJ_RESOURCE(RES_TYPE, FHIR_ID) INCLUDE (RES_ID, RES_DELETED_AT);