Release 4

This page is part of the FHIR Specification (v4.0.1: R4 - Mixed Normative and STU) in it's permanent home (it will always be available at this URL). The current version which supercedes this version is 5.0.0. For a full list of available versions, see the Directory of published versions . Page versions: R5 R4B R4

12.23 Resource ExampleScenario - Content

FHIR Infrastructure Work GroupMaturity Level: 0 Trial UseSecurity Category: Anonymous Compartments: Not linked to any defined compartments

Example of workflow instance.

Todo

This resource is referenced by itself

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ExampleScenario ITUDomainResourceExample of workflow instance
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ0..1uriCanonical identifier for this example scenario, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the example scenario
... version Σ0..1stringBusiness version of the example scenario
... name ΣI0..1stringName for this example scenario (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for example scenario (if applicable)
Jurisdiction (Extensible)
... copyright 0..1markdownUse and/or publishing restrictions
... purpose 0..1markdownThe purpose of the example, e.g. to illustrate a scenario
... actor 0..*BackboneElementActor participating in the resource
.... actorId 1..1stringID or acronym of the actor
.... type 1..1codeperson | entity
ExampleScenarioActorType (Required)
.... name 0..1stringThe name of the actor as shown in the page
.... description 0..1markdownThe description of the actor
... instance 0..*BackboneElementEach resource and each version that is present in the workflow
.... resourceId 1..1stringThe id of the resource for referencing
.... resourceType 1..1codeThe type of the resource
ResourceType (Required)
.... name 0..1stringA short name for the resource instance
.... description 0..1markdownHuman-friendly description of the resource instance
.... version 0..*BackboneElementA specific version of the resource
..... versionId 1..1stringThe identifier of a specific version of a resource
..... description 1..1markdownThe description of the resource version
.... containedInstance 0..*BackboneElementResources contained in the instance
..... resourceId 1..1stringEach resource contained in the instance
..... versionId 0..1stringA specific version of a resource contained in the instance
... process 0..*BackboneElementEach major process - a group of operations
.... title Σ1..1stringThe diagram title of the group of operations
.... description 0..1markdownA longer description of the group of operations
.... preConditions 0..1markdownDescription of initial status before the process starts
.... postConditions 0..1markdownDescription of final status after the process ends
.... step 0..*BackboneElementEach step of the process
..... process 0..*see processNested process
..... pause 0..1booleanIf there is a pause in the flow
..... operation 0..1BackboneElementEach interaction or action
...... number 1..1stringThe sequential number of the interaction
...... type 0..1stringThe type of operation - CRUD
...... name 0..1stringThe human-friendly name of the interaction
...... initiator 0..1stringWho starts the transaction
...... receiver 0..1stringWho receives the transaction
...... description 0..1markdownA comment to be inserted in the diagram
...... initiatorActive 0..1booleanWhether the initiator is deactivated right after the transaction
...... receiverActive 0..1booleanWhether the receiver is deactivated right after the transaction
...... request 0..1see containedInstanceEach resource instance used by the initiator
...... response 0..1see containedInstanceEach resource instance used by the responder
..... alternative 0..*BackboneElementAlternate non-typical step action
...... title 1..1stringLabel for alternative
...... description 0..1markdownA human-readable description of each option
...... step 0..*see stepWhat happens in each alternative option
... workflow 0..*canonical(ExampleScenario)Another nested workflow

doco Documentation for this format

UML Diagram (Legend)

ExampleScenario (DomainResource)An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequenceversion : string [0..1]A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]The status of this example scenario. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usageexperimental : boolean [0..1]The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition')date : dateTime [0..1]The name of the organization or individual that published the example scenariopublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instancesuseContext : UsageContext [0..*]A legal or geographic region in which the example scenario is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)Jurisdiction ValueSet+ »A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenariocopyright : markdown [0..1]What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenariopurpose : markdown [0..1]Another nested workflowworkflow : canonical [0..*] « ExampleScenario »ActorID or acronym of actoractorId : string [1..1]The type of actor - person or systemtype : code [1..1] « The type of actor - system or human. (Strength=Required)ExampleScenarioActorType! »The name of the actor as shown in the pagename : string [0..1]The description of the actordescription : markdown [0..1]InstanceThe id of the resource for referencingresourceId : string [1..1]The type of the resourceresourceType : code [1..1] « The type of resource. (Strength=Required)ResourceType! »A short name for the resource instancename : string [0..1]Human-friendly description of the resource instancedescription : markdown [0..1]VersionThe identifier of a specific version of a resourceversionId : string [1..1]The description of the resource versiondescription : markdown [1..1]ContainedInstanceEach resource contained in the instanceresourceId : string [1..1]A specific version of a resource contained in the instanceversionId : string [0..1]ProcessThe diagram title of the group of operationstitle : string [1..1]A longer description of the group of operationsdescription : markdown [0..1]Description of initial status before the process startspreConditions : markdown [0..1]Description of final status after the process endspostConditions : markdown [0..1]StepIf there is a pause in the flowpause : boolean [0..1]OperationThe sequential number of the interaction, e.g. 1.2.5number : string [1..1]The type of operation - CRUDtype : string [0..1]The human-friendly name of the interactionname : string [0..1]Who starts the transactioninitiator : string [0..1]Who receives the transactionreceiver : string [0..1]A comment to be inserted in the diagramdescription : markdown [0..1]Whether the initiator is deactivated right after the transactioninitiatorActive : boolean [0..1]Whether the receiver is deactivated right after the transactionreceiverActive : boolean [0..1]AlternativeThe label to display for the alternative that gives a sense of the circumstance in which the alternative should be invokedtitle : string [1..1]A human-readable description of the alternative explaining when the alternative should occur rather than the base stepdescription : markdown [0..1]Actor participating in the resourceactor[0..*]A specific version of the resourceversion[0..*]Resources contained in the instance (e.g. the observations contained in a bundle)containedInstance[0..*]Each resource and each version that is present in the workflowinstance[0..*]Nested processprocess[0..*]Each resource instance used by the initiatorrequest[0..1]Each resource instance used by the responderresponse[0..1]Each interaction or actionoperation[0..1]What happens in each alternative optionstep[0..*]Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstancesalternative[0..*]Each step of the processstep[0..*]Each major process - a group of operationsprocess[0..*]

XML Template

<ExampleScenario xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the example scenario --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the example scenario -->
 <name value="[string]"/><!-- ?? 0..1 Name for this example scenario (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for example scenario (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <purpose value="[markdown]"/><!-- 0..1 The purpose of the example, e.g. to illustrate a scenario -->
 <actor>  <!-- 0..* Actor participating in the resource -->
  <actorId value="[string]"/><!-- 1..1 ID or acronym of the actor -->
  <type value="[code]"/><!-- 1..1 person | entity -->
  <name value="[string]"/><!-- 0..1 The name of the actor as shown in the page -->
  <description value="[markdown]"/><!-- 0..1 The description of the actor -->
 </actor>
 <instance>  <!-- 0..* Each resource and each version that is present in the workflow -->
  <resourceId value="[string]"/><!-- 1..1 The id of the resource for referencing -->
  <resourceType value="[code]"/><!-- 1..1 The type of the resource -->
  <name value="[string]"/><!-- 0..1 A short name for the resource instance -->
  <description value="[markdown]"/><!-- 0..1 Human-friendly description of the resource instance -->
  <version>  <!-- 0..* A specific version of the resource -->
   <versionId value="[string]"/><!-- 1..1 The identifier of a specific version of a resource -->
   <description value="[markdown]"/><!-- 1..1 The description of the resource version -->
  </version>
  <containedInstance>  <!-- 0..* Resources contained in the instance -->
   <resourceId value="[string]"/><!-- 1..1 Each resource contained in the instance -->
   <versionId value="[string]"/><!-- 0..1 A specific version of a resource contained in the instance -->
  </containedInstance>
 </instance>
 <process>  <!-- 0..* Each major process - a group of operations -->
  <title value="[string]"/><!-- 1..1 The diagram title of the group of operations -->
  <description value="[markdown]"/><!-- 0..1 A longer description of the group of operations -->
  <preConditions value="[markdown]"/><!-- 0..1 Description of initial status before the process starts -->
  <postConditions value="[markdown]"/><!-- 0..1 Description of final status after the process ends -->
  <step>  <!-- 0..* Each step of the process -->
   <process><!-- 0..* Content as for ExampleScenario.process Nested process --></process>
   <pause value="[boolean]"/><!-- 0..1 If there is a pause in the flow -->
   <operation>  <!-- 0..1 Each interaction or action -->
    <number value="[string]"/><!-- 1..1 The sequential number of the interaction -->
    <type value="[string]"/><!-- 0..1 The type of operation - CRUD -->
    <name value="[string]"/><!-- 0..1 The human-friendly name of the interaction -->
    <initiator value="[string]"/><!-- 0..1 Who starts the transaction -->
    <receiver value="[string]"/><!-- 0..1 Who receives the transaction -->
    <description value="[markdown]"/><!-- 0..1 A comment to be inserted in the diagram -->
    <initiatorActive value="[boolean]"/><!-- 0..1 Whether the initiator is deactivated right after the transaction -->
    <receiverActive value="[boolean]"/><!-- 0..1 Whether the receiver is deactivated right after the transaction -->
    <request><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Each resource instance used by the initiator --></request>
    <response><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Each resource instance used by the responder --></response>
   </operation>
   <alternative>  <!-- 0..* Alternate non-typical step action -->
    <title value="[string]"/><!-- 1..1 Label for alternative -->
    <description value="[markdown]"/><!-- 0..1 A human-readable description of each option -->
    <step><!-- 0..* Content as for ExampleScenario.process.step What happens in each alternative option --></step>
   </alternative>
  </step>
 </process>
 <workflow><!-- 0..* canonical(ExampleScenario) Another nested workflow --></workflow>
</ExampleScenario>

JSON Template

{doco
  "resourceType" : "ExampleScenario",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Canonical identifier for this example scenario, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the example scenario
  "version" : "<string>", // Business version of the example scenario
  "name" : "<string>", // C? Name for this example scenario (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for example scenario (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "purpose" : "<markdown>", // The purpose of the example, e.g. to illustrate a scenario
  "actor" : [{ // Actor participating in the resource
    "actorId" : "<string>", // R!  ID or acronym of the actor
    "type" : "<code>", // R!  person | entity
    "name" : "<string>", // The name of the actor as shown in the page
    "description" : "<markdown>" // The description of the actor
  }],
  "instance" : [{ // Each resource and each version that is present in the workflow
    "resourceId" : "<string>", // R!  The id of the resource for referencing
    "resourceType" : "<code>", // R!  The type of the resource
    "name" : "<string>", // A short name for the resource instance
    "description" : "<markdown>", // Human-friendly description of the resource instance
    "version" : [{ // A specific version of the resource
      "versionId" : "<string>", // R!  The identifier of a specific version of a resource
      "description" : "<markdown>" // R!  The description of the resource version
    }],
    "containedInstance" : [{ // Resources contained in the instance
      "resourceId" : "<string>", // R!  Each resource contained in the instance
      "versionId" : "<string>" // A specific version of a resource contained in the instance
    }]
  }],
  "process" : [{ // Each major process - a group of operations
    "title" : "<string>", // R!  The diagram title of the group of operations
    "description" : "<markdown>", // A longer description of the group of operations
    "preConditions" : "<markdown>", // Description of initial status before the process starts
    "postConditions" : "<markdown>", // Description of final status after the process ends
    "step" : [{ // Each step of the process
      "process" : [{ Content as for ExampleScenario.process }], // Nested process
      "pause" : <boolean>, // If there is a pause in the flow
      "operation" : { // Each interaction or action
        "number" : "<string>", // R!  The sequential number of the interaction
        "type" : "<string>", // The type of operation - CRUD
        "name" : "<string>", // The human-friendly name of the interaction
        "initiator" : "<string>", // Who starts the transaction
        "receiver" : "<string>", // Who receives the transaction
        "description" : "<markdown>", // A comment to be inserted in the diagram
        "initiatorActive" : <boolean>, // Whether the initiator is deactivated right after the transaction
        "receiverActive" : <boolean>, // Whether the receiver is deactivated right after the transaction
        "request" : { Content as for ExampleScenario.instance.containedInstance }, // Each resource instance used by the initiator
        "response" : { Content as for ExampleScenario.instance.containedInstance } // Each resource instance used by the responder
      },
      "alternative" : [{ // Alternate non-typical step action
        "title" : "<string>", // R!  Label for alternative
        "description" : "<markdown>", // A human-readable description of each option
        "step" : [{ Content as for ExampleScenario.process.step }] // What happens in each alternative option
      }]
    }]
  }],
  "workflow" : [{ canonical(ExampleScenario) }] // Another nested workflow
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ExampleScenario;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ExampleScenario.url [ uri ]; # 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique)
  fhir:ExampleScenario.identifier [ Identifier ], ... ; # 0..* Additional identifier for the example scenario
  fhir:ExampleScenario.version [ string ]; # 0..1 Business version of the example scenario
  fhir:ExampleScenario.name [ string ]; # 0..1 Name for this example scenario (computer friendly)
  fhir:ExampleScenario.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ExampleScenario.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ExampleScenario.date [ dateTime ]; # 0..1 Date last changed
  fhir:ExampleScenario.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ExampleScenario.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ExampleScenario.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support
  fhir:ExampleScenario.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for example scenario (if applicable)
  fhir:ExampleScenario.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ExampleScenario.purpose [ markdown ]; # 0..1 The purpose of the example, e.g. to illustrate a scenario
  fhir:ExampleScenario.actor [ # 0..* Actor participating in the resource
    fhir:ExampleScenario.actor.actorId [ string ]; # 1..1 ID or acronym of the actor
    fhir:ExampleScenario.actor.type [ code ]; # 1..1 person | entity
    fhir:ExampleScenario.actor.name [ string ]; # 0..1 The name of the actor as shown in the page
    fhir:ExampleScenario.actor.description [ markdown ]; # 0..1 The description of the actor
  ], ...;
  fhir:ExampleScenario.instance [ # 0..* Each resource and each version that is present in the workflow
    fhir:ExampleScenario.instance.resourceId [ string ]; # 1..1 The id of the resource for referencing
    fhir:ExampleScenario.instance.resourceType [ code ]; # 1..1 The type of the resource
    fhir:ExampleScenario.instance.name [ string ]; # 0..1 A short name for the resource instance
    fhir:ExampleScenario.instance.description [ markdown ]; # 0..1 Human-friendly description of the resource instance
    fhir:ExampleScenario.instance.version [ # 0..* A specific version of the resource
      fhir:ExampleScenario.instance.version.versionId [ string ]; # 1..1 The identifier of a specific version of a resource
      fhir:ExampleScenario.instance.version.description [ markdown ]; # 1..1 The description of the resource version
    ], ...;
    fhir:ExampleScenario.instance.containedInstance [ # 0..* Resources contained in the instance
      fhir:ExampleScenario.instance.containedInstance.resourceId [ string ]; # 1..1 Each resource contained in the instance
      fhir:ExampleScenario.instance.containedInstance.versionId [ string ]; # 0..1 A specific version of a resource contained in the instance
    ], ...;
  ], ...;
  fhir:ExampleScenario.process [ # 0..* Each major process - a group of operations
    fhir:ExampleScenario.process.title [ string ]; # 1..1 The diagram title of the group of operations
    fhir:ExampleScenario.process.description [ markdown ]; # 0..1 A longer description of the group of operations
    fhir:ExampleScenario.process.preConditions [ markdown ]; # 0..1 Description of initial status before the process starts
    fhir:ExampleScenario.process.postConditions [ markdown ]; # 0..1 Description of final status after the process ends
    fhir:ExampleScenario.process.step [ # 0..* Each step of the process
      fhir:ExampleScenario.process.step.process [ See ExampleScenario.process ], ... ; # 0..* Nested process
      fhir:ExampleScenario.process.step.pause [ boolean ]; # 0..1 If there is a pause in the flow
      fhir:ExampleScenario.process.step.operation [ # 0..1 Each interaction or action
        fhir:ExampleScenario.process.step.operation.number [ string ]; # 1..1 The sequential number of the interaction
        fhir:ExampleScenario.process.step.operation.type [ string ]; # 0..1 The type of operation - CRUD
        fhir:ExampleScenario.process.step.operation.name [ string ]; # 0..1 The human-friendly name of the interaction
        fhir:ExampleScenario.process.step.operation.initiator [ string ]; # 0..1 Who starts the transaction
        fhir:ExampleScenario.process.step.operation.receiver [ string ]; # 0..1 Who receives the transaction
        fhir:ExampleScenario.process.step.operation.description [ markdown ]; # 0..1 A comment to be inserted in the diagram
        fhir:ExampleScenario.process.step.operation.initiatorActive [ boolean ]; # 0..1 Whether the initiator is deactivated right after the transaction
        fhir:ExampleScenario.process.step.operation.receiverActive [ boolean ]; # 0..1 Whether the receiver is deactivated right after the transaction
        fhir:ExampleScenario.process.step.operation.request [ See ExampleScenario.instance.containedInstance ]; # 0..1 Each resource instance used by the initiator
        fhir:ExampleScenario.process.step.operation.response [ See ExampleScenario.instance.containedInstance ]; # 0..1 Each resource instance used by the responder
      ];
      fhir:ExampleScenario.process.step.alternative [ # 0..* Alternate non-typical step action
        fhir:ExampleScenario.process.step.alternative.title [ string ]; # 1..1 Label for alternative
        fhir:ExampleScenario.process.step.alternative.description [ markdown ]; # 0..1 A human-readable description of each option
        fhir:ExampleScenario.process.step.alternative.step [ See ExampleScenario.process.step ], ... ; # 0..* What happens in each alternative option
      ], ...;
    ], ...;
  ], ...;
  fhir:ExampleScenario.workflow [ canonical(ExampleScenario) ], ... ; # 0..* Another nested workflow
]

Changes since R3

This resource did not exist in Release 2

This analysis is available as XML or JSON.

Structure

NameFlagsCard.TypeDescription & Constraintsdoco
.. ExampleScenario ITUDomainResourceExample of workflow instance
+ Warning: Name should be usable as an identifier for the module by machine processing applications such as code generation
Elements defined in Ancestors: id, meta, implicitRules, language, text, contained, extension, modifierExtension
... url Σ0..1uriCanonical identifier for this example scenario, represented as a URI (globally unique)
... identifier Σ0..*IdentifierAdditional identifier for the example scenario
... version Σ0..1stringBusiness version of the example scenario
... name ΣI0..1stringName for this example scenario (computer friendly)
... status ?!Σ1..1codedraft | active | retired | unknown
PublicationStatus (Required)
... experimental Σ0..1booleanFor testing purposes, not real usage
... date Σ0..1dateTimeDate last changed
... publisher Σ0..1stringName of the publisher (organization or individual)
... contact Σ0..*ContactDetailContact details for the publisher
... useContext Σ0..*UsageContextThe context that the content is intended to support
... jurisdiction Σ0..*CodeableConceptIntended jurisdiction for example scenario (if applicable)
Jurisdiction (Extensible)
... copyright 0..1markdownUse and/or publishing restrictions
... purpose 0..1markdownThe purpose of the example, e.g. to illustrate a scenario
... actor 0..*BackboneElementActor participating in the resource
.... actorId 1..1stringID or acronym of the actor
.... type 1..1codeperson | entity
ExampleScenarioActorType (Required)
.... name 0..1stringThe name of the actor as shown in the page
.... description 0..1markdownThe description of the actor
... instance 0..*BackboneElementEach resource and each version that is present in the workflow
.... resourceId 1..1stringThe id of the resource for referencing
.... resourceType 1..1codeThe type of the resource
ResourceType (Required)
.... name 0..1stringA short name for the resource instance
.... description 0..1markdownHuman-friendly description of the resource instance
.... version 0..*BackboneElementA specific version of the resource
..... versionId 1..1stringThe identifier of a specific version of a resource
..... description 1..1markdownThe description of the resource version
.... containedInstance 0..*BackboneElementResources contained in the instance
..... resourceId 1..1stringEach resource contained in the instance
..... versionId 0..1stringA specific version of a resource contained in the instance
... process 0..*BackboneElementEach major process - a group of operations
.... title Σ1..1stringThe diagram title of the group of operations
.... description 0..1markdownA longer description of the group of operations
.... preConditions 0..1markdownDescription of initial status before the process starts
.... postConditions 0..1markdownDescription of final status after the process ends
.... step 0..*BackboneElementEach step of the process
..... process 0..*see processNested process
..... pause 0..1booleanIf there is a pause in the flow
..... operation 0..1BackboneElementEach interaction or action
...... number 1..1stringThe sequential number of the interaction
...... type 0..1stringThe type of operation - CRUD
...... name 0..1stringThe human-friendly name of the interaction
...... initiator 0..1stringWho starts the transaction
...... receiver 0..1stringWho receives the transaction
...... description 0..1markdownA comment to be inserted in the diagram
...... initiatorActive 0..1booleanWhether the initiator is deactivated right after the transaction
...... receiverActive 0..1booleanWhether the receiver is deactivated right after the transaction
...... request 0..1see containedInstanceEach resource instance used by the initiator
...... response 0..1see containedInstanceEach resource instance used by the responder
..... alternative 0..*BackboneElementAlternate non-typical step action
...... title 1..1stringLabel for alternative
...... description 0..1markdownA human-readable description of each option
...... step 0..*see stepWhat happens in each alternative option
... workflow 0..*canonical(ExampleScenario)Another nested workflow

doco Documentation for this format

UML Diagram (Legend)

ExampleScenario (DomainResource)An absolute URI that is used to identify this example scenario when it is referenced in a specification, model, design or an instance; also called its canonical identifier. This SHOULD be globally unique and SHOULD be a literal address at which at which an authoritative instance of this example scenario is (or will be) published. This URL can be the target of a canonical reference. It SHALL remain the same when the example scenario is stored on different serversurl : uri [0..1]A formal identifier that is used to identify this example scenario when it is represented in other formats, or referenced in a specification, model, design or an instanceidentifier : Identifier [0..*]The identifier that is used to identify this version of the example scenario when it is referenced in a specification, model, design or instance. This is an arbitrary value managed by the example scenario author and is not expected to be globally unique. For example, it might be a timestamp (e.g. yyyymmdd) if a managed version is not available. There is also no expectation that versions can be placed in a lexicographical sequenceversion : string [0..1]A natural language name identifying the example scenario. This name should be usable as an identifier for the module by machine processing applications such as code generationname : string [0..1]The status of this example scenario. Enables tracking the life-cycle of the content (this element modifies the meaning of other elements)status : code [1..1] « The lifecycle status of an artifact. (Strength=Required)PublicationStatus! »A Boolean value to indicate that this example scenario is authored for testing purposes (or education/evaluation/marketing) and is not intended to be used for genuine usageexperimental : boolean [0..1]The date (and optionally time) when the example scenario was published. The date must change when the business version changes and it must change if the status code changes. In addition, it should change when the substantive content of the example scenario changes. (e.g. the 'content logical definition')date : dateTime [0..1]The name of the organization or individual that published the example scenariopublisher : string [0..1]Contact details to assist a user in finding and communicating with the publishercontact : ContactDetail [0..*]The content was developed with a focus and intent of supporting the contexts that are listed. These contexts may be general categories (gender, age, ...) or may be references to specific programs (insurance plans, studies, ...) and may be used to assist with indexing and searching for appropriate example scenario instancesuseContext : UsageContext [0..*]A legal or geographic region in which the example scenario is intended to be usedjurisdiction : CodeableConcept [0..*] « Countries and regions within which this artifact is targeted for use. (Strength=Extensible)Jurisdiction ValueSet+ »A copyright statement relating to the example scenario and/or its contents. Copyright statements are generally legal restrictions on the use and publishing of the example scenariocopyright : markdown [0..1]What the example scenario resource is created for. This should not be used to show the business purpose of the scenario itself, but the purpose of documenting a scenariopurpose : markdown [0..1]Another nested workflowworkflow : canonical [0..*] « ExampleScenario »ActorID or acronym of actoractorId : string [1..1]The type of actor - person or systemtype : code [1..1] « The type of actor - system or human. (Strength=Required)ExampleScenarioActorType! »The name of the actor as shown in the pagename : string [0..1]The description of the actordescription : markdown [0..1]InstanceThe id of the resource for referencingresourceId : string [1..1]The type of the resourceresourceType : code [1..1] « The type of resource. (Strength=Required)ResourceType! »A short name for the resource instancename : string [0..1]Human-friendly description of the resource instancedescription : markdown [0..1]VersionThe identifier of a specific version of a resourceversionId : string [1..1]The description of the resource versiondescription : markdown [1..1]ContainedInstanceEach resource contained in the instanceresourceId : string [1..1]A specific version of a resource contained in the instanceversionId : string [0..1]ProcessThe diagram title of the group of operationstitle : string [1..1]A longer description of the group of operationsdescription : markdown [0..1]Description of initial status before the process startspreConditions : markdown [0..1]Description of final status after the process endspostConditions : markdown [0..1]StepIf there is a pause in the flowpause : boolean [0..1]OperationThe sequential number of the interaction, e.g. 1.2.5number : string [1..1]The type of operation - CRUDtype : string [0..1]The human-friendly name of the interactionname : string [0..1]Who starts the transactioninitiator : string [0..1]Who receives the transactionreceiver : string [0..1]A comment to be inserted in the diagramdescription : markdown [0..1]Whether the initiator is deactivated right after the transactioninitiatorActive : boolean [0..1]Whether the receiver is deactivated right after the transactionreceiverActive : boolean [0..1]AlternativeThe label to display for the alternative that gives a sense of the circumstance in which the alternative should be invokedtitle : string [1..1]A human-readable description of the alternative explaining when the alternative should occur rather than the base stepdescription : markdown [0..1]Actor participating in the resourceactor[0..*]A specific version of the resourceversion[0..*]Resources contained in the instance (e.g. the observations contained in a bundle)containedInstance[0..*]Each resource and each version that is present in the workflowinstance[0..*]Nested processprocess[0..*]Each resource instance used by the initiatorrequest[0..1]Each resource instance used by the responderresponse[0..1]Each interaction or actionoperation[0..1]What happens in each alternative optionstep[0..*]Indicates an alternative step that can be taken instead of the operations on the base step in exceptional/atypical circumstancesalternative[0..*]Each step of the processstep[0..*]Each major process - a group of operationsprocess[0..*]

XML Template

<ExampleScenario xmlns="http://hl7.org/fhir"> doco
 <!-- from Resource: id, meta, implicitRules, and language -->
 <!-- from DomainResource: text, contained, extension, and modifierExtension -->
 <url value="[uri]"/><!-- 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique) -->
 <identifier><!-- 0..* Identifier Additional identifier for the example scenario --></identifier>
 <version value="[string]"/><!-- 0..1 Business version of the example scenario -->
 <name value="[string]"/><!-- ?? 0..1 Name for this example scenario (computer friendly) -->
 <status value="[code]"/><!-- 1..1 draft | active | retired | unknown -->
 <experimental value="[boolean]"/><!-- 0..1 For testing purposes, not real usage -->
 <date value="[dateTime]"/><!-- 0..1 Date last changed -->
 <publisher value="[string]"/><!-- 0..1 Name of the publisher (organization or individual) -->
 <contact><!-- 0..* ContactDetail Contact details for the publisher --></contact>
 <useContext><!-- 0..* UsageContext The context that the content is intended to support --></useContext>
 <jurisdiction><!-- 0..* CodeableConcept Intended jurisdiction for example scenario (if applicable) --></jurisdiction>
 <copyright value="[markdown]"/><!-- 0..1 Use and/or publishing restrictions -->
 <purpose value="[markdown]"/><!-- 0..1 The purpose of the example, e.g. to illustrate a scenario -->
 <actor>  <!-- 0..* Actor participating in the resource -->
  <actorId value="[string]"/><!-- 1..1 ID or acronym of the actor -->
  <type value="[code]"/><!-- 1..1 person | entity -->
  <name value="[string]"/><!-- 0..1 The name of the actor as shown in the page -->
  <description value="[markdown]"/><!-- 0..1 The description of the actor -->
 </actor>
 <instance>  <!-- 0..* Each resource and each version that is present in the workflow -->
  <resourceId value="[string]"/><!-- 1..1 The id of the resource for referencing -->
  <resourceType value="[code]"/><!-- 1..1 The type of the resource -->
  <name value="[string]"/><!-- 0..1 A short name for the resource instance -->
  <description value="[markdown]"/><!-- 0..1 Human-friendly description of the resource instance -->
  <version>  <!-- 0..* A specific version of the resource -->
   <versionId value="[string]"/><!-- 1..1 The identifier of a specific version of a resource -->
   <description value="[markdown]"/><!-- 1..1 The description of the resource version -->
  </version>
  <containedInstance>  <!-- 0..* Resources contained in the instance -->
   <resourceId value="[string]"/><!-- 1..1 Each resource contained in the instance -->
   <versionId value="[string]"/><!-- 0..1 A specific version of a resource contained in the instance -->
  </containedInstance>
 </instance>
 <process>  <!-- 0..* Each major process - a group of operations -->
  <title value="[string]"/><!-- 1..1 The diagram title of the group of operations -->
  <description value="[markdown]"/><!-- 0..1 A longer description of the group of operations -->
  <preConditions value="[markdown]"/><!-- 0..1 Description of initial status before the process starts -->
  <postConditions value="[markdown]"/><!-- 0..1 Description of final status after the process ends -->
  <step>  <!-- 0..* Each step of the process -->
   <process><!-- 0..* Content as for ExampleScenario.process Nested process --></process>
   <pause value="[boolean]"/><!-- 0..1 If there is a pause in the flow -->
   <operation>  <!-- 0..1 Each interaction or action -->
    <number value="[string]"/><!-- 1..1 The sequential number of the interaction -->
    <type value="[string]"/><!-- 0..1 The type of operation - CRUD -->
    <name value="[string]"/><!-- 0..1 The human-friendly name of the interaction -->
    <initiator value="[string]"/><!-- 0..1 Who starts the transaction -->
    <receiver value="[string]"/><!-- 0..1 Who receives the transaction -->
    <description value="[markdown]"/><!-- 0..1 A comment to be inserted in the diagram -->
    <initiatorActive value="[boolean]"/><!-- 0..1 Whether the initiator is deactivated right after the transaction -->
    <receiverActive value="[boolean]"/><!-- 0..1 Whether the receiver is deactivated right after the transaction -->
    <request><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Each resource instance used by the initiator --></request>
    <response><!-- 0..1 Content as for ExampleScenario.instance.containedInstance Each resource instance used by the responder --></response>
   </operation>
   <alternative>  <!-- 0..* Alternate non-typical step action -->
    <title value="[string]"/><!-- 1..1 Label for alternative -->
    <description value="[markdown]"/><!-- 0..1 A human-readable description of each option -->
    <step><!-- 0..* Content as for ExampleScenario.process.step What happens in each alternative option --></step>
   </alternative>
  </step>
 </process>
 <workflow><!-- 0..* canonical(ExampleScenario) Another nested workflow --></workflow>
</ExampleScenario>

JSON Template

{doco
  "resourceType" : "ExampleScenario",
  // from Resource: id, meta, implicitRules, and language
  // from DomainResource: text, contained, extension, and modifierExtension
  "url" : "<uri>", // Canonical identifier for this example scenario, represented as a URI (globally unique)
  "identifier" : [{ Identifier }], // Additional identifier for the example scenario
  "version" : "<string>", // Business version of the example scenario
  "name" : "<string>", // C? Name for this example scenario (computer friendly)
  "status" : "<code>", // R!  draft | active | retired | unknown
  "experimental" : <boolean>, // For testing purposes, not real usage
  "date" : "<dateTime>", // Date last changed
  "publisher" : "<string>", // Name of the publisher (organization or individual)
  "contact" : [{ ContactDetail }], // Contact details for the publisher
  "useContext" : [{ UsageContext }], // The context that the content is intended to support
  "jurisdiction" : [{ CodeableConcept }], // Intended jurisdiction for example scenario (if applicable)
  "copyright" : "<markdown>", // Use and/or publishing restrictions
  "purpose" : "<markdown>", // The purpose of the example, e.g. to illustrate a scenario
  "actor" : [{ // Actor participating in the resource
    "actorId" : "<string>", // R!  ID or acronym of the actor
    "type" : "<code>", // R!  person | entity
    "name" : "<string>", // The name of the actor as shown in the page
    "description" : "<markdown>" // The description of the actor
  }],
  "instance" : [{ // Each resource and each version that is present in the workflow
    "resourceId" : "<string>", // R!  The id of the resource for referencing
    "resourceType" : "<code>", // R!  The type of the resource
    "name" : "<string>", // A short name for the resource instance
    "description" : "<markdown>", // Human-friendly description of the resource instance
    "version" : [{ // A specific version of the resource
      "versionId" : "<string>", // R!  The identifier of a specific version of a resource
      "description" : "<markdown>" // R!  The description of the resource version
    }],
    "containedInstance" : [{ // Resources contained in the instance
      "resourceId" : "<string>", // R!  Each resource contained in the instance
      "versionId" : "<string>" // A specific version of a resource contained in the instance
    }]
  }],
  "process" : [{ // Each major process - a group of operations
    "title" : "<string>", // R!  The diagram title of the group of operations
    "description" : "<markdown>", // A longer description of the group of operations
    "preConditions" : "<markdown>", // Description of initial status before the process starts
    "postConditions" : "<markdown>", // Description of final status after the process ends
    "step" : [{ // Each step of the process
      "process" : [{ Content as for ExampleScenario.process }], // Nested process
      "pause" : <boolean>, // If there is a pause in the flow
      "operation" : { // Each interaction or action
        "number" : "<string>", // R!  The sequential number of the interaction
        "type" : "<string>", // The type of operation - CRUD
        "name" : "<string>", // The human-friendly name of the interaction
        "initiator" : "<string>", // Who starts the transaction
        "receiver" : "<string>", // Who receives the transaction
        "description" : "<markdown>", // A comment to be inserted in the diagram
        "initiatorActive" : <boolean>, // Whether the initiator is deactivated right after the transaction
        "receiverActive" : <boolean>, // Whether the receiver is deactivated right after the transaction
        "request" : { Content as for ExampleScenario.instance.containedInstance }, // Each resource instance used by the initiator
        "response" : { Content as for ExampleScenario.instance.containedInstance } // Each resource instance used by the responder
      },
      "alternative" : [{ // Alternate non-typical step action
        "title" : "<string>", // R!  Label for alternative
        "description" : "<markdown>", // A human-readable description of each option
        "step" : [{ Content as for ExampleScenario.process.step }] // What happens in each alternative option
      }]
    }]
  }],
  "workflow" : [{ canonical(ExampleScenario) }] // Another nested workflow
}

Turtle Template

@prefix fhir: <http://hl7.org/fhir/> .doco


[ a fhir:ExampleScenario;
  fhir:nodeRole fhir:treeRoot; # if this is the parser root

  # from Resource: .id, .meta, .implicitRules, and .language
  # from DomainResource: .text, .contained, .extension, and .modifierExtension
  fhir:ExampleScenario.url [ uri ]; # 0..1 Canonical identifier for this example scenario, represented as a URI (globally unique)
  fhir:ExampleScenario.identifier [ Identifier ], ... ; # 0..* Additional identifier for the example scenario
  fhir:ExampleScenario.version [ string ]; # 0..1 Business version of the example scenario
  fhir:ExampleScenario.name [ string ]; # 0..1 Name for this example scenario (computer friendly)
  fhir:ExampleScenario.status [ code ]; # 1..1 draft | active | retired | unknown
  fhir:ExampleScenario.experimental [ boolean ]; # 0..1 For testing purposes, not real usage
  fhir:ExampleScenario.date [ dateTime ]; # 0..1 Date last changed
  fhir:ExampleScenario.publisher [ string ]; # 0..1 Name of the publisher (organization or individual)
  fhir:ExampleScenario.contact [ ContactDetail ], ... ; # 0..* Contact details for the publisher
  fhir:ExampleScenario.useContext [ UsageContext ], ... ; # 0..* The context that the content is intended to support
  fhir:ExampleScenario.jurisdiction [ CodeableConcept ], ... ; # 0..* Intended jurisdiction for example scenario (if applicable)
  fhir:ExampleScenario.copyright [ markdown ]; # 0..1 Use and/or publishing restrictions
  fhir:ExampleScenario.purpose [ markdown ]; # 0..1 The purpose of the example, e.g. to illustrate a scenario
  fhir:ExampleScenario.actor [ # 0..* Actor participating in the resource
    fhir:ExampleScenario.actor.actorId [ string ]; # 1..1 ID or acronym of the actor
    fhir:ExampleScenario.actor.type [ code ]; # 1..1 person | entity
    fhir:ExampleScenario.actor.name [ string ]; # 0..1 The name of the actor as shown in the page
    fhir:ExampleScenario.actor.description [ markdown ]; # 0..1 The description of the actor
  ], ...;
  fhir:ExampleScenario.instance [ # 0..* Each resource and each version that is present in the workflow
    fhir:ExampleScenario.instance.resourceId [ string ]; # 1..1 The id of the resource for referencing
    fhir:ExampleScenario.instance.resourceType [ code ]; # 1..1 The type of the resource
    fhir:ExampleScenario.instance.name [ string ]; # 0..1 A short name for the resource instance
    fhir:ExampleScenario.instance.description [ markdown ]; # 0..1 Human-friendly description of the resource instance
    fhir:ExampleScenario.instance.version [ # 0..* A specific version of the resource
      fhir:ExampleScenario.instance.version.versionId [ string ]; # 1..1 The identifier of a specific version of a resource
      fhir:ExampleScenario.instance.version.description [ markdown ]; # 1..1 The description of the resource version
    ], ...;
    fhir:ExampleScenario.instance.containedInstance [ # 0..* Resources contained in the instance
      fhir:ExampleScenario.instance.containedInstance.resourceId [ string ]; # 1..1 Each resource contained in the instance
      fhir:ExampleScenario.instance.containedInstance.versionId [ string ]; # 0..1 A specific version of a resource contained in the instance
    ], ...;
  ], ...;
  fhir:ExampleScenario.process [ # 0..* Each major process - a group of operations
    fhir:ExampleScenario.process.title [ string ]; # 1..1 The diagram title of the group of operations
    fhir:ExampleScenario.process.description [ markdown ]; # 0..1 A longer description of the group of operations
    fhir:ExampleScenario.process.preConditions [ markdown ]; # 0..1 Description of initial status before the process starts
    fhir:ExampleScenario.process.postConditions [ markdown ]; # 0..1 Description of final status after the process ends
    fhir:ExampleScenario.process.step [ # 0..* Each step of the process
      fhir:ExampleScenario.process.step.process [ See ExampleScenario.process ], ... ; # 0..* Nested process
      fhir:ExampleScenario.process.step.pause [ boolean ]; # 0..1 If there is a pause in the flow
      fhir:ExampleScenario.process.step.operation [ # 0..1 Each interaction or action
        fhir:ExampleScenario.process.step.operation.number [ string ]; # 1..1 The sequential number of the interaction
        fhir:ExampleScenario.process.step.operation.type [ string ]; # 0..1 The type of operation - CRUD
        fhir:ExampleScenario.process.step.operation.name [ string ]; # 0..1 The human-friendly name of the interaction
        fhir:ExampleScenario.process.step.operation.initiator [ string ]; # 0..1 Who starts the transaction
        fhir:ExampleScenario.process.step.operation.receiver [ string ]; # 0..1 Who receives the transaction
        fhir:ExampleScenario.process.step.operation.description [ markdown ]; # 0..1 A comment to be inserted in the diagram
        fhir:ExampleScenario.process.step.operation.initiatorActive [ boolean ]; # 0..1 Whether the initiator is deactivated right after the transaction
        fhir:ExampleScenario.process.step.operation.receiverActive [ boolean ]; # 0..1 Whether the receiver is deactivated right after the transaction
        fhir:ExampleScenario.process.step.operation.request [ See ExampleScenario.instance.containedInstance ]; # 0..1 Each resource instance used by the initiator
        fhir:ExampleScenario.process.step.operation.response [ See ExampleScenario.instance.containedInstance ]; # 0..1 Each resource instance used by the responder
      ];
      fhir:ExampleScenario.process.step.alternative [ # 0..* Alternate non-typical step action
        fhir:ExampleScenario.process.step.alternative.title [ string ]; # 1..1 Label for alternative
        fhir:ExampleScenario.process.step.alternative.description [ markdown ]; # 0..1 A human-readable description of each option
        fhir:ExampleScenario.process.step.alternative.step [ See ExampleScenario.process.step ], ... ; # 0..* What happens in each alternative option
      ], ...;
    ], ...;
  ], ...;
  fhir:ExampleScenario.workflow [ canonical(ExampleScenario) ], ... ; # 0..* Another nested workflow
]

Changes since Release 3

This resource did not exist in Release 2

This analysis is available as XML or JSON.

 

See the Profiles & Extensions and the alternate definitions: Master Definition XML + JSON, XML Schema/Schematron + JSON Schema, ShEx (for Turtle) + see the extensions & the dependency analysis

PathDefinitionTypeReference
ExampleScenario.status The lifecycle status of an artifact.RequiredPublicationStatus
ExampleScenario.jurisdiction Countries and regions within which this artifact is targeted for use.ExtensibleJurisdiction ValueSet
ExampleScenario.actor.type The type of actor - system or human.RequiredExampleScenarioActorType
ExampleScenario.instance.resourceType The type of resource.RequiredResourceType

idLevelLocationDescriptionExpression
esc-0Warning (base)Name should be usable as an identifier for the module by machine processing applications such as code generationname.matches('[A-Z]([A-Za-z0-9_]){0,254}')

Search parameters for this resource. The common parameters also apply. See Searching for more information about searching in REST, messaging, and services.

NameTypeDescriptionExpressionIn Common
contexttokenA use context assigned to the example scenario(ExampleScenario.useContext.value as CodeableConcept)
context-quantityquantityA quantity- or range-valued use context assigned to the example scenario(ExampleScenario.useContext.value as Quantity) | (ExampleScenario.useContext.value as Range)
context-typetokenA type of use context assigned to the example scenarioExampleScenario.useContext.code
context-type-quantitycompositeA use context type and quantity- or range-based value assigned to the example scenarioOn ExampleScenario.useContext:
  context-type: code
  context-quantity: value.as(Quantity) | value.as(Range)
context-type-valuecompositeA use context type and value assigned to the example scenarioOn ExampleScenario.useContext:
  context-type: code
  context: value.as(CodeableConcept)
datedateThe example scenario publication dateExampleScenario.date
identifiertokenExternal identifier for the example scenarioExampleScenario.identifier
jurisdictiontokenIntended jurisdiction for the example scenarioExampleScenario.jurisdiction
namestringComputationally friendly name of the example scenarioExampleScenario.name
publisherstringName of the publisher of the example scenarioExampleScenario.publisher
statustokenThe current status of the example scenarioExampleScenario.status
urluriThe uri that identifies the example scenarioExampleScenario.url
versiontokenThe business version of the example scenarioExampleScenario.version