Important links
Downloads:
- i2b2 Download Page (binaries and (V) virtual machine): https://www.i2b2.org/software/index.html
- i2b2 - New Web client with redesigned user interface (source code) i2b2/i2b2-webclient: Source code for the i2b2 Web Client (github.com)
- i2b2 GitHub (source code:) i2b2 Foundation (github.com)
Documentation:
- i2b2-omop install: [DRAFT] i2b2-on-OMOP With ENACT-OMOP Ontology v4.1 - Developers Getting Started With i2b2 - i2b2 Community Wiki
- OMOP wiki reference: OMOP Home - OMOP - i2b2 Community Wiki
- New Webclient reference:
1.8 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.
Highlight of Features
Top New Features
Description | |
---|---|
ACT V41 OMOP Ontology | |
New WebClient User Interface | |
Improvements | |
Bugfixes |
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 |
New Webclient User Interface | Nick Benik (Harvard Medical School) | The new web client version eliminates usage of YUI, uses the latest versions of JQuery, Bootstrap 5 and Golden-Layout libraries |
Detailed Documentation on New Features
ACT Version-4.1 OMOP Ontology data load
ACT V41OMOP metadata and CRC scripts along with OMOP views are now available for load into i2b2 db schema.
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.
Ontology tables load process.
- Download and extract the new install zip package from "Download Binary Distribution" section of https://www.i2b2.org/software
- Edit the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\db.properties file to update the project properties to 'ACT-OMOP'; example: db.project=ACT-OMOP
- 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 from the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\act\scripts\<db type> folder and will create and load ACT-OMOP Ontology metadata tables
- You can now verify the new Ontology by logging into the web client.
OMOP views and Concept dimension load process
- From the edu.harvard.i2b2.data\Release_1-7\NewInstall\Crcdata folder, run the ant command: ant -f data_build.xml db_demodata_load_data
- This will execute the BUILD_ACT_OMOP_Views _<dbtpye> script from the edu.harvard.i2b2.data\Release_1-7\NewInstall\crcdata\act-omop\scripts\<db type> folder and will create the OMOP views under the Views section in the database.
- In addition, the corresponding ACT-OMOP concept_dimension data is populated by executing the scripts form the crcdata.zip folders.
2. You can now run queries against the OMOP data from the webclient
Delete your Patient_dimension and Visit_dimension tables before executing the crc scripts. The OMOP views will build these as Views
Totalnum counts execution
Load and execute file totalnum_usp/sqlserver/totalnum_fast_prep_OMOP.sql and run the following command:
exec totalnum_fast_prep_OMOP 'observation_fact','dbo','@
When finished, verify by checking that c_totalnum columns in your ontology tables contain numbers. These total counts will be visible in the ontology browser in the web client for 2b2 users with DATA_AGG user permission.
Ontologies derived from visit_dimension or patient_dimension top folders will not have counts because of the way these terms are defined and cannot be rolled up.
ACT OMOP 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
- 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 - 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 - 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).
- 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. - 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.
- Run the ant command to execute the data_build.xml file with below specified target
Oracle: | begin You can optionally include a table name if you only want to count one ontology table (this IS case sensitive): Note: If you get the error as: ERROR at line 1: ORA-01031: insufficient privilege, then run the command: |
SQL server: | exec RunTotalnum 'observation_fact','dbo','@' Parameters are: 1) the observation table name (for multi-fact-table setups), 2) the schema name, 3) a single table name to run on a single ontology table or '@' to run on all, and 4) 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 |
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).
i2b2 users must have the DATA_AGG user permission to view the counts through the web client.
Additional New
ACT Version-4 Ontology data load
Metadata scripts are now available to load the latest ACT Version-4 ontology into your i2b2 db schema.
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
- Download and extract the newinstall zip package from "Download Binary Distribution" in the top section of https://www.i2b2.org/software
- Edit the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\db.properties file 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 from the edu.harvard.i2b2.data\Release_1-7\NewInstall\Metadata\act\scripts\<db type> folder and create and load ACT4 Ontology metadata tables
- You can now verify the new Ontology by logging into the webclient.
Security Enhancements
- i2b2 has been made more secure by addressing parameterization and other potential vulnerabilities found in an internal a Veracode scan.
- 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.
Changelog
Database Drivers
The JDBC drivers were updated to the following versions.
Driver | 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 |
---|---|---|---|
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 |
---|---|---|---|---|---|---|
Supported Version/s | 8 or 11 | 17.0.1Final | 2.0 (RHEL 6) and 2.2 ( RHEL 7) | 1.9.6 | 1.7.1 | 7.2.27 or higher |
Supported Operating Systems
CentOS versions 6 (deprecated) or 7 (highly recommended)
Windows 7-2019
Unofficially, MacOS and other flavors of Linux are likely to work.
i2b2 Server and Client Changes
New Features and Improvements
Web client |
---|
WEBCLIENT-359: packaging, old webclient default configuration admin-only |
Core-server |
---|
i2b2 Database Changes
New Features and Improvements
DATA-16 I2b2 on OMOP Support for multiple crc zip file extraction using databuld.xml DATA-23 Support for multiple crc zip file extraction using databuld.xml DATA-18 Move OMOP totalnum counters to main branch in Github |
Bug Fixes
Webclient | Core-server |
---|---|
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 |
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.