http://hl7.org/fhir/StructureDefinition/ExampleScenario|5.0.0

A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.
description: A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time.
derivation: specialization
name: ExampleScenario
type: ExampleScenario
elements:
  description: {isModifier: false, short: Natural language description of the ExampleScenario, mustSupport: false, isSummary: true, index: 12}
  date: {isModifier: false, short: Date last changed, mustSupport: false, isSummary: true, index: 9}
  publisher: {isModifier: false, short: Name of the publisher/steward (organization or individual), mustSupport: false, isSummary: true, index: 10}
  instance:
    constraint:
      exs-2: {human: instance.content is only allowed if there are no instance.versions, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: content.exists() implies version.empty()}
      exs-20: {human: Instance should be referenced in at least one location, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: warning, expression: '%resource.process.descendants().select(instanceReference).where($this=%context.key).exists()'}
      exs-1: {human: StructureVersion is required if structureType is not FHIR (but may still be present even if FHIR), source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: 'structureType.exists() and structureType.memberOf(''http://hl7.org/fhir/ValueSet/resource-types'').not() implies structureVersion.exists()'}
      exs-11: {human: Version titles must be unique within an instance, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: version.title.count() = version.title.distinct().count()}
      exs-10: {human: Version keys must be unique within an instance, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: version.key.count() = version.key.distinct().count()}
      exs-21: {human: Instance version should be referenced in at least one operation, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: warning, expression: version.exists() implies version.key.intersect(%resource.process.descendants().where(instanceReference = %context.key).versionReference).exists()}
    isModifier: false
    short: Data used in the scenario
    index: 23
    mustSupport: false
    array: true
    elements:
      description: {isModifier: false, short: Human-friendly description of the instance, mustSupport: false, isSummary: false, index: 30}
      key: {isModifier: false, short: ID or acronym of the instance, mustSupport: false, isSummary: false, index: 24}
      containedInstance:
        constraint:
          exs-15: {human: versionReference must be specified if the referenced instance defines versions, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: versionReference.empty() implies %resource.instance.where(key=%context.instanceReference).version.empty()}
          exs-14: {human: InstanceReference must be a key of an instance defined in the ExampleScenario, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: '%resource.instance.where(key=%context.instanceReference).exists()'}
          exs-16: {human: versionReference must be a key of a version within the instance pointed to by instanceReference, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: versionReference.exists() implies %resource.instance.where(key=%context.instanceReference).version.where(key=%context.versionReference).exists()}
        isModifier: false
        short: Resources contained in the instance
        index: 37
        mustSupport: false
        array: true
        elements:
          instanceReference: {isModifier: false, short: Key of contained instance, mustSupport: false, isSummary: false, index: 38}
          versionReference: {isModifier: false, short: Key of contained instance version, mustSupport: false, isSummary: false, index: 39}
        required: [instanceReference]
        isSummary: false
      content: {isModifier: false, short: Example instance data, mustSupport: false, isSummary: false, index: 31}
      structureType:
        isModifier: false
        short: Data structure for example
        mustSupport: false
        binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/examplescenario-instance-type'}
        isSummary: false
        index: 25
      title: {isModifier: false, short: Label for instance, mustSupport: false, isSummary: false, index: 29}
      structureVersion: {isModifier: false, short: E.g. 4.0.1, mustSupport: false, meaningWhenMissing: 'If the structureType is a FHIR resource, then the version is the same FHIR version this ExampleScenario is expressed in.', isSummary: false, index: 26}
      structureProfile:
        isModifier: false
        short: Rules instance adheres to
        mustSupport: false
        choices: []
        isSummary: false
        index: 28
      version:
        isModifier: false
        short: Snapshot of instance that changes
        mustSupport: false
        array: true
        isSummary: false
        index: 32
        elements:
          key: {isModifier: false, short: ID or acronym of the version, mustSupport: false, isSummary: false, index: 33}
          title: {isModifier: false, short: Label for instance version, mustSupport: false, isSummary: false, index: 34}
          description: {isModifier: false, short: Details about version, mustSupport: false, isSummary: false, index: 35}
          content: {isModifier: false, short: Example instance version data, mustSupport: false, isSummary: false, index: 36}
        required: [key, title]
    required: [key, title, structureType]
    isSummary: false
  jurisdiction:
    isModifier: false
    short: Intended jurisdiction for example scenario (if applicable)
    mustSupport: false
    array: true
    binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/jurisdiction'}
    isSummary: true
    index: 14
  purpose: {isModifier: false, short: 'The purpose of the example, e.g. to illustrate a scenario', mustSupport: false, isSummary: false, index: 15}
  name: {isModifier: false, short: 'To be removed?', mustSupport: false, isSummary: true, index: 5}
  process:
    constraint:
      exs-5: {human: Processes must have steps if ExampleScenario status is active or required, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: '%resource.status=''active'' or %resource.status=''retired'' implies step.exists()'}
    isModifier: false
    short: Major process within scenario
    index: 40
    mustSupport: false
    array: true
    elements:
      title: {isModifier: false, short: Label for procss, mustSupport: false, isSummary: true, index: 41}
      description: {isModifier: false, short: Human-friendly description of the process, mustSupport: false, isSummary: false, index: 42}
      preConditions: {isModifier: false, short: Status before process starts, mustSupport: false, isSummary: false, index: 43}
      postConditions: {isModifier: false, short: Status after successful completion, mustSupport: false, isSummary: false, index: 44}
      step:
        constraint:
          exs-22: {human: 'Can have a process, a workflow, one or more operations or none of these, but cannot have a combination', source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: (process.exists() implies workflow.empty() and operation.empty()) and (workflow.exists() implies operation.empty())}
          exs-13: {human: Alternative titles must be unique within a step, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: alternative.title.count() = alternative.title.distinct().count()}
        isModifier: false
        short: Event within of the process
        mustSupport: false
        array: true
        isSummary: false
        index: 45
        elements:
          number: {isModifier: false, short: Sequential number of the step, mustSupport: false, isSummary: false, index: 46}
          process:
            elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, process]
            isModifier: false
            short: Step is nested process
            mustSupport: false
            isSummary: false
            index: 47
          workflow: {isModifier: false, short: Step is nested workflow, mustSupport: false, isSummary: false, index: 48}
          operation:
            constraint:
              exs-17: {human: 'If specified, initiator must be a key of an actor within the ExampleScenario', source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: initiator.exists() implies initiator = 'OTHER' or %resource.actor.where(key=%context.initiator).exists()}
              exs-18: {human: 'If specified, receiver must be a key of an actor within the ExampleScenario', source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: receiver.exists() implies receiver = 'OTHER' or %resource.actor.where(key=%context.receiver).exists()}
            isModifier: false
            short: Step is simple action
            mustSupport: false
            isSummary: false
            index: 49
            elements:
              response:
                elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, instance, elements, containedInstance]
                isModifier: false
                short: Instance transmitted on invocation response
                mustSupport: false
                isSummary: false
                index: 58
              description: {isModifier: false, short: Human-friendly description of the operation, mustSupport: false, isSummary: false, index: 54}
              request:
                elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, instance, elements, containedInstance]
                isModifier: false
                short: Instance transmitted on invocation
                mustSupport: false
                isSummary: false
                index: 57
              initiator: {isModifier: false, short: Who starts the operation, mustSupport: false, isSummary: false, index: 52}
              type:
                isModifier: false
                short: Kind of action
                mustSupport: false
                binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/testscript-operation-codes'}
                isSummary: false
                index: 50
              receiverActive: {isModifier: false, short: 'Receiver stays active?', mustSupport: false, isSummary: false, index: 56}
              title: {isModifier: false, short: Label for step, mustSupport: false, isSummary: false, index: 51}
              initiatorActive: {isModifier: false, short: 'Initiator stays active?', mustSupport: false, isSummary: false, index: 55}
              receiver: {isModifier: false, short: Who receives the operation, mustSupport: false, isSummary: false, index: 53}
            required: [title]
          alternative:
            isModifier: false
            short: Alternate non-typical step action
            mustSupport: false
            array: true
            isSummary: false
            index: 59
            elements:
              title: {isModifier: false, short: Label for alternative, mustSupport: false, isSummary: false, index: 60}
              description: {isModifier: false, short: Human-readable description of option, mustSupport: false, isSummary: false, index: 61}
              step:
                elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, process, elements, step]
                isModifier: false
                short: Alternative action(s)
                mustSupport: false
                array: true
                isSummary: false
                index: 62
            required: [title]
          pause: {isModifier: false, short: 'Pause in the flow?', mustSupport: false, isSummary: false, index: 63}
    required: [title]
    isSummary: false
  copyrightLabel: {isModifier: false, short: Copyright holder and year(s), mustSupport: false, isSummary: false, index: 17}
  useContext: {isModifier: false, short: The context that the content is intended to support, mustSupport: false, array: true, isSummary: true, index: 13}
  copyright: {isModifier: false, short: Use and/or publishing restrictions, mustSupport: false, isSummary: false, index: 16}
  versionAlgorithm:
    isModifier: false
    short: How to compare versions
    mustSupport: false
    choices: []
    isSummary: true
    index: 4
  experimental: {isModifier: false, short: 'For testing purposes, not real usage', mustSupport: false, meaningWhenMissing: 'If absent, this resource is treated as though it is not experimental.', isSummary: true, index: 8}
  title: {isModifier: false, short: Name for this example scenario (human friendly), mustSupport: false, isSummary: true, index: 6}
  status:
    isModifier: true
    short: draft | active | retired | unknown
    mustSupport: false
    binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status|5.0.0'}
    isModifierReason: This is labeled as \"Is Modifier\" because applications should not use a retired {{title}} without due consideration
    isSummary: true
    index: 7
  url:
    constraint:
      cnl-1: {human: 'URL should not contain | or # - these characters make processing canonical references problematic', source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: warning, expression: 'exists() implies matches(''^[^|# ]+$'')'}
    isModifier: false
    short: Canonical identifier for this example scenario, represented as a URI (globally unique)
    mustSupport: false
    isSummary: true
    index: 0
  identifier: {isModifier: false, short: Additional identifier for the example scenario, mustSupport: false, array: true, isSummary: true, index: 1}
  version: {isModifier: false, short: Business version of the example scenario, mustSupport: false, isSummary: true, index: 2}
  contact: {isModifier: false, short: Contact details for the publisher, mustSupport: false, array: true, isSummary: true, index: 11}
  actor:
    constraint:
      exs-23: {human: actor.key canot be 'OTHER', source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: key != 'OTHER'}
      exs-19: {human: Actor should be referenced in at least one operation, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: warning, expression: '%resource.process.descendants().select(operation).where(initiator=%context.key or receiver=%context.key).exists()'}
    isModifier: false
    short: Individual involved in exchange
    index: 18
    mustSupport: false
    array: true
    elements:
      key: {isModifier: false, short: ID or acronym of the actor, mustSupport: false, isSummary: false, index: 19}
      type:
        isModifier: false
        short: person | system
        mustSupport: false
        binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/examplescenario-actor-type|5.0.0'}
        isSummary: false
        index: 20
      title: {isModifier: false, short: Label for actor when rendering, mustSupport: false, isSummary: false, index: 21}
      description: {isModifier: false, short: Details about actor, mustSupport: false, isSummary: false, index: 22}
    required: [key, title, type]
    isSummary: false
class: resource
kind: resource
url: http://hl7.org/fhir/StructureDefinition/ExampleScenario
base: http://hl7.org/fhir/StructureDefinition/DomainResource
version: 5.0.0
required: [status]