Skip to content

Architecture Overview

FHIR Frog is built as a thin layer over the FHIR TestScript specification — a modular engine that delegates each concern to a focused component.

High-Level Architecture

Architecture

Core Components

Component Responsibility
TestScriptEngine Orchestrates the full execution lifecycle: setup → tests → teardown
ResourceSpace Client-side FHIR resource space holding TestScript, TestReport, and fixtures
PhaseExecutor Executes a single phase; builds the TestReport incrementally in the ResourceSpace
OperationExecutor Issues FHIR HTTP operations (CRUD, search, transaction, batch, history)
AssertionEvaluator Validates responses: status codes, FHIRPath, profiles, minimum-ID
VariableManager Extracts values from responses via FHIRPath; substitutes ${name} tokens
FixtureManager Two-phase fixture loading: files → ResourceSpace, then autocreate transaction with cross-reference rewriting

Execution Flow

Execution flow

Deployment Modes

Deployment modes

Each deployment mode (JUnit, Maven, Ant, CLI) wraps the same core engine. Only the entry point and reporting output differ.

Further Reading