Release 1.7.12 contains solutions for providing an easier install of i2b2, redesigned Find Terms, totalnum counting scripts, new Authentication protocols, and REDCAP import. Also included are other enhancements to the i2b2 Webclient, the ACT ontology, and bug fixes. Release 1.7.12a includes several bugfixes, including a very important query queueing improvement.
After reading this documentation, please go to the Quick Upgrade Guide for the details about upgrading your i2b2 software. If you are installing from scratch, refer instead to the Quick Install Guide (and optionally the full i2b2 Installation Guide).
i2b2 Release 1.7.12
Release Date: December, 2019
Highlight of Features
Backend Features
- Easier Install
- Pre-built War file for easier distributions of the application
- Properties files are moved from static files to a table in the database
- Authentication protocol support for OKTA and NTLM v2.
- Database scripts to generate Totalnum counts for Ontology Terms for POSTGRESQL, ORACLE and SQL SERVER databases
- REDCap data import into i2b2, with ontology creation from REDCap forms
- Documentation updates for Apache Webserver timeout settings for previous queries run.
Frontend Features
Redesigned Find Terms By Name
- Find terms shows the terms' contextual hierarchy, and terms that are children of other search results are not returned. Shown here: 1.7.11 (left) vs. 1.7.12 (right)
- Right-clicking on a term and then "Find Term in Tree" shows the entire hierarchy around the selected term.
New Webclient Documentation
Included in the client and also on the Webclient Community Wiki page.
- Featuring:
- 3-minute screencast tutorial
- Better overviews and guideposts
- More task-oriented teaching
Improved view of Left Pane in maximized mode
In maximized mode, the left pane now makes all tabs accessible.
Larger Query Results Panel view after Query run
When a query with breakdowns has finished, the results panel temporarily expands slightly to accommodate the breakdown graphs display.
Community-Contributed Features
Contribution | Contributor | |
---|---|---|
ACT Technology and Data Harmonization Team University of Pittsburgh | ||
Easier-to-read counts | Nick Brown and Griffin Weber Beth Israel Deaconess Medical Center | |
Robert Bradford University of North Carolina | ||
Totalnum in find terms | Mauro Bucalo University of Pavia | |
Visual Design of new Find Terms | Leaf Team University of Washington | |
Totalnum Counter for Postgres | Dan Vianello Center for Biomedical Informatics, Washington University in St. Louis | (Part of overall totalnum scripts in this release.) |
Feature Configuration
Easier i2b2 Install
The i2b2 server can now be installed using a pre-built war file instead of having to build it from source, or the war file can be built from source much more easily. More information is in the updated Installation Guide. The properties files are now stored in the database.
Authentication Protocol Support for NTLM2/OKTA
User Set up with OKTA Configuration: On the Admin page, under Manage Users,
Add a Parameter domain and assign the values as below. Parameter value will be your institution domain name.
Add a second parameter domain_controller as below. Parameter value will be your institution domain_controller value
Add the final parameter authentication_method as below. Parameter value will be OKTA
User Set up with NTLM2 Configuration: On the Admin page, under Manage Users,
Add a Parameter domain and assign the values as below. Parameter value will be your institution domain name.
Add a second parameter domain_controller as below. Parameter value will be your institution domain_controller value
Add the final parameter authentication_method as below. Parameter value will be NTLM2
RedCap Import Setup
Currently, the following REDCAP Features are supported in i2b2.
- Project level :
- Only one unique redcap project id can be assigned to each i2b2 project( system finds the first project it encounters and assigns it, so two projects cannot have same REDCAP project id:
- Form level:
- Renaming a Form in Redcap will create a new record in table access instead of updating the original record which means in i2b2 the original survey will still show in Ontology in addition to creating the renamed survey as a new Ontology item.
- On adding a new Field/editing a field in the REDCAP form, the form needs to be explicitly associated with the record again to take effect in i2b2
- Data triggers happen only on Form SAVE button.
- Only Form SAVE as a URL survey or Admin edit/add record Saves, triggers i2b2 Ontology creation. Other forms of Form creation in REDCAP- by Data import tool, API format, will not trigger Ontology creation in i2b2)
- Ontology is only displayed in Tree structure format in i2b2. Pop up display (sometimes called query-by-value) is not supported. (example as below)
- There is no mapping of records submitted in REDCAP to existing patient_ids in i2b2. The scope of this release is limited to adding new record rows in Observation_fact table and Updating the fields of records added.
- Field level:
- The following project fields from REDCAP are supported in i2b2.
- TEXT BOX
- CHECKBOX
- RADIO BUTTON
- DROPDOWN
- YES-NO
- TRUE-FALSE
- SLIDER / VISUAL ANALOG SCALE
- DESCRIPTIVE TEXT
- NOTES BOX
- SIGNATURE
- DYNAMIC QUERY(SQL)
- Text box (Short text)Number and Date/Time ) with Validation capability in REDCAP - validation will work only as a simple text String search in i2b2
- Check box, Multiple Choice , Yes-No, True-False Form fields will appear as a Tree format in i2b2 ( Popup display is not supported)
- The following project fields from REDCAP are supported in i2b2.
REDCAP SETUP CONFIGURATION
1) Set Project Params (PM_PROJECT_PARAM)
Name | Value | Description |
---|---|---|
REDCAP_TOKEN_PID_{pid} | (7B42348B7C51123432048B51EAA) | Required:
|
REDCAP_SURVEY_PROJECT | (pid) | Required: Set the Value parameter to the pid value from the Redcap project url. |
REDCAP_ONTOLOGY_REFRESH | Y | Optional, Defaults to Y N - Do Not regenerate the metadata ontology. NOTE: When first setting up i2b2/redcap this needs to be set to Y at least once or the ontology will not be created. |
REDCAP_ROOT_ONTOLOGY | \REDCAP\ | Optional, Defaults to \REDCAP\ |
REDCAP_ONTOLOGY_FORMAT | tree | Optional, Defaults to tree tree - All enumerated values, Yes/No will be children on the ontology The only exception is items with checkbox, which will always be a popup |
RECAP_PROTECTED_ROLE | DATA_PROT | Optional, Defaults to DATA_PROT If this redcap form has the identified value set to true, then this ontology will be protected and only users with the following i2b2 access role will be able to access it. |
2) On the redcap side, set the Data Entry Trigger, it is under Project Setup → in Enable optional modules and customizations, select Additional customizations → Data Entry Trigger, and enter:
http://{i2b2 url}/i2b2/services/QueryToolService/redcapPush
Click Test to verify connection
3) Give Editor role to the project for AGG_SERVICE_ACCOUNT( optional DATA_PROT, DEID, LDS)
4) Submit a form and check to see if the ontology was created.
Totalnum Scripts Setup
- In the Release_1-7/NewInstall/Metadata/ run the ant script to create the stored procedures.
- 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 on your database. 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
3. 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.
ACT Ontology Setup
This will allow you to install the ACT ontology as a separate project in i2b2. Note that this will create a project with ONLY the ontology - no data. At this time, using the demodata with the ACT ontology is not supported. You will need to load your own data to run queries using the ontology.
- In the Release_1-7/NewInstall/Metadata/db.properties file change the db.project from demo to act
- Create new Project ACT in the Admin tool
- Add AGG SERVICE Account to the Project
- Add new dblookup-row with parameters under CRC, Ontology and workplace to set up the project path( example as in below)
- Run the ant script against create_metadata_tables_release_1-7 and db_metadata_load_data.
This will create the new ACT Ontology structure under project ACT.
Using Extended Query-By-Value Flags
This is a community contributed feature, turned off by default, and has only been minimally tested by the core i2b2 team.
An expanded set of lab flag values can be easily modified by users to support their needs or expanded to the full set of HL7/LOINC flag values. The expanded list is toggleable via an added config setting in the i2b2_ui_config.js. (Note: Only numeric lab results have the flag functionality included.)
With the expanded set of lab values, the base 'A','L','H' are omitted to prevent collisions with things like "CH" (Critical High) or "CL" (Critical Low) due to the indexOf
function call to determine if a flag is in the list.
To use the expanded lab flag set, make ETL changes to accommodate the expanded list of values you would like to use and modify i2b2_ui_config.js to match.
Configuring the Expanded Webclient Left Pane
To set the webclient to start with the left pane in the new expanded mode, make sure this new parameter is added to i2b2_config.js.
startZoomed: true
The .zip file for this release defaults to this mode.
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 |
i2b2 Database Changes
- Small changes to the i2b2 Database.
- Property files were moved into the database in the new Hive table HIVE_CELL_PARAMS.
- Query type classname property moved from the properties file to the CRC table QT_QUERY_RESULT_TYPE in a new CLASSNAME field
- Totalnum counts to Ontology Terms in the demo data that is delivered with the software along with the Stored procedures used for creating the counts.
- ACT Ontology
i2b2 Server and Client Changes
New Features and Improvements
- [CORE-378] - Find Terms should display partial results when maximum is exceeded
- [CORE-377] - Admin interface
- [CORE-352] - Show hierarchy in Find Terms
- [CORE-348] - Improve build process, auto-build entire WAR file
- [CORE-347] - Refactor to remove XML config files
- [CORE-346] - OKTA
- [CORE-345] - Replace old Spring Libraries
- [CORE-344] - Support for NTLM2
- [CORE-345] - Replace old Spring Libraries
- [CORE-343] - Replace old Spring Libraries
- [CORE-345] - Provide totalnum counting scripts
- [CORE-341] - Add a findByName filter for results inside other results
- [WEBCLIENT-310] - Mauro Bucalo contribution: totalnum in find, improved date filters
- [WEBCLIENT-309] - Find Terms should display partial results when maximum is exceeded
- [WEBCLIENT-308] - UNC Contribution: Configurable extended lab result flags
- [WEBCLIENT-306] - Beth Israel contribution: commas in counts, query option infrastructure
- [WEBCLIENT-299] - Fully spell out words in tabs
- [WEBCLIENT-298] - open web issue management for i2b2
- [WEBCLIENT-287] - Improved term info panel
- [WEBCLIENT-285] - New webclient documentation
- [WEBCLIENT-282] - Improve find terms view
- [WEBCLIENT-281] - Left side panels tabbed instead of stacked
- [WEBCLIENT-279] - Query status window resize to show graphs
- [WEBCLIENT-174] - Previous query run as a query-in-query containing unsupported concepts does not draw the timeline
- [WEBCLIENT-104] - Add Print functionality to i2b2 web client help files
Bug Fixes
- [CORE-367] - When a SHRINE query is rerun in i2b2 the date parameter seems to be lost.
- [CORE-366] - Error on API request on endpoint /i2b2/services/QueryToolService/publishDataRequest
- [CORE-308] - Full Request XML message is stored in the QT_PDO_QUERY_MASTER table
- [CORE-362] - db_metadata_load_identified_data does not exist
- [CORE-358] - Issues with 1.7.10 VM image
- [CORE-353] - DBLookup pages - not all fields appear
- [CORE-333] - Query run with Text search with words that contain a space and a dash is erroring out
- [CORE-332] - OracleLarge db give db error for Ontology terms 'Encounters', 'Enrollment, 'VitalSigns'
- [CORE-231] - CRC: PDO query does not escape characters
- [CORE-224] - SQL Server: Database error when no start_date on a temporal query
- [CORE-222] - Visit_Dimension event set in PDO not returning
- [WEBCLIENT-312] - Find Term tab- context menu shows Find Term in Tree" item without any item selection
- [WEBCLIENT-311] - Find Terms- Search by "Any Category" not displaying right msg if no match found
- [WEBCLIENT-303] - Find Terms - Category Diagnosis ICD10 showing as Diagnosis
- [WEBCLIENT-302] - Find Terms- Search by term matching more than 2000 count -resulting in application
- [WEBCLIENT-294] - Webclient Reports "QUERY CANCELLED" While Query Is Still Running
- [WEBCLIENT-293] - A large number of results when searching by name hangs the webclient
- [WEBCLIENT-288] - Right Click on Find Terms Persists
- [WEBCLIENT-273] - Query report displays individual pt as "undefined" on loading the previous query after run
- [WEBCLIENT-272] - temporal query with workplace contents in constraint population panel not running
- [WEBCLIENT-254] - 2b2 Admin page not displaying all the rows from dblookup table for the projects
- [WEBCLIENT-231] - Able to set Date constraint on previous queries/ptset as concept
- [WEBCLIENT-223] - Admin uses last URL from PM_CELL_DATA in getAllDbLookups call
- [WEBCLIENT-159] - Run/Rerun a temporal query without events is not displaying msg that minimum 2 events are required
i2b2 Release 1.7.12a
Release Date: May, 2020
Release 1.7.12a includes fixes for the i2b2 Web Client, i2b2 Core Server, and Postgres and SQLServer database Stored Procedures. The notable changes in this release are:
- Updated QueryProcessorUtility to improve handling of the Medium and Large Process Queues.
- Added support for Find Terms to return results using the Hierarchical View even for very large result sets.
- Fixed issues with Redcap import for Postgres database due to stored procedure INSERT_EID_MAP_FROMTEMP.
- Improvement of Totalnum counting stored procedures computation for very large Ontologies (>1.5 million elements) and very large data, on Postgres and SQLServer.
- Prevent the left pane on the i2b2 webclient from becoming small when the splitter is dragged
i2b2 Server Side Fixes:
[CORE-392] - Queueing is not working as designed
[CORE-393] - REDcap import does not work in Postgres
[CORE-387] - Hierarchical view turns off if there are >1000 results, even if only a few hundred are returned
Full Request XML message is stored in the QT_PDO_QUERY_MASTER table
i2b2 Web Client Fixes:
[WEBCLIENT-328] - Webclient behaves oddly when splitter is moved to make left panel very small
i2b2 Database Fixes:
[CORE-389] - Totalnum performance improvements on Postgres and SQLServer
[CORE-393] - REDcap import does not work in Postgres