Release Management
Space shortcuts
Space Tools
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 25 Next »

1.7.13 Release Notes


Highlight of Features

Frontend Features

LOTS OF TABS!

Community-Contributed Features

Contribution

Contributor


SAML Authentication

Kevin Bui
Michelle Morris
University of Pittsburgh

Justin Prosser
University of Washington

Mike Mendis
Jeff Klann
Reeta Metta
Mass General Brigham

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
Wake Forest University

This change is meant to allowing user params to take precedence over hive params. Currently, it's the other way around.

Particularly, if you have the situation where you have a large number of users who use an authentication method other than the default basic, but your service account (AGG_SERVICE_ACCOUNT) is using basic then you need to specify a user param for each of your users.

With this change, you can set default authentication params in pm_hive_params for all users, and then set your service account specifically to be authentication_method = 'BASIC'. May seem like a small change, but it would be very welcome not to need to assign params for each new user at our institution.

In the process of making this change, I re-organized basic authentication into its own package and removed some code duplication.

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
Michelle Morris
University of Pittsburgh

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


Backend Features

SAML Authentication

(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 configure SimpleSAMLPHP (now included with i2b2) to talk to your institution's Identity Provider. To set up SAML:

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)

Improved Totalnum Scripts

Totalnum Scripts for Postgres and MSSQL have been updated to improve the Totalnum counter performance on very large(>1.5 million) ontology elements such as ACT medications, Debug messages have also been added for troubleshoot purposes
Totalnum Scripts Setup

In the Release_1-7/NewInstall/Metadata/ run the ant script to create the stored procedures. ant -f data_build.xml create_metadata_procedures_release_1-7  

Run the stored procedures on your database. This can be done in two ways.

a. Run the ant command to execute the data_build.xml file with below specified target 

  • POSTGRESQL : ant -f data_build.xml db_metadata_run_total_count_postgresql
  • ORACLE : ant -f data_build.xml db_metadata_run_total_count_oracle
  • SQL SERVER : ant -f data_build.xml db_metadata_run_total_count_sqlserver   

b. Execute the RunTotalNum  stored procedure manully against your database in from a sql Client. This can take several hours.  Example Usage:    

                                          Oracle:            
                                          begin
                                          RUNTOTALNUM('observation_fact','i2b2demodata');
                                          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    
                                          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
                                               

  1. When finished, verify it is complete by checking that c_totalnum columns in your ontology tables contain numbers (not nulls).

    These total counts will be visible in the ontology browser in the web client.

Additional New Stored Procedures

Age In Years Updater

TODO

Concept Dimension Updater

TODO

I2b2-Synthea data Load

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:

  1. Create db Schema with name labeled synthea
  2. Load Synthea data from the sample data files provided
  • Download the zipped flat files and extract to them to a local directory
  • Using SSMS, import the sample obs file into obvseration_fact table
  • Import the sample obs-pat file into patient dimension table.
  1. Download latest stored procedures from github
  2. Execute the stored procedures on your database to create the patientnum and encounternumbers
  3. Download SyntheticMass Data, Version 2 (24 May, 2017)
  4. Set up an i2b2 project with the ACT ontology.
  5. Run create_synthea_table_sqlserver.sql in your project to create the Synthea tables.
  6. Import the Synthea data you downloaded in step one into the Synthea tables in your project.
  7. Load the i2b2-to-SNOMED table in this repository into your project. https://www.nlm.nih.gov/healthit/snomedct/us_edition.html
  8. Run synthea_to_i2b2_sqlserver.sql to convert synthea data into i2b2 tables (this will truncate your existing fact and dimension tables!)
    • Replace references to i2b2metadata.dbo in the script. Use the database and schema where your ACT ontology tables are.

ACT Version-4 Ontology data load

Metadata scripts are now available to load the latest ACT Version-4  Ontology into your i2b2 db schema

ACT4 dataload process:

  • Download the newinstall  zip package from https://www.i2b2.org/software/download.html?d=452
  • Extract the  metadata\act folder from the downloaded zip folder
  • Replace edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\act  folder with extracted new act folder
  • Edit the  db.properties file in your metadata folder  to update the project properties to 'ACT'db.project=ACT
  • From the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata folder, run the ant command: ant -f data_build.xml db_metadata_load_data
  • This will execute the  SQL scripts form the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\act folder  to create the new ACT4 Ontology tables
  • and loads the corresponding metadata. 
  • You can now verify the new Ontology  by logging into the webclient.

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%'

Improved db Upgrade Process

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:

  • Backup your existing data folder
  • Copy all the folders from the extracted download data folder   into your existing  data Upgrade folder
               Example:  Downloads\2b2core-upgrade-1712a\i2b2\data to C:\opt\edu.harvard.i2b2.data\Release_1-7\Upgrade\. This will replace
               existing Crcdata, Hivedata, Metadata, PMdata folders.
     Alternative to above step, navigate to the edu.harvard.i2b2.data\Release_1-7\Upgrade\   directory of your extracted folder
  • Copy the db.properties files from your back up into the respective locations(namely Crcdata, Hivedata, Metadata, PMdata )
  • Open the command prompt and navigate to  cell folders and run the following upgrade ant commands on your i2b2 database instance, where {db}      can  be Oracle, sqlserver or postgresql.
    Alternative to above Step, you can run individual SQL scripts on your db instance in place of  ant commands.

In  data folder\Release_1-7\Upgrade\  run the ant commands under each individual cell subfolder as below.

Upgrade From BuildUpgrade 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

Changelog

Database Drivers

The JDBC drivers were updated to the following versions.

Driver

New Version

ojdbc8.jar

Oracle 12.2.0.1

postgresql-42.2.5.jar

PostgreSQL 42.2.5

mssql-jdbc-7.0.0.jre8.jar

MS Sql Server 7.0.0

Supported Db Server versions

Type

Version

SQL Server

2012+

(tested with up to 2019)

Oracle

12g+ and 21c

Postgres

9 to 14


Supported software versions

Application

Version

Java

8 or 11



Wildfly

17.0.0

Apache HTD

2.4.17 or higher

Apache Ant

1.9.6

Apache Axis2

1.7.1

PHP

7.2.27 or higher

i2b2 Database Changes

New db updates include

i2b2 Server and Client Changes

New Features and Improvements







Bug Fixes


Notes for Developers

For Java 11 install, if you change xsd, then modify the gensource.


  • No labels