Class: QME::QualityMeasure

Inherits:
Object
  • Object
show all
Extended by:
DatabaseAccess
Includes:
DatabaseAccess
Defined in:
lib/qme/quality_measure.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from DatabaseAccess

determine_connection_information, get_db, inject_db

Constructor Details

#initialize(measure_id, sub_id = nil) ⇒ QualityMeasure

Creates a new QualityMeasure

Parameters:

  • measure_id (String)

    value of the measure’s id field

  • sub_id (String) (defaults to: nil)

    value of the measure’s sub_id field, may be nil for measures with only a single numerator and denominator



28
29
30
31
32
# File 'lib/qme/quality_measure.rb', line 28

def initialize(measure_id, sub_id = nil)
  @measure_id = measure_id
  @sub_id = sub_id
  determine_connection_information
end

Class Method Details

.allHash

Return a list of the measures in the database

Returns:

  • (Hash)

    an hash of measure definitions



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/qme/quality_measure.rb', line 9

def self.all
  result = {}
  measures = get_db.collection('measures')
  measures.find().each do |measure|
    id = measure['id']
    sub_id = measure['sub_id']
    measure_id = "#{id}#{sub_id}.json"
    result[measure_id] ||= measure
  end
  result
end

.get_measures(measure_ids) ⇒ Object



21
22
23
# File 'lib/qme/quality_measure.rb', line 21

def self.get_measures(measure_ids)
  get_db.collection('measures').find('id' => {"$in" => measure_ids})
end

Instance Method Details

#definitionHash

Retrieve a measure definition from the database

Returns:

  • (Hash)

    a JSON hash of the encoded measure



36
37
38
39
40
41
42
43
# File 'lib/qme/quality_measure.rb', line 36

def definition
  measures = get_db.collection('measures')
  if @sub_id
    measures.find_one({'id' => @measure_id, 'sub_id' => @sub_id})
  else
    measures.find_one({'id' => @measure_id})
  end
end