class FHIR::STU3::ElementDefinition

Extend ElementDefinition for profile validation code

Constants

MULTIPLE_TYPES
SEARCH_PARAMS

Attributes

alias[RW]
base[RW]
binding[RW]
children[RW]

children is used to hierarchically arrange elements so profile validation is easier to compute

code[RW]
comment[RW]
condition[RW]
constraint[RW]
contentReference[RW]
defaultValueAddress[RW]
defaultValueAge[RW]
defaultValueAnnotation[RW]
defaultValueAttachment[RW]
defaultValueBase64Binary[RW]
defaultValueBoolean[RW]
defaultValueCode[RW]
defaultValueCodeableConcept[RW]
defaultValueCoding[RW]
defaultValueContactPoint[RW]
defaultValueCount[RW]
defaultValueDate[RW]
defaultValueDateTime[RW]
defaultValueDecimal[RW]
defaultValueDistance[RW]
defaultValueDuration[RW]
defaultValueHumanName[RW]
defaultValueId[RW]
defaultValueIdentifier[RW]
defaultValueInstant[RW]
defaultValueInteger[RW]
defaultValueMarkdown[RW]
defaultValueMeta[RW]
defaultValueMoney[RW]
defaultValueOid[RW]
defaultValuePeriod[RW]
defaultValuePositiveInt[RW]
defaultValueQuantity[RW]
defaultValueRange[RW]
defaultValueRatio[RW]
defaultValueReference[RW]
defaultValueSampledData[RW]
defaultValueSignature[RW]
defaultValueString[RW]
defaultValueTime[RW]
defaultValueTiming[RW]
defaultValueUnsignedInt[RW]
defaultValueUri[RW]
definition[RW]
example[RW]
extension[RW]
fixedAddress[RW]
fixedAge[RW]
fixedAnnotation[RW]
fixedAttachment[RW]
fixedBase64Binary[RW]
fixedBoolean[RW]
fixedCode[RW]
fixedCodeableConcept[RW]
fixedCoding[RW]
fixedContactPoint[RW]
fixedCount[RW]
fixedDate[RW]
fixedDateTime[RW]
fixedDecimal[RW]
fixedDistance[RW]
fixedDuration[RW]
fixedHumanName[RW]
fixedId[RW]
fixedIdentifier[RW]
fixedInstant[RW]
fixedInteger[RW]
fixedMarkdown[RW]
fixedMeta[RW]
fixedMoney[RW]
fixedOid[RW]
fixedPeriod[RW]
fixedPositiveInt[RW]
fixedQuantity[RW]
fixedRange[RW]
fixedRatio[RW]
fixedReference[RW]
fixedSampledData[RW]
fixedSignature[RW]
fixedString[RW]
fixedTime[RW]
fixedTiming[RW]
fixedUnsignedInt[RW]
fixedUri[RW]
id[RW]
isModifier[RW]
isSummary[RW]
label[RW]
local_name[RW]
mapping[RW]
marked_for_keeping[RW]
max[RW]
maxLength[RW]
maxValueDate[RW]
maxValueDateTime[RW]
maxValueDecimal[RW]
maxValueInstant[RW]
maxValueInteger[RW]
maxValuePositiveInt[RW]
maxValueQuantity[RW]
maxValueTime[RW]
maxValueUnsignedInt[RW]
meaningWhenMissing[RW]
min[RW]
minValueDate[RW]
minValueDateTime[RW]
minValueDecimal[RW]
minValueInstant[RW]
minValueInteger[RW]
minValuePositiveInt[RW]
minValueQuantity[RW]
minValueTime[RW]
minValueUnsignedInt[RW]
mustSupport[RW]
orderMeaning[RW]
path[RW]
patternAddress[RW]
patternAge[RW]
patternAnnotation[RW]
patternAttachment[RW]
patternBase64Binary[RW]
patternBoolean[RW]
patternCode[RW]
patternCodeableConcept[RW]
patternCoding[RW]
patternContactPoint[RW]
patternCount[RW]
patternDate[RW]
patternDateTime[RW]
patternDecimal[RW]
patternDistance[RW]
patternDuration[RW]
patternHumanName[RW]
patternId[RW]
patternIdentifier[RW]
patternInstant[RW]
patternInteger[RW]
patternMarkdown[RW]
patternMeta[RW]
patternMoney[RW]
patternOid[RW]
patternPeriod[RW]
patternPositiveInt[RW]
patternQuantity[RW]
patternRange[RW]
patternRatio[RW]
patternReference[RW]
patternSampledData[RW]
patternSignature[RW]
patternString[RW]
patternTime[RW]
patternTiming[RW]
patternUnsignedInt[RW]
patternUri[RW]
representation[RW]
requirements[RW]
short[RW]
sliceName[RW]
slicing[RW]
type[RW]

Public Instance Methods

add_descendent(element) click to toggle source
# File lib/fhir_stu3_models/fhir_ext/element_definition.rb, line 11
def add_descendent(element)
  @children = [] if @children.nil?
  element.local_name = element.path.gsub("#{path}.", '')
  if @children.last && element.path.start_with?(@children.last.path)
    if element.path == @children.last.path
      # slicing
      @children << element
    else
      @children.last.add_descendent(element)
    end
  else
    @children << element
  end
end
keep_children(whitelist = []) click to toggle source
# File lib/fhir_stu3_models/fhir_ext/element_definition.rb, line 26
def keep_children(whitelist = [])
  @marked_for_keeping = true if whitelist.include?(path)
  return unless @children
  @children.each do |child|
    child.keep_children(whitelist)
  end
end
print_children(spaces = 0) click to toggle source
sweep_children() click to toggle source
# File lib/fhir_stu3_models/fhir_ext/element_definition.rb, line 34
def sweep_children
  return unless @children
  @children.each(&:sweep_children)
  @children = @children.keep_if(&:marked_for_keeping)
  @marked_for_keeping = !@children.empty? || @marked_for_keeping
end