When upgrading to the v1.7.13 webclient, you will notice that i2b2_config_data.js has been renamed to i2b2_config_data.json. Your old configuration will still work with this new file name, but you will need to:
There are also new optional parameters, documented below and in 1.4.2 Domain Configuration. |
TODO
registrationMethod | Y | String | NEW 1.7.13! Defines an information source for the new user registration tool. (If showRegistration is true, this parameter must be present.)
|
Contribution | Contributor | |
SAML Authentication | Kevin Bui | i2b2 now includes support for SAML-based enterprise authentication via an institutional Identity Provider. See more information below. |
Ability to specify user parameter defaults | Michael Horvath | This change is meant to allowing user params to take precedence over hive params. Currently, it's the other way around. |
LDAP UPN Support | Michael Horvath Wake Forest | Active Directory enables other methods of binding which are more flexible besides just using the distinguished name. https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/6a5891b8-928e-4b75-a4a5-0e3b77eaca52. This change is to enable binding the the User Principle Name form, which is very convenient when the distinguished names for users is not easily available (OU by department, etc.). |
API to get all children of an ontology node | Kevin Bui | The metadata GetChildren API call, which returns information on the children of an ontology node, can now be configured to return multiple levels of children (e.g., children, children's children, etc.). This is done by specifying the numLevel parameters. By default, the function assumes numLevel = 1 and will return the direct descendants of the concept, which is one level of children. When the numLevel = -1 the function will return ALL descendants of the concept, otherwise the function will return up to and including the number of levels specified by numLevel (eg. numlevel=2 returns two levels of descendants, numLevel=4 returns four levels of descendants). |
Totalnum Counter Performance Improvements | Darren Henderson University of Kentucky | Performance enhancements on SQL Server totalnum counting to not unnecessarily recompute temp tables. |
(LINKS DON'T WORK AND DOCUMENTATION IS INCOMPLETE.)
i2b2 now includes support for SAML-based enterprise authentication via an institutional Identity Provider. To configure this, you need to do the following:
loginType = "federated" see 1.4.2 Domain Configuration
We will use SimpleSAMLphp for IdP. Place the following files to the folder /etc/shibboleth/:
If you would like to use your own IdP, please visit Configuration - Service Provider 3 - Shibboleth Wiki for advance configurations.
Place the following files in the directory /etc/httpd/conf.d/:
1) Setting up Apache and simplesamlphp: https://simplesamlphp.org/docs/latest/simplesamlphp-install.html
2) Configure the service provider and add an identity provider: https://simplesamlphp.org/docs/latest/simplesamlphp-sp.html
(You will need to generate a cert in /var/www/simplesamlphp/metadata/saml20-idp-remote.php)
Totalnum Scripts have been updated to improve the Totalnum counter performance on both many ontology tables and very large(>1.5 million) ontologies such as ACT medications. Debug messages have also been added for troubleshooting and profiling purposes
e.g., create view observation_fact_view as select * from CONDITION_VIEW union all select * from drug_view And then run the totalnum counter with the wildcard flag, to ignore multifact references in the ontology e.g., in SQL Server, exec RunTotalnum 'observation_fact_view','dbo','@','Y' Note this approach does not work if you have conflicting concept_cds across fact tables.
Oracle:
begin
RUNTOTALNUM('observation_fact','i2b2demodata');
end;
-- You can optionally include a table named if you only want to count one ontology table (this IS case sensitive): --begin -- runtotalnum('observation_fact','i2b2demodata','I2B2'); -- end;
Note: If you get the error as: ERROR at line 1: ORA-01031: insufficient privilege, then run the command:
grant create table to (DB USER)
SQL server:
exec RunTotalnum 'observation_fact','dbo','@' (the observation table name (for multi-fact-table setups), the schemaname, -- a single table name to run on a single ontology table, and a wildcard flag that will ignore multifact references in the ontology if 'Y')
PostgreSQL:
select RUNTOTALNUM('observation_fact','public')
– (replace 'public' by the schema name for the fact table)
– If using a schema other than public for metadata, you might need to run "set search_path to 'i2b2metadata','public' " first as well
These total counts will be visible in the ontology browser in the web client.
When the CRC data is installed via ant, a new SQL script updates the age_in_years_num in the patient dimension based on the birth date.
As a reminder, this load process can be triggered with ant -f data_build.xml db_demodata_load_data in the CRC directory of NewInstall.
Insert_Concept_FROMTableAccess is designed to populate concept_dimenison table using Table_access table records.
The stored procedure loops through the table_access and inserts values from corresponding c_table_name metadatatable which have
c_tablename column value as 'concept_dimension'
Example usage: exec Insert_Concept_FROMTableAccess
A new option is now available for loading Synthea data files into i2b2. Synthetic patient data generated by Synthea is hosted on SyntheticMass..The Synthea sample files have been converted to i2b2-ACT format. The zipped data files can be downloaded from https://github.com/i2b2/i2b2-synthea
Synthea Load Process:
create_synthea_table_<your dbServertype>.sql
in your project to create the Synthea tables.synthea_to_i2b2_sqlserver.sql
to convert synthea data into i2b2 tables (this will truncate your existing fact and dimension tables!)i2b2metadata.dbo
in the script. Use the database and schema where your ACT ontology tables are.Metadata scripts are now available to load the latest ACT Version-4 Ontology into your i2b2 db schema
ACT4 data load process:
The following command will load the corresponding concept_dimension data of the Onbtology tables that will enable you to run queries in the webclient
From a sql Client>select 'insert into concept_dimension select c_dimcode AS concept_path, c_basecode AS concept_cd, c_name AS name_char, null AS concept_blob, update_date AS update_date, download_date as download_date, import_date as import_date, sourcesystem_cd as sourcesystem_cd, 1 as upload_id from '
+c_table_name+' where m_applied_path=''@'' and c_tablename=''CONCEPT_DIMENSION'' and c_columnname=''concept_path'' and c_visualattributes not like ''%I%'' and (c_columndatatype=''T'' or c_columndatatype=''N'') and c_synonym_cd = ''N'' and (m_exclusion_cd is null or m_exclusion_cd='''') and c_basecode is not null and c_basecode!='''''
from <your_dbschema>.dbo.TABLE_ACCESS where c_visualattributes like '%A%'
Currently i2b2 db upgrade is a multi-step process of running upgrade scripts and stored procedures. This release provides a set of upgrade scripts which will perform the complete db upgrade.
based on your current build version.
For example: Following Ant command will upgrade your db instance from 1.7.09c to latest version.
>ant -f data_build.xml upgrade_table_release_1-7-09c upgrade_table_release_1-7-10 upgrade_table_release_1-7-11 upgrade_table_release_1-7-12
Steps to Perform db upgrade:
In data folder\Release_1-7\Upgrade\ run the ant commands under each individual cell subfolder as below. | |
Upgrade From Build | Upgrade to Latest build |
---|---|
1.7.09c | In the Crcdata folder run the following ant command: ant -f data_build.xml upgrade_table_release_1-7-09c upgrade_table_release_1-7-10 upgrade_table_release_1-7-11 upgrade_table_release_1-7-12 In the Hivedata folder run the following ant command: ant -f data_build.xml upgrade_hive_tables_release_1-7-09c upgrade_hive_tables_release_1-7-10 upgrade_hive_tables_release_1-7-11 upgrade_hive_tables_release_1-7-12 In the Metadata folder run the following ant command: ant -f data_build.xml upgrade_tables_release_1-7-09c upgrade_tables_release_1-7-10 upgrade_tables_release_1-7-11 upgrade_tables_release_1-7-12 In the PMdata folder run the following ant command: ant -f data_build.xml upgrade_pm_tables_release_1-7-09c upgrade_pm_tables_release_1-7-10 upgrade_pm_tables_release_1-7-11 upgrade_pm_tables_release_1-7-12 |
1.7.10 | In the Crcdata folder run the following ant command: ant -f data_build.xml upgrade_table_release_1-7-10 upgrade_table_release_1-7-11 upgrade_table_release_1-7-12 In the Hivedata folder run the following ant command: ant -f data_build.xml upgrade_hive_tables_release_1-7-10 upgrade_hive_tables_release_1-7-11 upgrade_hive_tables_release_1-7-12 In the Metadata folder run the following ant command: ant -f data_build.xml upgrade_tables_release_1-7-10 upgrade_tables_release_1-7-11 upgrade_tables_release_1-7-12 In the PMdata folder run the following ant command: ant -f data_build.xml upgrade_pm_tables_release_1-7-10 upgrade_pm_tables_release_1-7-11 upgrade_pm_tables_release_1-7-12 |
1.7.11 | In the Crcdata folder run the following ant command: ant -f data_build.xml upgrade_table_release_1-7-11 upgrade_table_release_1-7-12 In the Hivedata folder run the following ant command: ant -f data_build.xml upgrade_hive_tables_release_1-7-11 upgrade_hive_tables_release_1-7-12 In the Metadata folder run the following ant command: ant -f data_build.xml upgrade_tables_release_1-7-11 upgrade_tables_release_1-7-12 In the PMdata folder run the following ant command: ant -f data_build.xml upgrade_pm_tables_release_1-7-11 upgrade_pm_tables_release_1-7-12 |
1.7.12 | In the Crcdata folder run the following ant command: ant -f data_build.xml upgrade_table_release_1-7-12 In the Hivedata folder run the following ant command: ant -f data_build.xml upgrade_hive_tables_release_1-7-12 In the Metadata folder run the following ant command: ant -f data_build.xml upgrade_tables_release_1-7-12 In the PMdata folder run the following ant command: ant -f data_build.xml upgrade_pm_tables_release_1-7-12 |
The JDBC drivers were updated to the following versions.
Driver | ojdbc8.jar | postgresql-42.2.5.jar | mssql-jdbc-7.0.0.jre8.jar |
---|---|---|---|
New Version | Oracle 12.2.0.1 | PostgreSQL 42.2.5 | MS Sql Server 7.0.0 |
Server Type | SQL Server | Oracle | Postgres |
---|---|---|---|
Supported Version/s | 2012+ (tested with up to 2019) | 12g+ and 21c | 9 to 14 |
Application Type | Java | Wildfly | Apache HTD | Apache Ant | Apache Axis2 | PHP |
---|---|---|---|---|---|---|
Supported Version/s | 8 or 11 | 17.0.0 | 2.4.17 or higher | 1.9.6 | 1.7.1 | 7.2.27 or higher |
i2b2 Database Changes
New db updates |
---|
|
Webclient | Core-server |
---|---|
|
|
Bug Fixes
Webclient | Core-server |
---|---|
|
|
For Java 11 install, if you change xsd, then modify the gensource.