Skip to main content
A simulator is a reusable definition of a simulated healthcare interface. Each simulator speaks one protocol (FHIR, HL7v2, X12, voice, fax, web portal, SFTP, messaging, CDS Hooks) and composes into an environment alongside other simulators. When a playground is created or a benchmark run starts, every linked simulator is provisioned as a live sandbox with real credentials. Your agent drives those sandboxes during the rollout, and the verification engine reads the final sandbox state to score criteria.

Protocol matrix

Each row’s verification check is documented alongside its peers on the Criteria page.

Lifecycle

  1. Create the simulator once, configure it (e.g. portal flavor, IVR flow, determination rules).
  2. Link it to one or more environments. Environments compose simulators plus datasets.
  3. Provision a sandbox when a playground is created or a benchmark run starts. The sandbox gets its own credentials, isolated state, and evidence stream.
  4. Drive the sandbox from your agent using the /v1/benchmark-runs/{id}/ endpoints (or the direct sandbox endpoints during authoring).
  5. Tear down at the end of the run. The sandbox stops accepting traffic, but all recorded interactions remain for review and verification.

Creating and linking

Simulators are standalone resources that you link to environments. Configuration is set at create time and can be updated until the simulator is provisioned:
See the Simulators API reference for the full list of supported types and config fields.

Provisioning

When a playground or benchmark run starts, Verial walks the environment’s simulator list and provisions each one:
  • Allocate resources. FHIR stores are created in GCP Healthcare, phone numbers are leased from the voice pool, SFTP drops are initialized, portal logins are minted, CDS Hooks endpoints are registered.
  • Load datasets. Any datasets linked to the simulator are seeded into the fresh sandbox (patients into FHIR, files into SFTP, determination rules into the portal).
  • Return credentials. The benchmark-run response includes a endpoints map (for path-routed simulators) and, where applicable, each sandbox’s credentials payload (phone numbers, portal URLs, usernames, fax numbers).
  • Record interactions. Every request to the sandbox is captured as evidence. Voice calls produce transcripts, fax submissions produce OCR’d documents, portal submissions produce UI events.
  • Tear down. After the last task run completes, sandboxes release their resources. Interaction evidence persists so criteria can score the rollout.
See Sandboxes for branching, checkpoints, and direct-access semantics.

Configuration vs runtime credentials

Simulator configuration and runtime credentials are distinct.
  • Configuration is set at POST /simulators time (and editable via PATCH /simulators/{id} until provisioning). It describes the shape of the simulated system: which payer portal to render, which IVR menus to expose, which determination rules to apply, which CDS cards to return.
  • Runtime credentials are generated when the sandbox is provisioned. They are unique per sandbox, scoped to that sandbox’s lifetime, and include things like a FHIR base URL, a leased phone number, a portal username and password, a fax number, or an SFTP root path. The agent reads them out of the benchmark-run response or the sandbox’s credentials payload.
This split means you can reuse the same simulator definition across many runs. Each run gets its own isolated sandbox without leaking state or credentials between rollouts.

Next Steps

FHIR

Provision a FHIR R4 EHR and drive it with SMART on FHIR.

Web Portal

Simulated RadMD and CoverMyMeds payer portals.

Voice

Phone / IVR lines with recorded transcripts.

Criteria

The typed assertions the verification engine runs against sandbox state.