class Qrda3R21
Constants
- PAYER_MAP
Public Class Methods
new(aggregate_results, measures, options = {})
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 11 def initialize(aggregate_results, measures, options = {}) @aggregate_results = aggregate_results @measures = measures @measure_result_hash = {} @measures.each do |measure| @measure_result_hash[measure.hqmf_id] = { population_sets: measure.population_sets, hqmf_id: measure.hqmf_id, hqmf_set_id: measure.hqmf_set_id, description: measure.description, measure_data: [], aggregate_count: [] } end @aggregate_results.each do |hqmf_id, measure_aggregate_result| measure_aggregate_result.each do |_key, aggregate_result| @measure_result_hash[hqmf_id].measure_data << aggregate_result end end @measure_result_hash.each do |key, hash| @measure_result_hash[key][:aggregate_count] = agg_results(key, hash.measure_data, hash.population_sets) end @provider = options[:provider] @performance_period_start = options[:start_time] @performance_period_end = options[:end_time] @submission_program = options[:submission_program] @ry2022_submission = options[:ry2022_submission] end
Public Instance Methods
agg_results(measure_id, cache_entries, population_sets)
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 33 def agg_results(measure_id, cache_entries, population_sets) aggregate_count = Qrda::Export::Helper::AggregateCount.new(measure_id) cache_entries.each do |cache_entry| aggregate_count.add_entry(cache_entry, population_sets) end aggregate_count end
cms_payer_code()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 83 def cms_payer_code PAYER_MAP[self['code'][0]] || 'D' end
cpcplus?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 87 def cpcplus? @submission_program == 'CPCPLUS' end
measure_results()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 41 def measure_results @measure_result_hash.values.as_json end
msrpopl?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 53 def msrpopl? self['type'] == 'MSRPOPL' end
not_observ?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 57 def not_observ? self['type'] != 'OBSERV' end
payer_code?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 95 def payer_code? self['type'] == 'PAYER' end
population_observation()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 65 def population_observation self['observation'] end
population_supplemental_data()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 129 def population_supplemental_data reformat_supplemental_data(self['supplemental_data']) end
population_type()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 45 def population_type self['type'] == 'IPP' ? 'IPOP' : self['type'] end
population_value()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 49 def population_value self['value'].round end
reformat_supplemental_data(supplemental_data)
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 133 def reformat_supplemental_data(supplemental_data) supplemental_data_array = [] supplemental_data.each do |supplemental_data_key, counts| counts.each do |key, value| supplemental_data_count = { code: key, value: value, type: supplemental_data_key } supplemental_data_array << supplemental_data_count end end supplemental_data_array end
ry2022_submission?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 91 def ry2022_submission? @ry2022_submission end
stratification_observation()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 61 def stratification_observation self['observation'] end
supplemental_data_code()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 99 def supplemental_data_code case self['type'] when 'RACE' [{ supplemental_data_code: '72826-1', supplemental_data_code_system: '2.16.840.1.113883.6.1' }] when 'ETHNICITY' [{ supplemental_data_code: '69490-1', supplemental_data_code_system: '2.16.840.1.113883.6.1' }] when 'SEX' [{ supplemental_data_code: '76689-9', supplemental_data_code_system: '2.16.840.1.113883.6.1' }] when 'PAYER' [{ supplemental_data_code: '48768-6', supplemental_data_code_system: '2.16.840.1.113883.6.1' }] end end
supplemental_data_value_code_system()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 112 def supplemental_data_value_code_system case self['type'] when 'RACE' '2.16.840.1.113883.6.238' when 'ETHNICITY' '2.16.840.1.113883.6.238' when 'SEX' '2.16.840.1.113883.5.1' when 'PAYER' '2.16.840.1.113883.3.221.5' end end
supplemental_template_ids()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 69 def supplemental_template_ids case self['type'] when 'RACE' [{ tid: '2.16.840.1.113883.10.20.27.3.8', extension: '2016-09-01' }] when 'ETHNICITY' [{ tid: '2.16.840.1.113883.10.20.27.3.7', extension: '2016-09-01' }] when 'SEX' [{ tid: '2.16.840.1.113883.10.20.27.3.6', extension: '2016-09-01' }] when 'PAYER' [{ tid: '2.16.840.1.113883.10.20.27.3.9', extension: '2016-02-01' }, { tid: '2.16.840.1.113883.10.20.27.3.18', extension: '2018-05-01' }] end end
unknown_supplemental_value?()
click to toggle source
# File lib/qrda-export/catIII-r2-1/qrda3_r21.rb, line 125 def unknown_supplemental_value? self['code'] == "" || self['code'] == "UNK" end