i2b2 Release 1.7
Release Date: December 20, 2013
- This release note applies to you if you are upgrading to 1.7 from an earlier version of i2b2.
- If you are installing 1.7 from a computer running the i2b2 Workbench, ensure that the workbench and all eclipse applications are closed prior to installing this release.
- If you are installing a new instance of i2b2 we recommend you refer to the installation documentation found on the i2b2 community wiki. This documentation will guide you through the entire installation process.
i2b2 Release 1.7 contains changes to the following software components:
- Database Scripts
- i2b2 Server
- i2b2 Web Client
- i2b2 Workbench
Third Party Software Changes
In release 1.7 the i2b2 Server has been updated to use the following versions of third party software.
- JBoss has been upgraded to 7.1.1
- Apache Ant has been upgraded to 1.8.2
- Apache Axis2 has been upgraded to 1.6.2
Only the i2b2 Server was upgraded to use the above versions of JBoss, Ant, and Axis2. The i2b2 Workbench will continue to use the previous versions. As a result, the source codes for the server and the workbench client have different plug-ins for the commons.
Change Summary - i2b2 Core Software - Release 1.7.00
- Find Terms: New feature called "Jump to Term in Tree"
- Previous Query: Filter list by user
- Previous Query: Search Previous Queries View
- Previous Query: Page through previous queries by date
- Database: PROJECT_ID Column added to PATIENT_MAPPING and ENCOUNTER_MAPPING tables (support for new IM cell)
- Demo Data: Updated PATIENT_MAPPING table to support the new IM cell.
- Temporal Queries (New Temporal Query Tool View)
- Identity Management Cell (IM)
- Identity Management Tables
- Managers Tool View
- OpenEMPI Support
- Patient Mapping View
- Patient Sets View
- PostgreSQL Database Support
- Workplace Find View
- [CORE-5] - CRC build from source deposits i2b2Common-core.jar in wrong directory
- [CORE-70] - I2b2 compilation of CRC Cell fails
- [CORE-74] - Typo in i2b2_config_data.js of admin interface
- [CORE-81] - No PATIENT_NUM in OBSERVATION_FACT_PK (conflict with documentation)
- Architecture, design and messaging documents for the new Identity Management (IM) Cell.
- Design documentation for the new Temporal Query Tool plug-in.
- User guide for the new Temporal Query view.
- Documentation for the new views (Patient Set, Patient Mapping, Managers Tool, and Find in Workplace).
- [CORE-8] - Suggestions for improvements to installation documents
- [CORE-75] - CRC_Design.pdf page numbers are broken, all page numbers are set to 1 of 1, 2 of 2, etc. instead of 1 of xx
- [CORE-78] - Errors in I2B2 Hive Installation Guide v 1.7.0
- [CORE-45] - Establish CRCLoader project (eclipse) from exiting ant build file failed
Change Summary - i2b2 Web Client Software - Release 1.7.
- Temporal Queries (Modification made to existing Query Tool)
- [WEBCLIENT-40] - Webclient: documentation should state that php and curl are prerequisites for the webclient
Improvement / New Feature Details
The temporal query is a new type of query introduced in release 1.7. There are two components to these queries that make them a little more complex than the type of queries available prior to 1.7 (classic i2b2 queries).
The first component to these queries is the list of events defined by the user.
The second component is the relationship between the events. This relationship is referred to a Temporal Relationship, which is best described as how the different events relate in regards to the time in which the event(s) occurred.
Users can also define a patient or event population in which they wish to run the temporal query against. This step is optional and is not required in order to run the temporal query.
The process in which temporal queries are defined is slightly different in the i2b2 Web Client and the i2b2 Workbench. In the i2b2 Web Client the existing Query Tool view has been modified to accommodate Temporal Queries while a new view called Temporal Query Tool view has been created for the i2b2 Workbench.
The new Temporal Query Tool view and the modifications to the existing Query Tool view extend the query functionalities provided by the classic Query Tool view.
It is important to note that while the manner in which users setup a temporal query is different in each of the clients the overall functionality is the same.
The following two sections will describe how to run Temporal Queries in the i2b2 Web Client and the i2b2 Workbench.
i2b2 Web Client: Temporal Queries
In the i2b2 Web Client there are five basic steps in defining a temporal query in the Query Tool view.
- Change Temporal Constraint to Define sequence of Events.
- Define Population in which events occur (optional step).
- Define Events
- Define order of events (temporal relationships)
- Run the query
For detailed information about creating Temporal Queries please see the Temporal Query help file located on-line from within the i2b2 Web Client.
Step 1: Change Temporal Constraint
The first step is to change the Temporal Constraint to Define sequence of Events.
Step 2: Define Population in which events occur
Once you have changed the Temporal constraint to be Define sequence of Events a new Page selection box will appear below the Temporal Constraint section. The default page will be Population in which events occur. It is on this page you will define your population requirements.
Step 3: Define Events
The events are the first component of a temporal query. There are no restrictions on the number of events you wish to define. The only requirement is that you have to define at least two events.
To define the events simply click on the Page selection box and select Event 1 from the drop-down list.
The groups and constraints for the events work in the same manner as they did for a traditional i2b2 query. Simply drag the items you want to include in Event 1 to the appropriate groups.
Once you have added your items to the groups you can click on the Page selection box and select Event 2 from the drop-down list. This will change the page to display the groups for Event 2.
If you need to add a third event you can click on the New Event button located next to the Page selection box.
Step 4: Define Order of Events (Temporal Relationship)
As stated earlier the second component of a temporal query is the relationship between the events (temporal relationship). In the i2b2 Web Client this is done on the Define order of events page, which is accessed by clicking on the Page selection box and selecting Define order of events from the drop-down list.
The page will display as follows:
Step 5: Run Query
In the Web Client running a query works the same regardless of whether or not it is a Temporal Query or a traditional i2b2 query. By clickin on the Run Query button, the i2b2 client will send the request to the i2b2 server which will run the query as defined.
i2b2 Workbench: New Temporal Query Tool View
In the i2b2 Workbench there are three pages or steps in defining and running a temporal query in the new Temporal Query Tool view.
- Page 1: Define Population
- Page 2: Define Temporal Relationships
- Page 3: Review and Submit Query
i2b2 Workbench: New Temporal Query Tool View
Define Date Constraints and Exclusions in Temporal Query Tool View
Defining the Date Constraints
Each page as well as defining constraints is further defined in the next few sections.
For detailed information about using the Temporal Query Tool view, please see the help file for this view which is available on-line from within the i2b2 Workbench.
Page 1: Define Population
On this page you will define your population requirements.
Page 2: Define Temporal Relationships
As stated earlier there are two components to a temporal query; (1) List of events and (2) the relationship between the events.
The second page is where you will define both the events and their relationship.
Page 3: Review and Submit
On this page the name of the query will default and if you wish to rename it you can do so at this point. Whatever is entered here will be the name given to the query when it is run. In addition you can select the Analysis Types that you want when running the query.
Defining Date Constraints and Exclusions in Temporal Query Tool View
There are some minor differences in terminology or layout that needs to be noted in this release note.
Defining the Date Constraints
In the classic Query Tool view you can only define date constraints on the group / panel level. In the new Temporal Query TOol view you can now define a date constraint on either the query or group levels. If you define it on the query level it will default the same date constraint for all the groups and the date constraint on the panel level will not be available for selection.
If you want to define it on the panel level select Group-Specific. Go to the group you wish to define the constraint and click on the column that displays No Date Constraints.
The ability to exclude all items in a group does exist in the new Temporal Query Tool view. However, the method in which it is defined differs between the classic Query Tool view and the Temporal Query Tool view.
In the existing Query Tool view ("Classic") the exclusion constraint was defined by clicking on the button labeled Exclude.
In the Temporal Query Tool view (New) the exclusion constraint was rolled into the window for defining the Occurrence constraint.
The Specify Occurrence Constraints windows will open when you click on the box that displays the occurrence constraint. To set the exclusion constraint you need to select "= 0 (No Occurrences)" from the drop-down list.
The above option is equivalent to the Exclude feature in the classic Query Tool view.
Previous Query: Filter list by user
New in release 1.7 is the ability to filter the list of previous queries by the user who created the query. In the options dialog () window there is a new field called Get previous queries for user. The default is all users and can be changed to a specific user by clicking on the down arrow to display the drop-down list. Once you select the user and click on OK, the Previous Queries view will refresh and display only those previous queries created by the selected user.
In i2b2 only managers are allowed to view queries for another user, therefore this feature is only available to those users who have the role of MANAGER defined for the project. If a user does not have the manager role then this field will be inactive and unavailable for selection.
Previous Query: Search Previous Queries View
In release 1.7 the ability to search the Previous Queries view has been added. The functionality is very similar to Find Terms view except it will search the Previous Queries view instead of Navigate Terms view. Users can search any of the three levels;
- Previous Query (name)
- Previous Query Result
Previous Query: Page through previous queries by date
Users can now retrieve the next or previous grouping of previous queries by the date in which the query was created.
The Previous button () will retrieve the group of previous queries that occur prior to the date displayed in the date / time field.
The Next button () will retrieve the group of previous queries that occur after the date displayed in the date / time field.
Identity Management Cell (IM)
A new cell called the Identity Management (IM) Cell was developed in release 1.7. This new cell contains Protected Health Information (PHI), which can be used to identify patients. The IM cell is used to manage this PHI in a manner consistent with the HIPAA privacy rule. The patient data will be available only as a HIPAA defined "Limited Data Set" to most of the hive.
The full functionality of the IM cell will be developed in stages. The initial framework and key services are released as part of the 1.7 release. Some of the key features being released in 1.7 are:
- New tables to store identifiers from different sites, and patients that are included in a project.
- Audit controls are implemented that are in compliance with the HIPAA privacy rules.
- Services developed to set and validated an AES key for encrypting and decrypting patient MRNs in the IM cell.
- Unencrypted patient identifiers sent in the PDO can be processed through the IM cell to retrieve all site IDs for the patient and project.
In addition to the above features, the i2b2 Worbench (eclipse client) has two new views that were created to support the new IM cell. These new views, called Patient Mapping and Admin Tool are further defined in the following two sections called Patient Mapping View and Admin Tool View.
Managers Tool View
The Managers Tool view was developed in release 1.7 and works in conjunction with the IM Cell. It currently has two main functions.
- Set and / or validate that the project key is defined in the IM Cell.
- The project key is used by the IM cell to decrypte the patient id's that are encrypted.
- The Set Key is used to define the key in the IM cell.
- The Validate Key is used to verify the key is set.
If you are using the IM cell and your patient identifiers are encyrpted the you need to set the Project key in the IM cell. It is important to note that if you restart your i2b2 server or in the case of the VM image restarting the virtual machine then you will need to re-enter the project key.
The project key for the i2b2 demo project is: i2b2demodatakey1
In the VM image you need to log into the i2b2 Workbench as the i2b2 Admin user.
User ID: i2b2
- As part of the IM cell an audit table was created to track when a patient in the IM cell was accessed. This new view allows Project Managers or Administrators to run a report to see that audit information. The report can be run for a particular user, patient, or all audit information for the project you are logged into.
Patient Sets View
In release 1.7 a new view called Patient Sets was created. This new view will display a list of Patient sets that were created when a query was run. It is similar to the Previous Queries view except it only displays the patient sets and not the previous query or other result sets (i.e. Encounter sets, Number of patients, etc).
The patient sets can be expanded to display a list of patients.
Users can drag an entire patient set or a single patient to other views in the i2b2 Workbench.
Users can also perform a search in which they can search by the name of the patient set or for a list of patient sets that contain a specific patient.
Workplace Find View
A new view called Find in Workplace was created in release 1.7. This view is very similar to the Find Terms view except it will search the Workplace view instead of the Navigate Terms view.
Find Terms: New feature called "Jump to Term in Tree"
A new feature called Jump to Term in Tree has been added to the Find Terms view. Users can now easily jump directly to a term in the Navigate Terms view from the Find Terms view.
Once a term is found in the Find Terms view the user can click on the term using the right mouse button to display the pop-up menu. Selecting "Jump to Term in Tree" from the pop-up menu will bring the Navigate Terms view into focus and the hierarchical tree will automatically open to the location of the term selected in the Find Terms view.
OpenEMPI is an open source Enterprise Master Patient Index (EMPI) which is developed and supported by another community. The i2b2 IM cell has been developed to allow communication with OpenEMPI for those sites that choose to use it as their patient repository.
For additional information on OpenEMPI please see their website by going to the following location: https://openempi.kenai.com/
PostgreSQL Database Support
The ability to use a PostgreSQL database as an i2b2 database has been added to release 1.7. Both the create and insert data database scripts for PostgreSQL are included in this release.
Data: New Tables created for the IM Cell
The following new tables were created as part of the new IM cell.
|IM_MPI_DEMOGRAPHICS||Contains General demographic information for the patients.|
|IM_MPI_MAPPING||Maps the patient's i2b2 number and the local MRN.|
|IM_PROJECT_SITES||Contains information about the different sites (Source Systems).|
|IM_PROJECT_PATIENTS||Stores the patients that are part of a project(s).|
|IM_AUDIT||Stores the audit details of patients accessed in the IM cell. This includes; the user, site, and project requesting the access as well as the date in which it was accessed.|
Data: New Columns added to support IM cell
A new column called Project_ID has been added to both the PATIENT_MAPPING and ENCOUNTER_MAPPING tables in the crc. The PROJECT_ID was added to support the IM cell. It will allow sites to track which project a patient is part of.
Data: Improved Patient Mapping Data
The PATIENT_MAPPING table in the CRC has been updated to include the following:
- Mappings of existing patients to multiple site MRNs.
- Project IDs added to patients.
Demo data has been added to all of the new IM tables except the AUDIT table. This IM data was added to provide examples for using the new IM cell.
The mapping information added to the CRC and IM tables is strictly for demonstration purposes and does NOT contain real patient information.
New PostgreSQL Database Scripts
The i2b2 database scripts have been updated to include the table creation and data insert scripts for a PostgreSQL database.
The i2b2 source code is licensed under the i2b2 Software License 2.1. This includes but is not limited to all code in the edu.harvard.i2b2.* package namespace.
Microsoft, Windows, Windows 7, Windows Server 2003 and 2008 are either registered trademarks or trademarks of Microsoft Corporation in the United States and / or other countries.
Mac OS is a registered trademark of Apple Inc.
Eclipse Galileo is a registered trademark of the Eclipse Foundation, Inc.
All other trademarks are the property of their respective owners.