PackagesCanonicalsLogsProblems
    Packages
    rs/hl7.fhir.uv.xver@r4b.r4-0.0.1-snapshot-1
    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: rs/hl7.fhir.uv.xver
derivation: constraint
name: ext_R4B_SubscriptionTopic
type: Extension
elements:
  extension:
    array: true
    min: 2
    index: 0
    slicing:
      rules: closed
      ordered: false
      discriminator:
      - {path: url, type: value}
      min: 2
      slices:
        description:
          match: {url: null}
          schema:
            short: Natural language description of the SubscriptionTopic
            isModifier: false
            index: 37
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Natural language description of the SubscriptionTopic
                choices: [valueMarkdown]
                index: 39
              valueMarkdown:
                base: {path: 'Extension.value[x]'}
                type: markdown
                short: Natural language description of the SubscriptionTopic
                choiceOf: value
                index: 40
        date:
          match: {url: null}
          schema:
            short: Date status first applied
            isModifier: false
            index: 25
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Date status first applied
                choices: [valueDateTime]
                index: 27
              valueDateTime:
                base: {path: 'Extension.value[x]'}
                type: dateTime
                short: Date status first applied
                choiceOf: value
                index: 28
        publisher:
          match: {url: null}
          schema:
            short: The name of the individual or organization that published the SubscriptionTopic
            isModifier: false
            index: 29
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: The name of the individual or organization that published the SubscriptionTopic
                choices: [valueString]
                index: 31
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: The name of the individual or organization that published the SubscriptionTopic
                choiceOf: value
                index: 32
        approvalDate:
          match: {url: null}
          schema:
            short: When SubscriptionTopic is/was approved by publisher
            isModifier: false
            index: 57
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: When SubscriptionTopic is/was approved by publisher
                choices: [valueDate]
                index: 59
              valueDate:
                base: {path: 'Extension.value[x]'}
                type: date
                short: When SubscriptionTopic is/was approved by publisher
                choiceOf: value
                index: 60
        canFilterBy:
          match: {url: null}
          schema:
            short: Properties by which a Subscription can filter notifications from the SubscriptionTopic
            isModifier: false
            array: true
            index: 123
            extensions:
              description:
                url: null
                short: Description of this filter parameter
                isModifier: false
                index: 125
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Description of this filter parameter
                    choices: [valueMarkdown]
                    index: 127
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Description of this filter parameter
                    choiceOf: value
                    index: 128
              resource:
                url: null
                short: URL of the triggering Resource that this filter applies to
                isModifier: false
                index: 129
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: URL of the triggering Resource that this filter applies to
                    choices: [valueUri]
                    index: 131
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the triggering Resource that this filter applies to
                    choiceOf: value
                    index: 132
              filterParameter:
                url: null
                short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                isModifier: false
                _required: true
                index: 133
                elements:
                  value:
                    base: {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: 135
                  valueString:
                    base: {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: 136
              filterDefinition:
                url: null
                short: Canonical URL for a filterParameter definition
                isModifier: false
                index: 137
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Canonical URL for a filterParameter definition
                    choices: [valueUri]
                    index: 139
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Canonical URL for a filterParameter definition
                    choiceOf: value
                    index: 140
              modifier:
                url: null
                short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                isModifier: false
                array: true
                index: 141
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choices: [valueCode]
                    index: 143
                  valueCode:
                    base: {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: 144
            elements:
              extension:
                array: true
                min: 1
                index: 124
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    description:
                      match: {url: null}
                      schema:
                        short: Description of this filter parameter
                        isModifier: false
                        index: 125
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Description of this filter parameter
                            choices: [valueMarkdown]
                            index: 127
                          valueMarkdown:
                            base: {path: 'Extension.value[x]'}
                            type: markdown
                            short: Description of this filter parameter
                            choiceOf: value
                            index: 128
                    resource:
                      match: {url: null}
                      schema:
                        short: URL of the triggering Resource that this filter applies to
                        isModifier: false
                        index: 129
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: URL of the triggering Resource that this filter applies to
                            choices: [valueUri]
                            index: 131
                          valueUri:
                            base: {path: 'Extension.value[x]'}
                            type: uri
                            short: URL of the triggering Resource that this filter applies to
                            choiceOf: value
                            index: 132
                    filterParameter:
                      match: {url: null}
                      schema:
                        short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                        isModifier: false
                        _required: true
                        index: 133
                        elements:
                          value:
                            base: {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: 135
                          valueString:
                            base: {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: 136
                    filterDefinition:
                      match: {url: null}
                      schema:
                        short: Canonical URL for a filterParameter definition
                        isModifier: false
                        index: 137
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Canonical URL for a filterParameter definition
                            choices: [valueUri]
                            index: 139
                          valueUri:
                            base: {path: 'Extension.value[x]'}
                            type: uri
                            short: Canonical URL for a filterParameter definition
                            choiceOf: value
                            index: 140
                    modifier:
                      match: {url: null}
                      schema:
                        short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                        isModifier: false
                        array: true
                        index: 141
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                            choices: [valueCode]
                            index: 143
                          valueCode:
                            base: {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: 144
            required: [extension]
        jurisdiction:
          match: {url: null}
          schema:
            short: Intended jurisdiction of the SubscriptionTopic (if applicable)
            isModifier: false
            array: true
            index: 45
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Intended jurisdiction of the SubscriptionTopic (if applicable)
                choices: [valueCodeableConcept]
                index: 47
              valueCodeableConcept:
                base: {path: 'Extension.value[x]'}
                type: CodeableConcept
                short: Intended jurisdiction of the SubscriptionTopic (if applicable)
                choiceOf: value
                index: 48
        derivedFrom:
          match: {url: null}
          schema:
            short: Based on FHIR protocol or definition
            isModifier: false
            array: true
            index: 13
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Based on FHIR protocol or definition
                choices: [valueCanonical]
                index: 15
              valueCanonical:
                base: {path: 'Extension.value[x]'}
                type: canonical
                short: Based on FHIR protocol or definition
                choiceOf: value
                index: 16
        purpose:
          match: {url: null}
          schema:
            short: Why this SubscriptionTopic is defined
            isModifier: false
            index: 49
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Why this SubscriptionTopic is defined
                choices: [valueMarkdown]
                index: 51
              valueMarkdown:
                base: {path: 'Extension.value[x]'}
                type: markdown
                short: Why this SubscriptionTopic is defined
                choiceOf: value
                index: 52
        useContext:
          match: {url: null}
          schema:
            short: Content intends to support these contexts
            isModifier: false
            array: true
            index: 41
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Content intends to support these contexts
                choices: [valueUsageContext]
                index: 43
              valueUsageContext:
                base: {path: 'Extension.value[x]'}
                type: UsageContext
                short: Content intends to support these contexts
                choiceOf: value
                index: 44
        copyright:
          match: {url: null}
          schema:
            short: Use and/or publishing restrictions
            isModifier: false
            index: 53
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Use and/or publishing restrictions
                choices: [valueMarkdown]
                index: 55
              valueMarkdown:
                base: {path: 'Extension.value[x]'}
                type: markdown
                short: Use and/or publishing restrictions
                choiceOf: value
                index: 56
        experimental:
          match: {url: null}
          schema:
            isModifier: true
            short: If for testing purposes, not real usage
            isModifierReason: This is labeled as "Is Modifier" because applications should not use an experimental SubscriptionTopic in production.
            index: 21
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: If for testing purposes, not real usage
                choices: [valueBoolean]
                index: 23
              valueBoolean:
                base: {path: 'Extension.value[x]'}
                type: boolean
                short: If for testing purposes, not real usage
                choiceOf: value
                index: 24
        title:
          match: {url: null}
          schema:
            short: Name for this subscription topic (Human friendly)
            isModifier: false
            index: 9
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Name for this subscription topic (Human friendly)
                choices: [valueString]
                index: 11
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Name for this subscription topic (Human friendly)
                choiceOf: value
                index: 12
        eventTrigger:
          match: {url: null}
          schema:
            short: Event definitions the SubscriptionTopic
            isModifier: false
            array: true
            index: 109
            extensions:
              description:
                url: null
                short: Text representation of the event trigger
                isModifier: false
                index: 111
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Text representation of the event trigger
                    choices: [valueMarkdown]
                    index: 113
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the event trigger
                    choiceOf: value
                    index: 114
              event:
                url: null
                short: Event which can trigger a notification from the SubscriptionTopic
                isModifier: false
                _required: true
                index: 115
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choices: [valueCodeableConcept]
                    index: 117
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choiceOf: value
                    index: 118
              resource:
                url: null
                short: Data Type or Resource (reference to definition) for this trigger definition
                isModifier: false
                _required: true
                index: 119
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 121
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 122
            elements:
              extension:
                array: true
                min: 2
                index: 110
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 2
                  slices:
                    description:
                      match: {url: null}
                      schema:
                        short: Text representation of the event trigger
                        isModifier: false
                        index: 111
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Text representation of the event trigger
                            choices: [valueMarkdown]
                            index: 113
                          valueMarkdown:
                            base: {path: 'Extension.value[x]'}
                            type: markdown
                            short: Text representation of the event trigger
                            choiceOf: value
                            index: 114
                    event:
                      match: {url: null}
                      schema:
                        short: Event which can trigger a notification from the SubscriptionTopic
                        isModifier: false
                        _required: true
                        index: 115
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Event which can trigger a notification from the SubscriptionTopic
                            choices: [valueCodeableConcept]
                            index: 117
                          valueCodeableConcept:
                            base: {path: 'Extension.value[x]'}
                            type: CodeableConcept
                            short: Event which can trigger a notification from the SubscriptionTopic
                            choiceOf: value
                            index: 118
                    resource:
                      match: {url: null}
                      schema:
                        short: Data Type or Resource (reference to definition) for this trigger definition
                        isModifier: false
                        _required: true
                        index: 119
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choices: [valueUri]
                            index: 121
                          valueUri:
                            base: {path: 'Extension.value[x]'}
                            type: uri
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choiceOf: value
                            index: 122
        status:
          match: {url: null}
          schema:
            isModifier: true
            short: draft | active | retired | unknown
            _required: true
            isModifierReason: This is labeled as "Is Modifier" because applications should not use a retired SubscriptionTopic without due consideration
            index: 17
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: draft | active | retired | unknown
                choices: [valueCode]
                index: 19
              valueCode:
                base: {path: 'Extension.value[x]'}
                type: code
                short: draft | active | retired | unknown
                choiceOf: value
                index: 20
        url:
          match: {url: null}
          schema:
            short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
            isModifier: false
            _required: true
            index: 1
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
                choices: [valueUri]
                index: 3
              valueUri:
                base: {path: 'Extension.value[x]'}
                type: uri
                short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
                choiceOf: value
                index: 4
        lastReviewDate:
          match: {url: null}
          schema:
            short: Date the Subscription Topic was last reviewed by the publisher
            isModifier: false
            index: 61
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Date the Subscription Topic was last reviewed by the publisher
                choices: [valueDate]
                index: 63
              valueDate:
                base: {path: 'Extension.value[x]'}
                type: date
                short: Date the Subscription Topic was last reviewed by the publisher
                choiceOf: value
                index: 64
        notificationShape:
          match: {url: null}
          schema:
            short: Properties for describing the shape of notifications generated by this topic
            isModifier: false
            array: true
            index: 145
            extensions:
              resource:
                url: null
                short: URL of the Resource that is the focus (main) resource in a notification shape
                isModifier: false
                _required: true
                index: 147
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choices: [valueUri]
                    index: 149
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choiceOf: value
                    index: 150
              include:
                url: null
                short: Include directives, rooted in the resource for this shape
                isModifier: false
                array: true
                index: 151
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 153
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 154
              revInclude:
                url: null
                short: Reverse include directives, rooted in the resource for this shape
                isModifier: false
                array: true
                index: 155
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Reverse include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 157
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Reverse include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 158
            elements:
              extension:
                array: true
                min: 1
                index: 146
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    resource:
                      match: {url: null}
                      schema:
                        short: URL of the Resource that is the focus (main) resource in a notification shape
                        isModifier: false
                        _required: true
                        index: 147
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: URL of the Resource that is the focus (main) resource in a notification shape
                            choices: [valueUri]
                            index: 149
                          valueUri:
                            base: {path: 'Extension.value[x]'}
                            type: uri
                            short: URL of the Resource that is the focus (main) resource in a notification shape
                            choiceOf: value
                            index: 150
                    include:
                      match: {url: null}
                      schema:
                        short: Include directives, rooted in the resource for this shape
                        isModifier: false
                        array: true
                        index: 151
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Include directives, rooted in the resource for this shape
                            choices: [valueString]
                            index: 153
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Include directives, rooted in the resource for this shape
                            choiceOf: value
                            index: 154
                    revInclude:
                      match: {url: null}
                      schema:
                        short: Reverse include directives, rooted in the resource for this shape
                        isModifier: false
                        array: true
                        index: 155
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Reverse include directives, rooted in the resource for this shape
                            choices: [valueString]
                            index: 157
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: Reverse include directives, rooted in the resource for this shape
                            choiceOf: value
                            index: 158
            required: [extension]
        version:
          match: {url: null}
          schema:
            short: Business version of the subscription topic
            isModifier: false
            index: 5
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Business version of the subscription topic
                choices: [valueString]
                index: 7
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Business version of the subscription topic
                choiceOf: value
                index: 8
        contact:
          match: {url: null}
          schema:
            short: Contact details for the publisher
            isModifier: false
            array: true
            index: 33
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Contact details for the publisher
                choices: [valueContactDetail]
                index: 35
              valueContactDetail:
                base: {path: 'Extension.value[x]'}
                type: ContactDetail
                short: Contact details for the publisher
                choiceOf: value
                index: 36
        resourceTrigger:
          match: {url: null}
          schema:
            short: Definition of a resource-based trigger for the subscription topic
            isModifier: false
            array: true
            index: 69
            extensions:
              description:
                url: null
                short: Text representation of the resource trigger
                isModifier: false
                index: 71
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Text representation of the resource trigger
                    choices: [valueMarkdown]
                    index: 73
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the resource trigger
                    choiceOf: value
                    index: 74
              resource:
                url: null
                short: Data Type or Resource (reference to definition) for this trigger definition
                isModifier: false
                _required: true
                index: 75
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 77
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 78
              supportedInteraction:
                url: null
                short: create | update | delete
                isModifier: false
                array: true
                index: 79
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: create | update | delete
                    choices: [valueCode]
                    index: 81
                  valueCode:
                    base: {path: 'Extension.value[x]'}
                    type: code
                    short: create | update | delete
                    choiceOf: value
                    index: 82
              queryCriteria:
                url: null
                short: Query based trigger rule
                isModifier: false
                index: 83
                extensions:
                  previous:
                    url: null
                    short: Rule applied to previous resource state
                    isModifier: false
                    index: 85
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 87
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 88
                  resultForCreate:
                    url: null
                    short: test-passes | test-fails
                    isModifier: false
                    index: 89
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 91
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 92
                  current:
                    url: null
                    short: Rule applied to current resource state
                    isModifier: false
                    index: 93
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 95
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 96
                  resultForDelete:
                    url: null
                    short: test-passes | test-fails
                    isModifier: false
                    index: 97
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 99
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 100
                  requireBoth:
                    url: null
                    short: Both must be true flag
                    isModifier: false
                    index: 101
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 103
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 104
                elements:
                  extension:
                    array: true
                    index: 84
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        previous:
                          match: {url: null}
                          schema:
                            short: Rule applied to previous resource state
                            isModifier: false
                            index: 85
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 87
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 88
                        resultForCreate:
                          match: {url: null}
                          schema:
                            short: test-passes | test-fails
                            isModifier: false
                            index: 89
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 91
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 92
                        current:
                          match: {url: null}
                          schema:
                            short: Rule applied to current resource state
                            isModifier: false
                            index: 93
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 95
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 96
                        resultForDelete:
                          match: {url: null}
                          schema:
                            short: test-passes | test-fails
                            isModifier: false
                            index: 97
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 99
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 100
                        requireBoth:
                          match: {url: null}
                          schema:
                            short: Both must be true flag
                            isModifier: false
                            index: 101
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 103
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 104
              fhirPathCriteria:
                url: null
                short: FHIRPath based trigger rule
                isModifier: false
                index: 105
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: FHIRPath based trigger rule
                    choices: [valueString]
                    index: 107
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: FHIRPath based trigger rule
                    choiceOf: value
                    index: 108
            elements:
              extension:
                array: true
                min: 1
                index: 70
                slicing:
                  rules: closed
                  ordered: false
                  discriminator:
                  - {path: url, type: value}
                  min: 1
                  slices:
                    description:
                      match: {url: null}
                      schema:
                        short: Text representation of the resource trigger
                        isModifier: false
                        index: 71
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Text representation of the resource trigger
                            choices: [valueMarkdown]
                            index: 73
                          valueMarkdown:
                            base: {path: 'Extension.value[x]'}
                            type: markdown
                            short: Text representation of the resource trigger
                            choiceOf: value
                            index: 74
                    resource:
                      match: {url: null}
                      schema:
                        short: Data Type or Resource (reference to definition) for this trigger definition
                        isModifier: false
                        _required: true
                        index: 75
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choices: [valueUri]
                            index: 77
                          valueUri:
                            base: {path: 'Extension.value[x]'}
                            type: uri
                            short: Data Type or Resource (reference to definition) for this trigger definition
                            choiceOf: value
                            index: 78
                    supportedInteraction:
                      match: {url: null}
                      schema:
                        short: create | update | delete
                        isModifier: false
                        array: true
                        index: 79
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: create | update | delete
                            choices: [valueCode]
                            index: 81
                          valueCode:
                            base: {path: 'Extension.value[x]'}
                            type: code
                            short: create | update | delete
                            choiceOf: value
                            index: 82
                    queryCriteria:
                      match: {url: null}
                      schema:
                        short: Query based trigger rule
                        isModifier: false
                        index: 83
                        extensions:
                          previous:
                            url: null
                            short: Rule applied to previous resource state
                            isModifier: false
                            index: 85
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 87
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 88
                          resultForCreate:
                            url: null
                            short: test-passes | test-fails
                            isModifier: false
                            index: 89
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 91
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 92
                          current:
                            url: null
                            short: Rule applied to current resource state
                            isModifier: false
                            index: 93
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 95
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 96
                          resultForDelete:
                            url: null
                            short: test-passes | test-fails
                            isModifier: false
                            index: 97
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 99
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 100
                          requireBoth:
                            url: null
                            short: Both must be true flag
                            isModifier: false
                            index: 101
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 103
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 104
                        elements:
                          extension:
                            array: true
                            index: 84
                            slicing:
                              rules: closed
                              ordered: false
                              discriminator:
                              - {path: url, type: value}
                              min: 0
                              slices:
                                previous:
                                  match: {url: null}
                                  schema:
                                    short: Rule applied to previous resource state
                                    isModifier: false
                                    index: 85
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Rule applied to previous resource state
                                        choices: [valueString]
                                        index: 87
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: Rule applied to previous resource state
                                        choiceOf: value
                                        index: 88
                                resultForCreate:
                                  match: {url: null}
                                  schema:
                                    short: test-passes | test-fails
                                    isModifier: false
                                    index: 89
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: test-passes | test-fails
                                        choices: [valueCode]
                                        index: 91
                                      valueCode:
                                        base: {path: 'Extension.value[x]'}
                                        type: code
                                        short: test-passes | test-fails
                                        choiceOf: value
                                        index: 92
                                current:
                                  match: {url: null}
                                  schema:
                                    short: Rule applied to current resource state
                                    isModifier: false
                                    index: 93
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Rule applied to current resource state
                                        choices: [valueString]
                                        index: 95
                                      valueString:
                                        base: {path: 'Extension.value[x]'}
                                        type: string
                                        short: Rule applied to current resource state
                                        choiceOf: value
                                        index: 96
                                resultForDelete:
                                  match: {url: null}
                                  schema:
                                    short: test-passes | test-fails
                                    isModifier: false
                                    index: 97
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: test-passes | test-fails
                                        choices: [valueCode]
                                        index: 99
                                      valueCode:
                                        base: {path: 'Extension.value[x]'}
                                        type: code
                                        short: test-passes | test-fails
                                        choiceOf: value
                                        index: 100
                                requireBoth:
                                  match: {url: null}
                                  schema:
                                    short: Both must be true flag
                                    isModifier: false
                                    index: 101
                                    elements:
                                      value:
                                        base: {path: 'Extension.value[x]'}
                                        short: Both must be true flag
                                        choices: [valueBoolean]
                                        index: 103
                                      valueBoolean:
                                        base: {path: 'Extension.value[x]'}
                                        type: boolean
                                        short: Both must be true flag
                                        choiceOf: value
                                        index: 104
                    fhirPathCriteria:
                      match: {url: null}
                      schema:
                        short: FHIRPath based trigger rule
                        isModifier: false
                        index: 105
                        elements:
                          value:
                            base: {path: 'Extension.value[x]'}
                            short: FHIRPath based trigger rule
                            choices: [valueString]
                            index: 107
                          valueString:
                            base: {path: 'Extension.value[x]'}
                            type: string
                            short: FHIRPath based trigger rule
                            choiceOf: value
                            index: 108
            required: [extension]
        effectivePeriod:
          match: {url: null}
          schema:
            short: The effective date range for the SubscriptionTopic
            isModifier: false
            index: 65
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: The effective date range for the SubscriptionTopic
                choices: [valuePeriod]
                index: 67
              valuePeriod:
                base: {path: 'Extension.value[x]'}
                type: Period
                short: The effective date range for the SubscriptionTopic
                choiceOf: value
                index: 68
  url:
    pattern: {type: uri, value: 'http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic'}
    type: uri
    index: 159
package_version: r4b.r4-0.0.1-snapshot-1
extensions:
  description:
    url: null
    short: Natural language description of the SubscriptionTopic
    isModifier: false
    index: 37
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Natural language description of the SubscriptionTopic
        choices: [valueMarkdown]
        index: 39
      valueMarkdown:
        base: {path: 'Extension.value[x]'}
        type: markdown
        short: Natural language description of the SubscriptionTopic
        choiceOf: value
        index: 40
  date:
    url: null
    short: Date status first applied
    isModifier: false
    index: 25
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Date status first applied
        choices: [valueDateTime]
        index: 27
      valueDateTime:
        base: {path: 'Extension.value[x]'}
        type: dateTime
        short: Date status first applied
        choiceOf: value
        index: 28
  publisher:
    url: null
    short: The name of the individual or organization that published the SubscriptionTopic
    isModifier: false
    index: 29
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: The name of the individual or organization that published the SubscriptionTopic
        choices: [valueString]
        index: 31
      valueString:
        base: {path: 'Extension.value[x]'}
        type: string
        short: The name of the individual or organization that published the SubscriptionTopic
        choiceOf: value
        index: 32
  approvalDate:
    url: null
    short: When SubscriptionTopic is/was approved by publisher
    isModifier: false
    index: 57
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: When SubscriptionTopic is/was approved by publisher
        choices: [valueDate]
        index: 59
      valueDate:
        base: {path: 'Extension.value[x]'}
        type: date
        short: When SubscriptionTopic is/was approved by publisher
        choiceOf: value
        index: 60
  canFilterBy:
    url: null
    short: Properties by which a Subscription can filter notifications from the SubscriptionTopic
    isModifier: false
    array: true
    index: 123
    extensions:
      description:
        url: null
        short: Description of this filter parameter
        isModifier: false
        index: 125
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Description of this filter parameter
            choices: [valueMarkdown]
            index: 127
          valueMarkdown:
            base: {path: 'Extension.value[x]'}
            type: markdown
            short: Description of this filter parameter
            choiceOf: value
            index: 128
      resource:
        url: null
        short: URL of the triggering Resource that this filter applies to
        isModifier: false
        index: 129
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: URL of the triggering Resource that this filter applies to
            choices: [valueUri]
            index: 131
          valueUri:
            base: {path: 'Extension.value[x]'}
            type: uri
            short: URL of the triggering Resource that this filter applies to
            choiceOf: value
            index: 132
      filterParameter:
        url: null
        short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
        isModifier: false
        _required: true
        index: 133
        elements:
          value:
            base: {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: 135
          valueString:
            base: {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: 136
      filterDefinition:
        url: null
        short: Canonical URL for a filterParameter definition
        isModifier: false
        index: 137
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Canonical URL for a filterParameter definition
            choices: [valueUri]
            index: 139
          valueUri:
            base: {path: 'Extension.value[x]'}
            type: uri
            short: Canonical URL for a filterParameter definition
            choiceOf: value
            index: 140
      modifier:
        url: null
        short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
        isModifier: false
        array: true
        index: 141
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
            choices: [valueCode]
            index: 143
          valueCode:
            base: {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: 144
    elements:
      extension:
        array: true
        min: 1
        index: 124
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            description:
              match: {url: null}
              schema:
                short: Description of this filter parameter
                isModifier: false
                index: 125
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Description of this filter parameter
                    choices: [valueMarkdown]
                    index: 127
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Description of this filter parameter
                    choiceOf: value
                    index: 128
            resource:
              match: {url: null}
              schema:
                short: URL of the triggering Resource that this filter applies to
                isModifier: false
                index: 129
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: URL of the triggering Resource that this filter applies to
                    choices: [valueUri]
                    index: 131
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the triggering Resource that this filter applies to
                    choiceOf: value
                    index: 132
            filterParameter:
              match: {url: null}
              schema:
                short: Human-readable and computation-friendly name for a filter parameter usable by subscriptions on this topic, via Subscription.filterBy.filterParameter
                isModifier: false
                _required: true
                index: 133
                elements:
                  value:
                    base: {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: 135
                  valueString:
                    base: {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: 136
            filterDefinition:
              match: {url: null}
              schema:
                short: Canonical URL for a filterParameter definition
                isModifier: false
                index: 137
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Canonical URL for a filterParameter definition
                    choices: [valueUri]
                    index: 139
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Canonical URL for a filterParameter definition
                    choiceOf: value
                    index: 140
            modifier:
              match: {url: null}
              schema:
                short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                isModifier: false
                array: true
                index: 141
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: = | eq | ne | gt | lt | ge | le | sa | eb | ap | above | below | in | not-in | of-type
                    choices: [valueCode]
                    index: 143
                  valueCode:
                    base: {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: 144
    required: [extension]
  jurisdiction:
    url: null
    short: Intended jurisdiction of the SubscriptionTopic (if applicable)
    isModifier: false
    array: true
    index: 45
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Intended jurisdiction of the SubscriptionTopic (if applicable)
        choices: [valueCodeableConcept]
        index: 47
      valueCodeableConcept:
        base: {path: 'Extension.value[x]'}
        type: CodeableConcept
        short: Intended jurisdiction of the SubscriptionTopic (if applicable)
        choiceOf: value
        index: 48
  derivedFrom:
    url: null
    short: Based on FHIR protocol or definition
    isModifier: false
    array: true
    index: 13
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Based on FHIR protocol or definition
        choices: [valueCanonical]
        index: 15
      valueCanonical:
        base: {path: 'Extension.value[x]'}
        type: canonical
        short: Based on FHIR protocol or definition
        choiceOf: value
        index: 16
  purpose:
    url: null
    short: Why this SubscriptionTopic is defined
    isModifier: false
    index: 49
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Why this SubscriptionTopic is defined
        choices: [valueMarkdown]
        index: 51
      valueMarkdown:
        base: {path: 'Extension.value[x]'}
        type: markdown
        short: Why this SubscriptionTopic is defined
        choiceOf: value
        index: 52
  useContext:
    url: null
    short: Content intends to support these contexts
    isModifier: false
    array: true
    index: 41
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Content intends to support these contexts
        choices: [valueUsageContext]
        index: 43
      valueUsageContext:
        base: {path: 'Extension.value[x]'}
        type: UsageContext
        short: Content intends to support these contexts
        choiceOf: value
        index: 44
  copyright:
    url: null
    short: Use and/or publishing restrictions
    isModifier: false
    index: 53
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Use and/or publishing restrictions
        choices: [valueMarkdown]
        index: 55
      valueMarkdown:
        base: {path: 'Extension.value[x]'}
        type: markdown
        short: Use and/or publishing restrictions
        choiceOf: value
        index: 56
  experimental:
    url: null
    isModifier: true
    short: If for testing purposes, not real usage
    isModifierReason: This is labeled as "Is Modifier" because applications should not use an experimental SubscriptionTopic in production.
    index: 21
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: If for testing purposes, not real usage
        choices: [valueBoolean]
        index: 23
      valueBoolean:
        base: {path: 'Extension.value[x]'}
        type: boolean
        short: If for testing purposes, not real usage
        choiceOf: value
        index: 24
  title:
    url: null
    short: Name for this subscription topic (Human friendly)
    isModifier: false
    index: 9
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Name for this subscription topic (Human friendly)
        choices: [valueString]
        index: 11
      valueString:
        base: {path: 'Extension.value[x]'}
        type: string
        short: Name for this subscription topic (Human friendly)
        choiceOf: value
        index: 12
  eventTrigger:
    url: null
    short: Event definitions the SubscriptionTopic
    isModifier: false
    array: true
    index: 109
    extensions:
      description:
        url: null
        short: Text representation of the event trigger
        isModifier: false
        index: 111
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Text representation of the event trigger
            choices: [valueMarkdown]
            index: 113
          valueMarkdown:
            base: {path: 'Extension.value[x]'}
            type: markdown
            short: Text representation of the event trigger
            choiceOf: value
            index: 114
      event:
        url: null
        short: Event which can trigger a notification from the SubscriptionTopic
        isModifier: false
        _required: true
        index: 115
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Event which can trigger a notification from the SubscriptionTopic
            choices: [valueCodeableConcept]
            index: 117
          valueCodeableConcept:
            base: {path: 'Extension.value[x]'}
            type: CodeableConcept
            short: Event which can trigger a notification from the SubscriptionTopic
            choiceOf: value
            index: 118
      resource:
        url: null
        short: Data Type or Resource (reference to definition) for this trigger definition
        isModifier: false
        _required: true
        index: 119
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Data Type or Resource (reference to definition) for this trigger definition
            choices: [valueUri]
            index: 121
          valueUri:
            base: {path: 'Extension.value[x]'}
            type: uri
            short: Data Type or Resource (reference to definition) for this trigger definition
            choiceOf: value
            index: 122
    elements:
      extension:
        array: true
        min: 2
        index: 110
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 2
          slices:
            description:
              match: {url: null}
              schema:
                short: Text representation of the event trigger
                isModifier: false
                index: 111
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Text representation of the event trigger
                    choices: [valueMarkdown]
                    index: 113
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the event trigger
                    choiceOf: value
                    index: 114
            event:
              match: {url: null}
              schema:
                short: Event which can trigger a notification from the SubscriptionTopic
                isModifier: false
                _required: true
                index: 115
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choices: [valueCodeableConcept]
                    index: 117
                  valueCodeableConcept:
                    base: {path: 'Extension.value[x]'}
                    type: CodeableConcept
                    short: Event which can trigger a notification from the SubscriptionTopic
                    choiceOf: value
                    index: 118
            resource:
              match: {url: null}
              schema:
                short: Data Type or Resource (reference to definition) for this trigger definition
                isModifier: false
                _required: true
                index: 119
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 121
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 122
  status:
    url: null
    isModifier: true
    short: draft | active | retired | unknown
    _required: true
    isModifierReason: This is labeled as "Is Modifier" because applications should not use a retired SubscriptionTopic without due consideration
    index: 17
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: draft | active | retired | unknown
        choices: [valueCode]
        index: 19
      valueCode:
        base: {path: 'Extension.value[x]'}
        type: code
        short: draft | active | retired | unknown
        choiceOf: value
        index: 20
  url:
    url: null
    short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
    isModifier: false
    _required: true
    index: 1
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
        choices: [valueUri]
        index: 3
      valueUri:
        base: {path: 'Extension.value[x]'}
        type: uri
        short: Canonical identifier for this subscription topic definition, represented as a URI (globally unique)
        choiceOf: value
        index: 4
  lastReviewDate:
    url: null
    short: Date the Subscription Topic was last reviewed by the publisher
    isModifier: false
    index: 61
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Date the Subscription Topic was last reviewed by the publisher
        choices: [valueDate]
        index: 63
      valueDate:
        base: {path: 'Extension.value[x]'}
        type: date
        short: Date the Subscription Topic was last reviewed by the publisher
        choiceOf: value
        index: 64
  notificationShape:
    url: null
    short: Properties for describing the shape of notifications generated by this topic
    isModifier: false
    array: true
    index: 145
    extensions:
      resource:
        url: null
        short: URL of the Resource that is the focus (main) resource in a notification shape
        isModifier: false
        _required: true
        index: 147
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: URL of the Resource that is the focus (main) resource in a notification shape
            choices: [valueUri]
            index: 149
          valueUri:
            base: {path: 'Extension.value[x]'}
            type: uri
            short: URL of the Resource that is the focus (main) resource in a notification shape
            choiceOf: value
            index: 150
      include:
        url: null
        short: Include directives, rooted in the resource for this shape
        isModifier: false
        array: true
        index: 151
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Include directives, rooted in the resource for this shape
            choices: [valueString]
            index: 153
          valueString:
            base: {path: 'Extension.value[x]'}
            type: string
            short: Include directives, rooted in the resource for this shape
            choiceOf: value
            index: 154
      revInclude:
        url: null
        short: Reverse include directives, rooted in the resource for this shape
        isModifier: false
        array: true
        index: 155
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Reverse include directives, rooted in the resource for this shape
            choices: [valueString]
            index: 157
          valueString:
            base: {path: 'Extension.value[x]'}
            type: string
            short: Reverse include directives, rooted in the resource for this shape
            choiceOf: value
            index: 158
    elements:
      extension:
        array: true
        min: 1
        index: 146
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            resource:
              match: {url: null}
              schema:
                short: URL of the Resource that is the focus (main) resource in a notification shape
                isModifier: false
                _required: true
                index: 147
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choices: [valueUri]
                    index: 149
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: URL of the Resource that is the focus (main) resource in a notification shape
                    choiceOf: value
                    index: 150
            include:
              match: {url: null}
              schema:
                short: Include directives, rooted in the resource for this shape
                isModifier: false
                array: true
                index: 151
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 153
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 154
            revInclude:
              match: {url: null}
              schema:
                short: Reverse include directives, rooted in the resource for this shape
                isModifier: false
                array: true
                index: 155
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Reverse include directives, rooted in the resource for this shape
                    choices: [valueString]
                    index: 157
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: Reverse include directives, rooted in the resource for this shape
                    choiceOf: value
                    index: 158
    required: [extension]
  version:
    url: null
    short: Business version of the subscription topic
    isModifier: false
    index: 5
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Business version of the subscription topic
        choices: [valueString]
        index: 7
      valueString:
        base: {path: 'Extension.value[x]'}
        type: string
        short: Business version of the subscription topic
        choiceOf: value
        index: 8
  contact:
    url: null
    short: Contact details for the publisher
    isModifier: false
    array: true
    index: 33
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: Contact details for the publisher
        choices: [valueContactDetail]
        index: 35
      valueContactDetail:
        base: {path: 'Extension.value[x]'}
        type: ContactDetail
        short: Contact details for the publisher
        choiceOf: value
        index: 36
  resourceTrigger:
    url: null
    short: Definition of a resource-based trigger for the subscription topic
    isModifier: false
    array: true
    index: 69
    extensions:
      description:
        url: null
        short: Text representation of the resource trigger
        isModifier: false
        index: 71
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Text representation of the resource trigger
            choices: [valueMarkdown]
            index: 73
          valueMarkdown:
            base: {path: 'Extension.value[x]'}
            type: markdown
            short: Text representation of the resource trigger
            choiceOf: value
            index: 74
      resource:
        url: null
        short: Data Type or Resource (reference to definition) for this trigger definition
        isModifier: false
        _required: true
        index: 75
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: Data Type or Resource (reference to definition) for this trigger definition
            choices: [valueUri]
            index: 77
          valueUri:
            base: {path: 'Extension.value[x]'}
            type: uri
            short: Data Type or Resource (reference to definition) for this trigger definition
            choiceOf: value
            index: 78
      supportedInteraction:
        url: null
        short: create | update | delete
        isModifier: false
        array: true
        index: 79
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: create | update | delete
            choices: [valueCode]
            index: 81
          valueCode:
            base: {path: 'Extension.value[x]'}
            type: code
            short: create | update | delete
            choiceOf: value
            index: 82
      queryCriteria:
        url: null
        short: Query based trigger rule
        isModifier: false
        index: 83
        extensions:
          previous:
            url: null
            short: Rule applied to previous resource state
            isModifier: false
            index: 85
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Rule applied to previous resource state
                choices: [valueString]
                index: 87
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Rule applied to previous resource state
                choiceOf: value
                index: 88
          resultForCreate:
            url: null
            short: test-passes | test-fails
            isModifier: false
            index: 89
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: test-passes | test-fails
                choices: [valueCode]
                index: 91
              valueCode:
                base: {path: 'Extension.value[x]'}
                type: code
                short: test-passes | test-fails
                choiceOf: value
                index: 92
          current:
            url: null
            short: Rule applied to current resource state
            isModifier: false
            index: 93
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Rule applied to current resource state
                choices: [valueString]
                index: 95
              valueString:
                base: {path: 'Extension.value[x]'}
                type: string
                short: Rule applied to current resource state
                choiceOf: value
                index: 96
          resultForDelete:
            url: null
            short: test-passes | test-fails
            isModifier: false
            index: 97
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: test-passes | test-fails
                choices: [valueCode]
                index: 99
              valueCode:
                base: {path: 'Extension.value[x]'}
                type: code
                short: test-passes | test-fails
                choiceOf: value
                index: 100
          requireBoth:
            url: null
            short: Both must be true flag
            isModifier: false
            index: 101
            elements:
              value:
                base: {path: 'Extension.value[x]'}
                short: Both must be true flag
                choices: [valueBoolean]
                index: 103
              valueBoolean:
                base: {path: 'Extension.value[x]'}
                type: boolean
                short: Both must be true flag
                choiceOf: value
                index: 104
        elements:
          extension:
            array: true
            index: 84
            slicing:
              rules: closed
              ordered: false
              discriminator:
              - {path: url, type: value}
              min: 0
              slices:
                previous:
                  match: {url: null}
                  schema:
                    short: Rule applied to previous resource state
                    isModifier: false
                    index: 85
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 87
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 88
                resultForCreate:
                  match: {url: null}
                  schema:
                    short: test-passes | test-fails
                    isModifier: false
                    index: 89
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 91
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 92
                current:
                  match: {url: null}
                  schema:
                    short: Rule applied to current resource state
                    isModifier: false
                    index: 93
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 95
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 96
                resultForDelete:
                  match: {url: null}
                  schema:
                    short: test-passes | test-fails
                    isModifier: false
                    index: 97
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 99
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 100
                requireBoth:
                  match: {url: null}
                  schema:
                    short: Both must be true flag
                    isModifier: false
                    index: 101
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 103
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 104
      fhirPathCriteria:
        url: null
        short: FHIRPath based trigger rule
        isModifier: false
        index: 105
        elements:
          value:
            base: {path: 'Extension.value[x]'}
            short: FHIRPath based trigger rule
            choices: [valueString]
            index: 107
          valueString:
            base: {path: 'Extension.value[x]'}
            type: string
            short: FHIRPath based trigger rule
            choiceOf: value
            index: 108
    elements:
      extension:
        array: true
        min: 1
        index: 70
        slicing:
          rules: closed
          ordered: false
          discriminator:
          - {path: url, type: value}
          min: 1
          slices:
            description:
              match: {url: null}
              schema:
                short: Text representation of the resource trigger
                isModifier: false
                index: 71
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Text representation of the resource trigger
                    choices: [valueMarkdown]
                    index: 73
                  valueMarkdown:
                    base: {path: 'Extension.value[x]'}
                    type: markdown
                    short: Text representation of the resource trigger
                    choiceOf: value
                    index: 74
            resource:
              match: {url: null}
              schema:
                short: Data Type or Resource (reference to definition) for this trigger definition
                isModifier: false
                _required: true
                index: 75
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choices: [valueUri]
                    index: 77
                  valueUri:
                    base: {path: 'Extension.value[x]'}
                    type: uri
                    short: Data Type or Resource (reference to definition) for this trigger definition
                    choiceOf: value
                    index: 78
            supportedInteraction:
              match: {url: null}
              schema:
                short: create | update | delete
                isModifier: false
                array: true
                index: 79
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: create | update | delete
                    choices: [valueCode]
                    index: 81
                  valueCode:
                    base: {path: 'Extension.value[x]'}
                    type: code
                    short: create | update | delete
                    choiceOf: value
                    index: 82
            queryCriteria:
              match: {url: null}
              schema:
                short: Query based trigger rule
                isModifier: false
                index: 83
                extensions:
                  previous:
                    url: null
                    short: Rule applied to previous resource state
                    isModifier: false
                    index: 85
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to previous resource state
                        choices: [valueString]
                        index: 87
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to previous resource state
                        choiceOf: value
                        index: 88
                  resultForCreate:
                    url: null
                    short: test-passes | test-fails
                    isModifier: false
                    index: 89
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 91
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 92
                  current:
                    url: null
                    short: Rule applied to current resource state
                    isModifier: false
                    index: 93
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Rule applied to current resource state
                        choices: [valueString]
                        index: 95
                      valueString:
                        base: {path: 'Extension.value[x]'}
                        type: string
                        short: Rule applied to current resource state
                        choiceOf: value
                        index: 96
                  resultForDelete:
                    url: null
                    short: test-passes | test-fails
                    isModifier: false
                    index: 97
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: test-passes | test-fails
                        choices: [valueCode]
                        index: 99
                      valueCode:
                        base: {path: 'Extension.value[x]'}
                        type: code
                        short: test-passes | test-fails
                        choiceOf: value
                        index: 100
                  requireBoth:
                    url: null
                    short: Both must be true flag
                    isModifier: false
                    index: 101
                    elements:
                      value:
                        base: {path: 'Extension.value[x]'}
                        short: Both must be true flag
                        choices: [valueBoolean]
                        index: 103
                      valueBoolean:
                        base: {path: 'Extension.value[x]'}
                        type: boolean
                        short: Both must be true flag
                        choiceOf: value
                        index: 104
                elements:
                  extension:
                    array: true
                    index: 84
                    slicing:
                      rules: closed
                      ordered: false
                      discriminator:
                      - {path: url, type: value}
                      min: 0
                      slices:
                        previous:
                          match: {url: null}
                          schema:
                            short: Rule applied to previous resource state
                            isModifier: false
                            index: 85
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to previous resource state
                                choices: [valueString]
                                index: 87
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to previous resource state
                                choiceOf: value
                                index: 88
                        resultForCreate:
                          match: {url: null}
                          schema:
                            short: test-passes | test-fails
                            isModifier: false
                            index: 89
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 91
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 92
                        current:
                          match: {url: null}
                          schema:
                            short: Rule applied to current resource state
                            isModifier: false
                            index: 93
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Rule applied to current resource state
                                choices: [valueString]
                                index: 95
                              valueString:
                                base: {path: 'Extension.value[x]'}
                                type: string
                                short: Rule applied to current resource state
                                choiceOf: value
                                index: 96
                        resultForDelete:
                          match: {url: null}
                          schema:
                            short: test-passes | test-fails
                            isModifier: false
                            index: 97
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: test-passes | test-fails
                                choices: [valueCode]
                                index: 99
                              valueCode:
                                base: {path: 'Extension.value[x]'}
                                type: code
                                short: test-passes | test-fails
                                choiceOf: value
                                index: 100
                        requireBoth:
                          match: {url: null}
                          schema:
                            short: Both must be true flag
                            isModifier: false
                            index: 101
                            elements:
                              value:
                                base: {path: 'Extension.value[x]'}
                                short: Both must be true flag
                                choices: [valueBoolean]
                                index: 103
                              valueBoolean:
                                base: {path: 'Extension.value[x]'}
                                type: boolean
                                short: Both must be true flag
                                choiceOf: value
                                index: 104
            fhirPathCriteria:
              match: {url: null}
              schema:
                short: FHIRPath based trigger rule
                isModifier: false
                index: 105
                elements:
                  value:
                    base: {path: 'Extension.value[x]'}
                    short: FHIRPath based trigger rule
                    choices: [valueString]
                    index: 107
                  valueString:
                    base: {path: 'Extension.value[x]'}
                    type: string
                    short: FHIRPath based trigger rule
                    choiceOf: value
                    index: 108
    required: [extension]
  effectivePeriod:
    url: null
    short: The effective date range for the SubscriptionTopic
    isModifier: false
    index: 65
    elements:
      value:
        base: {path: 'Extension.value[x]'}
        short: The effective date range for the SubscriptionTopic
        choices: [valuePeriod]
        index: 67
      valuePeriod:
        base: {path: 'Extension.value[x]'}
        type: Period
        short: The effective date range for the SubscriptionTopic
        choiceOf: value
        index: 68
class: extension
kind: complex-type
url: http://hl7.org/fhir/4.3/StructureDefinition/extension-SubscriptionTopic
base: http://hl7.org/fhir/StructureDefinition/Extension
version: 0.0.1-snapshot-1
required: [url]