Module: USCoreTestKit::InterpreterRequiredExtensionTest

Included in:
USCoreV800::InterpreterRequiredExtensionTest
Defined in:
lib/us_core_test_kit/interpreter_required_extension_test.rb

Instance Method Summary collapse

Instance Method Details

#interpreter_required_extension_exists?(resource) ⇒ Boolean

Returns:

  • (Boolean)


21
22
23
24
25
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 21

def interpreter_required_extension_exists?(resource)
  resource.extension.present? && resource.extension.any? do |extension|
    extension.url == interpreter_required_extension_url
  end
end

#interpreter_required_extension_urlObject



17
18
19
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 17

def interpreter_required_extension_url
  'http://hl7.org/fhir/us/core/StructureDefinition/us-core-interpreter-needed'
end

#scratch_encounter_resourcesObject



7
8
9
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 7

def scratch_encounter_resources
  scratch[:encounter_resources] ||= {}
end

#scratch_patient_and_encounter_resourcesObject



11
12
13
14
15
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 11

def scratch_patient_and_encounter_resources
  all_resources = scratch_patient_resources[:all]
  all_resources.push(*scratch_encounter_resources[:all])
  all_resources
end

#scratch_patient_resourcesObject



3
4
5
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 3

def scratch_patient_resources
  scratch[:patient_resources] ||= {}
end

#verify_interpreter_required_extension_existsObject



27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/us_core_test_kit/interpreter_required_extension_test.rb', line 27

def verify_interpreter_required_extension_exists
  patient_and_encounter_resources = scratch_patient_and_encounter_resources

  extension_found = patient_and_encounter_resources.any? do |resource|
    interpreter_required_extension_exists?(resource)
  end

  assert(extension_found, %(
    A certifying Server system SHALL support the US Core Interpreter Needed Extension on at least one of the US
    Core Patient or US Core Encounter Profiles, but the extension was not found on either profile.
  ))
end