class HealthDataStandards::CQM::PatientCache
Public Class Methods
smoking_gun_rational(hqmf_id, sub_ids=nil, filter ={})
click to toggle source
# File lib/health-data-standards/models/cqm/patient_cache.rb, line 16 def self.smoking_gun_rational(hqmf_id, sub_ids=nil, filter ={}) match = {"value.IPP" => {"$gt" => 0}, "value.measure_id" => hqmf_id }.merge filter if sub_ids match["value.sub_id"] = {"$in" => sub_ids} end group = {"$group" => {"_id" => "$value.medical_record_id", "rational" => {"$push"=> "$value.rationale"}}} aggregate = self.mongo_client.command(:aggregate => 'patient_cache', :pipeline => [{"$match" =>match},group]) aggregate_document = aggregate.documents[0] merged = {} aggregate_document["result"].each do |agg| mrn = agg["_id"] rational = {} merged[mrn] = rational agg["rational"].each do |r| rational.merge! r end end merged end
Public Instance Methods
record()
click to toggle source
# File lib/health-data-standards/models/cqm/patient_cache.rb, line 12 def record Record.where(:medical_record_number => value['medical_record_id'], :test_id => value["test_id"]).first end