Source Code & Tools
Source code download
The latest release version can be downloaded from our public GitHub repository.
Source code version history
Version 2.4 - May 2021
Major changes to OpenInfobutton's Docker image.
The OpenInfobutton Responder now supports adding a summary and full content to the InfoButton response for an asset configured in the Responder. LITE has also been updated to adding/editing these fields.
The underlying database connections used by the OpenInfobutton Manager have been reconfigured to use new libraries, which has improved performance and the application's stability in a production server environment.
The code used to find terminology concept descendants for coded search criteria has been changed to run much faster.
A configuration bug with the database connections was causing instances of OpenInfobutton that experienced long periods without a request to crash. This has been fixed.
More old, unnecessary or conflicting dependencies have been removed from various pom files. This has significantly reduced build time and shrunk the size of the final WAR.
OpenInfobutton 2.2 includes a major quality of life update and some important bug fixes.
A number of configurable properties are now stored in a database table and editable via LITE. These include UTS credentials, Github credentials and the OIDs used to configure profiles in LITE. This means that setting these properties no longer require rebuilding/restarting the service to set and every user of the same instance of LITE will have the same OIDs to pick from. Due to this change, the entire system configuration page is only accessible to administrators.
All terminology transformations for medications will now use the RxNorm REST API rather than UTS. These should speed up requests that require medication terminology transformations as the RxNorm REST API is much faster.
Both the OIB manger and responder now both use the latest version of UTS for all requests, rather than a configured version
A major issue related to concurrent request handling has been resolved. With increased traffic to our hosted OIB instance, we began noticing errors in the response that seemed to indicate a concurrency issue. This was investigated and is now fixed. Users hosting an instance with heavy traffic should observe much more reliable request handling.
Terminology transformations that returned no results by the underlying API were previously causing an error with the response. This has been resolved and the request should be properly handled with a failed match rather than throwing an error.
We've also removed transformations that are no longer supported by the underlying APIs so they are no longer attempted.
OpenInfobutton 2.1 includes several improvements in the back end of the infobutton manager.
VM package to simplify installation
Value set management transitioned to GitHub.
Performance improvements in value set processing.
Fix for a problem building the code in 2.0 due to external dependencies
Other general improvements:
LITE: Several bug fixes and usability improvements
Ability to create LITE users
NOTE: the community has reported problems building this version due to dependencies with a Nexus repository. These dependencies have been removed in Version 2.1, so we recommend using 2.1 instead of 2.0.
OpenInfobutton 2.0 includes many major feature updates as well as optimizations and bug fixes to existing features.
This is the first fully featured release of the LITE OpenInfobutton tailoring tool. It includes the ability to download resource profiles from the OpenInfobutton cloud-based profile store, configure custom resource profiles, and index local resources for the infobutton responder.
Major improvements in the overall usability of LITE.
LITE user authentication
Other general improvements:
A typeahead style search for Main Search Criteria in the Responder asset property editor
An additional database table that allows organizations to "blacklist" a profile based on the userId request parameter
Optimizations to profile loading code in the Infobutton Manager that speed up its response time
An optional unit test that can be used to monitor the status of an OpenInfobutton server
Various other bug fixes and optimizations that are logged in our github repository
Version 1.9 - September 2015
Starting with this release, all three components (Infobutton Manager, Infobutton Responder, and LITE) will follow the same release schedule and versioning). The main changes in v1.9 are:
Configuration Web services - allow read/write/update operations over resource profiles in the infobutton manager knowledge base
Fixes to infobutton manager output for HL7 compliance
Backend changes to enable LITE functionality enhancements
Ability to select multiple pick list values for index properties
Ability to create a new asset using an existing asset as a starting point (Create like...)
Other minor usability enhancements
This version kicks off of a complete redesign of the LITE tool. It consists of a client Web application that allows maintaining a local instance of the infobutton manager. The tool works very much like an app store. It allows:
Downloading resource profiles from a cloud-based profile store
Changing the status of local resource profiles
Adding and editing local profiles
Version 1.0 - August 2014 (stable release)
Version 1.7 - February 2015 (beta)
Updated UTS calls to use UMLS 2014
Added timeout to UTS calls (configurable)
Updates to profile database in preparation for the new LITE resource profile management tool
Version 1.6.1 - October 2014 (hot fix)
Hot fix for RxNorm API calls
Version 1.6 - August 2014 (stable release)
This version includes the source code that was certified by the Open Source EHR Alliance (OSEHRA). The following changes were made:
Refactored auto-generated code into JAR files
Improved unit testing coverage
Version 1.5 - December 2013 (beta)
This version was primarily dedicated to code refactoring.
Refactored modules into a logical build hierarchy that can be compiled from a single Maven POM
Refactored individual classes so they are now organized into logical package names
The entire application is instantiated via Spring configuration files
Cleaned up unnecessary dependencies in POM files to speed up build times
Created a testing framework where the necessary database tables are created with the necessary table for execution of test scripts
Unit tests for basic Profile matching
Unit tests for transform execution
Unit tests for response parsing
Version 1.4 - March 2013 (most stable release)
Major redesign of terminology inferences with the ability to develop site-specific terminology implementations
Includes a terminology implementation that uses the UMLS terminology services (UTS)
Major redesign of the knowledge resource profile XML schema: simplification and new functionality
Compliant with the latest specifications of the HL7 Infobutton Standard
Support for JSON output
Version 1.3 - April 2012
Stores and loads resource profiles from a MySQL database. Includes version control and ability to load profiles in test mode.
Version 1.2 - January 2012
Ability to run the Web service on test mode using parameter executionMode=TEST
Detailed usage log infrastructure using MySQL database
Version 1.1 - November 2011
Added lightweight terminology value sets in MySQL (allows to define content coverage of specific resources using standard terminologies)
Deployed to University of Utah Center for High Performance Computing