http://hl7.org/fhir/StructureDefinition/ElementDefinition|5.0.0

ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.
description: 'ElementDefinition Type: Captures constraints on each element within the resource, profile, or extension.'
derivation: specialization
name: ElementDefinition
type: ElementDefinition
elements:
  constraint:
    constraint:
      eld-21: {human: Constraints should have an expression or else validators will not be able to enforce them, source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: warning, expression: expression.exists()}
      eld-26: {human: Errors cannot be suppressed, source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: (severity = 'error') implies suppress.empty()}
    short: Condition that must evaluate to true
    array: true
    isSummary: true
    index: 49
    elements:
      key: {short: Target of 'condition' reference above, isSummary: true, index: 50}
      requirements: {short: Why this constraint is necessary or appropriate, isSummary: true, index: 51}
      severity:
        short: error | warning
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/constraint-severity|5.0.0'}
        isSummary: true
        index: 52
      suppress: {short: Suppress warning or hint in profile, isSummary: true, index: 53}
      human: {short: Human description of constraint, isSummary: true, index: 54}
      expression: {short: FHIRPath expression of constraint, isSummary: true, index: 55}
      source: {short: Reference to original source of constraint, isSummary: true, index: 56}
    required: [key, severity, human]
  path: {short: Path of the element in the hierarchy of elements, isSummary: true, index: 0}
  requirements: {short: Why this resource has been created, isSummary: true, index: 16}
  min: {short: Minimum Cardinality, isSummary: true, index: 18}
  definition: {short: Full formal definition as narrative text, isSummary: true, index: 14}
  maxValue:
    short: Maximum Allowed Value (for some types)
    choices: []
    isSummary: true
    index: 46
  isModifier: {short: If this modifies the meaning of other elements, meaningWhenMissing: An element is not a modifier element unless it is explicitly specified to be one, isSummary: true, index: 60}
  short: {short: Concise definition for space-constrained presentation, isSummary: true, index: 13}
  mapping:
    short: Map element to another set of definitions
    array: true
    isSummary: true
    index: 74
    elements:
      identity: {short: Reference to mapping declaration, isSummary: true, index: 75}
      language:
        short: Computable language of mapping
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/mimetypes|5.0.0'}
        isSummary: true
        index: 76
      map: {short: Details of the mapping, isSummary: true, index: 77}
      comment: {short: Comments about the mapping or its use, isSummary: true, index: 78}
    required: [map, identity]
  contentReference: {short: Reference to definition of content for the element, isSummary: true, index: 24}
  slicing:
    short: This element is sliced - slices follow
    isSummary: true
    index: 6
    elements:
      discriminator:
        short: Element values that are used to distinguish the slices
        array: true
        isSummary: true
        index: 7
        elements:
          type:
            short: value | exists | type | profile | position
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/discriminator-type|5.0.0'}
            isSummary: true
            index: 8
          path: {short: Path to element value, isSummary: true, index: 9}
        required: [path, type]
      description: {short: Text description of how slicing works (or not), isSummary: true, index: 10}
      ordered: {short: If elements must be in same order as slices, meaningWhenMissing: Order is not required unless specified, isSummary: true, index: 11}
      rules:
        short: closed | open | openAtEnd
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/resource-slicing-rules|5.0.0'}
        isSummary: true
        index: 12
    required: [rules]
  type:
    constraint:
      eld-4: {human: Aggregation may only be specified if one of the allowed types for the element is a reference, source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: aggregation.empty() or (code = 'Reference') or (code = 'canonical') or (code = 'CodeableReference')}
      eld-17: {human: targetProfile is only allowed if the type is Reference or canonical, source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: (code='Reference' or code = 'canonical' or code = 'CodeableReference') or targetProfile.empty()}
    short: Data type and Profile for this element
    array: true
    isSummary: true
    index: 25
    elements:
      code:
        short: Data type or Resource (reference to definition)
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/elementdefinition-types'}
        isSummary: true
        index: 26
      profile: {short: Profiles (StructureDefinition or IG) - one must apply, array: true, isSummary: true, index: 27}
      targetProfile: {short: Profile (StructureDefinition or IG) on the Reference/canonical target - one must apply, array: true, isSummary: true, index: 28}
      aggregation:
        short: contained | referenced | bundled - how aggregated
        array: true
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/resource-aggregation-mode|5.0.0'}
        isSummary: true
        index: 29
      versioning:
        short: either | independent | specific
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/reference-version-rules|5.0.0'}
        isSummary: true
        index: 30
    required: [code]
  mustSupport: {short: If the element must be supported (discouraged - see obligations), meaningWhenMissing: 'In a base type, where the element is being defined for the first time, the element is assumed to be mustSupport = false. In a profile (a constraint on an existing type), if mustSupport is not specific in either the differential or the snapshot, the mustSupport value is not changed from the base definition. Note, though, that the snapshot SHOULD always populate the mustSupport value', isSummary: true, index: 59}
  minValue:
    short: Minimum Allowed Value (for some types)
    choices: []
    isSummary: true
    index: 44
  sliceName: {short: Name for this particular element (in a set of slices), isSummary: true, index: 2}
  meaningWhenMissing: {short: Implicit meaning when this element is missing, isSummary: true, index: 33}
  valueAlternatives: {short: Extensions that are allowed to replace a primitive value, array: true, meaningWhenMissing: 'If this element is missing, then any extension can be used if its context is appropriate', isSummary: true, index: 58}
  binding:
    constraint:
      eld-23: {human: binding SHALL have either description or valueSet, source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: description.exists() or valueSet.exists()}
      eld-12: {human: 'ValueSet SHALL start with http:// or https:// or urn: or #', source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: 'valueSet.exists() implies (valueSet.startsWith(''http:'') or valueSet.startsWith(''https'') or valueSet.startsWith(''urn:'') or valueSet.startsWith(''#''))'}
    short: ValueSet details if this is coded
    isSummary: true
    index: 63
    elements:
      strength:
        short: required | extensible | preferred | example
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/binding-strength|5.0.0'}
        isSummary: true
        index: 64
      description: {short: Intended use of codes in the bound value set, isSummary: true, index: 65}
      valueSet: {short: Source of value set, isSummary: true, index: 66}
      additional:
        short: Additional Bindings - more rules about the binding
        array: true
        isSummary: true
        index: 67
        elements:
          purpose:
            short: maximum | minimum | required | extensible | candidate | current | preferred | ui | starter | component
            binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/additional-binding-purpose|5.0.0'}
            isSummary: true
            index: 68
          valueSet: {short: The value set for the additional binding, isSummary: true, index: 69}
          documentation: {short: Documentation of the purpose of use of the binding, isSummary: true, index: 70}
          shortDoco: {short: Concise documentation - for summary tables, isSummary: true, index: 71}
          usage: {short: 'Qualifies the usage - jurisdiction, gender, workflow status etc.', array: true, isSummary: true, index: 72}
          any: {short: 'Whether binding can applies to all repeats, or just one', isSummary: true, index: 73}
        required: [valueSet, purpose]
    required: [strength]
  alias: {short: Other names, array: true, isSummary: true, index: 17}
  representation:
    short: xmlAttr | xmlText | typeAttr | cdaText | xhtml
    array: true
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/property-representation|5.0.0'}
    isSummary: true
    index: 1
  max:
    constraint:
      eld-3: {human: Max SHALL be a number or "*", source: 'http://hl7.org/fhir/StructureDefinition/ElementDefinition', severity: error, expression: empty() or ($this = '*') or (toInteger() >= 0)}
    short: Maximum Cardinality (a number or *)
    isSummary: true
    index: 19
  label: {short: Name for element to display with or prompt for element, isSummary: true, index: 4}
  condition: {short: Reference to invariant about presence, array: true, isSummary: true, index: 48}
  comment: {short: Comments about the use of this element, isSummary: true, index: 15}
  code:
    short: Corresponding codes in terminologies
    array: true
    binding: {strength: example, valueSet: 'http://loinc.org/vs'}
    isSummary: true
    index: 5
  maxLength: {short: Max length for string type data, isSummary: true, index: 47}
  sliceIsConstraining: {short: If this slice definition constrains an inherited slice definition (or not), isSummary: true, index: 3}
  example:
    short: Example value (as defined for type)
    array: true
    isSummary: true
    index: 39
    elements:
      label: {short: Describes the purpose of this example, isSummary: true, index: 40}
      value:
        short: Value of Example (one of allowed types)
        choices: []
        isSummary: true
        index: 42
    required: [label, value]
  orderMeaning: {short: What the order of the elements means, isSummary: true, index: 34}
  mustHaveValue: {short: 'For primitives, that a value must be present - not replaced by an extension', isSummary: true, index: 57}
  defaultValue:
    short: Specified value if missing from instance
    choices: []
    isSummary: true
    index: 32
  fixed:
    short: Value must be exactly this
    choices: []
    isSummary: true
    index: 36
  base:
    short: Base definition information for tools
    isSummary: true
    index: 20
    elements:
      path: {short: Path that identifies the base element, isSummary: true, index: 21}
      min: {short: Min cardinality of the base element, isSummary: true, index: 22}
      max: {short: Max cardinality of the base element, isSummary: true, index: 23}
    required: [min, max, path]
  isModifierReason: {short: Reason that this element is marked as a modifier, isSummary: true, index: 61}
  isSummary: {short: 'Include when _summary = true?', meaningWhenMissing: An element is not included in the summary unless it is explicitly specified to be so, isSummary: true, index: 62}
  pattern:
    short: Value must have at least these property values
    choices: []
    isSummary: true
    index: 38
class: complex-type
kind: complex-type
url: http://hl7.org/fhir/StructureDefinition/ElementDefinition
base: http://hl7.org/fhir/StructureDefinition/BackboneType
version: 5.0.0
required: [path]