PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver@r3.r4-0.0.1-snapshot-2
    http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule
description: This cross-version extension represents TestScript.rule from http://hl7.org/fhir/StructureDefinition/TestScript|3.0.2 for use in FHIR R4.
package_name: hl7.fhir.uv.xver
derivation: constraint
name: Ext_R3_TestScript_rule
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 1
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 1
      slices:
        resource:
          match: {url: resource}
          schema:
            short: Assert rule resource reference
            _required: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: resource}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Assert rule resource reference
                choices: [valueReference]
                index: 4
              valueReference:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Reference
                short: Assert rule resource reference
                choiceOf: value
                index: 5
            required: [url]
        param:
          match: {url: param}
          schema:
            short: Rule parameter template
            array: true
            base: {max: '*', min: 0, path: Extension.extension}
            index: 6
            extensions:
              name:
                url: name
                short: Parameter name matching external assert rule parameter
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Parameter name matching external assert rule parameter
                    choices: [valueString]
                    index: 11
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Parameter name matching external assert rule parameter
                    choiceOf: value
                    index: 12
                required: [url]
              value:
                url: value
                short: Parameter value defined either explicitly or dynamically
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Parameter value defined either explicitly or dynamically
                    choices: [valueString]
                    index: 16
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Parameter value defined either explicitly or dynamically
                    choiceOf: value
                    index: 17
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 7
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    name:
                      match: {url: name}
                      schema:
                        short: Parameter name matching external assert rule parameter
                        _required: true
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 8
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: name}
                            index: 9
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Parameter name matching external assert rule parameter
                            choices: [valueString]
                            index: 11
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Parameter name matching external assert rule parameter
                            choiceOf: value
                            index: 12
                        required: [url]
                    value:
                      match: {url: value}
                      schema:
                        short: Parameter value defined either explicitly or dynamically
                        base: {max: '*', min: 0, path: Extension.extension}
                        index: 13
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: value}
                            index: 14
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Parameter value defined either explicitly or dynamically
                            choices: [valueString]
                            index: 16
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Parameter value defined either explicitly or dynamically
                            choiceOf: value
                            index: 17
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: param}
                index: 18
            required: [url, extension]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule'}
    index: 19
package_version: r3.r4-0.0.1-snapshot-2
extensions:
  resource:
    url: resource
    short: Assert rule resource reference
    _required: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: resource}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Assert rule resource reference
        choices: [valueReference]
        index: 4
      valueReference:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Reference
        short: Assert rule resource reference
        choiceOf: value
        index: 5
    required: [url]
  param:
    url: param
    short: Rule parameter template
    array: true
    base: {max: '*', min: 0, path: Extension.extension}
    index: 6
    extensions:
      name:
        url: name
        short: Parameter name matching external assert rule parameter
        _required: true
        base: {max: '*', min: 0, path: Extension.extension}
        index: 8
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: name}
            index: 9
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Parameter name matching external assert rule parameter
            choices: [valueString]
            index: 11
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Parameter name matching external assert rule parameter
            choiceOf: value
            index: 12
        required: [url]
      value:
        url: value
        short: Parameter value defined either explicitly or dynamically
        base: {max: '*', min: 0, path: Extension.extension}
        index: 13
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: value}
            index: 14
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Parameter value defined either explicitly or dynamically
            choices: [valueString]
            index: 16
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Parameter value defined either explicitly or dynamically
            choiceOf: value
            index: 17
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 7
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            name:
              match: {url: name}
              schema:
                short: Parameter name matching external assert rule parameter
                _required: true
                base: {max: '*', min: 0, path: Extension.extension}
                index: 8
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: name}
                    index: 9
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Parameter name matching external assert rule parameter
                    choices: [valueString]
                    index: 11
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Parameter name matching external assert rule parameter
                    choiceOf: value
                    index: 12
                required: [url]
            value:
              match: {url: value}
              schema:
                short: Parameter value defined either explicitly or dynamically
                base: {max: '*', min: 0, path: Extension.extension}
                index: 13
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: value}
                    index: 14
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Parameter value defined either explicitly or dynamically
                    choices: [valueString]
                    index: 16
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Parameter value defined either explicitly or dynamically
                    choiceOf: value
                    index: 17
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: param}
        index: 18
    required: [url, extension]
class: extension
kind: complex-type
url: http://hl7.org/fhir/3.0/StructureDefinition/extension-TestScript.rule
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.0.1-snapshot-2
required: [url, extension]