Skip to content

Module Structure

FHIR Frog is split into focused Maven modules. Depend only on what you need.

Module Map

fhir-frog/
├── fhir-frog-library/          # Core engine — required by all integrations
│   ├── org.fhirfrog.frog.api              Public API: FhirTestConfig, TestResult
│   ├── org.fhirfrog.frog.internal         JUnit 5 extension wiring
│   └── org.fhirfrog.frog.internal.testscript  TestScript execution engine
├── fhir-frog-testplan/         # TestPlan expansion
│   └── org.fhirfrog.frog.testplan         TestPlanProvider, DependencyResolver
├── fhir-frog-rendering/        # TestReport generation
│   └── org.fhirfrog.frog.rendering        TestReportRenderer, ReportStorage
├── fhir-frog-shorthand/        # TestScript Shorthand (TSH)
│   └── org.fhirfrog.frog.shorthand        TSHProcessor, TSHCompiler
├── fhir-frog-testplan-shorthand/ # TestPlan Shorthand (TPH)
│   └── org.fhirfrog.frog.tph              TPHProcessor, TPHCompiler
├── fhir-frog-smart/            # SMART on FHIR App Launch auth strategies
│   └── org.fhirfrog.frog.smart            SmartAuthProvider, FormLoginPkceProvider, StaticTokenProvider
├── fhir-frog-ant/              # Ant tasks
│   ├── org.fhirfrog.frog.ant              FhirTestTask, FhirInitTask, FhirBootstrapTask
│   ├── org.fhirfrog.frog.ant.ig           IG bootstrap infrastructure
│   └── org.fhirfrog.frog.ant.report       Surefire XML writer
├── fhir-frog-maven-plugin/     # Maven Mojo
│   └── org.fhirfrog.frog.maven            FhirTestMojo
├── fhir-frog-cli/              # Standalone executable
│   └── org.fhirfrog.frog.cli              Main entry point
├── fhir-frog-test-fixtures/    # Shared test data (test-jar)
│   └── org.fhirfrog.frog.fixtures         TestFixtures, SharedTestSuiteProvider
└── fhir-frog-sample/           # Walk-through examples
    └── erequesting/                         AU eRequesting IG sample

Dependency Coordinates

<!-- Core library (JUnit 5 extension + engine) -->
<dependency>
    <groupId>org.fhirfrog</groupId>
    <artifactId>fhir-frog-library</artifactId>
    <version>0.1.1-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

<!-- TestPlan support -->
<dependency>
    <groupId>org.fhirfrog</groupId>
    <artifactId>fhir-frog-testplan</artifactId>
    <version>0.1.1-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

<!-- SMART on FHIR auth strategies (optional; feeds fhir-frog-library's requestInterceptor hook) -->
<dependency>
    <groupId>org.fhirfrog</groupId>
    <artifactId>fhir-frog-smart</artifactId>
    <version>0.1.1-SNAPSHOT</version>
    <scope>test</scope>
</dependency>

<!-- Ant fat JAR (includes all modules) -->
<!-- Download from GitHub Releases: fhir-frog-ant-VERSION-all.jar -->

Technology Stack

Technology Version Role
Java 17 Language baseline
JUnit 5 5.10 Test framework
HAPI FHIR 7.6 FHIR model + HTTP client
ANTLR4 4.13 TSH/TPH grammar parsing
Lombok 1.18 Boilerplate reduction
Testcontainers 1.19 Docker-based integration tests
Maven 3.9 Build system