Skip to main content
A simulator is a reusable definition of a simulated interface. Simulators are linked to environments and provisioned as live sandboxes when a playground is created or a benchmark runs.

Simulator Types

FHIR

A fully functional FHIR R4 server backed by Google Cloud Healthcare API. Supports SMART on FHIR authorization, patient search, resource CRUD, and batch operations. Your agent receives:
  • A FHIR base URL (e.g., https://api.verial.ai/sandboxes/{id}/fhir)
  • OAuth2 token endpoint for SMART on FHIR client credentials
  • Pre-loaded patient data from linked datasets
The FHIR simulator supports the full range of R4 resources: Patient, Condition, MedicationRequest, Encounter, Observation, DiagnosticReport, AllergyIntolerance, Procedure, and more.

Voice

A phone system simulator with IVR menus, hold queues, and call routing. Your agent can call a real phone number and navigate interactive voice menus. Your agent receives:
  • A phone number to call
  • Expected IVR flow configuration
All calls are transcribed and stored as interaction evidence for evaluation.

HL7

An HL7v2 message endpoint that accepts and responds to standard healthcare messages over TCP. Supported message types:
  • ADT (Admit/Discharge/Transfer) for patient movement
  • ORU (Observation Result) for lab results
  • ORM (Order Message) for orders
  • SIU (Scheduling Information) for appointment management

Fax

A fax simulator that accepts inbound fax documents and can send outbound faxes. Documents are processed with OCR for content verification during evaluation. Your agent receives:
  • A fax number to send documents to
  • An endpoint for checking fax delivery status

Payer

A simulated insurance payer portal. Your agent can submit prior authorization requests, check authorization status, and look up patient eligibility. Endpoints:
  • POST /prior-auths to submit a prior authorization request
  • GET /prior-auths/{auth_number} to check authorization status
  • GET /patients to look up member information

Clearinghouse

A simulated insurance clearinghouse for eligibility verification. Your agent submits eligibility inquiries and receives structured responses.

CDS Hooks

A Clinical Decision Support Hooks simulator. Your agent can register CDS services, invoke hooks (e.g., patient-view, order-select), and receive decision support cards.

Message

An SMS/text messaging simulator. Your agent can send and receive text messages for patient communication scenarios like appointment reminders, follow-up instructions, or care coordination.

Creating Simulators

Simulators are created as standalone resources, then linked to environments:
const fhirSim = await verial.simulators.create({
  type: 'FHIR',
  name: 'Primary EHR',
  config: {
    auth_required: true,
  },
})

// Link to an environment
await verial.environments.addSimulator({
  environmentId: env.id,
  simulatorId: fhirSim.id,
})

Provisioning: Simulators to Sandboxes

When a playground is created or a benchmark runs, each linked simulator is provisioned as a sandbox, a live instance with real network endpoints:
  1. Allocate resources. FHIR stores are created, phone numbers are leased, endpoints are configured.
  2. Load data. Datasets linked to the sandbox are loaded into the simulator instance.
  3. Return credentials. Your agent receives connection details for each sandbox (URLs, phone numbers, auth tokens).
  4. Record interactions. All traffic to and from each sandbox is captured as interaction evidence.
  5. Tear down. After the run completes, sandboxes are stopped and resources are released. Interaction logs persist.

Configuration

Simulator configuration is set at creation time:
const payerSim = await verial.simulators.create({
  type: 'Payer',
  name: 'BlueCross Portal',
  config: {
    auto_approve: false,
    review_time_ms: 5000,
    response_delay_ms: 200,
  },
})
You can also generate configuration using AI:
const config = await verial.simulators.generateConfig({
  id: payerSim.id,
  prompt: 'Configure as a strict payer that denies 30% of prior auths',
})

Next Steps

Environments

Configure environments with multiple simulators.

Benchmarks

Write tasks that exercise simulator endpoints.