Source Code & Tools

Tools

Source code download

The latest release version can be downloaded from our public GitHub repository.

Docker Image

https://hub.docker.com/r/infobutton/infobuttonapp

Source code version history

OpenInfobutton

Version 2.4 - May 2021

New features/improvements:

    • 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.

Bug fixes:

    • 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.

New features/improvements:

    • 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

Bug fixes:

    • 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.

Major features:

  • 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.

Major 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:

Infobutton Manager:

  • 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

Infobutton Responder:

    • Backend changes to enable LITE functionality enhancements

LITE:

    • 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

LITE client

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

Infobutton Responder

Version 1.0 - August 2014 (stable release)

This version includes the source code that was certified by the Open Source EHR Alliance (OSEHRA) and is the first stable release of the Infobutton Responder component.

Infobutton Manager

    • 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