Overview
The Scenarios component creates interactive learning experiences through case studies, role-playing exercises, and problem-solving scenarios. These immersive experiences help students apply theoretical knowledge in practical contexts.Creating a Scenarios Component
Copy
Ask AI
import StudyfetchSDK from '@studyfetch/sdk';
const client = new StudyfetchSDK({
apiKey: 'your-api-key',
baseURL: 'https://studyfetchapi.com',
});
const scenarioComponent = await client.v1.components.create({
name: 'Medical Emergency Room Scenario',
type: 'scenarios',
config: {
name: 'ER Patient Assessment',
description: 'Practice patient assessment in an emergency room setting',
context: 'You are a medical resident in a busy emergency room. A patient has just arrived with chest pain.',
goal: 'Properly assess the patient, order appropriate tests, and make a diagnosis',
format: 'Interactive dialogue with patient and medical staff',
greetingMessage: 'Welcome Dr. [Student Name]. Your patient, Mr. Johnson, has just arrived in room 3 complaining of chest pain.',
greetingCharacterId: 'nurse-jane',
requiresFinalAnswer: true,
finalAnswerPrompt: 'Based on your assessment, what is your diagnosis and treatment plan?',
characters: [
{
id: 'patient-johnson',
name: 'Mr. Johnson',
role: 'Patient',
description: '58-year-old male with chest pain'
},
{
id: 'nurse-jane',
name: 'Nurse Jane',
role: 'Emergency Room Nurse',
description: 'Experienced ER nurse who assists with procedures'
}
],
tools: [
{
id: 'ekg-machine',
name: 'EKG Machine',
description: 'Performs 12-lead electrocardiogram',
type: 'diagnostic',
dataFormat: 'EKG readings with intervals and interpretation'
},
{
id: 'lab-results',
name: 'Lab Results System',
description: 'Provides blood test results',
type: 'diagnostic',
dataFormat: 'Complete blood count, cardiac enzymes, etc.'
}
]
}
});
console.log('Scenario component created:', scenarioComponent._id);
Configuration Parameters
Name of the scenarios component
Must be
"scenarios"
Scenarios configuration object
Show Configuration Properties
Show Configuration Properties
Name of the scenario
Description of the scenario
Overall context and setting of the scenario
Primary goal or learning objective of the interaction
Interaction format and step-by-step instructions
Initial greeting message displayed to users
Character ID that delivers the greeting message
Whether the scenario requires a final answer submission
Prompt displayed when requesting final answer
Response
Copy
Ask AI
{
"_id": "comp_101jkl",
"name": "Medical Emergency Room Scenario",
"type": "scenarios",
"status": "active",
"config": {
"context": "You are a medical resident in a busy emergency room. A patient has just arrived with chest pain.",
"goal": "Properly assess the patient, order appropriate tests, and make a diagnosis",
"format": "Interactive dialogue with patient and medical staff",
"greetingMessage": "Welcome Dr. [Student Name]. Your patient, Mr. Johnson, has just arrived in room 3 complaining of chest pain.",
"greetingCharacterId": "nurse-jane",
"requiresFinalAnswer": true,
"finalAnswerPrompt": "Based on your assessment, what is your diagnosis and treatment plan?",
"characters": [
{
"id": "patient-johnson",
"name": "Mr. Johnson",
"role": "Patient",
"description": "58-year-old male with chest pain"
},
{
"id": "nurse-jane",
"name": "Nurse Jane",
"role": "Emergency Room Nurse",
"description": "Experienced ER nurse who assists with procedures"
}
],
"tools": [
{
"id": "ekg-machine",
"name": "EKG Machine",
"description": "Performs 12-lead electrocardiogram",
"type": "diagnostic",
"dataFormat": "EKG readings with intervals and interpretation"
},
{
"id": "lab-results",
"name": "Lab Results System",
"description": "Provides blood test results",
"type": "diagnostic",
"dataFormat": "Complete blood count, cardiac enzymes, etc."
}
]
},
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-15T10:00:00Z",
"organizationId": "org_456def"
}
Embedding This Component
Once you’ve created a Scenarios component, you can embed it on your website using the embedding API.Generate Embed URL
Copy
Ask AI
const embedResponse = await client.v1.components.generateEmbed(scenarioComponent._id, {
// User tracking
userId: 'user-456',
studentName: 'Jane Smith', // Student name for display
groupIds: ['class-101', 'class-102'],
sessionId: 'session-789',
// Scenarios-specific features
features: {
enableHistory: true
},
// Dimensions
width: '100%',
height: '600px',
// Token expiry
expiryHours: 24
});
Scenarios-Specific Embedding Features
Save scenario progress and allow users to resume where they left off
Embed in Your HTML
Copy
Ask AI
<iframe
src="https://embed.studyfetch.com/component/comp_101jkl?token=..."
width="100%"
height="600px"
frameborder="0"
style="border: 1px solid #e5e5e5; border-radius: 8px;">
</iframe>