Simulators are reusable definitions for healthcare interface endpoints. Each simulator has a type (FHIR, HL7, Voice, Fax, Payer, Clearinghouse, CDSHooks, Message) and optional configuration. Link simulators to Environments to compose a simulated health system.
Endpoints not yet in OpenAPI spec.
Endpoints
| Method | Endpoint | Description |
|---|
GET | /simulators | List simulators |
POST | /simulators | Create a simulator |
GET | /simulators/{id} | Get simulator details |
PATCH | /simulators/{id} | Update a simulator |
DELETE | /simulators/{id} | Delete a simulator |
Simulator Object
| Field | Type | Description |
|---|
id | string | Unique identifier |
type | SimulatorType | Simulator type (Fhir, Hl7, Voice, Fax, Payer, Clearinghouse, CdsHooks, Message) |
name | string | Simulator name |
description | string | null | Optional description |
config | object | null | Type-specific configuration |
slug | string | URL-friendly identifier |
organization_id | string | Parent organization |
created_at | datetime | Creation timestamp |
updated_at | datetime | Last modification timestamp |
SDK Example
// Create a FHIR simulator
const sim = await verial.simulators.create({
type: 'Fhir',
name: 'Epic EHR',
})
// List simulators (optionally filter by environment)
const simulators = await verial.simulators.list({ environmentId: 'env_abc123' })
// Get a specific simulator
const details = await verial.simulators.get({ id: sim.id })
// Update configuration
await verial.simulators.update({
id: sim.id,
config: { ehrVendor: 'epic' },
})
// Generate config from a prompt
await verial.simulators.generateConfig({
id: sim.id,
prompt: 'A primary care clinic in San Francisco',
})
// Generate synthetic data
await verial.simulators.generateData({ id: sim.id })
// Delete
await verial.simulators.delete({ id: sim.id })