ExampleScenario — Business use scenario
The pedagogical documentation of Implementation Guides: actors, resource instances, processes, alternatives. The FHIR equivalent of a swimlane diagram.
Purpose of the resource
ExampleScenario describes a use scenario in which actors (Patient, Practitioner, EHR, third-party app) exchange FHIR resources. It is the FHIR equivalent of a written use case, a BPMN diagram or a UML sequence diagram. Used extensively by IHE, HL7 Da Vinci IGs and FHIR Connectathons to frame the flows to be tested.
Key fields
| Field | Type | Cardinality | Role |
|---|---|---|---|
url | uri | 0..1 | Canonical URL. |
identifier | Identifier[] | 0..* | Business identifiers. |
version | string | 0..1 | Version. |
name | string | 0..1 | Technical name. |
title | string | 0..1 | Human-readable title. |
status | code | 1..1 | draft | active | retired | unknown. |
actor | BackboneElement[] | 0..* | Scenario actors. |
instance | BackboneElement[] | 0..* | Resource instances used (versions over the process). |
process | BackboneElement[] | 0..* | Main processes and their steps (with alternatives). |
JSON example
{
"resourceType": "ExampleScenario",
"id": "example-admit-discharge",
"url": "http://example.org/ExampleScenario/admit-discharge",
"version": "5.0.0",
"name": "AdmitDischargeScenario",
"title": "Admission-Discharge Scenario",
"status": "active",
"actor": [{
"key": "patient",
"type": "person",
"title": "The patient"
}, {
"key": "ed-nurse",
"type": "person",
"title": "Emergency department nurse"
}],
"instance": [{
"key": "patient-resource",
"structureType": {
"coding": [{
"system": "http://hl7.org/fhir/fhir-types",
"code": "Patient"
}]
},
"title": "Patient resource at admission"
}],
"process": [{
"title": "Patient admission",
"step": [{
"process": [{
"title": "Create Patient",
"description": "Nurse creates Patient resource on admission."
}]
}]
}]
} Common pitfalls
- Actor without
key— internal references do not resolve. - Step without
processnoroperation— the step tells nothing. - Instance without
structureType— the rendering tool does not know which FHIR type is meant.