Extracting Measure Data from a HITSP C32
Each quality measure will need to extract specific information from a HITSP C32 for calculation. First, for each quality measure, a QME::Importer::GenericImporter should be created by passing in the JSON definition of the quality measure.
Next, an instance of QME::Importer::PatientImporter should be obtained by calling instance (it follows the singleton pattern). Add the GenericImporters for each desired measure with the add measure method. Finally, you can get a JSON representation of a patient record with the necessary information extracted by calling parse_c32.
Calculating Quality Measures
Results of quality measures are represented by QME::QualityReport. This class provides ways to determine if a report has been calculated for a population in the database as well as ways to create jobs to run the calculations.
This project currently uses Ruby 1.9.2 and is built using Bundler. To get all of the dependencies for the project, first install bundler:
gem install bundler
Then run bundler to grab all of the necessary gems:
The Quality Measure engine relies on a MongoDB MongoDB running a minimum of version 1.8.* or higher. To get and install Mongo refer to:
You can also find information on Redis at the Resque homepage. Resque is used by this project to calculate quality measures in background jobs. We also use resque-status. Please consult the resque-status instructions for working with the resque-web application if you would like to use it to monitor status.
Running Resque Workers
QME::QualityReport will kick off background jobs with Resque. For these jobs to to actually get performed, you need to be running resque workers. This can be done with the following:
QUEUE=* bundle exec rake resque:work
This project uses RSpec for testing. To run the suite, just enter the following:
bundle exec rake spec
The coverage of the test suite is monitored with cover_me and can be run with:
bundle exec rake coverage
Map Reduce Testing
The tool is a very small web application based on the Sinatra framework. It can be run by executing the following command:
bundle exec ruby map_test/map_test.rb
Source Code Analysis
This project uses metric_fu for source code analysis. Reports can be run with:
bundle exec rake metrics:all
The project is currently configured to run Flay, Flog, Churn, Reek and Roodi
Please try to follow our Coding Style Guides. Additionally, we will be using git in a pattern similar to Vincent Driessen's workflow. While feature branches are encouraged, they are not required to work on the project.