View raw Markdown
type: resourceresource: ExampleScenario

ExampleScenario

Introduction

Scope and Usage

ExampleScenario provides examples for how certain data exchange workflows might manifest. This resource is similar to ImplementationGuide, Requirements, ActorDefinition, and other resources that will typically only be exchanged as part of implementation guide packages and will be used by implementers to understand how to design systems rather than being used to share information between clinical systems.

This resource can be used to show how instances would evolve over time as well as the interplay of systems over time to accomplish a particular end-state. It will frequently be used to generate sequence diagrams, but also provides further information about all of the entities within the sequence diagrams, including the instances shared as part of the exchange.

This resource is most useful when documenting more complex flows rather than simple RESTful invocations or other request-response pairs.

Boundaries and Relationships

PlanDefinitions also describe actors and sequences of interactions between them, including alternatives. However, PlanDefinition defines what's allowed, while ExampleScenario represents a potential pathway through what's allowed. While an ExampleScenario can define alternatives, it doesn't necessarily call out all of them. Instead, it highlights the path(s) of interest to help a reader understand what's possible or how a particular scenario might work. Any resource can be an 'example' in a specification. This resource is specifically about highlighting how those examples come together in a workflow - who exchanges them and under what circumstances.

Background and Context

Provides additional detail on exactly how the resource is to be used

Notes

Example Scenarios help to make the expected behavior of a collection of systems adhering to a guide more concrete. It allows the author to say "Imagine you have a patient in situation X and Y needs to happen. This is what the exchanges between the various imaginary systems might look like for that specific patient."

Creating examples is a lot of work, and creating ExampleScenarios is often an order of magnitude more work, but being able to see the resulting diagrams of flows and click through to see the specific instances that are being exchanged can be extremely helpful in solidifying implementer understanding of the 'workflow' implied by an implementation guide.

In addition to the examples provided in the examples tab, you can also see some useful examples of ExampleScenario in the Physical Activity implementation guide.

Contained

There are two notions of 'contained' in this resource - the generic 'contained' element inherited from DomainResource that allows other resources to be nested inside this ExampleScenario (e.g. Provenance, structureProfiles, or instance or instance.version content). There is also a containedInstance element on ExampleScenario.instance. This latter element reflects the nesting of content within the data shared as part of a scenario. For example, highlighting that an instance initially received on its own (e.g. an Observation) is later conveyed in a Bundle (as a document, message or search response), or potentially a resource that was nested as a 'contained' resource in one instance is available in non-contained form or contained inside a different resource in a separate instance.

In short, 'ExampleScenario.contained' is for nesting resources inside the ExampleScenario. ExampleScenario.instance.containedInstance reflects the nesting of data being transmitted by an ExampleScenario operation as part of the scenario.

StructureDefinition

Elements (Simplified)

Mappings

Resource Packs

list-ExampleScenario-packs.xml

<?xml version="1.0" encoding="UTF-8"?>

<List xmlns="http://hl7.org/fhir">
  <id value="ExampleScenario-packs"/>
  <status value="current"/>
  <mode value="working"/>
</List>

Search Parameters

Full Search Parameters

Examples

Full Examples

Mapping Exceptions

examplescenario-fivews-mapping-exceptions.xml

Divergent Elements

Unmapped Elements