PackagesCanonicalsLogsProblems
    Packages
    hl7.fhir.uv.subscriptions@backport-1.2.0-ballot
    http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4
description: Profile on Parameters for topic-based subscription notifications in R4.
package_name: hl7.fhir.uv.subscriptions
derivation: constraint
name: BackportSubscriptionStatusR4
type: Parameters
elements:
  parameter:
    short: Slices containing subscription status information
    array: true
    min: 3
    index: 0
    slicing:
      rules: open
      ordered: false
      description: Slice on parameter name
      discriminator:
      - {path: name, type: value}
      min: 3
      slices:
        subscription:
          match: {name: subscription}
          schema:
            short: Parameter containing the reference to a subscription
            mustSupport: true
            _required: true
            index: 1
            elements:
              name:
                short: 'Slice discriminator: the reference to a subscription'
                pattern: {type: String, value: subscription}
                index: 2
              value:
                short: Reference to the Subscription responsible for this notification
                mustSupport: true
                choices: [valueReference]
                index: 4
              valueReference:
                short: Reference to the Subscription responsible for this notification
                refers: ['http://hl7.org/fhir/StructureDefinition/Subscription']
                type: Reference
                mustSupport: true
                choiceOf: value
                index: 5
            required: [valueReference, value]
        topic:
          match: {name: topic}
          schema:
            short: Parameter containing the canonical reference to a subscription topic
            mustSupport: true
            index: 6
            elements:
              name:
                short: 'Slice discriminator: the canonical reference to a subscription topic'
                pattern: {type: String, value: topic}
                index: 7
              value:
                short: Canonical reference to the SubscriptionTopic this notification relates to
                mustSupport: true
                choices: [valueCanonical]
                index: 9
              valueCanonical: {type: canonical, short: Canonical reference to the SubscriptionTopic this notification relates to, mustSupport: true, choiceOf: value, index: 10}
        status:
          match: {name: status}
          schema:
            short: Parameter containing the subscription status
            mustSupport: true
            _required: true
            index: 11
            elements:
              name:
                short: 'Slice discriminator: the subscription status'
                pattern: {type: String, value: status}
                index: 12
              value:
                short: Status of the subscription when this notification was generated
                mustSupport: true
                choices: [valueCode]
                index: 14
              valueCode: {type: code, short: Status of the subscription when this notification was generated, mustSupport: true, choiceOf: value, index: 15}
            required: [valueCode, value]
        type:
          match: {name: type}
          schema:
            short: Parameter containing the type of event for this notification
            mustSupport: true
            _required: true
            index: 16
            elements:
              name:
                short: 'Slice discriminator: the type of event for this notification'
                pattern: {type: String, value: type}
                index: 17
              value:
                short: The type of event being conveyed with this notificaiton.
                mustSupport: true
                choices: [valueCode]
                index: 19
              valueCode: {type: code, short: The type of event being conveyed with this notificaiton., mustSupport: true, choiceOf: value, index: 20}
            required: [valueCode, value]
        eventsSinceSubscriptionStart:
          match: {name: events-since-subscription-start}
          schema:
            short: Parameter containing the number of events since this subscription started
            mustSupport: true
            index: 21
            elements:
              name:
                short: 'Slice discriminator: the number of events since this subscription started'
                pattern: {type: String, value: events-since-subscription-start}
                index: 22
              value:
                short: Events since the Subscription was created
                mustSupport: true
                choices: [valueString]
                index: 24
              valueString: {type: string, short: Events since the Subscription was created, mustSupport: true, choiceOf: value, index: 25}
        notificationEvent:
          match: {name: notification-event}
          schema:
            short: Parameter containing the event notification details
            mustSupport: true
            array: true
            index: 26
            elements:
              name:
                short: Parameter containing notification event details
                pattern: {type: String, value: notification-event}
                index: 27
              part:
                mustSupport: true
                index: 28
                slicing:
                  rules: open
                  ordered: false
                  description: Slice on notification event parameter name
                  discriminator:
                  - {path: name, type: value}
                  min: 1
                  slices:
                    eventNumber:
                      match: {name: event-number}
                      schema:
                        type: BackboneElement
                        short: Parameter containing the event number
                        mustSupport: true
                        _required: true
                        index: 29
                        elements:
                          name:
                            short: 'Slice discriminator: the event number'
                            pattern: {type: String, value: event-number}
                            index: 30
                          value:
                            short: Event number
                            mustSupport: true
                            choices: [valueString]
                            index: 32
                          valueString: {type: string, short: Event number, mustSupport: true, choiceOf: value, index: 33}
                        required: [valueString, value]
                    eventTimestamp:
                      match: {name: timestamp}
                      schema:
                        type: BackboneElement
                        short: Parameter containing the event timestamp
                        mustSupport: true
                        index: 34
                        elements:
                          name:
                            short: 'Slice discriminator: the event timestamp'
                            pattern: {type: String, value: timestamp}
                            index: 35
                          value:
                            short: The instant this event occurred
                            mustSupport: true
                            choices: [valueInstant]
                            index: 37
                          valueInstant: {type: instant, short: The instant this event occurred, mustSupport: true, choiceOf: value, index: 38}
                    eventFocus:
                      match: {name: focus}
                      schema:
                        type: BackboneElement
                        short: Parameter containing the event focus
                        mustSupport: true
                        index: 39
                        elements:
                          name:
                            short: 'Slice discriminator: the event focus'
                            pattern: {type: String, value: focus}
                            index: 40
                          value:
                            short: The focus of this event
                            mustSupport: true
                            choices: [valueReference]
                            index: 42
                          valueReference: {type: Reference, short: The focus of this event, mustSupport: true, choiceOf: value, index: 43}
                    eventAdditionalContext:
                      match: {name: additional-context}
                      schema:
                        type: BackboneElement
                        short: Parameter containing additional context for this event
                        mustSupport: true
                        array: true
                        index: 44
                        elements:
                          name:
                            short: 'Slice discriminator: additional context for this event'
                            pattern: {type: String, value: additional-context}
                            index: 45
                          value:
                            short: Additional context for this event
                            mustSupport: true
                            choices: [valueReference]
                            index: 47
                          valueReference: {type: Reference, short: Additional context for this event, mustSupport: true, choiceOf: value, index: 48}
                    eventRelatedQuery:
                      match: {name: related-query}
                      schema:
                        type: BackboneElement
                        short: Parameter containing related query information for this event
                        mustSupport: true
                        array: true
                        index: 49
                        elements:
                          name:
                            short: 'Slice discriminator: related query information for this event'
                            pattern: {type: String, value: related-query}
                            index: 50
                          part:
                            index: 51
                            slicing:
                              rules: open
                              ordered: false
                              description: Slice on related query part name
                              discriminator:
                              - {path: name, type: value}
                              min: 1
                              slices:
                                queryType:
                                  match: {name: query-type}
                                  schema:
                                    type: BackboneElement
                                    short: Parameter containing the query type
                                    mustSupport: true
                                    index: 52
                                    elements:
                                      name:
                                        short: 'Slice discriminator: the query type'
                                        pattern: {type: String, value: query-type}
                                        index: 53
                                      value:
                                        short: Query Type
                                        mustSupport: true
                                        choices: [valueCoding]
                                        index: 55
                                      valueCoding: {type: Coding, short: Query Type, mustSupport: true, choiceOf: value, index: 56}
                                query:
                                  match: {name: query}
                                  schema:
                                    type: BackboneElement
                                    short: Parameter containing the query
                                    mustSupport: true
                                    _required: true
                                    index: 57
                                    elements:
                                      name:
                                        short: 'Slice discriminator: the query'
                                        pattern: {type: String, value: query}
                                        index: 58
                                      value:
                                        mustSupport: true
                                        choices: [valueString]
                                        index: 60
                                      valueString: {type: string, mustSupport: true, choiceOf: value, index: 61}
                                    required: [valueString, value]
                        required: [part]
                    authType:
                      match: {name: authorization-type}
                      schema:
                        type: BackboneElement
                        short: Parameter containing the authorization hint type.
                        mustSupport: true
                        index: 62
                        elements:
                          name:
                            short: 'Slice discriminator: the authorization hint type'
                            pattern: {type: String, value: authorization-type}
                            index: 63
                          value:
                            short: Authorization Hint Type
                            mustSupport: true
                            choices: [valueCoding]
                            index: 65
                          valueCoding: {type: Coding, short: Authorization Hint Type, mustSupport: true, choiceOf: value, index: 66}
                    authValue:
                      match: {name: authorization-value}
                      schema:
                        type: BackboneElement
                        short: Parameter containing the authorization hint value.
                        mustSupport: true
                        index: 67
                        elements:
                          name:
                            short: 'Slice discriminator: the authorization hint value'
                            pattern: {type: String, value: authorization-value}
                            index: 68
                          value:
                            short: Authorization Hint Value
                            mustSupport: true
                            choices: [valueString]
                            index: 70
                          valueString: {type: string, short: Authorization Hint Value, mustSupport: true, choiceOf: value, index: 71}
            required: [part]
        error:
          match: {name: error}
          schema:
            short: Parameter containing errors on the subscription
            mustSupport: true
            array: true
            index: 72
            elements:
              name:
                short: 'Slice discriminator: errors on the subscription'
                pattern: {type: String, value: error}
                index: 73
              value:
                short: An error on the subscription
                mustSupport: true
                choices: [valueCodeableConcept]
                index: 75
              valueCodeableConcept: {type: CodeableConcept, short: An error on the subscription, mustSupport: true, choiceOf: value, index: 76}
package_version: backport-1.2.0-ballot
class: profile
kind: resource
url: http://hl7.org/fhir/uv/subscriptions-backport/StructureDefinition/backport-subscription-status-r4
base: http://hl7.org/fhir/StructureDefinition/Parameters
version: 1.2.0-ballot