In SHRINE networks, it is important that each node uses its own distinct i2b2 domain name. SHRINE uses both the i2b2 domain name and the i2b2 user name to identify a user. 

By default, i2b2 uses the domain name "i2b2demo". This default makes it very difficult for remote nodes to determine where a query originated. 

Rename the existing "i2b2demo" domain in the i2b2 database, and update the appropriate SHRINE configuration files. In order to rename an existing i2b2 domain, follow the instructions below.  Fill in the name of the domain that you would like to use in the examples below. The name should be short and able to uniquely identify your institution.

NOTE: These instructions assume that PostgreSQL is being used as the i2b2 database engine, but the queries are simple enough that they should be easily translated to other database engines if need be.

i2b2 Database

In the i2b2 database, run the following queries:

psql i2b2hive

UPDATE crc_db_lookup SET C_DOMAIN_ID = 'name_of_your_domain' WHERE C_DOMAIN_ID = 'i2b2demo';
UPDATE im_db_lookup SET C_DOMAIN_ID = 'name_of_your_domain' WHERE C_DOMAIN_ID = 'i2b2demo';
UPDATE ont_db_lookup SET C_DOMAIN_ID = 'name_of_your_domain' WHERE C_DOMAIN_ID = 'i2b2demo';
UPDATE work_db_lookup SET C_DOMAIN_ID = 'name_of_your_domain' WHERE C_DOMAIN_ID = 'i2b2demo';


Also in the i2b2 database, run the following query:

UPDATE pm_hive_data SET DOMAIN_NAME = 'name_of_your_domain' WHERE DOMAIN_NAME = 'i2b2demo';


i2b2 Configuration Files

If you make use of the i2b2 admin webclient and the plain i2b2 webclient, make sure to update the lstDomains block in the i2b2_config_data.js file on the i2b2 host as follows:

{
        urlProxy: "index.php",
        urlFramework: "js-i2b2/",
        startZoomed: true,
        //-------------------------------------------------------------------------------------------
        // THESE ARE ALL THE DOMAINS A USER CAN LOGIN TO
        lstDomains: [
                { domain: "name_of_your_domain",
                  name: "name_of_your_domain",
                  urlCellPM: "http://127.0.0.1:9090/i2b2/services/PMService/",
                  allowAnalysis: true,
                  //installer: "/webclient/plugin_installer/",
                  debug: true
                }
        ]
        //-------------------------------------------------------------------------------------------
}


The i2b2_config_data.js file can be found at /var/www/html/ on the i2b2 host.

SHRINE Configuration File

In the example shrine.conf file we use a property to define the domain. Change that to your new domain name:

shrine.conf
shrine {
  i2b2Domain = "name_of_your_domain"
  ...
}


After this, restart SHRINE to make the changes take effect. You should start seeing references to the new domain name in the shrine-api.log as well as the shrine_query_history database after running a query.

  • No labels

1 Comment

  1. Probably something to do here for SSO.