Class: StructureDefinitionDecorator

Inherits:
FHIR::StructureDefinition
  • Object
show all
Defined in:
lib/au_ps_inferno/utils/structure_definition_decorator.rb

Overview

Decorator for FHIR::StructureDefinition to add convenience methods

Instance Method Summary collapse

Constructor Details

#initialize(data) ⇒ StructureDefinitionDecorator

Returns a new instance of StructureDefinitionDecorator.



5
6
7
8
9
10
11
# File 'lib/au_ps_inferno/utils/structure_definition_decorator.rb', line 5

def initialize(data)
  if data.is_a?(Hash)
    super
  else
    super(data.respond_to?(:source_hash) ? data.source_hash : data.to_hash)
  end
end

Instance Method Details

#extension_slicesObject



25
26
27
# File 'lib/au_ps_inferno/utils/structure_definition_decorator.rb', line 25

def extension_slices
  snapshot.element.filter { |element| element.id.include?(':') }
end

#simple_elements(include_str: nil) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/au_ps_inferno/utils/structure_definition_decorator.rb', line 17

def simple_elements(include_str: nil)
  result = snapshot_elements.select do |element|
    element.mustSupport == true
  end
  result = result.select { |element| element.path.include?(include_str.to_s) } unless include_str.nil?
  result
end

#snapshot_elementsObject



13
14
15
# File 'lib/au_ps_inferno/utils/structure_definition_decorator.rb', line 13

def snapshot_elements
  snapshot.element
end