ext-R5-TriggerDefinition.condition
type: StructureDefinition
node role: treeRoot
id:
  v: ext-R5-TriggerDefinition.condition
text:
  status:
    v: extensions
  div:
    v: Generated Narrative: StructureDefinition ext-R5-TriggerDefinition.condition Name Flags Card. Type Description & Constraints<img src="[binary]" alt="doco" style="background-color: inherit"/> Extension 0..1 Extension R5: Whether the event triggers (boolean expression) (new) #xD; Slices for extension 0..* Extension Extension Slice: Unordered, Open by value:url #xD; extension:_datatype 1..1 Extension DataType slice for a FHIR R5 `Expression` value #xD; url 1..1 uri "http://hl7.org/fhir/StructureDefinition/_datatype" #xD; value[x] 1..1 string Value of extension Fixed Value: Expression #xD; extension:description 0..1 Extension R5: Natural language description of the condition (new) #xD; url 1..1 uri "description" #xD; value[x] 0..1 string Natural language description of the condition #xD; extension:name 0..1 Extension R5: Short name assigned to expression for reuse (new) #xD; url 1..1 uri "name" #xD; value[x] 0..1 code Short name assigned to expression for reuse #xD; extension:language 0..1 Extension R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new) #xD; url 1..1 uri "language" #xD; value[x] 0..1 code text/cql | text/fhirpath | application/x-fhir-query | etc. #xD; extension:expression 0..1 Extension R5: Expression in specified language (new) #xD; url 1..1 uri "expression" #xD; value[x] 0..1 string Expression in specified language #xD; extension:reference 0..1 Extension R5: Where the expression is found (new) #xD; url 1..1 uri "reference" #xD; value[x] 0..1 uri Where the expression is found #xD; url 1..1 uri "http://hl7.org/fhir/5.0/StructureDefinition/extension-TriggerDefinition.condition" #xD; value[x] 0..0 Value of extension #xD; <img src="[binary]" alt="doco" style="background-color: inherit"/> Documentation for this format
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-wg
    l: structuredefinition-wg
  value: Code
    v: fhir
extension:
  extension:
    url:
      v: packageId
      l: packageId
    value: Id
      v: hl7.fhir.uv.xver-r5.r3
  extension:
    url:
      v: version
      l: version
    value: String
      v: 0.1.0
  extension:
    url:
      v: uri
      l: uri
    value: Uri
      v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
      l: hl7.fhir.uv.xver-r5.r3
  url:
    v: http://hl7.org/fhir/StructureDefinition/package-source
    l: package-source
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-fmm
    l: structuredefinition-fmm
  value: Integer
    v: 0
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
extension:
  url:
    v: http://hl7.org/fhir/StructureDefinition/structuredefinition-standards-status
    l: structuredefinition-standards-status
  value: Code
    v: trial-use
    extension:
      url:
        v: http://hl7.org/fhir/StructureDefinition/structuredefinition-conformance-derivedFrom
        l: structuredefinition-conformance-derivedFrom
      value: Uri
        v: http://hl7.org/fhir/uv/xver/ImplementationGuide/hl7.fhir.uv.xver-r5.r3
        l: hl7.fhir.uv.xver-r5.r3
url:
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-TriggerDefinition.condition
  l: extension-TriggerDefinition.condition
version:
  v: 0.1.0
name:
  v: ExtensionTriggerDefinition_Condition
title:
  v: R5: Whether the event triggers (boolean expression) (new)
status:
  v: active
experimental:
  v: false
date:
  v: 2026-03-17T21:02:03.8104715+00:00
publisher:
  v: FHIR Infrastructure
contact:
  name:
    v: FHIR Infrastructure
  telecom:
    system:
      v: url
    value:
      v: http://www.hl7.org/Special/committees/fiwg
description:
  v: R5: `TriggerDefinition.condition` (new:Expression)
jurisdiction:
  coding:
    system:
      v: http://unstats.un.org/unsd/methods/m49/m49.htm
      l: m49.htm
    code:
      v: 001
    display:
      v: World
purpose:
  v: This extension is part of the cross-version definitions generated to enable use of the element `TriggerDefinition.condition` as defined in FHIR R5 in FHIR STU3. The source element is defined as: `TriggerDefinition.condition` 0..1 `Expression` Across FHIR versions, the element set has been mapped as: * R5: `TriggerDefinition.condition` 0..1 `Expression` * R4B: `TriggerDefinition.condition` 0..1 `Expression` * R4: `TriggerDefinition.condition` 0..1 `Expression` Following are the generation technical comments: Element `TriggerDefinition.condition` has a context of TriggerDefinition based on following the parent source element upwards and mapping to `TriggerDefinition`. Element `TriggerDefinition.condition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
fhir version:
  v: 3.0.2
mapping:
  identity:
    v: rim
  uri:
    v: http://hl7.org/v3
    l: v3
  name:
    v: RIM Mapping
kind:
  v: complex-type
abstract:
  v: false
context type:
  v: datatype
context:
  v: TriggerDefinition
type:
  v: Extension
base definition:
  v: http://hl7.org/fhir/StructureDefinition/Extension
  l: Extension
derivation:
  v: constraint
snapshot:
  element:
    id:
      v: Extension
    path:
      v: Extension
    short:
      v: R5: Whether the event triggers (boolean expression) (new)
    definition:
      v: R5: `TriggerDefinition.condition` (new:Expression)
    comment:
      v: Element `TriggerDefinition.condition` has a context of TriggerDefinition based on following the parent source element upwards and mapping to `TriggerDefinition`. Element `TriggerDefinition.condition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Extension
      min:
        v: 0
      max:
        v: *
    condition:
      v: ele-1
    constraint:
      key:
        v: ele-1
      severity:
        v: error
      human:
        v: All FHIR elements must have a @value or children
      expression:
        v: hasValue() | (children().count() > id.count())
      xpath:
        v: @value|f:*|h:div
      source:
        v: http://hl7.org/fhir/StructureDefinition/Element
        l: Element
    constraint:
      key:
        v: ext-1
      severity:
        v: error
      human:
        v: Must have either extensions or value[x], not both
      expression:
        v: extension.exists() != value.exists()
      xpath:
        v: exists(f:extension)!=exists(f:*[starts-with(local-name(.), 'value')])
      source:
        v: http://hl7.org/fhir/StructureDefinition/Extension
        l: Extension
    is modifier:
      v: false
  element:
    id:
      v: Extension.id
    path:
      v: Extension.id
    representation:
      v: xmlAttr
    short:
      v: xml:id (or equivalent in JSON)
    definition:
      v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
    min:
      v: 0
    max:
      v: 1
    base:
      path:
        v: Element.id
      min:
        v: 0
      max:
        v: 1

code:
  v: string
  l: string

identity:
  v: rim
map:
  v: n/a

id:
  v: Extension.extension
path:
  v: Extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  ordered:
    v: false
  rules:
    v: open
short:
  v: Extension
definition:
  v: An Extension
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:_datatype
path:
  v: Extension.extension
slice name:
  v: _datatype
short:
  v: DataType slice for a FHIR R5 `Expression` value
definition:
  v: Slice to indicate the presence of a R5 `Expression` in FHIR STU3
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:_datatype.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:_datatype.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:_datatype.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: http://hl7.org/fhir/StructureDefinition/_datatype
  l: datatype
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:_datatype.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Value of extension
definition:
  v: Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
comment:
  v: Must be: Expression
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
fixed: String
  v: Expression
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:description
path:
  v: Extension.extension
slice name:
  v: description
short:
  v: R5: Natural language description of the condition (new)
definition:
  v: R5: `Expression.description` (new:string)
comment:
  v: Element `Expression.description` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.description` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `Expression.description` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.description` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:description.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:description.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:description.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: description
  l: description
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:description.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Natural language description of the condition
definition:
  v: A brief, natural language description of the condition that effectively communicates the intended semantics.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:name
path:
  v: Extension.extension
slice name:
  v: name
short:
  v: R5: Short name assigned to expression for reuse (new)
definition:
  v: R5: `Expression.name` (new:code)
comment:
  v: Element `Expression.name` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.name` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
requirements:
  v: Element `Expression.name` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.name` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:name.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:name.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:name.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: name
  l: name
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:name.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Short name assigned to expression for reuse
definition:
  v: A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:language
path:
  v: Extension.extension
slice name:
  v: language
short:
  v: R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)
definition:
  v: R5: `Expression.language` (new:code)
comment:
  v: Element matches Basic element path `Basic.language` (`Resource.language`), use that element instead. Element `Expression.language` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.language` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
requirements:
  v: The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified. Element matches Basic element path `Basic.language` (`Resource.language`), use that element instead. Element `Expression.language` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.language` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:language.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:language.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:language.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: language
  l: language
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:language.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: text/cql | text/fhirpath | application/x-fhir-query | etc.
definition:
  v: The media type of the language for the expression.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:expression
path:
  v: Extension.extension
slice name:
  v: expression
short:
  v: R5: Expression in specified language (new)
definition:
  v: R5: `Expression.expression` (new:string)
comment:
  v: Element `Expression.expression` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.expression` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content.
requirements:
  v: Element `Expression.expression` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.expression` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:expression.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:expression.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:expression.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: expression
  l: expression
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:expression.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Expression in specified language
definition:
  v: An expression in the specified language that returns a value.
comment:
  v: If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:reference
path:
  v: Extension.extension
slice name:
  v: reference
short:
  v: R5: Where the expression is found (new)
definition:
  v: R5: `Expression.reference` (new:uri)
comment:
  v: Element `Expression.reference` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.reference` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). If both a reference and an expression is found, the reference SHALL point to the same expression.
requirements:
  v: Element `Expression.reference` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.reference` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension

id:
  v: Extension.extension:reference.id
path:
  v: Extension.extension.id
representation:
  v: xmlAttr
short:
  v: xml:id (or equivalent in JSON)
definition:
  v: unique id for the element within a resource (for internal references). This may be any string value that does not contain spaces.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Element.id
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:reference.extension
path:
  v: Extension.extension.extension
slicing:
  discriminator:
    type:
      v: value
    path:
      v: url
  description:
    v: Extensions are always sliced by (at least) url
  rules:
    v: open
short:
  v: Additional Content defined by implementations
definition:
  v: May be used to represent additional information that is not part of the basic definition of the element. In order to make the use of extensions safe and manageable, there is a strict set of governance applied to the definition and use of extensions. Though any implementer is allowed to define an extension, there is a set of requirements that SHALL be met as part of the definition of the extension.
comment:
  v: There can be no stigma associated with the use of extensions by any application, project, or standard - regardless of the institution or jurisdiction that uses or defines the extensions. The use of extensions is what allows the FHIR specification to retain a core level of simplicity for everyone.
alias:
  v: extensions
alias:
  v: user content
min:
  v: 0
max:
  v: *
base:
  path:
    v: Element.extension
  min:
    v: 0
  max:
    v: *
type:
  code:
    v: Extension
    l: Extension
mapping:
  identity:
    v: rim
  map:
    v: n/a

id:
  v: Extension.extension:reference.url
path:
  v: Extension.extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: reference
  l: reference
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.extension:reference.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Where the expression is found
definition:
  v: A URI that defines where the expression is found.
comment:
  v: If both a reference and an expression is found, the reference SHALL point to the same expression.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.url
path:
  v: Extension.url
representation:
  v: xmlAttr
short:
  v: identifies the meaning of the extension
definition:
  v: Source of the definition for the extension code - a logical name or a URL.
comment:
  v: The definition may point directly to a computable or human-readable definition of the extensibility codes, or it may be a logical URI as declared in some other specification. The definition SHALL be a URI for the Structure Definition defining the extension.
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
type:
  code:
    v: uri
    l: uri
fixed: Uri
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-TriggerDefinition.condition
  l: extension-TriggerDefinition.condition
mapping:
  identity:
    v: rim
  map:
    v: N/A

id:
  v: Extension.value[x]
path:
  v: Extension.value[x]
short:
  v: Value of extension
definition:
  v: Value of extension - may be a resource or one of a constrained set of the data types (see Extensibility in the spec for list).
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: base64Binary
    l: base64Binary
type:
  code:
    v: boolean
    l: boolean
type:
  code:
    v: code
    l: code
type:
  code:
    v: date
    l: date
type:
  code:
    v: dateTime
    l: dateTime
type:
  code:
    v: decimal
    l: decimal
type:
  code:
    v: id
    l: id
type:
  code:
    v: instant
    l: instant
type:
  code:
    v: integer
    l: integer
type:
  code:
    v: markdown
    l: markdown
type:
  code:
    v: oid
    l: oid
type:
  code:
    v: positiveInt
    l: positiveInt
type:
  code:
    v: string
    l: string
type:
  code:
    v: time
    l: time
type:
  code:
    v: unsignedInt
    l: unsignedInt
type:
  code:
    v: uri
    l: uri
type:
  code:
    v: Address
    l: Address
type:
  code:
    v: Age
    l: Age
type:
  code:
    v: Annotation
    l: Annotation
type:
  code:
    v: Attachment
    l: Attachment
type:
  code:
    v: CodeableConcept
    l: CodeableConcept
type:
  code:
    v: Coding
    l: Coding
type:
  code:
    v: ContactPoint
    l: ContactPoint
type:
  code:
    v: Count
    l: Count
type:
  code:
    v: Distance
    l: Distance
type:
  code:
    v: Duration
    l: Duration
type:
  code:
    v: HumanName
    l: HumanName
type:
  code:
    v: Identifier
    l: Identifier
type:
  code:
    v: Money
    l: Money
type:
  code:
    v: Period
    l: Period
type:
  code:
    v: Quantity
    l: Quantity
type:
  code:
    v: Range
    l: Range
type:
  code:
    v: Ratio
    l: Ratio
type:
  code:
    v: Reference
    l: Reference
type:
  code:
    v: SampledData
    l: SampledData
type:
  code:
    v: Signature
    l: Signature
type:
  code:
    v: Timing
    l: Timing
type:
  code:
    v: Meta
    l: Meta
mapping:
  identity:
    v: rim
  map:
    v: N/A

element:
  id:
    v: Extension
  path:
    v: Extension
  short:
    v: R5: Whether the event triggers (boolean expression) (new)
  definition:
    v: R5: `TriggerDefinition.condition` (new:Expression)
  comment:
    v: Element `TriggerDefinition.condition` has a context of TriggerDefinition based on following the parent source element upwards and mapping to `TriggerDefinition`. Element `TriggerDefinition.condition` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). This element can be only be specified for data type triggers and provides additional semantics for the trigger. The context available within the condition is based on the type of data event. For all events, the current resource will be available as context. In addition, for modification events, the previous resource will also be available. The expression may be inlined, or may be a simple absolute URI, which is a reference to a named expression within a logic library referenced by a library element or extension within the containing resource. If the expression is a FHIR Path expression, it evaluates in the context of a resource of one of the type identified in the data requirement, and may also refer to the variable %previous for delta comparisons on events of type data-changed, data-modified, and data-deleted which will always have the same type.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension
    min:
      v: 0
    max:
      v: *
  is modifier:
    v: false
element:
  id:
    v: Extension.extension
  path:
    v: Extension.extension
  slicing:
    discriminator:
      type:
        v: value
      path:
        v: url
    ordered:
      v: false
    rules:
      v: open
  min:
    v: 0
  max:
    v: *
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:_datatype
  path:
    v: Extension.extension
  slice name:
    v: _datatype
  short:
    v: DataType slice for a FHIR R5 `Expression` value
  definition:
    v: Slice to indicate the presence of a R5 `Expression` in FHIR STU3
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:_datatype.url
  path:
    v: Extension.extension.url
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.url
    min:
      v: 1
    max:
      v: 1
  fixed: Uri
    v: http://hl7.org/fhir/StructureDefinition/_datatype
    l: datatype
element:
  id:
    v: Extension.extension:_datatype.value[x]
  path:
    v: Extension.extension.value[x]
  comment:
    v: Must be: Expression
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.value[x]
    min:
      v: 0
    max:
      v: 1
  type:
    code:
      v: string
      l: string
  fixed: String
    v: Expression
element:
  id:
    v: Extension.extension:description
  path:
    v: Extension.extension
  slice name:
    v: description
  short:
    v: R5: Natural language description of the condition (new)
  definition:
    v: R5: `Expression.description` (new:string)
  comment:
    v: Element `Expression.description` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.description` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  requirements:
    v: Element `Expression.description` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.description` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.extension
    min:
      v: 0
    max:
      v: *
element:
  id:
    v: Extension.extension:description.url
  path:
    v: Extension.extension.url
  min:
    v: 1
  max:
    v: 1
  base:
    path:
      v: Extension.url
    min:
      v: 1
    max:
      v: 1
  fixed: Uri
    v: description
    l: description
element:
  id:
    v: Extension.extension:description.value[x]
  path:
    v: Extension.extension.value[x]
  short:
    v: Natural language description of the condition
  definition:
    v: A brief, natural language description of the condition that effectively communicates the intended semantics.
  min:
    v: 0
  max:
    v: 1
  base:
    path:
      v: Extension.value[x]
    min:
      v: 0
    max:
      v: 1
  type:
    code:
      v: string
      l: string
element:
  id:
    v: Extension.extension:name
  path:
    v: Extension.extension
  slice name:
    v: name
  short:
    v: R5: Short name assigned to expression for reuse (new)
  definition:
    v: R5: `Expression.name` (new:code)
  comment:
    v: Element `Expression.name` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.name` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  requirements:
    v: Element `Expression.name` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.name` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
  min:
    v: 0

v: 1

path:
  v: Extension.extension
min:
  v: 0
max:
  v: *

id:
  v: Extension.extension:name.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: name
  l: name

id:
  v: Extension.extension:name.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Short name assigned to expression for reuse
definition:
  v: A short name assigned to the expression to allow for multiple reuse of the expression in the context where it is defined.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code

id:
  v: Extension.extension:language
path:
  v: Extension.extension
slice name:
  v: language
short:
  v: R5: text/cql | text/fhirpath | application/x-fhir-query | etc. (new)
definition:
  v: R5: `Expression.language` (new:code)
comment:
  v: Element matches Basic element path `Basic.language` (`Resource.language`), use that element instead. Element `Expression.language` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.language` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
requirements:
  v: The cardinality of this element is optional to allow text only as part of the authoring process. However, in order to be executable, the expression element must be specified. Element matches Basic element path `Basic.language` (`Resource.language`), use that element instead. Element `Expression.language` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.language` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:language.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: language
  l: language

id:
  v: Extension.extension:language.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: text/cql | text/fhirpath | application/x-fhir-query | etc.
definition:
  v: The media type of the language for the expression.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: code
    l: code

id:
  v: Extension.extension:expression
path:
  v: Extension.extension
slice name:
  v: expression
short:
  v: R5: Expression in specified language (new)
definition:
  v: R5: `Expression.expression` (new:string)
comment:
  v: Element `Expression.expression` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.expression` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content.
requirements:
  v: Element `Expression.expression` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.expression` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:expression.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: expression
  l: expression

id:
  v: Extension.extension:expression.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Expression in specified language
definition:
  v: An expression in the specified language that returns a value.
comment:
  v: If Expression.expression and Expression.reference are both present, the Expression.expression might just be a name pointing something within the referenced content.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: string
    l: string

id:
  v: Extension.extension:reference
path:
  v: Extension.extension
slice name:
  v: reference
short:
  v: R5: Where the expression is found (new)
definition:
  v: R5: `Expression.reference` (new:uri)
comment:
  v: Element `Expression.reference` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.reference` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element). If both a reference and an expression is found, the reference SHALL point to the same expression.
requirements:
  v: Element `Expression.reference` is not mapped to FHIR STU3, since FHIR R5 `Expression` is not mapped. Element `Expression.reference` has no mapping targets in FHIR STU3. Typically, this is because the element has been added (is a new element).
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.extension
  min:
    v: 0
  max:
    v: *

id:
  v: Extension.extension:reference.url
path:
  v: Extension.extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: reference
  l: reference

id:
  v: Extension.extension:reference.value[x]
path:
  v: Extension.extension.value[x]
short:
  v: Where the expression is found
definition:
  v: A URI that defines where the expression is found.
comment:
  v: If both a reference and an expression is found, the reference SHALL point to the same expression.
min:
  v: 0
max:
  v: 1
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1
type:
  code:
    v: uri
    l: uri

id:
  v: Extension.url
path:
  v: Extension.url
min:
  v: 1
max:
  v: 1
base:
  path:
    v: Extension.url
  min:
    v: 1
  max:
    v: 1
fixed: Uri
  v: http://hl7.org/fhir/5.0/StructureDefinition/extension-TriggerDefinition.condition
  l: extension-TriggerDefinition.condition

id:
  v: Extension.value[x]
path:
  v: Extension.value[x]
min:
  v: 0
max:
  v: 0
base:
  path:
    v: Extension.value[x]
  min:
    v: 0
  max:
    v: 1