README.md in quality-measure-engine-0.2.0 vs README.md in quality-measure-engine-0.8.0

- old
+ new

@@ -1,24 +1,52 @@ -This project will provide a library that can ingest HITSP C32's and ASTM CCR's and extract values needed to compute heath quality measures for a population. It will then be able to query over a population to compute how many people within a population conform to the measure. +This project is a library designed to calculate clinical quality measures over a given population. Quality measures are described via JSON and provide the details on what information is needed from a patient record to calculate a quality measure. The logic of the measure is described in JavaScript using the MapReduce algorithmic framework. +Usage +===== + +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. + Environment ------------ +=========== This project currently uses Ruby 1.9.2 and is built using [Bundler](http://gembundler.com/). 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: bundle install -The Quality Measure engine relies on a MongoDB [MongoDB](http://www.mongodb.org/) running a minimum of version 1.6.* or higher. To get and install Mongo refer to : +The Quality Measure engine relies on a MongoDB [MongoDB](http://www.mongodb.org/) running a minimum of version 1.8.* or higher. To get and install Mongo refer to: - http://www.mongodb.org/display/DOCS/Quickstart + http://www.mongodb.org/display/DOCS/Quickstart +It also relies on [Redis](http://redis.io/) for background jobs via [Resque](https://github.com/defunkt/resque). To install Redis, please refer to: + + http://redis.io/download + +You can also find information on Redis at the [Resque homepage](https://github.com/defunkt/resque). Resque is used by this project to calculate quality measures in background jobs. We also use [resque-status](https://github.com/quirkey/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 + Testing -------- +======= This project uses [RSpec](http://github.com/rspec/rspec-core) for testing. To run the suite, just enter the following: bundle exec rake spec @@ -54,8 +82,8 @@ bundle exec rake metrics:all The project is currently configured to run Flay, Flog, Churn, Reek and Roodi Project Practices ------------------- +================= Please try to follow our [Coding Style Guides](http://github.com/eedrummer/styleguide). Additionally, we will be using git in a pattern similar to [Vincent Driessen's workflow](http://nvie.com/posts/a-successful-git-branching-model/). While feature branches are encouraged, they are not required to work on the project.