Class: USCoreTestKit::Generator::MustSupportMetadataExtractorUsCore7

Inherits:
Object
  • Object
show all
Defined in:
lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb

Constant Summary collapse

US_CORE_CATEGORY =
['sdoh', 'functional-status', 'disability-status', 'cognitive-status'].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(profile, must_supports) ⇒ MustSupportMetadataExtractorUsCore7

Returns a new instance of MustSupportMetadataExtractorUsCore7.



10
11
12
13
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 10

def initialize(profile, must_supports)
  self.profile = profile
  self.must_supports = must_supports
end

Instance Attribute Details

#must_supportsObject

Returns the value of attribute must_supports.



6
7
8
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 6

def must_supports
  @must_supports
end

#profileObject

Returns the value of attribute profile.



6
7
8
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 6

def profile
  @profile
end

Instance Method Details

#add_must_support_choicesObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 29

def add_must_support_choices
  us_core_6_extractor.add_must_support_choices

  more_choices = []

  case profile.type
  when 'Procedure'
    more_choices << {
      paths: ['reasonCode', 'reasonReference'],
      uscdi_only: true
    }
  end

  return if more_choices.empty?

  must_supports[:choices] ||= []
  must_supports[:choices].concat(more_choices)
end

#handle_special_casesObject



19
20
21
22
23
24
25
26
27
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 19

def handle_special_cases
  us_core_6_extractor.add_patient_uscdi_elements
  add_must_support_choices
  us_core_6_extractor.remove_practitioner_address
  us_core_6_extractor.remove_patient_gender_identity
  us_core_6_extractor.remove_coverage_group_name
  us_core_6_extractor.remove_medicationdispense_practitioner
  us_core_6_extractor.remove_must_supports_from_encounter_diagnosis
end

#us_core_6_extractorObject



15
16
17
# File 'lib/us_core_test_kit/generator/must_support_metadata_extractor_us_core_7.rb', line 15

def us_core_6_extractor
  @us_core_6_extractor ||= MustSupportMetadataExtractorUsCore6.new(profile, must_supports)
end