Skip to main content
For most simulation workflows, follow this progression:
  1. Setupsimulators to define interfaces, environments to compose them, datasets to prepare patient data
  2. Definebenchmarks to create test suites, tasks to add test cases, criteria to add assertions
  3. Executebenchmark_runs to start runs, poll with get until status is Completed
  4. Analyzetask-runs to see per-task results, criterion-runs to see per-criterion reasoning and scores
If the user already has an environment or benchmark ID, skip the setup or definition steps and go straight to execution.

Tool Chaining Patterns

Simulators exist independently from environments. Create them first, then attach them.
This pattern keeps simulators reusable across multiple environments. A single FHIR simulator definition can be linked to different environment configurations.

Benchmark definition

Benchmarks, tasks, and criteria form a hierarchy. Create them top-down.
Each level references the parent by ID. Criteria are always attached to a specific task.

Run and poll

Start a run, poll for completion, then drill into results.
The benchmark_runs get response includes the overall score and verdict. Use task-runs and criterion-runs to understand which specific checks passed or failed.

Writing Good Criteria

When writing criteria, describe observable outcomes the verification engine can check against sandbox state. Write them like test assertions: specific, observable, and unambiguous.
Use weights to distinguish critical checks from nice-to-haves. A weight of 1.0 means the criterion is essential to the task. A weight of 0.5 or lower signals a secondary validation that improves the score but does not determine the verdict on its own.

One assertion per criterion

Split compound checks into separate criteria rather than combining them. This gives you granular scoring and clearer failure messages.

Error Handling

All tools return errors in a consistent shape:
When a not_found error occurs, do not retry with the same ID. Use the list action on the parent resource to discover valid IDs. For example, if a tasks get returns not_found, call tasks list with the benchmarkId to see available tasks.

Next Steps

Tools Reference

Full parameter documentation for each tool.

Workflow Examples

Step-by-step tool call sequences for common simulation tasks.