Class: CQM::PopulationSet

Inherits:
Object
  • Object
show all
Includes:
Mongoid::Document
Defined in:
app/models/cqm/population_set.rb

Overview

Representation of a population set (aka. PopulationCriteria)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.transform_json(json_hash, target = PopulationSet.new) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
# File 'app/models/cqm/population_set.rb', line 40

def self.transform_json(json_hash, target = PopulationSet.new)
  result = target
  result['populations'] = CQM::PopulationMap.transform_json(json_hash['populations']) unless json_hash['populations'].nil?
  result['stratifications'] = json_hash['stratifications'].map { |var| CQM::Stratification.transform_json(var) } unless json_hash['stratifications'].nil?
  result['supplemental_data_elements'] = json_hash['supplemental_data_elements'].map { |var| CQM::StatementReference.transform_json(var) } unless json_hash['supplemental_data_elements'].nil?
  result['observations'] = json_hash['observations'].map { |var| CQM::Observation.transform_json(var) } unless json_hash['observations'].nil?
  result['title'] = json_hash['title'] unless json_hash['title'].nil?
  result['population_set_id'] = json_hash['population_set_id'] unless json_hash['population_set_id'].nil?

  result
end

Instance Method Details

#as_json(*args) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'app/models/cqm/population_set.rb', line 16

def as_json(*args)
  result = Hash.new
  unless self.populations.nil?
    result['populations'] = self.populations.as_json(args)
  end
  unless self.stratifications.nil?  || !self.stratifications.any?
    result['stratifications'] = self.stratifications.map{ |x| x.as_json(*args) }
  end
  unless self.supplemental_data_elements.nil?  || !self.supplemental_data_elements.any?
    result['supplemental_data_elements'] = self.supplemental_data_elements.map{ |x| x.as_json(*args) }
  end
  unless self.observations.nil?  || !self.observations.any?
    result['observations'] = self.observations.map{ |x| x.as_json(*args) }
  end
  unless self.title.nil?
    result['title'] = self.title
  end
  unless self.population_set_id.nil?
    result['population_set_id'] = self.population_set_id
  end

  result
end