Start here
Getting started
Follow one scenario from its first definition to a learning experience.
Begin with the five scenario domains: metadata, patients, environment, education, and events. Write the educational objective first, describe the starting patient and setting, then connect a baseline to one or more conclusions through meaningful decisions.
The complete example below uses the canonical scenario schema. It includes patient history, a clinical snapshot, actors, a reusable result, two decision paths, and a scheduled update. The same document can be authored, validated, stored and exported.
- 01
Define the learning
Describe the objective, prerequisites, audience, and debrief before adding events.
- 02
Describe the starting point
Add fictional patient context, history, examination, vital signs, and scenario requirements.
- 03
Connect decisions and time
Create states, connect actions, and declare delayed content or scheduled edges explicitly.
- 04
Validate and use the scenario
Open Builder to author and validate. Publish a fixed revision, generate role outputs, and run that revision in Campus.
A complete scenario
Execution capabilities · Fictional authored example
{
"format": "usim-scenario",
"formatVersion": "2.0",
"scenarioId": "usim-reference-1",
"metadata": {
"revision": 1,
"license": {
"identifier": "All rights reserved"
},
"review": {
"status": "draft",
"reviewerIds": [],
"sourceIds": []
},
"sources": [],
"title": "A clear handoff",
"summary": "Fictional team communication practice with a delayed result and two approaches to clarifying the situation.",
"contributors": [
{
"id": "contributor-author",
"roles": [
"author"
],
"name": "u-sim example team"
}
],
"diagnosis": "Communication rehearsal",
"specialty": "Simulation education",
"level": "Intermediate",
"durationMinutes": 10
},
"patients": [
{
"id": "patient-primary",
"name": "Alex Morgan (fictional)",
"context": "A fictional adult is awaiting handoff. The incoming team needs a shared understanding of the situation and who will follow up an outstanding result.",
"demographics": {
"age": {
"value": 40,
"unit": "years"
},
"gender": "Not specified",
"weight": {
"value": 70,
"unit": "kg"
},
"height": {
"value": 170,
"unit": "cm"
}
},
"monitor": {
"connections": {}
},
"variables": [
{
"id": "patient-primary-hr",
"concept": "usim:hr",
"value": 80,
"unit": "beats/min"
},
{
"id": "patient-primary-sbp",
"concept": "usim:sbp",
"value": 120,
"unit": "mmHg"
},
{
"id": "patient-primary-dbp",
"concept": "usim:dbp",
"value": 75,
"unit": "mmHg"
},
{
"id": "patient-primary-rr",
"concept": "usim:rr",
"value": 16,
"unit": "breaths/min"
},
{
"id": "patient-primary-spo2",
"concept": "usim:spo2",
"value": 98,
"unit": "%"
},
{
"id": "patient-primary-temperature",
"concept": "usim:temperature",
"value": 37,
"unit": "Cel"
},
{
"id": "patient-primary-etco2",
"concept": "usim:etco2",
"value": 35,
"unit": "mmHg"
}
],
"history": [
{
"id": "patient-primary-history-chief-complaint-1",
"content": "Awaiting a team handoff",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "chief-complaint"
},
{
"id": "patient-primary-history-present-illness-1",
"content": "The current care summary is incomplete in this fictional exercise.",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "present-illness"
},
{
"id": "patient-primary-history-medical-1",
"content": "No additional history authored",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "medical"
},
{
"id": "patient-primary-history-allergy-1",
"content": "Example substance — Reaction: Authored rash — Reaction severity: mild",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "allergy",
"allergy": {
"substance": "Example substance",
"reaction": "Authored rash",
"severity": "mild"
}
},
{
"id": "patient-primary-history-family-1",
"content": "Not part of this exercise",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "family"
},
{
"id": "patient-primary-history-social-1",
"content": "Fictional training context",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"category": "social"
}
]
}
],
"environment": {
"setting": "A simulated handoff space",
"requirements": [
{
"id": "requirement-1",
"description": "Facilitator brief reviewed"
},
{
"id": "requirement-2",
"description": "Learner roles assigned"
}
],
"equipment": [
"Handoff note"
],
"actors": [
{
"id": "outgoing-team",
"name": "Outgoing colleague",
"role": "Facilitator",
"brief": "Reveal missing context when the learner asks a focused question."
}
]
},
"education": {
"objectives": [
{
"id": "objective-1",
"statement": "Clarify missing information"
},
{
"id": "objective-2",
"statement": "Agree on ownership of the next step"
}
],
"debriefPrompts": [
{
"id": "debrief-1",
"question": "How did you establish a shared understanding? Who took responsibility for the outstanding result?"
}
],
"preparation": [
{
"id": "preparation-handoff",
"audience": "learner",
"instructions": "Familiarity with a local handoff framework",
"assetIds": []
}
],
"rationale": "Practice explicit communication and follow-up ownership."
},
"events": {
"states": [
{
"id": "baseline",
"title": "Receive the handoff",
"kind": "baseline",
"key": true,
"learnerBrief": "The outgoing colleague is ready. How will you establish the shared picture?",
"facilitatorBrief": "Offer incomplete context, then respond to the learner’s approach."
},
{
"id": "assessment",
"title": "Clarify the context",
"kind": "phase",
"key": true,
"learnerBrief": "You have clarified the missing information. Agree on the next step.",
"facilitatorBrief": "Ask the learner to make ownership explicit."
},
{
"id": "waiting",
"title": "Await the update",
"kind": "phase",
"learnerBrief": "A result is pending. Agree who will review it while the simulated clock advances.",
"facilitatorBrief": "Advance simulated time to allow the update."
},
{
"id": "update",
"title": "The update arrives",
"kind": "phase",
"learnerBrief": "The pending update is available. Confirm who will communicate the result.",
"facilitatorBrief": "Ask for a closed-loop confirmation.",
"onEnterEffectIds": [
"update-hr"
]
},
{
"id": "conclusion",
"title": "Handoff complete",
"kind": "conclusion",
"key": true,
"learnerBrief": "The team has confirmed the situation and the next step. Pause for reflection.",
"facilitatorBrief": "Use the debrief prompts to compare both approaches."
}
],
"effects": [
{
"id": "update-hr",
"targetId": "patient-primary-hr",
"value": 82,
"unit": "beats/min",
"kind": "set-variable"
}
],
"actions": [
{
"id": "clarify",
"label": "Ask for missing context",
"availableInStateIds": [
"baseline"
],
"outcomes": [
{
"id": "clarify-outcome",
"effectIds": [],
"nextStateId": "assessment"
}
]
},
{
"id": "review",
"label": "Review the summary and pending result",
"availableInStateIds": [
"baseline"
],
"outcomes": [
{
"id": "review-outcome",
"effectIds": [],
"nextStateId": "waiting"
}
],
"resourceId": "handoff-result"
},
{
"id": "confirm",
"label": "Confirm responsibilities with a read-back",
"availableInStateIds": [
"assessment"
],
"outcomes": [
{
"id": "confirm-outcome",
"effectIds": [],
"nextStateId": "conclusion"
}
]
},
{
"id": "close",
"label": "Confirm who will communicate the result",
"availableInStateIds": [
"update"
],
"outcomes": [
{
"id": "close-outcome",
"effectIds": [],
"nextStateId": "conclusion"
}
]
}
],
"schedules": [
{
"id": "update-due",
"label": "Receive the scheduled update",
"anchor": {
"kind": "state-entry",
"refId": "waiting"
},
"delaySeconds": 30,
"priority": 0,
"effectIds": [],
"nextStateId": "update",
"onAnchorStateExit": "continue"
}
]
},
"resources": [
{
"id": "handoff-result",
"kind": "information",
"name": "Pending handoff update",
"description": "A fictional delayed update used to rehearse follow-up ownership.",
"source": "Authored fictional documentation example",
"results": [
{
"id": "handoff-result-result",
"content": "The requested handoff information is now available. Confirm that the incoming colleague has received it.",
"observationIds": [],
"assetIds": [],
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "on-resource-response",
"resourceId": "handoff-result"
}
}
],
"response": {
"delaySeconds": 30
}
}
],
"observations": [
{
"id": "patient-primary-examination-general",
"patientId": "patient-primary",
"code": "usim:examination:general",
"kind": "finding",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"status": "known",
"value": "Comfortable and speaking with the team"
},
{
"id": "patient-primary-ros-general",
"patientId": "patient-primary",
"code": "usim:ros:general",
"kind": "symptom",
"disclosure": {
"audience": [
"learner",
"facilitator"
],
"mode": "initial"
},
"status": "known",
"value": "No additional symptoms authored"
}
]
}This is a raw scenario object. Package envelopes add publication and format metadata around it. The structural schema does not replace reference, timing, or publication validation.