Downloads:
Documentation:
|
i2b2 1.8 Release includes the newly redesigned i2b2 Web interface, ACT i2b2 on OMOP functionality, few improvements and bug fixes.
Description | |
---|---|
New Web client User Interface | |
ACT i2b2 on OMOP for MSSQL and Oracle databases | |
Bug fixes |
Contribution | Contributor | Description |
New Web client 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. |
ACT i2b2 on OMOP | 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 |
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.
The following steps will load the OMOP metadata and CRC tables and the OMOP Views required to query the OMOP tables.
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. |
Step 1: Load Ontology tables
Step 2: Load OMOP views and Concept dimension
2. You can now run queries against the OMOP tables from the web client interface
Delete your Patient_dimension and Visit_dimension tables before executing the crc scripts. The OMOP views will build these as Views. |
Step 3: Execute Totalnum counts
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. |
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.
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.
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. |
Prior to 1.8 release, CRC scripts via ANT execution command supported single CRC zip folder structure. 1.8 release will support multiple CRV zip folder execution. The databuild.xml has been modified for this process.
The JDBC drivers were updated to the following versions.
Driver | ojdbc8.jar | postgresql-42.2.14.jar | mssql-jdbc-9.2.0.jre8.jar |
---|---|---|---|
Driver Version | Oracle 21.5 | PostgreSQL 42.3.2 | MSSql Server 9.2 |
Server Type | SQL Server | Oracle | PostgresSQL |
---|---|---|---|
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.1Final | 2.0 (RHEL 6) and 2.2 ( RHEL 7) | 1.9.6 | 1.7.1 | 7.2.27 or higher |
Rocky linux 8 and 9, CentOS versions 7
Windows 2016 -2019
Unofficially, MacOS and other flavors of Linux are likely to work.
Web client |
---|
WEBCLIENT-360 New web client User Interface WEBCLIENT-359 old webclient packaged with default Admin-only configuration |
Core-server |
---|
DATA-33 MSSQL Version of Faster Patient Counting Scripts DATA-23 Support for multiple crc zip file extraction using databuld.xml |
Core-server |
---|
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 |
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.