PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.xver-r4b.r4@0.0.1-snapshot-2
    http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic
description: This cross-version extension represents SubscriptionTopic from http://hl7.org/fhir/StructureDefinition/SubscriptionTopic|4.3.0 for use in FHIR R4.
package_name: hl7.fhir.uv.xver-r4b.r4
derivation: constraint
name: Ext_R4B_SubscriptionTopic
type: Extension
elements:
  extension:
    base: {max: '*', min: 0, path: Extension.extension}
    array: true
    min: 2
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 2
      slices:
        description:
          match: {url: description}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Natural language description of the SubscriptionTopic
            index: 46
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: description}
                index: 47
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Natural language description of the SubscriptionTopic
                choices: [valueMarkdown]
                index: 49
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Natural language description of the SubscriptionTopic
                choiceOf: value
                index: 50
            required: [url]
        date:
          match: {url: date}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Date status first applied
            index: 31
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: date}
                index: 32
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Date status first applied
                choices: [valueDateTime]
                index: 34
              valueDateTime:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: dateTime
                short: Date status first applied
                choiceOf: value
                index: 35
            required: [url]
        publisher:
          match: {url: publisher}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The name of the individual or organization that published the SubscriptionTopic
            index: 36
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: publisher}
                index: 37
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The name of the individual or organization that published the SubscriptionTopic
                choices: [valueString]
                index: 39
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: The name of the individual or organization that published the SubscriptionTopic
                choiceOf: value
                index: 40
            required: [url]
        approvalDate:
          match: {url: approvalDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: When SubscriptionTopic is/was approved by publisher
            index: 71
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: approvalDate}
                index: 72
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: When SubscriptionTopic is/was approved by publisher
                choices: [valueDate]
                index: 74
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: When SubscriptionTopic is/was approved by publisher
                choiceOf: value
                index: 75
            required: [url]
        canFilterBy:
          match: {url: canFilterBy}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Properties by which a Subscription can filter notifications from the SubscriptionTopic
            array: true
            index: 155
            extensions:
              description:
                url: description
                base: {max: '*', min: 0, path: Extension.extension}
                short: Description of this filter parameter
                index: 157
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 158
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Description of this filter parameter
                    choices: [valueMarkdown]
                    index: 160
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Description of this filter parameter
                    choiceOf: value
                    index: 161
                required: [url]
              resource:
                url: resource
                base: {max: '*', min: 0, path: Extension.extension}
                short: URL of the triggering Resource that this filter applies to
                index: 162
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 163
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: URL of the triggering Resource that this filter applies to
                    choices: [valueUri]
                    index: 165
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the triggering Resource that this filter applies to
                    choiceOf: value
                    index: 166
                required: [url]
              filterParameter:
                url: filterParameter
                base: {max: '*', min: 0, path: Extension.extension}
                short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                _required: true
                index: 167
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: filterParameter}
                    index: 168
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                    choices: [valueString]
                    index: 170
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                    choiceOf: value
                    index: 171
                required: [url]
              filterDefinition:
                url: filterDefinition
                base: {max: '*', min: 0, path: Extension.extension}
                short: Canonical URL for a filterParameter definition
                index: 172
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: filterDefinition}
                    index: 173
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Canonical URL for a filterParameter definition
                    choices: [valueUri]
                    index: 175
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Canonical URL for a filterParameter definition
                    choiceOf: value
                    index: 176
                required: [url]
              modifier:
                url: modifier
                base: {max: '*', min: 0, path: Extension.extension}
                short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                array: true
                index: 177
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: modifier}
                    index: 178
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choices: [valueCode]
                    index: 180
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choiceOf: value
                    index: 181
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 156
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    description:
                      match: {url: description}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Description of this filter parameter
                        index: 157
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: description}
                            index: 158
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Description of this filter parameter
                            choices: [valueMarkdown]
                            index: 160
                          valueMarkdown:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: markdown
                            short: Description of this filter parameter
                            choiceOf: value
                            index: 161
                        required: [url]
                    resource:
                      match: {url: resource}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: URL of the triggering Resource that this filter applies to
                        index: 162
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: resource}
                            index: 163
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: URL of the triggering Resource that this filter applies to
                            choices: [valueUri]
                            index: 165
                          valueUri:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: uri
                            short: URL of the triggering Resource that this filter applies to
                            choiceOf: value
                            index: 166
                        required: [url]
                    filterParameter:
                      match: {url: filterParameter}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                        _required: true
                        index: 167
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: filterParameter}
                            index: 168
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                            choices: [valueString]
                            index: 170
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                            choiceOf: value
                            index: 171
                        required: [url]
                    filterDefinition:
                      match: {url: filterDefinition}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Canonical URL for a filterParameter definition
                        index: 172
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: filterDefinition}
                            index: 173
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Canonical URL for a filterParameter definition
                            choices: [valueUri]
                            index: 175
                          valueUri:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: uri
                            short: Canonical URL for a filterParameter definition
                            choiceOf: value
                            index: 176
                        required: [url]
                    modifier:
                      match: {url: modifier}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                        array: true
                        index: 177
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: modifier}
                            index: 178
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                            choices: [valueCode]
                            index: 180
                          valueCode:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: code
                            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                            choiceOf: value
                            index: 181
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: canFilterBy}
                index: 182
            required: [url, extension]
        jurisdiction:
          match: {url: jurisdiction}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Intended jurisdiction of the SubscriptionTopic (if applicable)
            array: true
            index: 56
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: jurisdiction}
                index: 57
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Intended jurisdiction of the SubscriptionTopic (if applicable)
                choices: [valueCodeableConcept]
                index: 59
              valueCodeableConcept:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Intended jurisdiction of the SubscriptionTopic (if applicable)
                choiceOf: value
                index: 60
            required: [url]
        derivedFrom:
          match: {url: derivedFrom}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Based on FHIR protocol or definition
            array: true
            index: 16
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: derivedFrom}
                index: 17
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Based on FHIR protocol or definition
                choices: [valueCanonical]
                index: 19
              valueCanonical:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: canonical
                short: Based on FHIR protocol or definition
                choiceOf: value
                index: 20
            required: [url]
        purpose:
          match: {url: purpose}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Why this SubscriptionTopic is defined
            index: 61
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: purpose}
                index: 62
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Why this SubscriptionTopic is defined
                choices: [valueMarkdown]
                index: 64
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Why this SubscriptionTopic is defined
                choiceOf: value
                index: 65
            required: [url]
        useContext:
          match: {url: useContext}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Content intends to support these contexts
            array: true
            index: 51
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: useContext}
                index: 52
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Content intends to support these contexts
                choices: [valueUsageContext]
                index: 54
              valueUsageContext:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: UsageContext
                short: Content intends to support these contexts
                choiceOf: value
                index: 55
            required: [url]
        copyright:
          match: {url: copyright}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Use and/or publishing restrictions
            index: 66
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: copyright}
                index: 67
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Use and/or publishing restrictions
                choices: [valueMarkdown]
                index: 69
              valueMarkdown:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: markdown
                short: Use and/or publishing restrictions
                choiceOf: value
                index: 70
            required: [url]
        experimental:
          match: {url: experimental}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: If for testing purposes, not real usage
            index: 26
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: experimental}
                index: 27
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: If for testing purposes, not real usage
                choices: [valueBoolean]
                index: 29
              valueBoolean:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: boolean
                short: If for testing purposes, not real usage
                choiceOf: value
                index: 30
            required: [url]
        title:
          match: {url: title}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Name for this subscription topic (Human friendly)
            index: 11
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: title}
                index: 12
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Name for this subscription topic (Human friendly)
                choices: [valueString]
                index: 14
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Name for this subscription topic (Human friendly)
                choiceOf: value
                index: 15
            required: [url]
        eventTrigger:
          match: {url: eventTrigger}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Event definitions the SubscriptionTopic
            array: true
            index: 137
            extensions:
              description:
                url: description
                base: {max: '*', min: 0, path: Extension.extension}
                short: Text representation of the event trigger
                index: 139
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 140
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Text representation of the event trigger
                    choices: [valueMarkdown]
                    index: 142
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the event trigger
                    choiceOf: value
                    index: 143
                required: [url]
              event:
                url: event
                base: {max: '*', min: 0, path: Extension.extension}
                short: Event which can trigger a notification from the SubscriptionTopic
                _required: true
                index: 144
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: event}
                    index: 145
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choices: [valueCodeableConcept]
                    index: 147
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choiceOf: value
                    index: 148
                required: [url]
              resource:
                url: resource
                base: {max: '*', min: 0, path: Extension.extension}
                short: Data Type or Resource (reference to definition) for this trigger definition
                _required: true
                index: 149
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 150
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 152
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 153
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 2
                index: 138
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    description:
                      match: {url: description}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Text representation of the event trigger
                        index: 139
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: description}
                            index: 140
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Text representation of the event trigger
                            choices: [valueMarkdown]
                            index: 142
                          valueMarkdown:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: markdown
                            short: Text representation of the event trigger
                            choiceOf: value
                            index: 143
                        required: [url]
                    event:
                      match: {url: event}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Event which can trigger a notification from the SubscriptionTopic
                        _required: true
                        index: 144
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: event}
                            index: 145
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Event which can trigger a notification from the SubscriptionTopic
                            choices: [valueCodeableConcept]
                            index: 147
                          valueCodeableConcept:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Event which can trigger a notification from the SubscriptionTopic
                            choiceOf: value
                            index: 148
                        required: [url]
                    resource:
                      match: {url: resource}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Data Type or Resource (reference to definition) for this trigger definition
                        _required: true
                        index: 149
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: resource}
                            index: 150
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choices: [valueUri]
                            index: 152
                          valueUri:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: uri
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choiceOf: value
                            index: 153
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: eventTrigger}
                index: 154
            required: [url]
        status:
          match: {url: status}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: draft | active | retired | unknown
            _required: true
            index: 21
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: status}
                index: 22
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: draft | active | retired | unknown
                choices: [valueCode]
                index: 24
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: draft | active | retired | unknown
                choiceOf: value
                index: 25
            required: [url]
        url:
          match: {url: url}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
            _required: true
            index: 1
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: url}
                index: 2
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
                choices: [valueUri]
                index: 4
              valueUri:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: uri
                short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
                choiceOf: value
                index: 5
            required: [url]
        lastReviewDate:
          match: {url: lastReviewDate}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Date the Subscription Topic was last reviewed by the publisher
            index: 76
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: lastReviewDate}
                index: 77
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Date the Subscription Topic was last reviewed by the publisher
                choices: [valueDate]
                index: 79
              valueDate:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: date
                short: Date the Subscription Topic was last reviewed by the publisher
                choiceOf: value
                index: 80
            required: [url]
        notificationShape:
          match: {url: notificationShape}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Properties for describing the shape of notifications generated by this topic
            array: true
            index: 183
            extensions:
              resource:
                url: resource
                base: {max: '*', min: 0, path: Extension.extension}
                short: URL of the Resource that is the focus (main) resource in a notification shape
                _required: true
                index: 185
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 186
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choices: [valueUri]
                    index: 188
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choiceOf: value
                    index: 189
                required: [url]
              include:
                url: include
                base: {max: '*', min: 0, path: Extension.extension}
                short: Include directives, rooted in the resource for this shape
                array: true
                index: 190
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: include}
                    index: 191
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 193
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 194
                required: [url]
              revInclude:
                url: revInclude
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reverse include directives, rooted in the resource for this shape
                array: true
                index: 195
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: revInclude}
                    index: 196
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reverse include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 198
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Reverse include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 199
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 184
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    resource:
                      match: {url: resource}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: URL of the Resource that is the focus (main) resource in a notification shape
                        _required: true
                        index: 185
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: resource}
                            index: 186
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: URL of the Resource that is the focus (main) resource in a notification shape
                            choices: [valueUri]
                            index: 188
                          valueUri:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: uri
                            short: URL of the Resource that is the focus (main) resource in a notification shape
                            choiceOf: value
                            index: 189
                        required: [url]
                    include:
                      match: {url: include}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Include directives, rooted in the resource for this shape
                        array: true
                        index: 190
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: include}
                            index: 191
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Include directives, rooted in the resource for this shape
                            choices: [valueString]
                            index: 193
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Include directives, rooted in the resource for this shape
                            choiceOf: value
                            index: 194
                        required: [url]
                    revInclude:
                      match: {url: revInclude}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Reverse include directives, rooted in the resource for this shape
                        array: true
                        index: 195
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: revInclude}
                            index: 196
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Reverse include directives, rooted in the resource for this shape
                            choices: [valueString]
                            index: 198
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: Reverse include directives, rooted in the resource for this shape
                            choiceOf: value
                            index: 199
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: notificationShape}
                index: 200
            required: [url, extension]
        version:
          match: {url: version}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Business version of the subscription topic
            index: 6
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: version}
                index: 7
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Business version of the subscription topic
                choices: [valueString]
                index: 9
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Business version of the subscription topic
                choiceOf: value
                index: 10
            required: [url]
        contact:
          match: {url: contact}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Contact details for the publisher
            array: true
            index: 41
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: contact}
                index: 42
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Contact details for the publisher
                choices: [valueContactDetail]
                index: 44
              valueContactDetail:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: ContactDetail
                short: Contact details for the publisher
                choiceOf: value
                index: 45
            required: [url]
        resourceTrigger:
          match: {url: resourceTrigger}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: Definition of a resource-based trigger for the subscription topic
            array: true
            index: 86
            extensions:
              description:
                url: description
                base: {max: '*', min: 0, path: Extension.extension}
                short: Text representation of the resource trigger
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Text representation of the resource trigger
                    choices: [valueMarkdown]
                    index: 91
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the resource trigger
                    choiceOf: value
                    index: 92
                required: [url]
              resource:
                url: resource
                base: {max: '*', min: 0, path: Extension.extension}
                short: Data Type or Resource (reference to definition) for this trigger definition
                _required: true
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 96
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 97
                required: [url]
              supportedInteraction:
                url: supportedInteraction
                base: {max: '*', min: 0, path: Extension.extension}
                short: create | update | delete
                array: true
                index: 98
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: supportedInteraction}
                    index: 99
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: create | update | delete
                    choices: [valueCode]
                    index: 101
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: create | update | delete
                    choiceOf: value
                    index: 102
                required: [url]
              queryCriteria:
                url: queryCriteria
                base: {max: '*', min: 0, path: Extension.extension}
                short: Query based trigger rule
                index: 103
                extensions:
                  previous:
                    url: previous
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to previous resource state
                    index: 105
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: previous}
                        index: 106
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 108
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 109
                    required: [url]
                  resultForCreate:
                    url: resultForCreate
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 110
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForCreate}
                        index: 111
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 113
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 114
                    required: [url]
                  current:
                    url: current
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to current resource state
                    index: 115
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: current}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 118
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 119
                    required: [url]
                  resultForDelete:
                    url: resultForDelete
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 120
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForDelete}
                        index: 121
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 123
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 124
                    required: [url]
                  requireBoth:
                    url: requireBoth
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Both must be true flag
                    index: 125
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: requireBoth}
                        index: 126
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 128
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 129
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 104
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        previous:
                          match: {url: previous}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to previous resource state
                            index: 105
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: previous}
                                index: 106
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 108
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 109
                            required: [url]
                        resultForCreate:
                          match: {url: resultForCreate}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 110
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForCreate}
                                index: 111
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 113
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 114
                            required: [url]
                        current:
                          match: {url: current}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to current resource state
                            index: 115
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: current}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 118
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 119
                            required: [url]
                        resultForDelete:
                          match: {url: resultForDelete}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 120
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForDelete}
                                index: 121
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 123
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 124
                            required: [url]
                        requireBoth:
                          match: {url: requireBoth}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Both must be true flag
                            index: 125
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: requireBoth}
                                index: 126
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 128
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 129
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: queryCriteria}
                    index: 130
                required: [url]
              fhirPathCriteria:
                url: fhirPathCriteria
                base: {max: '*', min: 0, path: Extension.extension}
                short: FHIRPath based trigger rule
                index: 131
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: fhirPathCriteria}
                    index: 132
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: FHIRPath based trigger rule
                    choices: [valueString]
                    index: 134
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: FHIRPath based trigger rule
                    choiceOf: value
                    index: 135
                required: [url]
            elements:
              extension:
                base: {max: '*', min: 0, path: Extension.extension}
                array: true
                min: 1
                index: 87
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    description:
                      match: {url: description}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Text representation of the resource trigger
                        index: 88
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: description}
                            index: 89
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Text representation of the resource trigger
                            choices: [valueMarkdown]
                            index: 91
                          valueMarkdown:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: markdown
                            short: Text representation of the resource trigger
                            choiceOf: value
                            index: 92
                        required: [url]
                    resource:
                      match: {url: resource}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Data Type or Resource (reference to definition) for this trigger definition
                        _required: true
                        index: 93
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: resource}
                            index: 94
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choices: [valueUri]
                            index: 96
                          valueUri:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: uri
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choiceOf: value
                            index: 97
                        required: [url]
                    supportedInteraction:
                      match: {url: supportedInteraction}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: create | update | delete
                        array: true
                        index: 98
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: supportedInteraction}
                            index: 99
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: create | update | delete
                            choices: [valueCode]
                            index: 101
                          valueCode:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: code
                            short: create | update | delete
                            choiceOf: value
                            index: 102
                        required: [url]
                    queryCriteria:
                      match: {url: queryCriteria}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: Query based trigger rule
                        index: 103
                        extensions:
                          previous:
                            url: previous
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to previous resource state
                            index: 105
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: previous}
                                index: 106
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 108
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 109
                            required: [url]
                          resultForCreate:
                            url: resultForCreate
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 110
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForCreate}
                                index: 111
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 113
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 114
                            required: [url]
                          current:
                            url: current
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to current resource state
                            index: 115
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: current}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 118
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 119
                            required: [url]
                          resultForDelete:
                            url: resultForDelete
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 120
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForDelete}
                                index: 121
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 123
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 124
                            required: [url]
                          requireBoth:
                            url: requireBoth
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Both must be true flag
                            index: 125
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: requireBoth}
                                index: 126
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 128
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 129
                            required: [url]
                        elements:
                          extension:
                            base: {max: '*', min: 0, path: Extension.extension}
                            array: true
                            index: 104
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                previous:
                                  match: {url: previous}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Rule applied to previous resource state
                                    index: 105
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: previous}
                                        index: 106
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Rule applied to previous resource state
                                        choices: [valueString]
                                        index: 108
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Rule applied to previous resource state
                                        choiceOf: value
                                        index: 109
                                    required: [url]
                                resultForCreate:
                                  match: {url: resultForCreate}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: test-passes | test-fails
                                    index: 110
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: resultForCreate}
                                        index: 111
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: test-passes | test-fails
                                        choices: [valueCode]
                                        index: 113
                                      valueCode:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: code
                                        short: test-passes | test-fails
                                        choiceOf: value
                                        index: 114
                                    required: [url]
                                current:
                                  match: {url: current}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Rule applied to current resource state
                                    index: 115
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: current}
                                        index: 116
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Rule applied to current resource state
                                        choices: [valueString]
                                        index: 118
                                      valueString:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: string
                                        short: Rule applied to current resource state
                                        choiceOf: value
                                        index: 119
                                    required: [url]
                                resultForDelete:
                                  match: {url: resultForDelete}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: test-passes | test-fails
                                    index: 120
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: resultForDelete}
                                        index: 121
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: test-passes | test-fails
                                        choices: [valueCode]
                                        index: 123
                                      valueCode:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: code
                                        short: test-passes | test-fails
                                        choiceOf: value
                                        index: 124
                                    required: [url]
                                requireBoth:
                                  match: {url: requireBoth}
                                  schema:
                                    base: {max: '*', min: 0, path: Extension.extension}
                                    short: Both must be true flag
                                    index: 125
                                    elements:
                                      url:
                                        base: {max: '1', min: 1, path: Extension.url}
                                        pattern: {type: Uri, value: requireBoth}
                                        index: 126
                                      value:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        short: Both must be true flag
                                        choices: [valueBoolean]
                                        index: 128
                                      valueBoolean:
                                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                        type: boolean
                                        short: Both must be true flag
                                        choiceOf: value
                                        index: 129
                                    required: [url]
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: queryCriteria}
                            index: 130
                        required: [url]
                    fhirPathCriteria:
                      match: {url: fhirPathCriteria}
                      schema:
                        base: {max: '*', min: 0, path: Extension.extension}
                        short: FHIRPath based trigger rule
                        index: 131
                        elements:
                          url:
                            base: {max: '1', min: 1, path: Extension.url}
                            pattern: {type: Uri, value: fhirPathCriteria}
                            index: 132
                          value:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            short: FHIRPath based trigger rule
                            choices: [valueString]
                            index: 134
                          valueString:
                            base: {max: '1', min: 0, path: 'Extension.value[x]'}
                            type: string
                            short: FHIRPath based trigger rule
                            choiceOf: value
                            index: 135
                        required: [url]
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: resourceTrigger}
                index: 136
            required: [url, extension]
        effectivePeriod:
          match: {url: effectivePeriod}
          schema:
            base: {max: '*', min: 0, path: Extension.extension}
            short: The effective date range for the SubscriptionTopic
            index: 81
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: effectivePeriod}
                index: 82
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: The effective date range for the SubscriptionTopic
                choices: [valuePeriod]
                index: 84
              valuePeriod:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: Period
                short: The effective date range for the SubscriptionTopic
                choiceOf: value
                index: 85
            required: [url]
  url:
    base: {max: '1', min: 1, path: Extension.url}
    pattern: {type: Uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic'}
    index: 201
package_version: 0.0.1-snapshot-2
extensions:
  description:
    url: description
    base: {max: '*', min: 0, path: Extension.extension}
    short: Natural language description of the SubscriptionTopic
    index: 46
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: description}
        index: 47
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Natural language description of the SubscriptionTopic
        choices: [valueMarkdown]
        index: 49
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Natural language description of the SubscriptionTopic
        choiceOf: value
        index: 50
    required: [url]
  date:
    url: date
    base: {max: '*', min: 0, path: Extension.extension}
    short: Date status first applied
    index: 31
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: date}
        index: 32
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Date status first applied
        choices: [valueDateTime]
        index: 34
      valueDateTime:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: dateTime
        short: Date status first applied
        choiceOf: value
        index: 35
    required: [url]
  publisher:
    url: publisher
    base: {max: '*', min: 0, path: Extension.extension}
    short: The name of the individual or organization that published the SubscriptionTopic
    index: 36
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: publisher}
        index: 37
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The name of the individual or organization that published the SubscriptionTopic
        choices: [valueString]
        index: 39
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: The name of the individual or organization that published the SubscriptionTopic
        choiceOf: value
        index: 40
    required: [url]
  approvalDate:
    url: approvalDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: When SubscriptionTopic is/was approved by publisher
    index: 71
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: approvalDate}
        index: 72
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: When SubscriptionTopic is/was approved by publisher
        choices: [valueDate]
        index: 74
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: When SubscriptionTopic is/was approved by publisher
        choiceOf: value
        index: 75
    required: [url]
  canFilterBy:
    url: canFilterBy
    base: {max: '*', min: 0, path: Extension.extension}
    short: Properties by which a Subscription can filter notifications from the SubscriptionTopic
    array: true
    index: 155
    extensions:
      description:
        url: description
        base: {max: '*', min: 0, path: Extension.extension}
        short: Description of this filter parameter
        index: 157
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: description}
            index: 158
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Description of this filter parameter
            choices: [valueMarkdown]
            index: 160
          valueMarkdown:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: markdown
            short: Description of this filter parameter
            choiceOf: value
            index: 161
        required: [url]
      resource:
        url: resource
        base: {max: '*', min: 0, path: Extension.extension}
        short: URL of the triggering Resource that this filter applies to
        index: 162
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: resource}
            index: 163
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: URL of the triggering Resource that this filter applies to
            choices: [valueUri]
            index: 165
          valueUri:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: uri
            short: URL of the triggering Resource that this filter applies to
            choiceOf: value
            index: 166
        required: [url]
      filterParameter:
        url: filterParameter
        base: {max: '*', min: 0, path: Extension.extension}
        short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
        _required: true
        index: 167
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: filterParameter}
            index: 168
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
            choices: [valueString]
            index: 170
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
            choiceOf: value
            index: 171
        required: [url]
      filterDefinition:
        url: filterDefinition
        base: {max: '*', min: 0, path: Extension.extension}
        short: Canonical URL for a filterParameter definition
        index: 172
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: filterDefinition}
            index: 173
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Canonical URL for a filterParameter definition
            choices: [valueUri]
            index: 175
          valueUri:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: uri
            short: Canonical URL for a filterParameter definition
            choiceOf: value
            index: 176
        required: [url]
      modifier:
        url: modifier
        base: {max: '*', min: 0, path: Extension.extension}
        short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
        array: true
        index: 177
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: modifier}
            index: 178
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
            choices: [valueCode]
            index: 180
          valueCode:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: code
            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
            choiceOf: value
            index: 181
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 156
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            description:
              match: {url: description}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Description of this filter parameter
                index: 157
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 158
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Description of this filter parameter
                    choices: [valueMarkdown]
                    index: 160
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Description of this filter parameter
                    choiceOf: value
                    index: 161
                required: [url]
            resource:
              match: {url: resource}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: URL of the triggering Resource that this filter applies to
                index: 162
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 163
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: URL of the triggering Resource that this filter applies to
                    choices: [valueUri]
                    index: 165
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the triggering Resource that this filter applies to
                    choiceOf: value
                    index: 166
                required: [url]
            filterParameter:
              match: {url: filterParameter}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                _required: true
                index: 167
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: filterParameter}
                    index: 168
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                    choices: [valueString]
                    index: 170
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                    choiceOf: value
                    index: 171
                required: [url]
            filterDefinition:
              match: {url: filterDefinition}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Canonical URL for a filterParameter definition
                index: 172
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: filterDefinition}
                    index: 173
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Canonical URL for a filterParameter definition
                    choices: [valueUri]
                    index: 175
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Canonical URL for a filterParameter definition
                    choiceOf: value
                    index: 176
                required: [url]
            modifier:
              match: {url: modifier}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                array: true
                index: 177
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: modifier}
                    index: 178
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choices: [valueCode]
                    index: 180
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choiceOf: value
                    index: 181
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: canFilterBy}
        index: 182
    required: [url, extension]
  jurisdiction:
    url: jurisdiction
    base: {max: '*', min: 0, path: Extension.extension}
    short: Intended jurisdiction of the SubscriptionTopic (if applicable)
    array: true
    index: 56
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: jurisdiction}
        index: 57
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Intended jurisdiction of the SubscriptionTopic (if applicable)
        choices: [valueCodeableConcept]
        index: 59
      valueCodeableConcept:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Intended jurisdiction of the SubscriptionTopic (if applicable)
        choiceOf: value
        index: 60
    required: [url]
  derivedFrom:
    url: derivedFrom
    base: {max: '*', min: 0, path: Extension.extension}
    short: Based on FHIR protocol or definition
    array: true
    index: 16
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: derivedFrom}
        index: 17
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Based on FHIR protocol or definition
        choices: [valueCanonical]
        index: 19
      valueCanonical:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: canonical
        short: Based on FHIR protocol or definition
        choiceOf: value
        index: 20
    required: [url]
  purpose:
    url: purpose
    base: {max: '*', min: 0, path: Extension.extension}
    short: Why this SubscriptionTopic is defined
    index: 61
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: purpose}
        index: 62
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Why this SubscriptionTopic is defined
        choices: [valueMarkdown]
        index: 64
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Why this SubscriptionTopic is defined
        choiceOf: value
        index: 65
    required: [url]
  useContext:
    url: useContext
    base: {max: '*', min: 0, path: Extension.extension}
    short: Content intends to support these contexts
    array: true
    index: 51
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: useContext}
        index: 52
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Content intends to support these contexts
        choices: [valueUsageContext]
        index: 54
      valueUsageContext:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: UsageContext
        short: Content intends to support these contexts
        choiceOf: value
        index: 55
    required: [url]
  copyright:
    url: copyright
    base: {max: '*', min: 0, path: Extension.extension}
    short: Use and/or publishing restrictions
    index: 66
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: copyright}
        index: 67
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Use and/or publishing restrictions
        choices: [valueMarkdown]
        index: 69
      valueMarkdown:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: markdown
        short: Use and/or publishing restrictions
        choiceOf: value
        index: 70
    required: [url]
  experimental:
    url: experimental
    base: {max: '*', min: 0, path: Extension.extension}
    short: If for testing purposes, not real usage
    index: 26
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: experimental}
        index: 27
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: If for testing purposes, not real usage
        choices: [valueBoolean]
        index: 29
      valueBoolean:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: boolean
        short: If for testing purposes, not real usage
        choiceOf: value
        index: 30
    required: [url]
  title:
    url: title
    base: {max: '*', min: 0, path: Extension.extension}
    short: Name for this subscription topic (Human friendly)
    index: 11
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: title}
        index: 12
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Name for this subscription topic (Human friendly)
        choices: [valueString]
        index: 14
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Name for this subscription topic (Human friendly)
        choiceOf: value
        index: 15
    required: [url]
  eventTrigger:
    url: eventTrigger
    base: {max: '*', min: 0, path: Extension.extension}
    short: Event definitions the SubscriptionTopic
    array: true
    index: 137
    extensions:
      description:
        url: description
        base: {max: '*', min: 0, path: Extension.extension}
        short: Text representation of the event trigger
        index: 139
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: description}
            index: 140
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Text representation of the event trigger
            choices: [valueMarkdown]
            index: 142
          valueMarkdown:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: markdown
            short: Text representation of the event trigger
            choiceOf: value
            index: 143
        required: [url]
      event:
        url: event
        base: {max: '*', min: 0, path: Extension.extension}
        short: Event which can trigger a notification from the SubscriptionTopic
        _required: true
        index: 144
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: event}
            index: 145
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Event which can trigger a notification from the SubscriptionTopic
            choices: [valueCodeableConcept]
            index: 147
          valueCodeableConcept:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Event which can trigger a notification from the SubscriptionTopic
            choiceOf: value
            index: 148
        required: [url]
      resource:
        url: resource
        base: {max: '*', min: 0, path: Extension.extension}
        short: Data Type or Resource (reference to definition) for this trigger definition
        _required: true
        index: 149
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: resource}
            index: 150
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Data Type or Resource (reference to definition) for this trigger definition
            choices: [valueUri]
            index: 152
          valueUri:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: uri
            short: Data Type or Resource (reference to definition) for this trigger definition
            choiceOf: value
            index: 153
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 2
        index: 138
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            description:
              match: {url: description}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Text representation of the event trigger
                index: 139
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 140
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Text representation of the event trigger
                    choices: [valueMarkdown]
                    index: 142
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the event trigger
                    choiceOf: value
                    index: 143
                required: [url]
            event:
              match: {url: event}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Event which can trigger a notification from the SubscriptionTopic
                _required: true
                index: 144
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: event}
                    index: 145
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choices: [valueCodeableConcept]
                    index: 147
                  valueCodeableConcept:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choiceOf: value
                    index: 148
                required: [url]
            resource:
              match: {url: resource}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Data Type or Resource (reference to definition) for this trigger definition
                _required: true
                index: 149
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 150
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 152
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 153
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: eventTrigger}
        index: 154
    required: [url]
  status:
    url: status
    base: {max: '*', min: 0, path: Extension.extension}
    short: draft | active | retired | unknown
    _required: true
    index: 21
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: status}
        index: 22
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: draft | active | retired | unknown
        choices: [valueCode]
        index: 24
      valueCode:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: code
        short: draft | active | retired | unknown
        choiceOf: value
        index: 25
    required: [url]
  url:
    url: url
    base: {max: '*', min: 0, path: Extension.extension}
    short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
    _required: true
    index: 1
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: url}
        index: 2
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
        choices: [valueUri]
        index: 4
      valueUri:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: uri
        short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
        choiceOf: value
        index: 5
    required: [url]
  lastReviewDate:
    url: lastReviewDate
    base: {max: '*', min: 0, path: Extension.extension}
    short: Date the Subscription Topic was last reviewed by the publisher
    index: 76
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: lastReviewDate}
        index: 77
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Date the Subscription Topic was last reviewed by the publisher
        choices: [valueDate]
        index: 79
      valueDate:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: date
        short: Date the Subscription Topic was last reviewed by the publisher
        choiceOf: value
        index: 80
    required: [url]
  notificationShape:
    url: notificationShape
    base: {max: '*', min: 0, path: Extension.extension}
    short: Properties for describing the shape of notifications generated by this topic
    array: true
    index: 183
    extensions:
      resource:
        url: resource
        base: {max: '*', min: 0, path: Extension.extension}
        short: URL of the Resource that is the focus (main) resource in a notification shape
        _required: true
        index: 185
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: resource}
            index: 186
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: URL of the Resource that is the focus (main) resource in a notification shape
            choices: [valueUri]
            index: 188
          valueUri:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: uri
            short: URL of the Resource that is the focus (main) resource in a notification shape
            choiceOf: value
            index: 189
        required: [url]
      include:
        url: include
        base: {max: '*', min: 0, path: Extension.extension}
        short: Include directives, rooted in the resource for this shape
        array: true
        index: 190
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: include}
            index: 191
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Include directives, rooted in the resource for this shape
            choices: [valueString]
            index: 193
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Include directives, rooted in the resource for this shape
            choiceOf: value
            index: 194
        required: [url]
      revInclude:
        url: revInclude
        base: {max: '*', min: 0, path: Extension.extension}
        short: Reverse include directives, rooted in the resource for this shape
        array: true
        index: 195
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: revInclude}
            index: 196
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Reverse include directives, rooted in the resource for this shape
            choices: [valueString]
            index: 198
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: Reverse include directives, rooted in the resource for this shape
            choiceOf: value
            index: 199
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 184
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            resource:
              match: {url: resource}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: URL of the Resource that is the focus (main) resource in a notification shape
                _required: true
                index: 185
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 186
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choices: [valueUri]
                    index: 188
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choiceOf: value
                    index: 189
                required: [url]
            include:
              match: {url: include}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Include directives, rooted in the resource for this shape
                array: true
                index: 190
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: include}
                    index: 191
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 193
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 194
                required: [url]
            revInclude:
              match: {url: revInclude}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Reverse include directives, rooted in the resource for this shape
                array: true
                index: 195
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: revInclude}
                    index: 196
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Reverse include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 198
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: Reverse include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 199
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: notificationShape}
        index: 200
    required: [url, extension]
  version:
    url: version
    base: {max: '*', min: 0, path: Extension.extension}
    short: Business version of the subscription topic
    index: 6
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: version}
        index: 7
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Business version of the subscription topic
        choices: [valueString]
        index: 9
      valueString:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: string
        short: Business version of the subscription topic
        choiceOf: value
        index: 10
    required: [url]
  contact:
    url: contact
    base: {max: '*', min: 0, path: Extension.extension}
    short: Contact details for the publisher
    array: true
    index: 41
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: contact}
        index: 42
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: Contact details for the publisher
        choices: [valueContactDetail]
        index: 44
      valueContactDetail:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: ContactDetail
        short: Contact details for the publisher
        choiceOf: value
        index: 45
    required: [url]
  resourceTrigger:
    url: resourceTrigger
    base: {max: '*', min: 0, path: Extension.extension}
    short: Definition of a resource-based trigger for the subscription topic
    array: true
    index: 86
    extensions:
      description:
        url: description
        base: {max: '*', min: 0, path: Extension.extension}
        short: Text representation of the resource trigger
        index: 88
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: description}
            index: 89
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Text representation of the resource trigger
            choices: [valueMarkdown]
            index: 91
          valueMarkdown:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: markdown
            short: Text representation of the resource trigger
            choiceOf: value
            index: 92
        required: [url]
      resource:
        url: resource
        base: {max: '*', min: 0, path: Extension.extension}
        short: Data Type or Resource (reference to definition) for this trigger definition
        _required: true
        index: 93
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: resource}
            index: 94
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: Data Type or Resource (reference to definition) for this trigger definition
            choices: [valueUri]
            index: 96
          valueUri:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: uri
            short: Data Type or Resource (reference to definition) for this trigger definition
            choiceOf: value
            index: 97
        required: [url]
      supportedInteraction:
        url: supportedInteraction
        base: {max: '*', min: 0, path: Extension.extension}
        short: create | update | delete
        array: true
        index: 98
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: supportedInteraction}
            index: 99
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: create | update | delete
            choices: [valueCode]
            index: 101
          valueCode:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: code
            short: create | update | delete
            choiceOf: value
            index: 102
        required: [url]
      queryCriteria:
        url: queryCriteria
        base: {max: '*', min: 0, path: Extension.extension}
        short: Query based trigger rule
        index: 103
        extensions:
          previous:
            url: previous
            base: {max: '*', min: 0, path: Extension.extension}
            short: Rule applied to previous resource state
            index: 105
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: previous}
                index: 106
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Rule applied to previous resource state
                choices: [valueString]
                index: 108
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Rule applied to previous resource state
                choiceOf: value
                index: 109
            required: [url]
          resultForCreate:
            url: resultForCreate
            base: {max: '*', min: 0, path: Extension.extension}
            short: test-passes | test-fails
            index: 110
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: resultForCreate}
                index: 111
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: test-passes | test-fails
                choices: [valueCode]
                index: 113
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: test-passes | test-fails
                choiceOf: value
                index: 114
            required: [url]
          current:
            url: current
            base: {max: '*', min: 0, path: Extension.extension}
            short: Rule applied to current resource state
            index: 115
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: current}
                index: 116
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Rule applied to current resource state
                choices: [valueString]
                index: 118
              valueString:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: string
                short: Rule applied to current resource state
                choiceOf: value
                index: 119
            required: [url]
          resultForDelete:
            url: resultForDelete
            base: {max: '*', min: 0, path: Extension.extension}
            short: test-passes | test-fails
            index: 120
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: resultForDelete}
                index: 121
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: test-passes | test-fails
                choices: [valueCode]
                index: 123
              valueCode:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: code
                short: test-passes | test-fails
                choiceOf: value
                index: 124
            required: [url]
          requireBoth:
            url: requireBoth
            base: {max: '*', min: 0, path: Extension.extension}
            short: Both must be true flag
            index: 125
            elements:
              url:
                base: {max: '1', min: 1, path: Extension.url}
                pattern: {type: Uri, value: requireBoth}
                index: 126
              value:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                short: Both must be true flag
                choices: [valueBoolean]
                index: 128
              valueBoolean:
                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                type: boolean
                short: Both must be true flag
                choiceOf: value
                index: 129
            required: [url]
        elements:
          extension:
            base: {max: '*', min: 0, path: Extension.extension}
            array: true
            index: 104
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                previous:
                  match: {url: previous}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to previous resource state
                    index: 105
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: previous}
                        index: 106
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 108
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 109
                    required: [url]
                resultForCreate:
                  match: {url: resultForCreate}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 110
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForCreate}
                        index: 111
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 113
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 114
                    required: [url]
                current:
                  match: {url: current}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to current resource state
                    index: 115
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: current}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 118
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 119
                    required: [url]
                resultForDelete:
                  match: {url: resultForDelete}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 120
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForDelete}
                        index: 121
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 123
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 124
                    required: [url]
                requireBoth:
                  match: {url: requireBoth}
                  schema:
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Both must be true flag
                    index: 125
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: requireBoth}
                        index: 126
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 128
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 129
                    required: [url]
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: queryCriteria}
            index: 130
        required: [url]
      fhirPathCriteria:
        url: fhirPathCriteria
        base: {max: '*', min: 0, path: Extension.extension}
        short: FHIRPath based trigger rule
        index: 131
        elements:
          url:
            base: {max: '1', min: 1, path: Extension.url}
            pattern: {type: Uri, value: fhirPathCriteria}
            index: 132
          value:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            short: FHIRPath based trigger rule
            choices: [valueString]
            index: 134
          valueString:
            base: {max: '1', min: 0, path: 'Extension.value[x]'}
            type: string
            short: FHIRPath based trigger rule
            choiceOf: value
            index: 135
        required: [url]
    elements:
      extension:
        base: {max: '*', min: 0, path: Extension.extension}
        array: true
        min: 1
        index: 87
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            description:
              match: {url: description}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Text representation of the resource trigger
                index: 88
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: description}
                    index: 89
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Text representation of the resource trigger
                    choices: [valueMarkdown]
                    index: 91
                  valueMarkdown:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the resource trigger
                    choiceOf: value
                    index: 92
                required: [url]
            resource:
              match: {url: resource}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Data Type or Resource (reference to definition) for this trigger definition
                _required: true
                index: 93
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: resource}
                    index: 94
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 96
                  valueUri:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 97
                required: [url]
            supportedInteraction:
              match: {url: supportedInteraction}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: create | update | delete
                array: true
                index: 98
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: supportedInteraction}
                    index: 99
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: create | update | delete
                    choices: [valueCode]
                    index: 101
                  valueCode:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: code
                    short: create | update | delete
                    choiceOf: value
                    index: 102
                required: [url]
            queryCriteria:
              match: {url: queryCriteria}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: Query based trigger rule
                index: 103
                extensions:
                  previous:
                    url: previous
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to previous resource state
                    index: 105
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: previous}
                        index: 106
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 108
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 109
                    required: [url]
                  resultForCreate:
                    url: resultForCreate
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 110
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForCreate}
                        index: 111
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 113
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 114
                    required: [url]
                  current:
                    url: current
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Rule applied to current resource state
                    index: 115
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: current}
                        index: 116
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 118
                      valueString:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 119
                    required: [url]
                  resultForDelete:
                    url: resultForDelete
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: test-passes | test-fails
                    index: 120
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: resultForDelete}
                        index: 121
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 123
                      valueCode:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 124
                    required: [url]
                  requireBoth:
                    url: requireBoth
                    base: {max: '*', min: 0, path: Extension.extension}
                    short: Both must be true flag
                    index: 125
                    elements:
                      url:
                        base: {max: '1', min: 1, path: Extension.url}
                        pattern: {type: Uri, value: requireBoth}
                        index: 126
                      value:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 128
                      valueBoolean:
                        base: {max: '1', min: 0, path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 129
                    required: [url]
                elements:
                  extension:
                    base: {max: '*', min: 0, path: Extension.extension}
                    array: true
                    index: 104
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        previous:
                          match: {url: previous}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to previous resource state
                            index: 105
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: previous}
                                index: 106
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 108
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 109
                            required: [url]
                        resultForCreate:
                          match: {url: resultForCreate}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 110
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForCreate}
                                index: 111
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 113
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 114
                            required: [url]
                        current:
                          match: {url: current}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Rule applied to current resource state
                            index: 115
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: current}
                                index: 116
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 118
                              valueString:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 119
                            required: [url]
                        resultForDelete:
                          match: {url: resultForDelete}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: test-passes | test-fails
                            index: 120
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: resultForDelete}
                                index: 121
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 123
                              valueCode:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 124
                            required: [url]
                        requireBoth:
                          match: {url: requireBoth}
                          schema:
                            base: {max: '*', min: 0, path: Extension.extension}
                            short: Both must be true flag
                            index: 125
                            elements:
                              url:
                                base: {max: '1', min: 1, path: Extension.url}
                                pattern: {type: Uri, value: requireBoth}
                                index: 126
                              value:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 128
                              valueBoolean:
                                base: {max: '1', min: 0, path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 129
                            required: [url]
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: queryCriteria}
                    index: 130
                required: [url]
            fhirPathCriteria:
              match: {url: fhirPathCriteria}
              schema:
                base: {max: '*', min: 0, path: Extension.extension}
                short: FHIRPath based trigger rule
                index: 131
                elements:
                  url:
                    base: {max: '1', min: 1, path: Extension.url}
                    pattern: {type: Uri, value: fhirPathCriteria}
                    index: 132
                  value:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    short: FHIRPath based trigger rule
                    choices: [valueString]
                    index: 134
                  valueString:
                    base: {max: '1', min: 0, path: 'Extension.value[x]'}
                    type: string
                    short: FHIRPath based trigger rule
                    choiceOf: value
                    index: 135
                required: [url]
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: resourceTrigger}
        index: 136
    required: [url, extension]
  effectivePeriod:
    url: effectivePeriod
    base: {max: '*', min: 0, path: Extension.extension}
    short: The effective date range for the SubscriptionTopic
    index: 81
    elements:
      url:
        base: {max: '1', min: 1, path: Extension.url}
        pattern: {type: Uri, value: effectivePeriod}
        index: 82
      value:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        short: The effective date range for the SubscriptionTopic
        choices: [valuePeriod]
        index: 84
      valuePeriod:
        base: {max: '1', min: 0, path: 'Extension.value[x]'}
        type: Period
        short: The effective date range for the SubscriptionTopic
        choiceOf: value
        index: 85
    required: [url]
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic
base: http://hl7.org/fhir/StructureDefinition/Extension|4.0.1
version: 0.0.1-snapshot-2
required: [url]