To make sure that your new SHRINE instance can communicate with the i2b2 instance, there are a couple of places that we will address. First, you will need to make sure the PM, ONT, CRC cell urls are correctly defined within the shrine.conf file. These urls are what SHRINE uses to communicate with the i2b2 backend. In the shrine.conf template we assume you have just one i2b2 instance that performs all three roles.
- Above the main shrine {} section set the i2b2BaseUrl to the top-level Url for your i2b2 wildfly server
i2b2BaseUrl = "http://i2b2.example.com:9090" //The local i2b2's URL as observed from this tomcat server shrine {...}
Next, you will need to add the SHRINE project into the pm_project_data table within the i2b2pm schema:
$ psql -U postgres i2b2 i2b2=# set search_path = i2b2pm; i2b2=# insert into PM_PROJECT_DATA (project_id, project_name, project_wiki, project_path, status_cd) values ('SHRINE', 'SHRINE', 'http://open.med.harvard.edu/display/SHRINE', '/SHRINE', 'A');
After doing that, you will also need to add the Shrine Ontology data source (DS) to the ont-ds.xml file within the i2b2 instance. This file should be located within your i2b2 deployments directory (/opt/wildfly/standalone/deployments):
<datasource jta="false" jndi-name="java:/ShrineOntologyDS" pool-name="ShrineOntologyDS" enabled="true" use-ccm="false"> <connection-url>jdbc:postgresql://localhost:5432/i2b2</connection-url> <driver-class>org.postgresql.Driver</driver-class> <driver>postgresql-9.2-1002.jdbc4.jar</driver> <security> <user-name>shrine_ont</user-name> <password>demouser</password> </security> <validation> <validate-on-match>false</validate-on-match> <background-validation>false</background-validation> </validation> <statement> <share-prepared-statements>false</share-prepared-statements> </statement> </datasource>
Finally restart wildfly and tomcat.