PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.extensions.r3@5.3.0-ballot-tc1
    http://hl7.org/fhir/StructureDefinition/targetConstraint
description: Specifies a constraint that is enforced on instantiated (or target) resources. This extension can be applied to definitional resources (such as ActivityDefinition or Measure) and indicates that the constraint should be enforced on resources that are instantiated from the definition. For example, this extension can be used to define a constraint such as `numerator count must be less than or equal to denominator count`.
package_name: hl7.fhir.uv.extensions.r3
derivation: constraint
name: TargetConstraint
type: Extension
elements:
  extension:
    short: Unique identifier
    type: Extension
    index: 0
    slicing:
      slices:
        key:
          match: {}
          schema:
            short: Unique identifier
            type: Extension
            _required: true
            index: 0
            extensions: {}
            elements:
              extension: {index: 1}
              url:
                type: uri
                pattern: {type: Uri, value: key}
                index: 2
              value:
                choices: [valueId]
                index: 4
              valueId: {type: id, choiceOf: value, index: 5}
            required: [value, valueId]
        requirements:
          match: {}
          schema:
            type: Extension
            short: Why the constraint is defined
            index: 6
            extensions: {}
            elements:
              extension: {index: 7}
              url:
                type: uri
                pattern: {type: Uri, value: requirements}
                index: 8
              value:
                choices: [valueMarkdown]
                index: 10
              valueMarkdown: {type: markdown, choiceOf: value, index: 11}
            required: [valueMarkdown, value]
        severity:
          match: {}
          schema:
            type: Extension
            short: error | warning
            _required: true
            index: 12
            extensions: {}
            elements:
              extension: {index: 13}
              url:
                type: uri
                pattern: {type: Uri, value: severity}
                index: 14
              value:
                choices: [valueCode]
                index: 16
              valueCode: {type: code, choiceOf: value, index: 17}
            required: [valueCode, value]
        expression:
          match: {}
          schema:
            short: The invariant expression
            type: Extension
            _required: true
            index: 18
            extensions:
              _datatype:
                url: h
                type: Extension
                short: DataType name 'Expression' from R5
                index: 20
                elements:
                  value:
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 22
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    choiceOf: value
                    index: 23
                required: [valueString, value]
              description:
                url: description
                short: Natural language description of the condition
                index: 24
                extensions: {}
                elements:
                  extension: {index: 25}
                  url:
                    pattern: {type: Uri, value: description}
                    index: 26
                  value:
                    choices: [valueString]
                    index: 28
                  valueString: {type: string, choiceOf: value, index: 29}
                required: [valueString, value]
              name:
                url: name
                short: Short name assigned to expression for reuse
                index: 30
                extensions: {}
                elements:
                  extension: {index: 31}
                  url:
                    pattern: {type: Uri, value: name}
                    index: 32
                  value:
                    choices: [valueCode]
                    index: 34
                  valueCode: {type: code, choiceOf: value, index: 35}
                required: [valueCode, value]
              language:
                url: language
                short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: language}
                    index: 38
                  value:
                    choices: [valueCode]
                    index: 40
                  valueCode: {type: code, choiceOf: value, index: 41}
                required: [valueCode, value]
              expression:
                url: expression
                short: Expression in specified language
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: expression}
                    index: 44
                  value:
                    choices: [valueString]
                    index: 46
                  valueString: {type: string, choiceOf: value, index: 47}
                required: [valueString, value]
              reference:
                url: reference
                short: Where the expression is found
                index: 48
                extensions: {}
                elements:
                  extension: {index: 49}
                  url:
                    pattern: {type: Uri, value: reference}
                    index: 50
                  value:
                    choices: [valueUri]
                    index: 52
                  valueUri: {type: uri, choiceOf: value, index: 53}
                required: [valueUri, value]
            elements:
              extension:
                array: true
                index: 19
                slicing:
                  rules: open
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: null
                  slices:
                    _datatype:
                      match: {url: null}
                      schema:
                        type: Extension
                        short: DataType name 'Expression' from R5
                        url: h
                        index: 20
                        elements:
                          value:
                            pattern: {type: String, value: Expression}
                            choices: [valueString]
                            index: 22
                          valueString:
                            type: string
                            pattern: {type: String, value: Expression}
                            choiceOf: value
                            index: 23
                        required: [valueString, value]
                    description:
                      match: {url: description}
                      schema:
                        short: Natural language description of the condition
                        index: 24
                        extensions: {}
                        elements:
                          extension: {index: 25}
                          url:
                            pattern: {type: Uri, value: description}
                            index: 26
                          value:
                            choices: [valueString]
                            index: 28
                          valueString: {type: string, choiceOf: value, index: 29}
                        required: [valueString, value]
                    name:
                      match: {url: name}
                      schema:
                        short: Short name assigned to expression for reuse
                        index: 30
                        extensions: {}
                        elements:
                          extension: {index: 31}
                          url:
                            pattern: {type: Uri, value: name}
                            index: 32
                          value:
                            choices: [valueCode]
                            index: 34
                          valueCode: {type: code, choiceOf: value, index: 35}
                        required: [valueCode, value]
                    language:
                      match: {url: language}
                      schema:
                        short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                        index: 36
                        extensions: {}
                        elements:
                          extension: {index: 37}
                          url:
                            pattern: {type: Uri, value: language}
                            index: 38
                          value:
                            choices: [valueCode]
                            index: 40
                          valueCode: {type: code, choiceOf: value, index: 41}
                        required: [valueCode, value]
                    expression:
                      match: {url: expression}
                      schema:
                        short: Expression in specified language
                        index: 42
                        extensions: {}
                        elements:
                          extension: {index: 43}
                          url:
                            pattern: {type: Uri, value: expression}
                            index: 44
                          value:
                            choices: [valueString]
                            index: 46
                          valueString: {type: string, choiceOf: value, index: 47}
                        required: [valueString, value]
                    reference:
                      match: {url: reference}
                      schema:
                        short: Where the expression is found
                        index: 48
                        extensions: {}
                        elements:
                          extension: {index: 49}
                          url:
                            pattern: {type: Uri, value: reference}
                            index: 50
                          value:
                            choices: [valueUri]
                            index: 52
                          valueUri: {type: uri, choiceOf: value, index: 53}
                        required: [valueUri, value]
              url:
                type: uri
                pattern: {type: Uri, value: expression}
                index: 54
              value:
                choices: []
                index: 56
        human:
          match: {}
          schema:
            type: Extension
            short: Human-readable rule
            _required: true
            index: 57
            extensions: {}
            elements:
              extension: {index: 58}
              url:
                type: uri
                pattern: {type: Uri, value: human}
                index: 59
              value:
                choices: [valueString]
                index: 61
              valueString: {type: string, choiceOf: value, index: 62}
            required: [valueString, value]
        location:
          match: {}
          schema:
            type: Extension
            short: Relative path to elements
            array: true
            index: 63
            extensions: {}
            elements:
              extension: {index: 64}
              url:
                type: uri
                pattern: {type: Uri, value: location}
                index: 65
              value:
                choices: [valueString]
                index: 67
              valueString: {type: string, choiceOf: value, index: 68}
            required: [valueString, value]
  url:
    pattern: {type: Uri, value: 'http://hl7.org/fhir/StructureDefinition/targetConstraint'}
    index: 69
  value:
    choices: []
    index: 71
package_version: 5.3.0-ballot-tc1
extensions:
  key:
    url: null
    short: Unique identifier
    type: Extension
    _required: true
    index: 0
    extensions: {}
    elements:
      extension: {index: 1}
      url:
        type: uri
        pattern: {type: Uri, value: key}
        index: 2
      value:
        choices: [valueId]
        index: 4
      valueId: {type: id, choiceOf: value, index: 5}
    required: [value, valueId]
  requirements:
    url: null
    type: Extension
    short: Why the constraint is defined
    index: 6
    extensions: {}
    elements:
      extension: {index: 7}
      url:
        type: uri
        pattern: {type: Uri, value: requirements}
        index: 8
      value:
        choices: [valueMarkdown]
        index: 10
      valueMarkdown: {type: markdown, choiceOf: value, index: 11}
    required: [valueMarkdown, value]
  severity:
    url: null
    type: Extension
    short: error | warning
    _required: true
    index: 12
    extensions: {}
    elements:
      extension: {index: 13}
      url:
        type: uri
        pattern: {type: Uri, value: severity}
        index: 14
      value:
        choices: [valueCode]
        index: 16
      valueCode: {type: code, choiceOf: value, index: 17}
    required: [valueCode, value]
  expression:
    url: null
    short: The invariant expression
    type: Extension
    _required: true
    index: 18
    extensions:
      _datatype:
        url: h
        type: Extension
        short: DataType name 'Expression' from R5
        index: 20
        elements:
          value:
            pattern: {type: String, value: Expression}
            choices: [valueString]
            index: 22
          valueString:
            type: string
            pattern: {type: String, value: Expression}
            choiceOf: value
            index: 23
        required: [valueString, value]
      description:
        url: description
        short: Natural language description of the condition
        index: 24
        extensions: {}
        elements:
          extension: {index: 25}
          url:
            pattern: {type: Uri, value: description}
            index: 26
          value:
            choices: [valueString]
            index: 28
          valueString: {type: string, choiceOf: value, index: 29}
        required: [valueString, value]
      name:
        url: name
        short: Short name assigned to expression for reuse
        index: 30
        extensions: {}
        elements:
          extension: {index: 31}
          url:
            pattern: {type: Uri, value: name}
            index: 32
          value:
            choices: [valueCode]
            index: 34
          valueCode: {type: code, choiceOf: value, index: 35}
        required: [valueCode, value]
      language:
        url: language
        short: text/cql | text/fhirpath | application/x-fhir-query | etc.
        index: 36
        extensions: {}
        elements:
          extension: {index: 37}
          url:
            pattern: {type: Uri, value: language}
            index: 38
          value:
            choices: [valueCode]
            index: 40
          valueCode: {type: code, choiceOf: value, index: 41}
        required: [valueCode, value]
      expression:
        url: expression
        short: Expression in specified language
        index: 42
        extensions: {}
        elements:
          extension: {index: 43}
          url:
            pattern: {type: Uri, value: expression}
            index: 44
          value:
            choices: [valueString]
            index: 46
          valueString: {type: string, choiceOf: value, index: 47}
        required: [valueString, value]
      reference:
        url: reference
        short: Where the expression is found
        index: 48
        extensions: {}
        elements:
          extension: {index: 49}
          url:
            pattern: {type: Uri, value: reference}
            index: 50
          value:
            choices: [valueUri]
            index: 52
          valueUri: {type: uri, choiceOf: value, index: 53}
        required: [valueUri, value]
    elements:
      extension:
        array: true
        index: 19
        slicing:
          rules: open
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: null
          slices:
            _datatype:
              match: {url: null}
              schema:
                type: Extension
                short: DataType name 'Expression' from R5
                url: h
                index: 20
                elements:
                  value:
                    pattern: {type: String, value: Expression}
                    choices: [valueString]
                    index: 22
                  valueString:
                    type: string
                    pattern: {type: String, value: Expression}
                    choiceOf: value
                    index: 23
                required: [valueString, value]
            description:
              match: {url: description}
              schema:
                short: Natural language description of the condition
                index: 24
                extensions: {}
                elements:
                  extension: {index: 25}
                  url:
                    pattern: {type: Uri, value: description}
                    index: 26
                  value:
                    choices: [valueString]
                    index: 28
                  valueString: {type: string, choiceOf: value, index: 29}
                required: [valueString, value]
            name:
              match: {url: name}
              schema:
                short: Short name assigned to expression for reuse
                index: 30
                extensions: {}
                elements:
                  extension: {index: 31}
                  url:
                    pattern: {type: Uri, value: name}
                    index: 32
                  value:
                    choices: [valueCode]
                    index: 34
                  valueCode: {type: code, choiceOf: value, index: 35}
                required: [valueCode, value]
            language:
              match: {url: language}
              schema:
                short: text/cql | text/fhirpath | application/x-fhir-query | etc.
                index: 36
                extensions: {}
                elements:
                  extension: {index: 37}
                  url:
                    pattern: {type: Uri, value: language}
                    index: 38
                  value:
                    choices: [valueCode]
                    index: 40
                  valueCode: {type: code, choiceOf: value, index: 41}
                required: [valueCode, value]
            expression:
              match: {url: expression}
              schema:
                short: Expression in specified language
                index: 42
                extensions: {}
                elements:
                  extension: {index: 43}
                  url:
                    pattern: {type: Uri, value: expression}
                    index: 44
                  value:
                    choices: [valueString]
                    index: 46
                  valueString: {type: string, choiceOf: value, index: 47}
                required: [valueString, value]
            reference:
              match: {url: reference}
              schema:
                short: Where the expression is found
                index: 48
                extensions: {}
                elements:
                  extension: {index: 49}
                  url:
                    pattern: {type: Uri, value: reference}
                    index: 50
                  value:
                    choices: [valueUri]
                    index: 52
                  valueUri: {type: uri, choiceOf: value, index: 53}
                required: [valueUri, value]
      url:
        type: uri
        pattern: {type: Uri, value: expression}
        index: 54
      value:
        choices: []
        index: 56
  human:
    url: null
    type: Extension
    short: Human-readable rule
    _required: true
    index: 57
    extensions: {}
    elements:
      extension: {index: 58}
      url:
        type: uri
        pattern: {type: Uri, value: human}
        index: 59
      value:
        choices: [valueString]
        index: 61
      valueString: {type: string, choiceOf: value, index: 62}
    required: [valueString, value]
  location:
    url: null
    type: Extension
    short: Relative path to elements
    array: true
    index: 63
    extensions: {}
    elements:
      extension: {index: 64}
      url:
        type: uri
        pattern: {type: Uri, value: location}
        index: 65
      value:
        choices: [valueString]
        index: 67
      valueString: {type: string, choiceOf: value, index: 68}
    required: [valueString, value]
class: extension
kind: complex-type
url: http://hl7.org/fhir/StructureDefinition/targetConstraint
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 5.3.0-ballot-tc1
required: [extension]