MONAHRQ Open Source Resources

Introduction

The highly dynamic health care environment driven by the Affordable Care Act and other changes in federal law provides an opportunity for MONAHRQ to become a software tool that significantly expands transparency while driving innovation and collaborative development. The new architecture of MONAHRQ can be leveraged to accelerate the adoption of the software as a quality reporting solution for internal quality improvement and public reporting.

With the release of MONAHRQ as an open source project, it will be possible for developers to extend the MONAHRQ application to add new data sources, measures, reporting options, and website customization capabilities. This enables the open source developer community to extend MONAHRQ to create new plug-ins for additional reporting in the future.

Following are two Open source Projects available for developers. GitHub resources have been created as part of the source code dissemination and knowledge-sharing platform.

  1. MONAHRQ Open Source Software Code (https://github.com/AHRQ/MONAHRQ-Open-Source).
  2. MONAHRQ Open Source Framework (https://github.com/AHRQ/MONAHRQ-Framework)

What is the MONAHRQ Open Source Code Project?

MONAHRQ 7.0 architecture is based on a modular designed and that combined with open source framework (https://github.com/AHRQ/MONAHRQ-Framework) makes it easy for developers to extend functionality to meet their needs. Opening MONAHRQ source code is the first step in enabling innovation and greater flexibility for Host Users. Users who have experience with software development or basic programming skills should be able to apply the information described below to add new datasets and create new report types for their MONAHRQ-generated website. Host Users who are not familiar with programming and related technical issues are encouraged to team with an IT professional or developer who can assist them with the development.

What is the MONAHRQ Open Source Framework (Wings and Flutters)?

The Framework allows you to add one or more new dataset types, define measures and report types, and customize report layouts in their MONAHRQ-generated websites. The Framework is divided into two main framework components, Wings and Flutters, explained below.

Wings

A "Wing" is defined as a modular interface for the MONAHRQ software that enables Host Users to import new data files into MONAHRQ. There are several types of Wings used by MONAHRQ. Each Wing can handle a discrete dataset type. Several Wings can be used throughout the process of preparing and publishing a MONAHRQ-generated website. In version 1.0 of the Framework, you can add datasets similar to the existing datasets, such as, Medicare Provider Charges, Inpatient Discharge, Emergency Department Treat-and-Release, and AHRQ Quality Indicators (QIs). This is done by defining the Wing in an XML file.

Wings are comprised of an XML formatted manifest file, which contains the instructions and configuration details of the Wing. You will be able to import a Wing into the MONAHRQ software. Once the Wing is imported into MONAHRQ, the Host User can use it to import the new data files.

Wings can be imported by using the "Import Wing" option in the MONAHRQ software settings section. During the import, the files will be copied to the appropriate directories and any required structural changes (database table creation) will be completed during this process.

Flutters

A "Flutter" lets you create new report layouts, style and flow. This process uses the components of the AngularJS framework, which is the same framework used in all MONAHRQ-generated websites. Developing a Flutter from scratch is largely an exercise in AngularJS development (https://angularjs.org/), an increasingly common process using the open source web framework developed by Google. Developers who create Flutters will be authoring the necessary controllers, services, views, and styling to build the reports.

A set of module rules and configuration guidelines is available for Framework developers to use to ensure that a new report format, or Flutter, can be plugged into a MONHARQ generated website for use with a compatible dataset produced by a Wing.

In a simple scenario, you will be able to use an existing generic "tabular report" format that is already part of MONAHRQ by copying the existing report template and transforming it into a new report, or Flutter. This is done by specifying within the Flutter's configuration the report's unique name, data file(s), how a data file's fields map to table columns, and the table's column model (e.g.: titles, data formatting, and sorting rules). In this scenario, the underlying JavaScript code doesn’t need to be customized. In a more complex scenario, the underlying JavaScript can be modified to achieve the developer’s desired results.

To learn more about MONAHRQ's Open Source Framework, View the tutorial video recording and presentation (PDF version - 1.27 MB).

Page last reviewed October 2017
Page originally created March 2015
Internet Citation: MONAHRQ Open Source Resources. Content last reviewed October 2017. Agency for Healthcare Research and Quality, Rockville, MD. http://www.ahrq.gov/professionals/systems/monahrq/opensource/index.html