description: A walkthrough of a workflow showing the interaction between systems and the instances shared, possibly including the evolution of instances over time. package_name: hl7.fhir.r6.core derivation: specialization name: ExampleScenario type: ExampleScenario elements: description: {isModifier: false, short: Natural language description of the ExampleScenario, type: markdown, mustSupport: false, isSummary: true, index: 14} date: {isModifier: false, short: Date last changed, type: dateTime, mustSupport: false, isSummary: true, index: 11} publisher: {isModifier: false, short: Name of the publisher/steward (organization or individual), type: string, mustSupport: false, isSummary: true, index: 12} 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: 26 type: BackboneElement mustSupport: false array: true elements: description: {isModifier: false, short: Human-friendly description of the instance, type: markdown, mustSupport: false, isSummary: false, index: 35} key: {isModifier: false, short: ID or acronym of the instance, type: string, mustSupport: false, isSummary: false, index: 27} 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: 42 type: BackboneElement mustSupport: false array: true elements: instanceReference: {isModifier: false, short: Key of contained instance, type: string, mustSupport: false, isSummary: false, index: 43} versionReference: {isModifier: false, short: Key of contained instance version, type: string, mustSupport: false, isSummary: false, index: 44} required: [instanceReference] isSummary: false content: {isModifier: false, short: Example instance data, type: Reference, mustSupport: false, isSummary: false, index: 36} structureType: isModifier: false short: Data structure for example type: Coding mustSupport: false binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/examplescenario-instance-type'} isSummary: false index: 28 title: {isModifier: false, short: Label for instance, type: string, mustSupport: false, isSummary: false, index: 34} structureVersion: {isModifier: false, short: E.g. 4.0.1, type: string, 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: 29} structureProfileUri: {isModifier: false, short: Rules instance adheres to, type: uri, mustSupport: false, choiceOf: structureProfile, isSummary: false, index: 33} structureProfile: isModifier: false short: Rules instance adheres to mustSupport: false choices: [structureProfileCanonical, structureProfileUri] isSummary: false index: 31 structureProfileCanonical: {isModifier: false, short: Rules instance adheres to, type: canonical, mustSupport: false, choiceOf: structureProfile, isSummary: false, index: 32} version: isModifier: false short: Snapshot of instance that changes index: 37 type: BackboneElement mustSupport: false array: true elements: key: {isModifier: false, short: ID or acronym of the version, type: string, mustSupport: false, isSummary: false, index: 38} title: {isModifier: false, short: Label for instance version, type: string, mustSupport: false, isSummary: false, index: 39} description: {isModifier: false, short: Details about version, type: markdown, mustSupport: false, isSummary: false, index: 40} content: {isModifier: false, short: Example instance version data, type: Reference, mustSupport: false, isSummary: false, index: 41} required: [key, title] isSummary: false required: [key, title, structureType] isSummary: false jurisdiction: isModifier: false short: Jurisdiction of the authority that maintains the example scenario (if applicable) type: CodeableConcept mustSupport: false array: true binding: {strength: extensible, valueSet: 'http://terminology.hl7.org/ValueSet/jurisdiction'} isSummary: true index: 16 purpose: {isModifier: false, short: 'The purpose of the example, e.g. to illustrate a scenario', type: markdown, mustSupport: false, isSummary: false, index: 17} name: {isModifier: false, short: Name for this example scenario (computer friendly), type: string, mustSupport: false, isSummary: true, index: 7} 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: 45 type: BackboneElement mustSupport: false array: true elements: title: {isModifier: false, short: Label for procss, type: string, mustSupport: false, isSummary: true, index: 46} description: {isModifier: false, short: Human-friendly description of the process, type: markdown, mustSupport: false, isSummary: false, index: 47} preConditions: {isModifier: false, short: Status before process starts, type: markdown, mustSupport: false, isSummary: false, index: 48} postConditions: {isModifier: false, short: Status after successful completion, type: markdown, mustSupport: false, isSummary: false, index: 49} 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 index: 50 type: BackboneElement mustSupport: false array: true elements: number: {isModifier: false, short: Sequential number of the step, type: string, mustSupport: false, isSummary: false, index: 51} process: elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, process] isModifier: false short: Step is nested process mustSupport: false orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.) isSummary: false index: 52 workflow: {isModifier: false, short: Step is nested workflow, type: canonical, mustSupport: false, isSummary: false, index: 53} 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 index: 54 type: BackboneElement mustSupport: false 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: 63 description: {isModifier: false, short: Human-friendly description of the operation, type: markdown, mustSupport: false, isSummary: false, index: 59} request: elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, instance, elements, containedInstance] isModifier: false short: Instance transmitted on invocation mustSupport: false isSummary: false index: 62 initiator: {isModifier: false, short: Who starts the operation, type: string, mustSupport: false, isSummary: false, index: 57} type: isModifier: false short: Kind of action type: Coding mustSupport: false binding: {strength: extensible, valueSet: 'http://hl7.org/fhir/ValueSet/examplescenario-operation-codes'} isSummary: false index: 55 receiverActive: {isModifier: false, short: 'Receiver stays active?', type: boolean, mustSupport: false, isSummary: false, index: 61} title: {isModifier: false, short: Label for step, type: string, mustSupport: false, isSummary: false, index: 56} initiatorActive: {isModifier: false, short: 'Initiator stays active?', type: boolean, mustSupport: false, isSummary: false, index: 60} receiver: {isModifier: false, short: Who receives the operation, type: string, mustSupport: false, isSummary: false, index: 58} required: [title] isSummary: false alternative: isModifier: false short: Alternate non-typical step action index: 64 type: BackboneElement mustSupport: false array: true elements: title: {isModifier: false, short: Label for alternative, type: string, mustSupport: false, isSummary: false, index: 65} description: {isModifier: false, short: Human-readable description of option, type: markdown, mustSupport: false, isSummary: false, index: 66} step: elementReference: ['http://hl7.org/fhir/StructureDefinition/ExampleScenario', elements, process, elements, step] isModifier: false short: Alternative action(s) mustSupport: false array: true orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.). It also indicates the order in which the events occur. isSummary: false index: 67 orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.) required: [title] isSummary: false pause: {isModifier: false, short: 'Pause in the flow?', type: boolean, mustSupport: false, isSummary: false, index: 68} orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.). It also indicates the order in which the events occur. isSummary: false orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.) required: [title] isSummary: false copyrightLabel: {isModifier: false, short: Copyright holder and year(s), type: string, mustSupport: false, isSummary: false, index: 19} useContext: {isModifier: false, short: The context that the content is intended to support, type: UsageContext, mustSupport: false, array: true, isSummary: true, index: 15} copyright: {isModifier: false, short: 'Notice about intellectual property ownership, can include restrictions on use', type: markdown, mustSupport: false, isSummary: false, index: 18} versionAlgorithm: isModifier: false short: How to compare versions mustSupport: false choices: [versionAlgorithmString, versionAlgorithmCoding] isSummary: true index: 4 experimental: {isModifier: false, short: For testing only - never for real usage, type: boolean, mustSupport: false, meaningWhenMissing: 'If absent, this resource is treated as though it is not experimental.', isSummary: true, index: 10} title: {isModifier: false, short: Name for this example scenario (human friendly), type: string, mustSupport: false, isSummary: true, index: 8} versionAlgorithmCoding: {isModifier: false, short: How to compare versions, type: Coding, mustSupport: false, choiceOf: versionAlgorithm, isSummary: true, index: 6} status: isModifier: true short: draft | active | retired | unknown index: 9 type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/publication-status|6.0.0-ballot4'} isModifierReason: This is labeled as "Is Modifier" because applications should not use a retired ExampleScenario without due consideration isSummary: true 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) type: uri mustSupport: false isSummary: true index: 0 identifier: {isModifier: false, short: Additional identifier for the example scenario, type: Identifier, mustSupport: false, array: true, isSummary: true, index: 1} versionAlgorithmString: {isModifier: false, short: How to compare versions, type: string, mustSupport: false, choiceOf: versionAlgorithm, isSummary: true, index: 5} version: {isModifier: false, short: Business version of the example scenario, type: string, mustSupport: false, isSummary: true, index: 2} contact: {isModifier: false, short: Contact details for the publisher, type: ContactDetail, mustSupport: false, array: true, isSummary: true, index: 13} actor: constraint: exs-24: {human: actor SHALL have either a type or a definition but not both, source: 'http://hl7.org/fhir/StructureDefinition/ExampleScenario', severity: error, expression: type.exists() xor definition.exists()} 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: 20 type: BackboneElement mustSupport: false array: true elements: key: {isModifier: false, short: ID or acronym of the actor, type: string, mustSupport: false, isSummary: false, index: 21} type: isModifier: false short: person | system | collective | other type: code mustSupport: false binding: {strength: required, valueSet: 'http://hl7.org/fhir/ValueSet/actordefinition-actor-type|6.0.0-ballot4'} isSummary: false index: 22 title: {isModifier: false, short: Label for actor when rendering, type: string, mustSupport: false, isSummary: false, index: 23} description: {isModifier: false, short: Details about actor, type: markdown, mustSupport: false, isSummary: false, index: 24} definition: {isModifier: false, short: Formal definition of actor, type: canonical, mustSupport: false, isSummary: false, index: 25} orderMeaning: The order in which these elements appear is the order in which they are expected to be rendered (in a table, in a diagram, etc.) required: [key, title] isSummary: false package_version: 6.0.0-ballot4 class: resource kind: resource url: http://hl7.org/fhir/StructureDefinition/ExampleScenario base: http://hl7.org/fhir/StructureDefinition/DomainResource version: 6.0.0-ballot4 required: [status]