Sha256: 2519e2c8f2ea89733d6c9914a1d258f221848a90cfc5ea09e382fa0efff84060
Contents?: true
Size: 1.16 KB
Versions: 2
Compression:
Stored size: 1.16 KB
Contents
module QME module Query class JsonQueryExecutor def initialize(db) @db = db end def measure_def(measure_id) measures = @db.collection('measures') measures.find({'id'=> "#{measure_id}"}).to_a[0] end def measure_result(measure_id, parameter_values) jdb = JSONDocumentBuilder.new(measure_def(measure_id), parameter_values) collection = @db.collection('records') result = {} collection.find(jdb.numerator_query) do |cursor| result[:numerator] = cursor.count end collection.find(jdb.denominator_query) do |cursor| result[:denominator] = cursor.count end collection.find(jdb.initial_population_query) do |cursor| result[:population] = cursor.count end exclusions_query = jdb.exclusions_query if exclusions_query.empty? result[:exceptions] = 0 else collection.find(exclusions_query) do |cursor| result[:exceptions] = cursor.count end end result end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
quality-measure-engine-0.1.2 | lib/qme/query/json_query_executor.rb |
quality-measure-engine-0.1.1 | lib/qme/query/json_query_executor.rb |