class ConceptQL::Operators::ToSeerVisits

Public Instance Methods

domain() click to toggle source
# File lib/conceptql/operators/to_seer_visits.rb, line 11
def domain
  :visit_occurrence
end
query(db) click to toggle source
# File lib/conceptql/operators/to_seer_visits.rb, line 15
def query(db)
  query = options.map do |k, v|
    next if v.nil?
    db[:observation]
      .where(observation_source_value: k.to_s.upcase, value_as_string: v)
      .select(:visit_occurrence_id)
      .from_self
  end.compact.inject { |q, i| i.intersect(q) }
  db[:visit_occurrence].where(visit_occurrence_id: query)
end