Smile CDR v2023.08.PRE
On this page:

37.5Setting Up MariaDB

 

This page contains details on how to set up databases for use with MariaDB.

37.5.1Supported Versions

 

See platform requirements for information on supported versions of MariaDB.

37.5.2Creating a Database for Smile CDR

 

A script similar to the following can be used to create a new database named cdr with username cdr and password SmileCDR in MariaDB:

CREATE DATABASE cdr;
USE cdr;
CREATE USER 'cdr'@'%' IDENTIFIED BY 'SmileCDR';
GRANT ALL PRIVILEGES ON cdr.* TO 'cdr'@'%';

37.5.3Database Connection Properties

 

When configuring Smile CDR to connect to a MariaDB 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    =MARIADB_10_1
module.clustermgr.config.db.url       =jdbc:mariadb://localhost:3306/cdr
module.clustermgr.config.db.username  =cdr
module.clustermgr.config.db.password  =SmileCDR

37.5.4Setting up a Cluster Manager Database

 

To initialize a new MariaDB database for the Cluster Manager, initialize a database with the following SQL:

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)
    ) engine=InnoDB;

    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 datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime 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)
    ) engine=InnoDB;

    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 datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime 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)
    ) engine=InnoDB;

    create table AG_ATTESTATION (
       PID bigint not null,
        ARCHIVE_DATE datetime,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime not null,
        TITLE varchar(200) not null,
        HTML_PID bigint,
        MODULE_PID bigint not null,
        PLAIN_HTML_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_CLASS (
       PID bigint not null,
        CLASSIFICATION varchar(200) not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_COUNTRY (
       PID bigint not null,
        ISO_CODE_ALPHA2 varchar(2) not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_DATA (
       PID bigint not null,
        DATA_LOB longblob not null,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_DOCUMENT (
       PID bigint not null,
        FILEACTIVE bit not null,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime 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)
    ) engine=InnoDB;

    create table AG_DRAFT (
       PID bigint not null,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime not null,
        BACKEND_SERVICE bit,
        DATA_HASH integer,
        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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table AG_NOTE (
       PID bigint not null,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime not null,
        MESSAGE varchar(1500) not null,
        REASON varchar(1000) not null,
        NOTE_TYPE varchar(20),
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_OAUTH_REDIRECT (
       PID bigint not null,
        OAUTH_REDIRECT_URL varchar(200) not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_PERMISSION (
       PID bigint not null,
        PERMISSION varchar(200) not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table AG_PREREQUISITE (
       PID bigint not null,
        PREREQUISITE varchar(200) not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_PROFILE (
       PID bigint not null,
        ABOUT_US varchar(250),
        ARCHIVE_DATE datetime,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        LAST_MODIFIED_BY varchar(200) not null,
        LAST_MODIFIED_DATE datetime 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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table AG_SCOPE (
       PID bigint not null,
        SCOPE varchar(200) not null,
        SCOPE_TYPE varchar(20),
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table AG_SCREENSHOT (
       PID bigint not null,
        FILENAME varchar(200) not null,
        POSITION integer,
        ASSET_STATUS varchar(20) not null,
        SCREENSHOT_PID bigint not null,
        AG_APPL_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_AUDIT_EVT (
       PID bigint not null,
        EVT_ADDITIONAL_JSON longtext,
        AUSER_TYPE integer,
        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 datetime 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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_AUDIT_EVT_TARGET_MODULE (
       PID bigint not null,
        EVENT_PID bigint not null,
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_AUDIT_EVT_TARGET_RES (
       PID bigint not null,
        REQ_VAL_RESULT integer,
        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)
    ) engine=InnoDB;

    create table CDR_AUDIT_EVT_TARGET_USER (
       PID bigint not null,
        USER_PID bigint not null,
        EVENT_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_AUDIT_EVT_TYPE (
       PID bigint not null,
        CODEVAL varchar(200),
        SYSTEM_URL varchar(200),
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_CACHE_SYNC (
       PID bigint not null,
        CACHE_ID varchar(256) not null,
        MODULE_PID bigint not null,
        UPDATED_TIME datetime not null,
        VERSION bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_CDA_TEMPLATE (
       PID bigint not null,
        TEMPLATE_DESCRIPTION varchar(250),
        TEMPLATE_ID varchar(250) not null,
        TEMPLATE_CONTENT longtext not null,
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_CDA_TEMPLATE_PARAM (
       PID bigint not null,
        TEMPLATE_PARAMETER_NAME varchar(250) not null,
        TEMPLATE_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_DB_VERSION (
       DB_VERSION varchar(100) not null,
        DB_INIT_TIME datetime not null,
        primary key (DB_VERSION)
    ) engine=InnoDB;

    create table CDR_FHIR_SEARCHPARAM (
       PID bigint not null,
        SP_BASE varchar(500) not null,
        SP_CODE varchar(500) not null,
        SP_DESC varchar(500),
        SP_FHIR_STATUS varchar(255),
        LAST_UPDATED datetime not null,
        LAST_USED datetime,
        STAT_OVERALL_COUNT bigint,
        SP_PATH varchar(500),
        STAT_RESOURCE_SPREAD double precision not null,
        SP_RES_ID varchar(150),
        SP_SYNC_STATUS varchar(255) not null,
        SP_TITLE varchar(500),
        SP_TYPE varchar(20),
        BUF_UNIQUE_RESOURCES longblob,
        BUF_UNIQUE_VALUES longblob,
        STAT_VALUE_SPREAD double precision not null,
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_GLOBAL_GAUGE (
       ID varchar(200) not null,
        VAL_DOUBLE double precision,
        VAL_LONG bigint,
        primary key (ID)
    ) engine=InnoDB;

    create table CDR_HTTP_SESSION (
       PID bigint not null,
        SES_ATTRS longblob not null,
        SES_EXPIRY datetime not null,
        LAST_ACCESSED_TIME datetime,
        MAX_INACTIVE bigint not null,
        PRINCIPAL_USERNAME varchar(200),
        SES_ID varchar(200) not null,
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_IDENTIFICATION_CODES (
       PID bigint not null,
        CDR_CODE varchar(6) not null,
        CODE_STATUS varchar(20) not null,
        EXPIRES_ON datetime not null,
        USER_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_METRIC_GAUGE (
       GAUGE_TYPE integer not null,
        INTERVL integer not null,
        START_TIME datetime not null,
        IS_COLLAPSED bit not null,
        GAUGE_VAL bigint not null,
        MODPROC_PID bigint not null,
        primary key (GAUGE_TYPE, INTERVL, MODPROC_PID, START_TIME)
    ) engine=InnoDB;

    create table CDR_METRIC_HC (
       PID bigint not null,
        ERROR_STRING varchar(200),
        HEALTHCHECK_TYPE integer not null,
        IS_HEALTHY bit not null,
        HEALTHY_STRING varchar(200),
        MODPROC_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_METRIC_HEALTH (
       PID bigint not null,
        CUSTOM_HEALTHCHECK_NAME varchar(256),
        ERROR_STRING varchar(256),
        HEALTHCHECK_TYPE integer not null,
        IS_HEALTHY bit not null,
        HEALTHY_STRING varchar(256),
        MODPROC_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_METRIC_TIMER (
       INTERVL integer not null,
        START_TIME datetime not null,
        TIMER_TYPE integer not null,
        IS_COLLAPSED bit not null,
        COUNT_VAL bigint,
        RATE_15_MIN float not null,
        FIRST_SINCE_RS bit not null,
        RATE_5_MIN float not null,
        LATENCY_MAX integer not null,
        LATENCY_MEAN integer not null,
        LATENCY_MIN integer not null,
        MODPROC_PID bigint not null,
        RATE_1_MIN float not null,
        primary key (INTERVL, MODPROC_PID, START_TIME, TIMER_TYPE)
    ) engine=InnoDB;

    create table CDR_MODULE (
       PID bigint not null,
        DELETED bit not null,
        MODULE_DISABLED bit not null,
        MATURITY integer,
        MODULE_ID varchar(50) not null,
        PORTVAL integer,
        NODE_PID bigint not null,
        PROTOTYPE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_MODULE_CFG_PROP (
       PID bigint not null,
        VALUE_STRING varchar(200),
        VALUE_EXTENDED longtext,
        MODULE_PID bigint not null,
        PROTOTYPE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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 integer not null,
        MODULE_STATUS_DESC varchar(200),
        STATUS_TIMESTAMP datetime,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_MODULE_PROT_CFG (
       PID bigint not null,
        IS_ADVANCED bit not null,
        CATEGORY_KEY varchar(100) not null,
        DEFAULT_VALUE varchar(200),
        DESC_KEY varchar(200),
        ENUM_TYPE varchar(200),
        CFG_INDEX integer 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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_MODULE_PROT_SUPPLIES (
       PID bigint not null,
        ENTRY_KEY integer not null,
        PROTOTYPE_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_MODULE_PROTOTYPE (
       PID bigint not null,
        MODULE_TYPE varchar(200) not null,
        STOPPABLE bit not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_MODULE_STATE (
       PID bigint not null,
        STATE_TYPE integer not null,
        STATE_VAL varchar(200),
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_NODE (
       PID bigint not null,
        IS_CONFIG_LOCKED bit,
        IS_DELETED bit,
        NODE_ID varchar(30) not null,
        IS_SECURITY_STRICT bit,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_NODE_MODULE_DIAGNOSTICS (
       DIAGNOSTICS_JSON longtext,
        MODULE_PID bigint not null,
        NODE_PID bigint not null,
        primary key (MODULE_PID, NODE_PID)
    ) engine=InnoDB;

    create table CDR_NODE_PROCESS (
       PID bigint not null,
        CREATED_TIME datetime not null,
        HEARTBEAT_TIME datetime,
        KILLED_BY varchar(20),
        NODE_PID bigint not null,
        PROCESS_ID varchar(20) not null,
        PROCESS_NAME varchar(100),
        STARTED_TIME datetime,
        NODE_STATUS integer not null,
        STOPPED_TIME datetime,
        OPT_LOCK integer not null,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_OA2_CLI_DET_CLISEC (
       PID bigint not null,
        SEC_ACTIVATION datetime,
        SEC_CREATION datetime,
        SEC_DESC varchar(250),
        SEC_EXPIRATION datetime,
        CLI_SECRET varchar(250) not null,
        CLIENT_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_OA2_SERVER (
       PID bigint not null,
        ARCHIVED_AT datetime,
        AUDIENCE varchar(500),
        AUTH_WELL_KNOWN_CONFIG_URL varchar(500),
        CUSTOM_TOKEN_PARAMS varchar(500),
        FEDERATION_AUTH_SCRIPT_TEXT longblob,
        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 longblob,
        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 longtext,
        MODULE_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_ATOKEN (
       PID bigint not null,
        EXPIRATION datetime not null,
        GRANT_TYPE varchar(20),
        ID_TOKEN_BYTES longblob,
        ID_TOKEN_VAL varchar(1000),
        ISSUED datetime not null,
        REDIRECT_URI varchar(200),
        TOKEN_HASH varchar(150) not null,
        TOKEN_BYTES longblob,
        TOKEN_VAL varchar(1000),
        CLIENT_PID bigint not null,
        MODULE_PID bigint not null,
        REFRESH_TOKEN_PID bigint,
        USER_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_OAUTH2_ATOKEN_SCOPE (
       PID bigint not null,
        SCOPE varchar(764) not null,
        TOKEN_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_ATOKEN_UDATA (
       ATOKEN_PID bigint not null,
        TOKEN_KEY varchar(256) not null,
        VAL longblob,
        primary key (ATOKEN_PID, TOKEN_KEY)
    ) engine=InnoDB;

    create table CDR_OAUTH2_AUTH_CODE (
       PID bigint not null,
        OAUTH2_AUTHENTICATION longblob,
        CLIENT_ID varchar(200) not null,
        CODE_VAL varchar(100) not null,
        EXPIRATION datetime not null,
        PKCE_CHALLENGE varchar(200),
        PKCE_CHALLENGE_TYPE varchar(10),
        STATE_VAL varchar(256),
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_CLIENT_DET_SCOPE (
       PID bigint not null,
        SCOPE varchar(764) not null,
        CLIENT_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_CLIENT_DETAILS (
       PID bigint not null,
        ACCESS_TOKEN_VALIDITY_SECONDS integer,
        ALWAYS_REQUIRE_APPROVAL bit,
        ARCHIVED_AT datetime,
        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 longblob,
        REFRESH_TOKEN_VALIDITY_SECONDS integer,
        REMEMBER_APPROVED_SCOPES bit,
        SECRET_CLIENT_CAN_CHANGE bit,
        SECRET_REQUIRED bit not null,
        MODULE_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_OAUTH2_JWT_UNIQ_ID (
       JWT_ID varchar(500) not null,
        CONSUMED_TIMESTAMP datetime not null,
        primary key (JWT_ID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_KEYSTORE (
       KEYSTORE_ID varchar(50) not null,
        FILE_PATH varchar(4000),
        JSON_KEYS varchar(4000),
        primary key (KEYSTORE_ID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_REFRESH_TOKEN (
       PID bigint not null,
        EXPIRATION datetime,
        ISSUED datetime not null,
        TOKEN_VAL varchar(150) not null,
        CLIENT_PID bigint,
        USER_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_OAUTH2_RTOKEN_SCOPE (
       PID bigint not null,
        SCOPE varchar(100) not null,
        TOKEN_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_OAUTH2_RTOKEN_UDATA (
       TOKEN_PID bigint not null,
        TOKEN_KEY varchar(256) not null,
        VAL longblob,
        primary key (TOKEN_PID, TOKEN_KEY)
    ) engine=InnoDB;

    create table CDR_USER_DETAILS (
       PID bigint not null,
        IS_ANON_ACCT bit,
        CREDS_EXPIRE_ON datetime,
        USER_DISABLED bit not null,
        EMAIL varchar(200),
        EXPIRES_ON datetime,
        IS_EXTERNAL bit,
        FAILED_LOGIN_ATTEMPTS integer,
        FAMILY_NAME varchar(200),
        GIVEN_NAME varchar(200),
        LAST_ACTIVE datetime,
        LAST_CONNECTED datetime,
        USER_LOCKED bit not null,
        MODULE_PID bigint not null,
        NOTES longtext,
        USER_PASSWORD varchar(200),
        IS_SERVICE_ACCT bit,
        IS_SYSTEM_USER bit not null,
        UPDATED_TS datetime not null,
        USERNAME varchar(200) not null,
        USERNAME_HAS_NAMESPACE bit,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_USER_DETAILS_OA2CLNAPRVSCP (
       PID bigint not null,
        IS_APPROVED bit not null,
        SCOPE varchar(100) not null,
        CLIENT_PID bigint not null,
        USER_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_USER_OA2CLN_TOS (
       PID bigint not null,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        REVOKED_BY varchar(200),
        REVOKED_DATE datetime,
        VERSION varchar(200) not null,
        CLIENT_PID bigint not null,
        USER_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDR_USER_PSN (
       PID bigint not null,
        CREATED_BY varchar(200) not null,
        CREATED_DATE datetime not null,
        REVOKED_BY varchar(200),
        REVOKED_DATE datetime,
        USER_PID bigint not null,
        VERSION varchar(200) not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_USER_TFA_KEY (
       PID bigint not null,
        CONFIRMED_AT datetime,
        KEY_EXPIRES datetime,
        FAILED_VERIFS integer,
        A_KEY varchar(250) not null,
        A_STYLE varchar(20) not null,
        OPTLOCK integer not null,
        USER_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_XACT_LOG (
       PID bigint not null,
        INITIAL_TIMESTAMP datetime not null,
        EVT_OUTCOME integer not null,
        SRC_XACT_ID varchar(128),
        EVT_SUBTYPE integer not null,
        SRC_GUID varchar(36),
        EVT_TYPE integer not null,
        USER_PID bigint,
        CLIENT_PID bigint,
        CDR_ENDPOINT_MODULE_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table CDR_XACT_LOG_STEP (
       STEP_PID bigint not null,
        BODY_BYTES longblob,
        BODY_TYPE integer,
        LOCAL_HOST varchar(100),
        LOCAL_PORT integer,
        EVT_OUTCOME integer,
        PROCESSING_TIME bigint,
        REMOTE_HOST varchar(100),
        REMOTE_PORT integer,
        REQUEST_URL_STR varchar(250),
        REQ_VAL_RESULT integer,
        REQUEST_VERB varchar(7),
        RESPONSE_STATUS smallint,
        SUBSCRIPTION_ID varchar(77),
        LOG_TIMESTAMP datetime not null,
        STEP_TYPE integer not null,
        LOG_PID bigint not null,
        primary key (STEP_PID)
    ) engine=InnoDB;

    create table SEQ_AG_ADDRESS_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_ADDRESS_PID values ( 1 );

    create table SEQ_AG_APP_REQUEST_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_APP_REQUEST_PID values ( 1 );

    create table SEQ_AG_APPL_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_APPL_PID values ( 1 );

    create table SEQ_AG_ATTESTATION_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_ATTESTATION_PID values ( 1 );

    create table SEQ_AG_CLASS_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_CLASS_PID values ( 1 );

    create table SEQ_AG_COUNTRY_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_COUNTRY_PID values ( 1 );

    create table SEQ_AG_DATA_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_DATA_PID values ( 1 );

    create table SEQ_AG_DOCUMENT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_DOCUMENT_PID values ( 1 );

    create table SEQ_AG_DRAFT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_DRAFT_PID values ( 1 );

    create table SEQ_AG_MEMBER_PHONE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_MEMBER_PHONE_PID values ( 1 );

    create table SEQ_AG_METADATA_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_METADATA_PID values ( 1 );

    create table SEQ_AG_NOTE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_NOTE_PID values ( 1 );

    create table SEQ_AG_OAUTH_REDIRECT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_OAUTH_REDIRECT_PID values ( 1 );

    create table SEQ_AG_PERMISSION_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_PERMISSION_PID values ( 1 );

    create table SEQ_AG_PHONE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_PHONE_PID values ( 1 );

    create table SEQ_AG_PREREQUISITE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_PREREQUISITE_PID values ( 1 );

    create table SEQ_AG_PROFILE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_PROFILE_PID values ( 1 );

    create table SEQ_AG_SANDBOX_CLIENT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_SANDBOX_CLIENT_PID values ( 1 );

    create table SEQ_AG_SCOPE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_SCOPE_PID values ( 1 );

    create table SEQ_AG_SCREENSHOT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AG_SCREENSHOT_PID values ( 1 );

    create table SEQ_AUDITEVT_HEADER_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_HEADER_PID values ( 1 );

    create table SEQ_AUDITEVT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_PID values ( 1 );

    create table SEQ_AUDITEVT_TARGETMODULE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_TARGETMODULE_PID values ( 1 );

    create table SEQ_AUDITEVT_TARGETRES_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_TARGETRES_PID values ( 1 );

    create table SEQ_AUDITEVT_TARGETUSER_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_TARGETUSER_PID values ( 1 );

    create table SEQ_AUDITEVT_TYPE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_AUDITEVT_TYPE_PID values ( 1 );

    create table SEQ_CACHE_SYNC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CACHE_SYNC_PID values ( 1 );

    create table SEQ_CDATEMPLATE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDATEMPLATE_PID values ( 1 );

    create table SEQ_CDATEMPLATEPARAM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDATEMPLATEPARAM_PID values ( 1 );

    create table SEQ_FHIRSEARCHPARAM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_FHIRSEARCHPARAM_PID values ( 1 );

    create table SEQ_HTTPSESSION_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_HTTPSESSION_PID values ( 1 );

    create table SEQ_ID_CODE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_ID_CODE_PID values ( 1 );

    create table SEQ_METRICHC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_METRICHC_PID values ( 1 );

    create table SEQ_METRICHEALTH_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_METRICHEALTH_PID values ( 1 );

    create table SEQ_MODPROC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODPROC_PID values ( 1 );

    create table SEQ_MODSTAT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODSTAT_PID values ( 1 );

    create table SEQ_MODULE_CFGPROP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_CFGPROP_PID values ( 1 );

    create table SEQ_MODULE_DEP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_DEP_PID values ( 1 );

    create table SEQ_MODULE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_PID values ( 1 );

    create table SEQ_MODULE_PROT_CFG_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_PROT_CFG_PID values ( 1 );

    create table SEQ_MODULE_PROT_DEP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_PROT_DEP_PID values ( 1 );

    create table SEQ_MODULE_PROT_SUPPLIES_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_PROT_SUPPLIES_PID values ( 1 );

    create table SEQ_MODULE_PROTOTYPE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_MODULE_PROTOTYPE_PID values ( 1 );

    create table SEQ_NODE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_NODE_PID values ( 1 );

    create table SEQ_NODEPROC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_NODEPROC_PID values ( 1 );

    create table SEQ_OA2ATOKADNLINFO_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2ATOKADNLINFO_PID values ( 1 );

    create table SEQ_OA2ATOKEN_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2ATOKEN_PID values ( 1 );

    create table SEQ_OA2ATOKGRNTDA_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2ATOKGRNTDA_PID values ( 1 );

    create table SEQ_OA2ATOKSCP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2ATOKSCP_PID values ( 1 );

    create table SEQ_OA2AUTHCODE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2AUTHCODE_PID values ( 1 );

    create table SEQ_OA2CLIDETAASCOP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIDETAASCOP_PID values ( 1 );

    create table SEQ_OA2CLIDETAGSCOP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIDETAGSCOP_PID values ( 1 );

    create table SEQ_OA2CLIDETAUTHGRNTTYP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIDETAUTHGRNTTYP_PID values ( 1 );

    create table SEQ_OA2CLIDETCLISEC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIDETCLISEC_PID values ( 1 );

    create table SEQ_OA2CLIDETREGREDIRURI_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIDETREGREDIRURI_PID values ( 1 );

    create table SEQ_OA2CLIENTDETAILS_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIENTDETAILS_PID values ( 1 );

    create table SEQ_OA2CLIENTDETAILSSCOPE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIENTDETAILSSCOPE_PID values ( 1 );

    create table SEQ_OA2CLIENTPERM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2CLIENTPERM_PID values ( 1 );

    create table SEQ_OA2REFTOKEN_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2REFTOKEN_PID values ( 1 );

    create table SEQ_OA2RTOKADNLINFO_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2RTOKADNLINFO_PID values ( 1 );

    create table SEQ_OA2RTOKGRNTDA_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2RTOKGRNTDA_PID values ( 1 );

    create table SEQ_OA2RTOKLNCHRESID_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2RTOKLNCHRESID_PID values ( 1 );

    create table SEQ_OA2RTOKREQPRM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2RTOKREQPRM_PID values ( 1 );

    create table SEQ_OA2RTOKSCP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2RTOKSCP_PID values ( 1 );

    create table SEQ_OA2SERVER_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_OA2SERVER_PID values ( 1 );

    create table SEQ_USER_OA2CLN_TOS_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USER_OA2CLN_TOS_PID values ( 1 );

    create table SEQ_USER_PERM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USER_PERM_PID values ( 1 );

    create table SEQ_USER_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USER_PID values ( 1 );

    create table SEQ_USER_PSN_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USER_PSN_PID values ( 1 );

    create table SEQ_USERDEFLNCHCTX_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USERDEFLNCHCTX_PID values ( 1 );

    create table SEQ_USERTFAKEY_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USERTFAKEY_PID values ( 1 );

    create table SEQ_USROA2CLNTAPRVDSCP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_USROA2CLNTAPRVDSCP_PID values ( 1 );

    create table SEQ_XACT_LOG_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_XACT_LOG_PID values ( 1 );

    create table SEQ_XACT_LOG_STEP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_XACT_LOG_STEP_PID values ( 1 );
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_TARGUSR_EVT on CDR_AUDIT_EVT_TARGET_USER (EVENT_PID);

    alter table CDR_AUDIT_EVT_TYPE 
       add constraint IDX_AUDITEVTTYPE_SYSTEM_CODE unique (SYSTEM_URL, CODEVAL);

    alter table CDR_CACHE_SYNC 
       add constraint IDX_CACHE_SYNC_ID unique (MODULE_PID, CACHE_ID);
create index IDX_CDR_TEMPLATE_ID on CDR_CDA_TEMPLATE (TEMPLATE_ID);

    alter table CDR_CDA_TEMPLATE 
       add constraint IDX_CDATEMPL_ID unique (TEMPLATE_ID);
create index IDX_FHIRSP_SP_RES_ID on CDR_FHIR_SEARCHPARAM (MODULE_PID, SP_RES_ID);
create index IDX_FHIRSP_BASE on CDR_FHIR_SEARCHPARAM (MODULE_PID, SP_BASE);
create index IDX_FHIRSP_CODE on CDR_FHIR_SEARCHPARAM (MODULE_PID, SP_CODE);
create index IDX_FHIRSP_OVERALLCOUNT on CDR_FHIR_SEARCHPARAM (MODULE_PID, STAT_OVERALL_COUNT);
create index IDX_FHIRSP_RESSPREAD on CDR_FHIR_SEARCHPARAM (MODULE_PID, STAT_RESOURCE_SPREAD);
create index IDX_FHIRSP_TYPE on CDR_FHIR_SEARCHPARAM (MODULE_PID, SP_TYPE);
create index IDX_FHIRSP_VALSPREAD on CDR_FHIR_SEARCHPARAM (MODULE_PID, STAT_VALUE_SPREAD);
create index IDX_FHIRSP_LASTUPDATED on CDR_FHIR_SEARCHPARAM (MODULE_PID, LAST_UPDATED);
create index IDX_FHIRSP_LASTUSED on CDR_FHIR_SEARCHPARAM (MODULE_PID, LAST_USED);
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_GAUGE_MODCOLLINTSTART on CDR_METRIC_GAUGE (MODPROC_PID, GAUGE_TYPE, INTERVL, START_TIME);
create index IDX_GAUGE_MODCOLLSTART on CDR_METRIC_GAUGE (MODPROC_PID, IS_COLLAPSED, START_TIME);

    alter table CDR_METRIC_HC 
       add constraint IDX_METRICHC_NODEP_HID unique (MODPROC_PID, HEALTHCHECK_TYPE);

    alter table CDR_METRIC_HEALTH 
       add constraint IDX_METRICHC_MOD_TYPE_NAME unique (MODPROC_PID, HEALTHCHECK_TYPE, CUSTOM_HEALTHCHECK_NAME);
create index IDX_TIMER_MODCOLLINTSTART on CDR_METRIC_TIMER (MODPROC_PID, TIMER_TYPE, INTERVL, START_TIME);
create index IDX_TIMER_MODCOLLSTART_V2 on CDR_METRIC_TIMER (START_TIME, MODPROC_PID, IS_COLLAPSED);

    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);

    alter table CDR_MODULE_PROT_DEP 
       add constraint IDX_MODULEPROTDEP_PROT_KEY unique (PROTOTYPE_PID, ENTRY_KEY);

    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);

    alter table CDR_OA2_SERVER 
       add constraint IDX_OA2SERVER_FED_REG_ID unique (MODULE_PID, FEDERATION_REG_ID, ARCHIVED_AT);

    alter table CDR_OA2_SERVER 
       add constraint IDX_OA2SERVER_MODULE_ISSURL unique (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);

    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);

    alter table CDR_OAUTH2_CLIENT_DETAILS 
       add constraint IDX_OA2CLIENTDETAILS_CLI_MOD unique (MODULE_PID, CLIENT_ID, ARCHIVED_AT);
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);

    alter table CDR_OAUTH2_RTOKEN_SCOPE 
       add constraint IDX_OA2RTOKSCP_RTOKEN_SCOPE unique (TOKEN_PID, SCOPE);
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);

    alter table CDR_XACT_LOG 
       add constraint IDX_GUID unique (SRC_GUID);
create index IDX_XACTLOGSTEP_LOGID on CDR_XACT_LOG_STEP (LOG_PID);

    alter table AG_ADDRESS 
       add constraint FK_AG_ADDRESS_AG_PROFILE 
       foreign key (AG_PROFILE_PID) 
       references AG_PROFILE (PID);

    alter table AG_APP_REQUEST 
       add constraint FK_AG_APP_REQUEST_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_JWK_SET 
       foreign key (JWK_SET_PID) 
       references AG_DATA (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_AG_ATTESTATION 
       foreign key (ATTESTATION_PID) 
       references AG_ATTESTATION (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_ICON 
       foreign key (ICON_PID) 
       references AG_DATA (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_OAUTH2_CLIENT 
       foreign key (OAUTH2_CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_PARENT_PID 
       foreign key (PARENT_PID) 
       references AG_APPL (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_AG_PROFILE 
       foreign key (PROFILE_PID) 
       references AG_PROFILE (PID);

    alter table AG_APPL 
       add constraint FK_AG_APPL_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table AG_ATTESTATION 
       add constraint FK_AG_ATTESTATION_HTML 
       foreign key (HTML_PID) 
       references AG_DATA (PID);

    alter table AG_ATTESTATION 
       add constraint FK_AG_ATTESTATION_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_ATTESTATION 
       add constraint FK_AG_ATTESTATION_PLAIN_HTML 
       foreign key (PLAIN_HTML_PID) 
       references AG_DATA (PID);

    alter table AG_CLASS 
       add constraint FK_AG_CLASS_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_COUNTRY 
       add constraint FK_AG_COUNTRY_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_DOCUMENT 
       add constraint FK_AG_DOCUMENT_DATA_BLOB 
       foreign key (DOCUMENT_PID) 
       references AG_DATA (PID);

    alter table AG_DOCUMENT 
       add constraint FK_AG_DOCUMENT_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_DRAFT 
       add constraint FK_AG_DRAFT_DATA_BLOB 
       foreign key (DRAFT_PID) 
       references AG_DATA (PID);

    alter table AG_DRAFT 
       add constraint FK_AG_DRAFT_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_DRAFT 
       add constraint FK_AG_DRAFT_SOURCE_APP_PID 
       foreign key (SOURCE_APP_PID) 
       references AG_APPL (PID);

    alter table AG_DRAFT 
       add constraint FK_AG_DRAFT_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table AG_MEMBER_PHONE 
       add constraint FK_AG_MEMBER_PHONE_APP_REQUEST 
       foreign key (AG_APP_REQUEST_PID) 
       references AG_APP_REQUEST (PID);

    alter table AG_METADATA 
       add constraint FK_AG_METADATA_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_NOTE 
       add constraint FK_AG_NOTE_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_OAUTH_REDIRECT 
       add constraint FK_AG_OAUTH_REDIRECT_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_PERMISSION 
       add constraint FK_AG_PERMISSION_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_PHONE 
       add constraint FK_AG_PHONE_AG_PROFILE 
       foreign key (AG_PROFILE_PID) 
       references AG_PROFILE (PID);

    alter table AG_PREREQUISITE 
       add constraint FK_AG_PREREQUISITE_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_PROFILE 
       add constraint FK_AG_PROFILE_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_PROFILE 
       add constraint FK_AG_PROFILE_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table AG_SANDBOX_CLIENT 
       add constraint FK_AG_SANDBOX_CLIENT_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table AG_SANDBOX_CLIENT 
       add constraint FK_AG_CLIENT_OAUTH2_CLIENT 
       foreign key (OAUTH2_CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table AG_SANDBOX_CLIENT 
       add constraint FK_AG_SANDBOX_CLIENT_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table AG_SCOPE 
       add constraint FK_AG_SCOPE_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table AG_SCREENSHOT 
       add constraint FK_AG_SCREENSHOT_DATA_BLOB 
       foreign key (SCREENSHOT_PID) 
       references AG_DATA (PID);

    alter table AG_SCREENSHOT 
       add constraint FK_AG_SCREENSHOT_AG_APPL 
       foreign key (AG_APPL_PID) 
       references AG_APPL (PID);

    alter table CDR_AUDIT_EVT 
       add constraint FK_AUDITEVT_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_AUDIT_EVT 
       add constraint FK_AUDITEVT_ENDPOINTMODULE 
       foreign key (ENDPOINT_MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_AUDIT_EVT 
       add constraint FK_AUDITEVT_TYPE 
       foreign key (TYPE_PID) 
       references CDR_AUDIT_EVT_TYPE (PID);

    alter table CDR_AUDIT_EVT 
       add constraint FK_AUDITEVT_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_AUDIT_EVT_HEADER 
       add constraint FK_AUDITEVT_HEADER_EVT 
       foreign key (EVENT_PID) 
       references CDR_AUDIT_EVT (PID);

    alter table CDR_AUDIT_EVT_TARGET_MODULE 
       add constraint FK_AUDITEVT_TARGETMODULE_EVT 
       foreign key (EVENT_PID) 
       references CDR_AUDIT_EVT (PID);

    alter table CDR_AUDIT_EVT_TARGET_MODULE 
       add constraint FK_AUDITEVT_TARGETMOD_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_AUDIT_EVT_TARGET_RES 
       add constraint FK_AUDITEVT_TARGETRES_EVT 
       foreign key (EVENT_PID) 
       references CDR_AUDIT_EVT (PID);

    alter table CDR_AUDIT_EVT_TARGET_RES 
       add constraint FK_AUDITEVT_TARGETRES_PERSMOD 
       foreign key (PERS_MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_AUDIT_EVT_TARGET_USER 
       add constraint FK_AUDITEVT_TARGETUSER_EVT 
       foreign key (EVENT_PID) 
       references CDR_AUDIT_EVT (PID);

    alter table CDR_AUDIT_EVT_TARGET_USER 
       add constraint FK_AUDITEVT_TARGETUSER_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_CACHE_SYNC 
       add constraint FK_CACHE_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_CDA_TEMPLATE 
       add constraint FK_CDA_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_CDA_TEMPLATE_PARAM 
       add constraint FK_CDATEMPLATE_PID 
       foreign key (TEMPLATE_PID) 
       references CDR_CDA_TEMPLATE (PID);

    alter table CDR_FHIR_SEARCHPARAM 
       add constraint FK_FHIRSEARCHPARAM_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_HTTP_SESSION 
       add constraint FK_HTTPSESSION_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_IDENTIFICATION_CODES 
       add constraint FK_IDCODE_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_METRIC_GAUGE 
       add constraint FK_METGAUGE_MODP 
       foreign key (MODPROC_PID) 
       references CDR_MODULE_PROCESS (PID);

    alter table CDR_METRIC_HC 
       add constraint FK_HC_MODP 
       foreign key (MODPROC_PID) 
       references CDR_MODULE_PROCESS (PID);

    alter table CDR_METRIC_HEALTH 
       add constraint FK_HEALTH_MODP 
       foreign key (MODPROC_PID) 
       references CDR_MODULE_PROCESS (PID);

    alter table CDR_METRIC_TIMER 
       add constraint FK_METTIMER_MODP 
       foreign key (MODPROC_PID) 
       references CDR_MODULE_PROCESS (PID);

    alter table CDR_MODULE 
       add constraint FK_MODULE_NODE 
       foreign key (NODE_PID) 
       references CDR_NODE (PID);

    alter table CDR_MODULE 
       add constraint FK_MODULE_PROTOTYPE 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROTOTYPE (PID);

    alter table CDR_MODULE_CFG_PROP 
       add constraint FK_MODULECFGPROP_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_MODULE_CFG_PROP 
       add constraint FK_MODULECFGPROP_PROTOTYPE 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROT_CFG (PID);

    alter table CDR_MODULE_DEP 
       add constraint FK_MODULEDEP_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_MODULE_DEP 
       add constraint FK_MODULEDEP_PROTOTYPE 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROT_DEP (PID);

    alter table CDR_MODULE_DEP 
       add constraint FK_MODULEDEP_TARGET 
       foreign key (TARGET_PID) 
       references CDR_MODULE (PID);

    alter table CDR_MODULE_PROCESS 
       add constraint FK_MODPROC_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_MODULE_PROCESS 
       add constraint FK_MODPROC_NODEPROC 
       foreign key (NODEPROC_PID) 
       references CDR_NODE_PROCESS (PID);

    alter table CDR_MODULE_PROT_CFG 
       add constraint FK_CDR_MODULEPROTCFG_PROT 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROTOTYPE (PID);

    alter table CDR_MODULE_PROT_DEP 
       add constraint FK_MODULE_PROT_DEP_PROT 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROTOTYPE (PID);

    alter table CDR_MODULE_PROT_SUPPLIES 
       add constraint FK_MODULE_PROT_SUPPLIES_PROT 
       foreign key (PROTOTYPE_PID) 
       references CDR_MODULE_PROTOTYPE (PID);

    alter table CDR_MODULE_STATE 
       add constraint FK_MODSTAT_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_NODE_MODULE_DIAGNOSTICS 
       add constraint FK_MULTI_NODE_MODULE_PID 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_NODE_MODULE_DIAGNOSTICS 
       add constraint FK_MULTI_NODE_PID 
       foreign key (NODE_PID) 
       references CDR_NODE (PID);

    alter table CDR_NODE_PROCESS 
       add constraint FK_NODEPROCESS_NODE 
       foreign key (NODE_PID) 
       references CDR_NODE (PID);

    alter table CDR_OA2_CLI_DET_AUTH_GRNT_TYP 
       add constraint FK_OA2CLIDETAUTHGRNTTY_CLI 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OA2_CLI_DET_AUTOAP_SCOPE 
       add constraint FK_OA2CLIDETAUTOAPPSCOP_CLI 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OA2_CLI_DET_AUTOGRNT_SCOPE 
       add constraint FK_OA2CLIDETAUTOGRNTPSCOP_CLI 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OA2_CLI_DET_CLISEC 
       add constraint FK_OA2CLIDETCLISEC_CLI 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OA2_CLI_DET_REG_REDIR_URI 
       add constraint FK_OA2CLIDETREGREDURI_CLI 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OA2_SERVER 
       add constraint FK_OA2SERVER_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_OAUTH2_ATOKEN 
       add constraint FK_OA2ATOKEN_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OAUTH2_ATOKEN 
       add constraint FK_OA2ATOKEN_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_OAUTH2_ATOKEN 
       add constraint FK_OA2ATOKEN_REF_TOK 
       foreign key (REFRESH_TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_ATOKEN 
       add constraint FK_OA2ATOKEN_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_OAUTH2_ATOKEN_ADNLINFO 
       add constraint FK_OA2ATOKADNLINFO_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_ATOKEN (PID);

    alter table CDR_OAUTH2_ATOKEN_GRNTDA 
       add constraint FK_OA2ATOKGRNTDA_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_ATOKEN (PID);

    alter table CDR_OAUTH2_ATOKEN_SCOPE 
       add constraint FK_OA2ATOKSCP_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_ATOKEN (PID);

    alter table CDR_OAUTH2_ATOKEN_UDATA 
       add constraint FK_OA2ATOKUD_TOKEN 
       foreign key (ATOKEN_PID) 
       references CDR_OAUTH2_ATOKEN (PID);

    alter table CDR_OAUTH2_CLIENT_DET_SCOPE 
       add constraint FK_OA2CLIDETSCOP_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OAUTH2_CLIENT_DETAILS 
       add constraint FK_OA2CLIENTDETAILS_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_OAUTH2_CLIENT_PERM 
       add constraint FK_OA2CLIENTPERM_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OAUTH2_REFRESH_TOKEN 
       add constraint FK_OA2REFTOKEN_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_OAUTH2_REFRESH_TOKEN 
       add constraint FK_OA2REFTOKEN_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_OAUTH2_RTOKEN_ADNLINFO 
       add constraint FK_OA2RTOKADNLINFO_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_RTOKEN_GRNTDA 
       add constraint FK_OA2RTOKGRNTDA_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_RTOKEN_LNCHRESID 
       add constraint FK_OA2RTOKLNCHRESID_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_RTOKEN_REQPRM 
       add constraint FK_OA2RTOKREQPRM_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_RTOKEN_SCOPE 
       add constraint FK_OA2RTOKSCP_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_OAUTH2_RTOKEN_UDATA 
       add constraint FK_OA2RTOKUD_TOKEN 
       foreign key (TOKEN_PID) 
       references CDR_OAUTH2_REFRESH_TOKEN (PID);

    alter table CDR_USER_DETAILS 
       add constraint FK_USERDETAILS_MODULE 
       foreign key (MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_USER_DETAILS_DEF_LNCH_CTX 
       add constraint FK_USERDEFLNCHCTX_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_USER_DETAILS_OA2CLNAPRVSCP 
       add constraint FK_USROA2CLNTAPRVDSCP_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_USER_DETAILS_OA2CLNAPRVSCP 
       add constraint FK_USROA2CLNTAPRVDSCP_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_USER_OA2CLN_TOS 
       add constraint FK_USER_OA2CLN_TOS_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_USER_OA2CLN_TOS 
       add constraint FK_USER_OA2CLN_TOS_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_USER_PERM 
       add constraint FK_USERPERM_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_USER_PSN 
       add constraint FK_USER_PSN_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_USER_TFA_KEY 
       add constraint FK_USERTFAKEY_USER 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_XACT_LOG 
       add constraint FK_TRANSIT_CLIENT 
       foreign key (CLIENT_PID) 
       references CDR_OAUTH2_CLIENT_DETAILS (PID);

    alter table CDR_XACT_LOG 
       add constraint FK_XACTLOGSTEP_MODULE 
       foreign key (CDR_ENDPOINT_MODULE_PID) 
       references CDR_MODULE (PID);

    alter table CDR_XACT_LOG 
       add constraint FK_TRANSIT_EVENT 
       foreign key (USER_PID) 
       references CDR_USER_DETAILS (PID);

    alter table CDR_XACT_LOG_STEP 
       add constraint FK_XACTLOGSTEP_XACTLOG 
       foreign key (LOG_PID) 
       references CDR_XACT_LOG (PID);

37.5.5Setting up a FHIR Storage (Relational) Database

 

To initialize a new MariaDB database for FHIR Storage (Relational), initialize a database with the following SQL:

create table BT2_JOB_INSTANCE (
       ID varchar(100) not null,
        JOB_CANCELLED bit not null,
        CMB_RECS_PROCESSED integer,
        CMB_RECS_PER_SEC double precision,
        CREATE_TIME datetime not null,
        CUR_GATED_STEP_ID varchar(100),
        DEFINITION_ID varchar(100) not null,
        DEFINITION_VER integer not null,
        END_TIME datetime,
        ERROR_COUNT integer,
        ERROR_MSG varchar(500),
        EST_REMAINING varchar(100),
        FAST_TRACKING bit,
        PARAMS_JSON varchar(2000),
        PARAMS_JSON_LOB longtext,
        PROGRESS_PCT double precision,
        REPORT longtext,
        START_TIME datetime,
        STAT varchar(20) not null,
        TOT_ELAPSED_MILLIS integer,
        UPDATE_TIME datetime,
        WARNING_MSG longtext,
        WORK_CHUNKS_PURGED bit not null,
        primary key (ID)
    ) engine=InnoDB;

    create table BT2_WORK_CHUNK (
       ID varchar(100) not null,
        CREATE_TIME datetime not null,
        END_TIME datetime,
        ERROR_COUNT integer not null,
        ERROR_MSG varchar(500),
        INSTANCE_ID varchar(100) not null,
        DEFINITION_ID varchar(100) not null,
        DEFINITION_VER integer not null,
        RECORDS_PROCESSED integer,
        SEQ integer not null,
        CHUNK_DATA longtext,
        START_TIME datetime,
        STAT varchar(20) not null,
        TGT_STEP_ID varchar(100) not null,
        UPDATE_TIME datetime,
        WARNING_MSG longtext,
        primary key (ID)
    ) engine=InnoDB;

    create table CDH_LB_REF (
       PID bigint not null,
        EXPIRES datetime,
        LB_RES_ID bigint not null,
        ORDER_DATE datetime,
        ROOT_RES_ID bigint not null,
        RULE_SYSTEM varchar(200) not null,
        RULE_VALUE varchar(200) not null,
        SUBS_RES_ID bigint not null,
        TRACK_PARAM varchar(200),
        TRACK_SUBPARAM varchar(200),
        primary key (PID)
    ) engine=InnoDB;

    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,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table CDH_LB_WL_SUBS (
       PID bigint not null,
        SEED_STATUS integer not null,
        SUBS_ID varchar(200) not null,
        SUBS_RES_ID bigint not null,
        WATCHLIST_ID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_BINARY_STORAGE_BLOB (
       BLOB_ID varchar(200) not null,
        BLOB_DATA longblob not null,
        CONTENT_TYPE varchar(100) not null,
        BLOB_HASH varchar(128),
        PUBLISHED_DATE datetime not null,
        RESOURCE_ID varchar(100) not null,
        BLOB_SIZE bigint,
        primary key (BLOB_ID)
    ) engine=InnoDB;

    create table HFJ_BLK_EXPORT_COLFILE (
       PID bigint not null,
        RES_ID varchar(100) not null,
        COLLECTION_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_BLK_EXPORT_COLLECTION (
       PID bigint not null,
        TYPE_FILTER varchar(1000),
        RES_TYPE varchar(40) not null,
        OPTLOCK integer not null,
        JOB_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_BLK_EXPORT_JOB (
       PID bigint not null,
        CREATED_TIME datetime not null,
        EXP_TIME datetime,
        JOB_ID varchar(36) not null,
        REQUEST varchar(1024) not null,
        EXP_SINCE datetime,
        JOB_STATUS varchar(10) not null,
        STATUS_MESSAGE varchar(500),
        STATUS_TIME datetime not null,
        OPTLOCK integer not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_BLK_IMPORT_JOB (
       PID bigint not null,
        BATCH_SIZE integer not null,
        FILE_COUNT integer 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 datetime not null,
        OPTLOCK integer not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_BLK_IMPORT_JOBFILE (
       PID bigint not null,
        JOB_CONTENTS longblob not null,
        FILE_DESCRIPTION varchar(500),
        FILE_SEQ integer not null,
        TENANT_NAME varchar(200),
        JOB_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_FORCED_ID (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        FORCED_ID varchar(100) not null,
        RESOURCE_PID bigint not null,
        RESOURCE_TYPE varchar(100) default '',
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_HISTORY_TAG (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        TAG_ID bigint,
        RES_VER_PID bigint not null,
        RES_ID bigint not null,
        RES_TYPE varchar(40) not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_IDX_CMB_TOK_NU (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        HASH_COMPLETE bigint not null,
        IDX_STRING varchar(500) not null,
        RES_ID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_IDX_CMP_STRING_UNIQ (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        IDX_STRING varchar(500) not null,
        RES_ID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_PARTITION (
       PART_ID integer not null,
        PART_DESC varchar(200),
        PART_NAME varchar(200) not null,
        primary key (PART_ID)
    ) engine=InnoDB;

    create table HFJ_RES_LINK (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SRC_PATH varchar(500) not null,
        SRC_RESOURCE_ID bigint not null,
        SOURCE_RESOURCE_TYPE varchar(40) not null,
        TARGET_RESOURCE_ID bigint,
        TARGET_RESOURCE_TYPE varchar(40) not null,
        TARGET_RESOURCE_URL varchar(200),
        TARGET_RESOURCE_VERSION bigint,
        SP_UPDATED datetime,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_RES_PARAM_PRESENT (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        HASH_PRESENCE bigint,
        SP_PRESENT bit not null,
        RES_ID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_RES_REINDEX_JOB (
       PID bigint not null,
        JOB_DELETED bit not null,
        REINDEX_COUNT integer,
        RES_TYPE varchar(100),
        SUSPENDED_UNTIL datetime,
        UPDATE_THRESHOLD_HIGH datetime not null,
        UPDATE_THRESHOLD_LOW datetime,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_RES_SEARCH_URL (
       RES_SEARCH_URL varchar(768) not null,
        CREATED_TIME datetime not null,
        RES_ID bigint not null,
        primary key (RES_SEARCH_URL)
    ) engine=InnoDB;

    create table HFJ_RES_TAG (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        TAG_ID bigint,
        RES_ID bigint,
        RES_TYPE varchar(40) not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_RES_VER (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        RES_DELETED_AT datetime,
        RES_VERSION varchar(7),
        HAS_TAGS bit not null,
        RES_PUBLISHED datetime not null,
        RES_UPDATED datetime not null,
        RES_ENCODING varchar(5) not null,
        REQUEST_ID varchar(16),
        RES_TEXT longblob,
        RES_ID bigint not null,
        RES_TEXT_VC longtext,
        RES_TYPE varchar(40) not null,
        RES_VER bigint not null,
        SOURCE_URI varchar(100),
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_RES_VER_PROV (
       RES_VER_PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        REQUEST_ID varchar(16),
        SOURCE_URI varchar(100),
        RES_PID bigint not null,
        primary key (RES_VER_PID)
    ) engine=InnoDB;

    create table HFJ_RESOURCE (
       RES_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        RES_DELETED_AT datetime,
        RES_VERSION varchar(7),
        HAS_TAGS bit not null,
        RES_PUBLISHED datetime not null,
        RES_UPDATED datetime not null,
        FHIR_ID varchar(64),
        SP_HAS_LINKS bit,
        HASH_SHA256 varchar(64),
        SP_INDEX_STATUS bigint,
        RES_LANGUAGE varchar(20),
        SP_CMPSTR_UNIQ_PRESENT bit,
        SP_CMPTOKS_PRESENT bit,
        SP_COORDS_PRESENT bit,
        SP_DATE_PRESENT bit,
        SP_NUMBER_PRESENT bit,
        SP_QUANTITY_NRML_PRESENT bit,
        SP_QUANTITY_PRESENT bit,
        SP_STRING_PRESENT bit,
        SP_TOKEN_PRESENT bit,
        SP_URI_PRESENT bit,
        RES_TYPE varchar(40) not null,
        SEARCH_URL_PRESENT bit,
        RES_VER bigint,
        primary key (RES_ID)
    ) engine=InnoDB;

    create table HFJ_REVINFO (
       REV bigint not null,
        REVTSTMP datetime,
        primary key (REV)
    ) engine=InnoDB;

    create table HFJ_SEARCH (
       PID bigint not null,
        CREATED datetime not null,
        SEARCH_DELETED bit,
        EXPIRY_OR_NULL datetime,
        FAILURE_CODE integer,
        FAILURE_MESSAGE varchar(500),
        LAST_UPDATED_HIGH datetime,
        LAST_UPDATED_LOW datetime,
        NUM_BLOCKED integer,
        NUM_FOUND integer not null,
        PREFERRED_PAGE_SIZE integer,
        RESOURCE_ID bigint,
        RESOURCE_TYPE varchar(200),
        SEARCH_PARAM_MAP longblob,
        SEARCH_QUERY_STRING longtext,
        SEARCH_QUERY_STRING_HASH integer,
        SEARCH_TYPE integer not null,
        SEARCH_STATUS varchar(10) not null,
        TOTAL_COUNT integer,
        SEARCH_UUID varchar(48) not null,
        OPTLOCK_VERSION integer,
        primary key (PID)
    ) engine=InnoDB;

    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)
    ) engine=InnoDB;

    create table HFJ_SEARCH_RESULT (
       PID bigint not null,
        SEARCH_ORDER integer not null,
        RESOURCE_PID bigint not null,
        SEARCH_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_COORDS (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        SP_LATITUDE double precision,
        SP_LONGITUDE double precision,
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_DATE (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        SP_VALUE_HIGH datetime,
        SP_VALUE_HIGH_DATE_ORDINAL integer,
        SP_VALUE_LOW datetime,
        SP_VALUE_LOW_DATE_ORDINAL integer,
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_NUMBER (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        SP_VALUE decimal(19,2),
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_QUANTITY (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        HASH_IDENTITY_AND_UNITS bigint,
        HASH_IDENTITY_SYS_UNITS bigint,
        SP_SYSTEM varchar(200),
        SP_UNITS varchar(200),
        SP_VALUE double precision,
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_QUANTITY_NRML (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        HASH_IDENTITY_AND_UNITS bigint,
        HASH_IDENTITY_SYS_UNITS bigint,
        SP_SYSTEM varchar(200),
        SP_UNITS varchar(200),
        SP_VALUE double precision,
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_STRING (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_EXACT bigint,
        HASH_IDENTITY bigint,
        HASH_NORM_PREFIX bigint,
        SP_VALUE_EXACT varchar(200),
        SP_VALUE_NORMALIZED varchar(200),
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_TOKEN (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        HASH_SYS bigint,
        HASH_SYS_AND_VALUE bigint,
        HASH_VALUE bigint,
        SP_SYSTEM varchar(200),
        SP_VALUE varchar(200),
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SPIDX_URI (
       SP_ID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        SP_MISSING bit not null,
        SP_NAME varchar(100) not null,
        RES_ID bigint not null,
        RES_TYPE varchar(100) not null,
        SP_UPDATED datetime,
        HASH_IDENTITY bigint,
        HASH_URI bigint,
        SP_URI varchar(500),
        primary key (SP_ID)
    ) engine=InnoDB;

    create table HFJ_SUBSCRIPTION_STATS (
       PID bigint not null,
        CREATED_TIME datetime not null,
        RES_ID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table HFJ_TAG_DEF (
       TAG_ID bigint not null,
        TAG_CODE varchar(200),
        TAG_DISPLAY varchar(200),
        TAG_SYSTEM varchar(200),
        TAG_TYPE integer not null,
        TAG_USER_SELECTED bit,
        TAG_VERSION varchar(30),
        primary key (TAG_ID)
    ) engine=InnoDB;

    create table MPI_LINK (
       PID bigint not null,
        PARTITION_DATE date,
        PARTITION_ID integer,
        CREATED datetime not null,
        EID_MATCH bit,
        GOLDEN_RESOURCE_PID bigint not null,
        NEW_PERSON bit,
        LINK_SOURCE integer not null,
        MATCH_RESULT integer not null,
        TARGET_TYPE varchar(40),
        PERSON_PID bigint not null,
        RULE_COUNT bigint,
        SCORE double precision,
        TARGET_PID bigint not null,
        UPDATED datetime not null,
        VECTOR bigint,
        VERSION varchar(16) not null,
        primary key (PID)
    ) engine=InnoDB;

    create table MPI_LINK_AUD (
       PID bigint not null,
        REV bigint not null,
        REVTYPE tinyint,
        PARTITION_DATE date,
        PARTITION_ID integer,
        CREATED datetime,
        EID_MATCH bit,
        GOLDEN_RESOURCE_PID bigint,
        NEW_PERSON bit,
        LINK_SOURCE integer,
        MATCH_RESULT integer,
        TARGET_TYPE varchar(40),
        PERSON_PID bigint,
        RULE_COUNT bigint,
        SCORE double precision,
        TARGET_PID bigint,
        UPDATED datetime,
        VECTOR bigint,
        VERSION varchar(16),
        primary key (PID, REV)
    ) engine=InnoDB;

    create table NPM_PACKAGE (
       PID bigint not null,
        CUR_VERSION_ID varchar(200),
        PACKAGE_DESC varchar(200),
        PACKAGE_ID varchar(200) not null,
        UPDATED_TIME datetime not null,
        primary key (PID)
    ) engine=InnoDB;

    create table NPM_PACKAGE_VER (
       PID bigint not null,
        CURRENT_VERSION bit not null,
        PKG_DESC varchar(200),
        DESC_UPPER varchar(200),
        FHIR_VERSION varchar(10) not null,
        FHIR_VERSION_ID varchar(20) not null,
        PACKAGE_ID varchar(200) not null,
        PACKAGE_SIZE_BYTES bigint not null,
        SAVED_TIME datetime not null,
        UPDATED_TIME datetime not null,
        VERSION_ID varchar(200) not null,
        PACKAGE_PID bigint not null,
        BINARY_RES_ID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    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),
        RES_SIZE_BYTES bigint not null,
        RES_TYPE varchar(40) not null,
        UPDATED_TIME datetime not null,
        PACKVER_PID bigint not null,
        BINARY_RES_ID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table SEQ_BLKEXCOL_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_BLKEXCOL_PID values ( 1 );

    create table SEQ_BLKEXCOLFILE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_BLKEXCOLFILE_PID values ( 1 );

    create table SEQ_BLKEXJOB_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_BLKEXJOB_PID values ( 1 );

    create table SEQ_BLKIMJOB_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_BLKIMJOB_PID values ( 1 );

    create table SEQ_BLKIMJOBFILE_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_BLKIMJOBFILE_PID values ( 1 );

    create table SEQ_CDH_LB_REF (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDH_LB_REF values ( 1 );

    create table SEQ_CDH_LB_SUB_GROUP (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDH_LB_SUB_GROUP values ( 1 );

    create table SEQ_CDH_LB_WL (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDH_LB_WL values ( 1 );

    create table SEQ_CDH_LB_WL_SUBS (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CDH_LB_WL_SUBS values ( 1 );

    create table SEQ_CNCPT_MAP_GRP_ELM_TGT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CNCPT_MAP_GRP_ELM_TGT_PID values ( 1 );

    create table SEQ_CODESYSTEM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CODESYSTEM_PID values ( 1 );

    create table SEQ_CODESYSTEMVER_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CODESYSTEMVER_PID values ( 1 );

    create table SEQ_CONCEPT_DESIG_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_DESIG_PID values ( 1 );

    create table SEQ_CONCEPT_MAP_GROUP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_MAP_GROUP_PID values ( 1 );

    create table SEQ_CONCEPT_MAP_GRP_ELM_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_MAP_GRP_ELM_PID values ( 1 );

    create table SEQ_CONCEPT_MAP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_MAP_PID values ( 1 );

    create table SEQ_CONCEPT_PC_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_PC_PID values ( 1 );

    create table SEQ_CONCEPT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_PID values ( 1 );

    create table SEQ_CONCEPT_PROP_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_CONCEPT_PROP_PID values ( 1 );

    create table SEQ_EMPI_LINK_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_EMPI_LINK_ID values ( 1 );

    create table SEQ_FORCEDID_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_FORCEDID_ID values ( 1 );

    create table SEQ_HFJ_REVINFO (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_HFJ_REVINFO values ( 1 );

    create table SEQ_HISTORYTAG_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_HISTORYTAG_ID values ( 1 );

    create table SEQ_IDXCMBTOKNU_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_IDXCMBTOKNU_ID values ( 1 );

    create table SEQ_IDXCMPSTRUNIQ_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_IDXCMPSTRUNIQ_ID values ( 1 );

    create table SEQ_NPM_PACK (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_NPM_PACK values ( 1 );

    create table SEQ_NPM_PACKVER (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_NPM_PACKVER values ( 1 );

    create table SEQ_NPM_PACKVERRES (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_NPM_PACKVERRES values ( 1 );

    create table SEQ_RES_REINDEX_JOB (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RES_REINDEX_JOB values ( 1 );

    create table SEQ_RESLINK_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RESLINK_ID values ( 1 );

    create table SEQ_RESOURCE_HISTORY_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RESOURCE_HISTORY_ID values ( 1 );

    create table SEQ_RESOURCE_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RESOURCE_ID values ( 1 );

    create table SEQ_RESPARMPRESENT_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RESPARMPRESENT_ID values ( 1 );

    create table SEQ_RESTAG_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_RESTAG_ID values ( 1 );

    create table SEQ_SEARCH (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SEARCH values ( 1 );

    create table SEQ_SEARCH_INC (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SEARCH_INC values ( 1 );

    create table SEQ_SEARCH_RES (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SEARCH_RES values ( 1 );

    create table SEQ_SPIDX_COORDS (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_COORDS values ( 1 );

    create table SEQ_SPIDX_DATE (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_DATE values ( 1 );

    create table SEQ_SPIDX_NUMBER (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_NUMBER values ( 1 );

    create table SEQ_SPIDX_QUANTITY (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_QUANTITY values ( 1 );

    create table SEQ_SPIDX_QUANTITY_NRML (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_QUANTITY_NRML values ( 1 );

    create table SEQ_SPIDX_STRING (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_STRING values ( 1 );

    create table SEQ_SPIDX_TOKEN (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_TOKEN values ( 1 );

    create table SEQ_SPIDX_URI (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SPIDX_URI values ( 1 );

    create table SEQ_SUBSCRIPTION_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_SUBSCRIPTION_ID values ( 1 );

    create table SEQ_TAGDEF_ID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_TAGDEF_ID values ( 1 );

    create table SEQ_VALUESET_C_DSGNTN_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_VALUESET_C_DSGNTN_PID values ( 1 );

    create table SEQ_VALUESET_CONCEPT_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_VALUESET_CONCEPT_PID values ( 1 );

    create table SEQ_VALUESET_PID (
       next_val bigint
    ) engine=InnoDB;

    insert into SEQ_VALUESET_PID values ( 1 );

    create table TRM_CODESYSTEM (
       PID bigint not null,
        CODE_SYSTEM_URI varchar(200) not null,
        CURRENT_VERSION_PID bigint,
        CS_NAME varchar(200),
        RES_ID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CODESYSTEM_VER (
       PID bigint not null,
        CS_DISPLAY varchar(200),
        CODESYSTEM_PID bigint,
        CS_VERSION_ID varchar(200),
        RES_ID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT (
       PID bigint not null,
        CODEVAL varchar(500) not null,
        CODESYSTEM_PID bigint,
        DISPLAY varchar(400),
        INDEX_STATUS bigint,
        PARENT_PIDS longtext,
        CODE_SEQUENCE integer,
        CONCEPT_UPDATED datetime,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_DESIG (
       PID bigint not null,
        LANG varchar(500),
        USE_CODE varchar(500),
        USE_DISPLAY varchar(500),
        USE_SYSTEM varchar(500),
        VAL varchar(2000) not null,
        CS_VER_PID bigint,
        CONCEPT_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_MAP (
       PID bigint not null,
        RES_ID bigint,
        SOURCE_URL varchar(200),
        TARGET_URL varchar(200),
        URL varchar(200) not null,
        VER varchar(200),
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_MAP_GROUP (
       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),
        CONCEPT_MAP_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_MAP_GRP_ELEMENT (
       PID bigint not null,
        SOURCE_CODE varchar(500) not null,
        CONCEPT_MAP_URL varchar(200),
        SOURCE_DISPLAY varchar(500),
        SYSTEM_URL varchar(200),
        SYSTEM_VERSION varchar(200),
        VALUESET_URL varchar(200),
        CONCEPT_MAP_GROUP_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_MAP_GRP_ELM_TGT (
       PID bigint not null,
        TARGET_CODE varchar(500) 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),
        CONCEPT_MAP_GRP_ELM_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_PC_LINK (
       PID bigint not null,
        CHILD_PID bigint,
        CODESYSTEM_PID bigint not null,
        PARENT_PID bigint,
        REL_TYPE integer,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_CONCEPT_PROPERTY (
       PID bigint not null,
        PROP_CODESYSTEM varchar(500),
        PROP_DISPLAY varchar(500),
        PROP_KEY varchar(500) not null,
        PROP_TYPE integer not null,
        PROP_VAL varchar(500),
        PROP_VAL_LOB longblob,
        CS_VER_PID bigint,
        CONCEPT_PID bigint,
        primary key (PID)
    ) engine=InnoDB;

    create table TRM_VALUESET (
       PID bigint not null,
        EXPANSION_STATUS varchar(50) not null,
        EXPANDED_AT datetime,
        VSNAME varchar(200),
        RES_ID bigint,
        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)
    ) engine=InnoDB;

    create table TRM_VALUESET_C_DESIGNATION (
       PID bigint not null,
        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)
    ) engine=InnoDB;

    create table TRM_VALUESET_CONCEPT (
       PID bigint not null,
        CODEVAL varchar(500) not null,
        DISPLAY varchar(400),
        INDEX_STATUS bigint,
        VALUESET_ORDER integer not null,
        SOURCE_DIRECT_PARENT_PIDS longtext,
        SOURCE_PID bigint,
        SYSTEM_URL varchar(200) not null,
        SYSTEM_VER varchar(200),
        VALUESET_PID bigint not null,
        primary key (PID)
    ) engine=InnoDB;
create index IDX_BT2JI_CT on BT2_JOB_INSTANCE (CREATE_TIME);
create index IDX_BT2WC_II_SEQ on BT2_WORK_CHUNK (INSTANCE_ID, SEQ);
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);

    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);

    alter table CDH_LB_WL_SUBS 
       add constraint IDX_CDH_LB_WL_SUBS_WATCHLIST unique (WATCHLIST_ID, SUBS_RES_ID);
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_FORCEID_FID on HFJ_FORCED_ID (FORCED_ID);

    alter table HFJ_FORCED_ID 
       add constraint IDX_FORCEDID_RESID unique (RESOURCE_PID);

    alter table HFJ_FORCED_ID 
       add constraint IDX_FORCEDID_TYPE_FID unique (RESOURCE_TYPE, FORCED_ID);
create index IDX_RESHISTTAG_RESID on HFJ_HISTORY_TAG (RES_ID);

    alter table HFJ_HISTORY_TAG 
       add constraint IDX_RESHISTTAG_TAGID unique (RES_VER_PID, TAG_ID);
create index IDX_IDXCMBTOKNU_STR on HFJ_IDX_CMB_TOK_NU (IDX_STRING);
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_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);
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);

    alter table HFJ_RES_TAG 
       add constraint IDX_RESTAG_TAGID unique (RES_ID, TAG_ID);
create index IDX_RESVER_TYPE_DATE on HFJ_RES_VER (RES_TYPE, RES_UPDATED);
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);

    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_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 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);
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_COORDS on HFJ_SPIDX_URI (RES_ID);

    alter table HFJ_SPIDX_URI 
       add constraint IDX_SP_URI_HASH_URI_V2 unique (HASH_URI, RES_ID, PARTITION_ID);

    alter table HFJ_SPIDX_URI 
       add constraint IDX_SP_URI_HASH_IDENTITY_V2 unique (HASH_IDENTITY, SP_URI, RES_ID, PARTITION_ID);

    alter table HFJ_SUBSCRIPTION_STATS 
       add constraint IDX_SUBSC_RESID unique (RES_ID);
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);

    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);

    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);

    alter table TRM_CODESYSTEM 
       add constraint IDX_CS_CODESYSTEM unique (CODE_SYSTEM_URI);

    alter table TRM_CODESYSTEM_VER 
       add constraint IDX_CODESYSTEM_AND_VER unique (CODESYSTEM_PID, CS_VERSION_ID);
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);

    alter table TRM_CONCEPT_MAP 
       add constraint IDX_CONCEPT_MAP_URL unique (URL, VER);
create index IDX_CNCPT_MAP_GRP_CD on TRM_CONCEPT_MAP_GRP_ELEMENT (SOURCE_CODE);
create index IDX_CNCPT_MP_GRP_ELM_TGT_CD on TRM_CONCEPT_MAP_GRP_ELM_TGT (TARGET_CODE);
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_CONCEPTPROP_CONCEPT on TRM_CONCEPT_PROPERTY (CONCEPT_PID);

    alter table TRM_VALUESET 
       add constraint IDX_VALUESET_URL unique (URL, VER);
create index FK_TRM_VALUESET_CONCEPT_PID on TRM_VALUESET_C_DESIGNATION (VALUESET_CONCEPT_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_WORK_CHUNK 
       add constraint FK_BT2WC_INSTANCE 
       foreign key (INSTANCE_ID) 
       references BT2_JOB_INSTANCE (ID);

    alter table CDH_LB_REF 
       add constraint FK_LB_RES 
       foreign key (LB_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table CDH_LB_REF 
       add constraint FK_LB_ROOT 
       foreign key (ROOT_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table CDH_LB_REF 
       add constraint FK_LB_SUBS 
       foreign key (SUBS_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table CDH_LB_SUB_GROUP 
       add constraint FK_LB_GP_SUBS 
       foreign key (SUBS_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table CDH_LB_WL_SUBS 
       add constraint FK_LB_WL_SUBS 
       foreign key (SUBS_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table CDH_LB_WL_SUBS 
       add constraint FK_LB_WL_ID 
       foreign key (WATCHLIST_ID) 
       references CDH_LB_WL (PID);

    alter table HFJ_BLK_EXPORT_COLFILE 
       add constraint FK_BLKEXCOLFILE_COLLECT 
       foreign key (COLLECTION_PID) 
       references HFJ_BLK_EXPORT_COLLECTION (PID);

    alter table HFJ_BLK_EXPORT_COLLECTION 
       add constraint FK_BLKEXCOL_JOB 
       foreign key (JOB_PID) 
       references HFJ_BLK_EXPORT_JOB (PID);

    alter table HFJ_BLK_IMPORT_JOBFILE 
       add constraint FK_BLKIMJOBFILE_JOB 
       foreign key (JOB_PID) 
       references HFJ_BLK_IMPORT_JOB (PID);

    alter table HFJ_FORCED_ID 
       add constraint FK_FORCEDID_RESOURCE 
       foreign key (RESOURCE_PID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_HISTORY_TAG 
       add constraint FKtderym7awj6q8iq5c51xv4ndw 
       foreign key (TAG_ID) 
       references HFJ_TAG_DEF (TAG_ID);

    alter table HFJ_HISTORY_TAG 
       add constraint FK_HISTORYTAG_HISTORY 
       foreign key (RES_VER_PID) 
       references HFJ_RES_VER (PID);

    alter table HFJ_IDX_CMB_TOK_NU 
       add constraint FK_IDXCMBTOKNU_RES_ID 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_IDX_CMP_STRING_UNIQ 
       add constraint FK_IDXCMPSTRUNIQ_RES_ID 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_LINK 
       add constraint FK_RESLINK_SOURCE 
       foreign key (SRC_RESOURCE_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_LINK 
       add constraint FK_RESLINK_TARGET 
       foreign key (TARGET_RESOURCE_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_PARAM_PRESENT 
       add constraint FK_RESPARMPRES_RESID 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_TAG 
       add constraint FKbfcjbaftmiwr3rxkwsy23vneo 
       foreign key (TAG_ID) 
       references HFJ_TAG_DEF (TAG_ID);

    alter table HFJ_RES_TAG 
       add constraint FK_RESTAG_RESOURCE 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_VER 
       add constraint FK_RESOURCE_HISTORY_RESOURCE 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_VER_PROV 
       add constraint FK_RESVERPROV_RES_PID 
       foreign key (RES_PID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_RES_VER_PROV 
       add constraint FK_RESVERPROV_RESVER_PID 
       foreign key (RES_VER_PID) 
       references HFJ_RES_VER (PID);

    alter table HFJ_SEARCH_INCLUDE 
       add constraint FK_SEARCHINC_SEARCH 
       foreign key (SEARCH_PID) 
       references HFJ_SEARCH (PID);

    alter table HFJ_SPIDX_COORDS 
       add constraint FKC97MPK37OKWU8QVTCEG2NH9VN 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_DATE 
       add constraint FK_SP_DATE_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_NUMBER 
       add constraint FK_SP_NUMBER_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_QUANTITY 
       add constraint FK_SP_QUANTITY_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_QUANTITY_NRML 
       add constraint FK_SP_QUANTITYNM_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_STRING 
       add constraint FK_SPIDXSTR_RESOURCE 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_TOKEN 
       add constraint FK_SP_TOKEN_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SPIDX_URI 
       add constraint FKGXSREUTYMMFJUWDSWV3Y887DO 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table HFJ_SUBSCRIPTION_STATS 
       add constraint FK_SUBSC_RESOURCE_ID 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table MPI_LINK 
       add constraint FK_EMPI_LINK_GOLDEN_RESOURCE 
       foreign key (GOLDEN_RESOURCE_PID) 
       references HFJ_RESOURCE (RES_ID);

    alter table MPI_LINK 
       add constraint FK_EMPI_LINK_PERSON 
       foreign key (PERSON_PID) 
       references HFJ_RESOURCE (RES_ID);

    alter table MPI_LINK 
       add constraint FK_EMPI_LINK_TARGET 
       foreign key (TARGET_PID) 
       references HFJ_RESOURCE (RES_ID);

    alter table MPI_LINK_AUD 
       add constraint FKaow7nxncloec419ars0fpp58m 
       foreign key (REV) 
       references HFJ_REVINFO (REV);

    alter table NPM_PACKAGE_VER 
       add constraint FK_NPM_PKV_PKG 
       foreign key (PACKAGE_PID) 
       references NPM_PACKAGE (PID);

    alter table NPM_PACKAGE_VER 
       add constraint FK_NPM_PKV_RESID 
       foreign key (BINARY_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table NPM_PACKAGE_VER_RES 
       add constraint FK_NPM_PACKVERRES_PACKVER 
       foreign key (PACKVER_PID) 
       references NPM_PACKAGE_VER (PID);

    alter table NPM_PACKAGE_VER_RES 
       add constraint FK_NPM_PKVR_RESID 
       foreign key (BINARY_RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table TRM_CODESYSTEM 
       add constraint FK_TRMCODESYSTEM_CURVER 
       foreign key (CURRENT_VERSION_PID) 
       references TRM_CODESYSTEM_VER (PID);

    alter table TRM_CODESYSTEM 
       add constraint FK_TRMCODESYSTEM_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table TRM_CODESYSTEM_VER 
       add constraint FK_CODESYSVER_CS_ID 
       foreign key (CODESYSTEM_PID) 
       references TRM_CODESYSTEM (PID);

    alter table TRM_CODESYSTEM_VER 
       add constraint FK_CODESYSVER_RES_ID 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table TRM_CONCEPT 
       add constraint FK_CONCEPT_PID_CS_PID 
       foreign key (CODESYSTEM_PID) 
       references TRM_CODESYSTEM_VER (PID);

    alter table TRM_CONCEPT_DESIG 
       add constraint FK_CONCEPTDESIG_CSV 
       foreign key (CS_VER_PID) 
       references TRM_CODESYSTEM_VER (PID);

    alter table TRM_CONCEPT_DESIG 
       add constraint FK_CONCEPTDESIG_CONCEPT 
       foreign key (CONCEPT_PID) 
       references TRM_CONCEPT (PID);

    alter table TRM_CONCEPT_MAP 
       add constraint FK_TRMCONCEPTMAP_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table TRM_CONCEPT_MAP_GROUP 
       add constraint FK_TCMGROUP_CONCEPTMAP 
       foreign key (CONCEPT_MAP_PID) 
       references TRM_CONCEPT_MAP (PID);

    alter table TRM_CONCEPT_MAP_GRP_ELEMENT 
       add constraint FK_TCMGELEMENT_GROUP 
       foreign key (CONCEPT_MAP_GROUP_PID) 
       references TRM_CONCEPT_MAP_GROUP (PID);

    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 (PID);

    alter table TRM_CONCEPT_PC_LINK 
       add constraint FK_TERM_CONCEPTPC_CHILD 
       foreign key (CHILD_PID) 
       references TRM_CONCEPT (PID);

    alter table TRM_CONCEPT_PC_LINK 
       add constraint FK_TERM_CONCEPTPC_CS 
       foreign key (CODESYSTEM_PID) 
       references TRM_CODESYSTEM_VER (PID);

    alter table TRM_CONCEPT_PC_LINK 
       add constraint FK_TERM_CONCEPTPC_PARENT 
       foreign key (PARENT_PID) 
       references TRM_CONCEPT (PID);

    alter table TRM_CONCEPT_PROPERTY 
       add constraint FK_CONCEPTPROP_CSV 
       foreign key (CS_VER_PID) 
       references TRM_CODESYSTEM_VER (PID);

    alter table TRM_CONCEPT_PROPERTY 
       add constraint FK_CONCEPTPROP_CONCEPT 
       foreign key (CONCEPT_PID) 
       references TRM_CONCEPT (PID);

    alter table TRM_VALUESET 
       add constraint FK_TRMVALUESET_RES 
       foreign key (RES_ID) 
       references HFJ_RESOURCE (RES_ID);

    alter table TRM_VALUESET_C_DESIGNATION 
       add constraint FK_TRM_VALUESET_CONCEPT_PID 
       foreign key (VALUESET_CONCEPT_PID) 
       references TRM_VALUESET_CONCEPT (PID);

    alter table TRM_VALUESET_C_DESIGNATION 
       add constraint FK_TRM_VSCD_VS_PID 
       foreign key (VALUESET_PID) 
       references TRM_VALUESET (PID);

    alter table TRM_VALUESET_CONCEPT 
       add constraint FK_TRM_VALUESET_PID 
       foreign key (VALUESET_PID) 
       references TRM_VALUESET (PID);