Class: DaVinciCRDTestKit::V221::CoverageInfoReasonTest
- Inherits:
-
Inferno::Test
- Object
- Inferno::Test
- DaVinciCRDTestKit::V221::CoverageInfoReasonTest
- Defined in:
- lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb
Overview
Users of this test need to set config options for coverage_code, reason_code, and optionally require_reason_text
Constant Summary collapse
- COVERAGE_INFO_EXTENSION_URL =
'http://hl7.org/fhir/us/davinci-crd/StructureDefinition/ext-coverage-information'.freeze
Instance Method Summary collapse
- #coverage_extension_value(coverage_info_extension) ⇒ Object
- #coverage_info_extensions(resource) ⇒ Object
- #expected_coverage?(coverage_info_extension) ⇒ Boolean
- #expected_coverage_code ⇒ Object
- #expected_reason?(coverage_info_extension) ⇒ Boolean
- #expected_reason_code ⇒ Object
- #reason_extension_values(coverage_info_extension) ⇒ Object
- #reason_text?(coverage_info_extension) ⇒ Boolean
- #require_reason_text? ⇒ Boolean
Instance Method Details
#coverage_extension_value(coverage_info_extension) ⇒ Object
67 68 69 70 71 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 67 def coverage_extension_value(coverage_info_extension) coverage_info_extension['extension'] .find { |extension| extension['url'] == 'covered' } &.dig('valueCode') end |
#coverage_info_extensions(resource) ⇒ Object
63 64 65 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 63 def coverage_info_extensions(resource) resource['extension'].select { |extension| extension['url'] == COVERAGE_INFO_EXTENSION_URL } end |
#expected_coverage?(coverage_info_extension) ⇒ Boolean
73 74 75 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 73 def expected_coverage?(coverage_info_extension) coverage_extension_value(coverage_info_extension) == expected_coverage_code end |
#expected_coverage_code ⇒ Object
95 96 97 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 95 def expected_coverage_code config.[:expected_coverage_code] end |
#expected_reason?(coverage_info_extension) ⇒ Boolean
84 85 86 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 84 def expected_reason?(coverage_info_extension) reason_extension_values(coverage_info_extension)&.include? expected_reason_code end |
#expected_reason_code ⇒ Object
99 100 101 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 99 def expected_reason_code config.[:expected_reason_code] end |
#reason_extension_values(coverage_info_extension) ⇒ Object
77 78 79 80 81 82 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 77 def reason_extension_values(coverage_info_extension) coverage_info_extension['extension'] .find { |extension| extension['url'] == 'reason' } &.dig('valueCodeableConcept', 'coding') &.map { |coding| coding['code'] } end |
#reason_text?(coverage_info_extension) ⇒ Boolean
88 89 90 91 92 93 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 88 def reason_text?(coverage_info_extension) coverage_info_extension['extension'] .find { |extension| extension['url'] == 'reason' } &.dig('valueCodeableConcept', 'text') &.present? end |
#require_reason_text? ⇒ Boolean
103 104 105 |
# File 'lib/davinci_crd_test_kit/server/v2.2.1/specific_coverage_responses/coverage_info_reason_test.rb', line 103 def require_reason_text? config.[:require_reason_text] || false end |