Release Management
Space shortcuts
Space Tools

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel3

Info Box
titleImportant links

Downloads:

Documentation:


1.8.0 Release Notes

i2b2 1.8 Release includes ACT/OMOP V41 Ontology download with easy ANT script install for MSSQL and ORACLE databases, a newly redesigned i2b2 Web interface, and bug fixes.

Table of Contents

.0 Release introduces two major improvements to the platform that enhance usability and applicability: a redesigned and completely rewritten i2b2 Web Interface to improve the user experience, and core support for the OMOP data model on MSSQL and Oracle databases. These changes represent a major step forward in i2b2.

Highlight of Features

Top New Features

New WebClient
Description

ACT V41 OMOP Ontology



New Web client User Interface

Improvements

Bugfixes

Image Removed

Community-Contributed Features

...

Contribution

...

Contributor

...

ACT V41- OMOP Ontology

...

Michelle Morris (University of Pittsburgh)

Mike Mendis, Jeff Klann, Reeta Metta (Mass General Brigham)

...

With i2b2 interface, using ACT-OMOP Ontology, queries can be run against OMOP data with OMOP table view structure.  For information on installing and running queries using ACT-OMOP Data model

...

Ambreen Zaver
University of Colorado

...

Detailed Documentation on New Features

User Registration Tool

There is a new user registration tool that can be enabled in the webclient. It allows users to request an i2b2 account that can then be activated by an administrator. It supports manual entry of user information through the form shown below, or automatic population of user information through SAML.

Documentation on this new feature is here: 6.5a i2b2 Webclient User Registration

local registrationImage Removed

SAML Authentication

i2b2 now includes support for SAML-based enterprise authentication via an institutional Identity Provider.

Detailed setup instructions are in Chapter 8 of the Installation Guide.

Image Removed

Improved Totalnum Scripts

Totalnum Scripts (patient counting scripts) have been updated to improve the counter's performance on both multiple ontology tables and very large(>1.5 million) ontologies  such as ACT medications. Debug messages have also been added for troubleshooting and profiling purposes. Support for multiple fact tables has been added and bugfixes have been made.

Totalnum Scripts Setup

  1. If upgrading, create the totalnum and totalnum_report tables. In Release_1-7/Upgrade/Metadata, run the ant upgrade script.
    ant -f data_build.xml upgrade_tables_release_1-7-12a
  2.  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 
  3. Set privileges: If using multiple schemas, the stored procedure should be run from the metadata schema. Make sure the stored procedure can read the tables in the crcdata schema (observation_fact, visit_dimension, patient_dimension) and can both read an update ontology tables in the metadata schema (including table_access). 
  4. If using multiple fact tables, the recommended approach is to create a fact table view as the union of all your fact tables. (This is essentially going back to a single fact table, but it is only used for totalnum counting. This is needed to correctly count patients that mention multiple fact tables within a hierarchy.)
        e.g., 
           create view observation_fact_view as
           select * from CONDITION_VIEW 
           union all
           select * from drug_view
    If running the counting script in SQL Server, add the wildcard flag, to ignore multifact references in the ontology: e.g. exec RunTotalnum 'observation_fact_view','dbo','@','Y'
    This is automatically accounted for in the other database platforms. Note this approach does not work if you have conflicting concept_cds across fact tables.
  5. Run the stored procedures on your database. This can be done in two ways:
    • 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   
    • Execute the RunTotalNum  stored procedure manually against your database from a SQL Client. This can take several hours for large databases or large ontologies.  Examples are below.

Oracle:     

...

begin
    RUNTOTALNUM('observation_fact','i2b2demodata');
end; 

You can optionally include a table name 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)  

...

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.

Parent folders will get counts (of all patients with facts in the leaves) except for ontology folders derived from visit_dimension or patient_dimension. These cannot be rolled up because of the way these terms are defined in the ontology. They will have no count at all (not a zero).

Info

i2b2 users must have the DATA_AGG user permission to view the counts through the web client.

Additional New Stored Procedures

Age In Years Updater

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 dates of the sample patients. 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.

Concept Dimension Updater

Insert_Concept_FROMTableAccess  is designed to populate concept_dimenison table using the ontologies listed in table_access table records.
The stored procedure loops through the table_access  and inserts values from each metadata table (specified in the c_table_name column), when
c_dimtablename is set to 'concept_dimension'
Example usage: exec Insert_Concept_FROMTableAccess

I2b2-Synthea data Load

Synthetic patient data generated by Synthea can be loaded into i2b2. The Synthea SyntheticMass sample files have been converted to i2b2-ACT format, and scripts to load Synthea data from scratch are available here: https://github.com/i2b2/i2b2-synthea

Synthea Load Process

  1. Set up an i2b2 project with the ACT ontology.
  2. Either download the SyntheticMass 63k sample in i2b2 format from https://github.com/i2b2/i2b2-synthea/blob/main/syntheamass_63K_sample.zip, or follow the instructions below to load any Synthea dataset from scratch. This information can also be found on the Synthea-i2b2 Community Project page.
Loading Synthea data from scratch
  1. Download SyntheticMass Data, Version 2 (24 May, 2017) 
    • All data sets (1k, COVID 10k, COVID 100k) have been verified to work EXCEPT the 100k patients in the large SyntheticMass Version 2 download. 
    • The 100k patients in the large SyntheticMass Version 2 download needs an extra step to delete invalid records before import. In this case, download synthea_cleanup.pl to your disk, and then run "synthea_cleanup <directory-for-synthea-csv-files>" The fixed csv files will be in <directory-for-synthea-csv-files>/fixcsv.
  2. Set up an i2b2 project with the ACT ontology.
  3. Download the scripts from https://github.com/i2b2/i2b2-synthea
  4. Run create_synthea_table_<your dbServertype>.sql in your project to create the Synthea tables.
  5. Import the Synthea data you downloaded in step one into the Synthea tables in your project.
  6. Load the i2b2-to-SNOMED table in this repository into your project. https://www.nlm.nih.gov/healthit/snomedct/us_edition.html
  7. Click on the "Download SNOMED-CT to ICD-10-CM Mapping Resources" link to download. (You will need a UMLS account.)
  8. Unzip the file
  9. Import the TSV file into a table called SNOMED_to_ICD10 in your database.
  10. In Postgres and Oracle, follow the additional instructions in the comments at the top of synthea_to_i2b2_<your dbServerType>.sql to clean up the date formatting.
  11. Run synthea_to_i2b2_<your dbServertype>.sql to convert Synthea data into i2b2 tables (this will truncate your existing fact and dimension tables!)
  12. 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.

Note

The CPT4 ontology table is not included with i2b2 due to AMA restrictions on redistribution of CPT code information. Contact the ACT team to get a copy if your institution is an AMA member.

ACT4 data load process

  1. Download and extract the newinstall zip package from "Download Binary Distribution" in the top section of https://www.i2b2.org/software
  2. Edit the  edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\db.properties file  to update the project properties to 'ACT' ; db.project=ACT
  3. 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
    1. This will execute the  SQL scripts from the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\act\scripts\<db type> folder and create and load ACT4 Ontology metadata tables 
  4. You can now verify the new Ontology  by logging into the webclient.

Security Enhancements

  1. i2b2 has been made more secure by addressing parameterization and other potential vulnerabilities found in an internal a Veracode scan.
  2. Log4J has been upgraded to the latest version. The following jars are updated in lib/axis2.war/WEB-INF/lib the folder:
    • log4j-api-2.17.1.jar
    • log4j-core-2.17.1.jar
    • log4j-jcl-2.17.1.jar

Improved db Upgrade Process

Previously, i2b2 db upgrade was a multi-step process of running upgrade SQL scripts and stored procedures individually on the db instance. This release simplifies the process of running the table upgrade SQL scripts and stored procedures from data_build.xml files. Details are on the i2b2 Upgrade Page here.

Image Added

The completely rewritten web client represents a major step forward for i2b2 that features an improved layout, greater visual customization,  and a new plugin architecture. The new web client version eliminates usage of YUI and uses the latest versions of jQuery, Bootstrap 5 and Golden-Layout libraries, which will ensure maintainability far into the future.

i2b2 on OMOP for MSSQL and Oracle databases

Image Added

The core i2b2 platform now supports the OMOP data model, which is queryable through the comprehensive ENACT-OMOP Ontology. (MSSQL and Oracle are supported. Postgres support will be added in 1.8.1.)

Bug fixes

Image Added

Bug fixes are included that are needed for OMOP support and for long-running breakdowns. 

Community-Contributed Features

Contribution

Contributor

Description

ACT-OMOP design and ontology

Michele Morris (University of Pittsburgh)

The ENACT-OMOP Ontology powers the i2b2 queries against OMOP data, and the design of the database views enables the queries to run. 

1.8.1 will be released In April 2024 and will add Postgres support for OMOP, Snowflake database support, SQL job scheduling, and improved data export.

Detailed Documentation on New Features

New Web client User Interface

The new Web Client modernizes the i2b2 query tool, and features:

  • Removal of antiquated support libraries.
  • Creation of new compartmentalized plugin execution environment with support for legacy plugins.
  • Drag and Drop system reworked to use browser-native operations.

See i2b2 Web Client Install for installation instructions.

The Admin functionality is still supported through the classic web client. See i2b2 Administration Module Install for more information. In particular, pay attention to the configuration file change in 6.4 Configuration which enables an admin-only version of  the classic webclient.

ACT i2b2 on OMOP for MSSQL and Oracle databases

ACT i2b2 on OMOP functionality uses ACT Ontology in the front-end and enables the i2b2 Software to run against a database that uses the OMOP CDM architecture. 

Documentation on loading the OMOP metadata, CRC tables, and CRC OMOP Views required to query the OMOP tables can be found here: i2b2-on-OMOP With ENACT-OMOP Ontology v4.1

For historical reference on old 2018 OMOP  installation , refer to OMOP Home on i2b2 Community Wiki

Info

For enabling use of an OMOP database with  i2b2, follow the instructions in the install guide for a new install of i2b2 using the i2b2-OMOP install option. The documentation here will guide you through this process. i2b2-on-OMOP With ENACT-OMOP Ontology v4.1


ACT OMOP Totalnum Scripts

Totalnum Scripts (patient counting scripts) have been updated with bugfixes, and the MSSQL version has been rewritten and is 5x faster. 

Patient Counting Scripts ("totalnum")

Changelog

Database Drivers

The JDBC drivers were updated to the following versions.

Server Type

oracle

Postgresql

mssql

Driver Version

ojdbc8.jar

postgresql-42.2.14.jar

mssql-jdbc-9.2.0.jre8.jar

New Version

Oracle 21.5

PostgreSQL 42.3.2

MS Sql Server 9.2

Supported Db Server versions

Server Type

SQL Server

Oracle

Postgres

PostgresSQL

Supported Version/s

2012+ (tested with up to 2019)

12g+ and 21c

9 to 14

Supported software versions

Application Type

Java

Wildfly

Apache HTD

Apache Ant

Apache Axis2

PHP

PHP                                           

Supported Version/s

8 or 11

17.0.1Final

2.0 (RHEL 6) and 2.2 ( RHEL 7)

1.9.61.7.17.2.27 or
higher
higher                                              

Supported Operating Systems

CentOS versions 6 (deprecated) or 7 (highly recommended) 

Windows 7-2019

 Rocky linux 8 and 9, CentOS versions  7

Windows 2016 -2019

Unofficially, MacOS and other flavors of Linux are likely to work.


i2b2 Server and Client Changes

New Features and Improvements

Core-serverwebclient 

CORE-399 Oracle index hints must use the table alias 

CORE-382 Username / password errors should not specify which had the problem

CORE-402 Fix Veracode identified Security flaws in i2b2 Server-Side Code

CORE-404 Adding support for JDK 11. Now including the gensrc due to jaxb has been removed. 

CORE-413 FetchAllChildren 

CORE-414 SAML (server side)

CORE-415 Log4j upgraded to v2

CORE-416 User parameter precedence change (contributed by Michael Horvath)

CORE-417 LDAP UPN support (contributed by Michael Horvath)

CORE-405 Upgrade JDBC Drivers 

CORE-412 Disable login to agg service account

WEBCLIENT-334 Provide tabs for major plugins and temporal query 

WEBCLIENT-344 Cleanup Analysis Tools list of Plugins to only Supported Items 

WEBCLIENT-325 Wayne's improvements to hierarchical find-by-name

WEBCLIENT-353 SAML and user registration tool (client side) 
Web client

WEBCLIENT-360 New web client User Interface

WEBCLIENT-359 classic webclient - configurable for Admin functionality                                                                                                                                                                                                                                                                

Core-server

CORE-426  running i2b2 on OMOP data model

CORE-433  i2b2 on Rocky Linux 9 (CentOS 7 hits EOL 6/2024)                                                                                                                                                                                                                                                                                                                       

i2b2 Database Changes

New Features and Improvements

7 QT_PATIENT_SET_ENC_COLLECTION should be a bigint

DATA-14 Synthea i2b2 data 

DATA-6 improve i2b2 db upgrade process

DATA-12  Stored procedure to update concept dimension

DATA-11 Age in years updater during demodata install

DATA-9 ACT v4 ontology

DATA-13 Postgres time interval corrections in ACT v4 demographics ontology

CORE-389 Totalnum performance improvements 

CORE-394 Obfuscated totalnum reporting table

CORE-398 Multifact support for totalnums  

CORE-400 Show totalnums in top level folders 

Bug Fixes

Webclient Core-server

WEBCLIENT-351 Obfuscated User Not Showing Graph

WEBCLIENT-342 switch response status check from "OK" to 200 to handle lab value pop up in http/2 protocols

WEBCLIENT-335 temporal query in webclient with no anchoring events not running

WEBCLIENT-350  Unable to drag items in workplace 

WEBCLIENT-294 Webclient Reports "QUERY CANCELLED" While Query Is Still Running 

WEBCLIENT-354 Removed broken context menu in Find Previous Queries

CORE-418 Local timestamps in sessions on Oracle - appserver /db server in diff time zones 

CORE-282 Error returned when obfuscated user is locked out 

CORE-281 Query continues to run after user receives lockout message 

CORE-399 use alias for index hint  

16 I2b2 on OMOP- SQL Server and ORACLE                                        

DATA-23 Support for multiple crc zip file extraction using databuld.xml 

DATA-33  MSSQL Version of Faster Patient Counting Scripts                                                                                                                                                                                                                                                                                                

Bug Fixes

Core-server / Data

CORE-440 Queries from queue are not processing and  returning back                                                                                                                                                  

CORE-441   DB Locking issue- can't show previous query when a query is running     

 CORE-442  Get_children doesn't work on Modifier folders

CORE-444  Breakdowns for non-Patient_dimension views - don't work

CORE-443  Breakdown queueing

CORE-445 java code folder structure for 1.7 should be changed to refer to 1.8

CORE-446 php install process on IIS has changed; documentation needs to be update

DATA-36 Wrong driver version jdbc 10.2 vs 9.2 in default datasource for MSSQL

Notes for Developers

For Java 11 install, if you change the xsd (REST API message definitions), then you will need to regenerate gensrc via JAXB in Java 8. In the i2b2-core cell directory for which you're regenerating the XSD-Java, run the ant target "jaxb_gen" on Java 8 and then build as usual using Java 11.

...