Table of Contents
This is a test suite for conformance tests of the ISiK specification modules, for both Stufe 3 and 5:
As default, Tests will be executed for the Stufe 5 of the specification. To run tests for Stufe 3 instead, you need to
explicitly select the tag @Stufe3.
See ReleaseNotes.md for all information regarding the (newest) releases.
To run the test suite you need the following components:
- This test suite, which you can get either by cloning this repository or downloading the latest release.
- If you want to run the test suite using Maven, you need to have
Java 17andMaveninstalled on your machine. If you are behind a proxy, please make sure to configure the proxy settings for Java and Maven. - If you want to run the test suite using Docker, you need to have
DockerandDocker Composeinstalled on your machine. If you are behind a proxy, please make sure to configure the proxy settings accordingly.
- If you want to run the test suite using Maven, you need to have
- An ISiK resource server (System under Test, SUT) that is compliant with one of the ISiK Stufe 3 or Stufe 5 specification modules.
Operating system requirements: cf. Tiger Framework OS requirements
Configure the endpoint of the SUT using the configuration element servers.fhirserver.source in the
tiger-isik-stufe3.yaml or tiger-isik-stufe5.yaml configuration file. Example:
servers:
#...
fhirserver:
type: externalUrl
source:
- http://localhost:9032See examples for different configuration options in the tiger.yaml for ISIK Stufe 3, tiger.yaml for ISIK Stufe 5 or check the official Tiger documentation
Each test case requires specific test resources to be present in the SUT. Create the following test resources in the SUT
and put their corresponding IDs into the testdata/MODULENAME.yaml configuration file.
Example:
The @Patient-Read test case requires a patient resource to be created in the SUT by the user before the test case can
be run. As the SUT would usually assign a new unique ID to each created resource, e.g.
244b0d72-fe47-4294-be48-7763895287c5, this newly assigned ID should be put into the testdata/basis.yaml
configuration file. The precondition of the test case declares which configuration variable should be used -
patient-read-id in this example:
...
patient-read-id: Patient-Read-Example
...By default, all the mandatory tests for ISiK Level 3 are executed when running the testsuite. In Maven, this is achieved
by activating the stufe3 profile, which is also the default when running the testsuite with Docker. To run all
mandatory tests for ISiK Level 5, you can activate the stufe5 profile.
If you want to alternative tests to run, please refer to the Cucumber documentation for more information about tag expressions.
Currently supported tags are:
| Tag | Description |
|---|---|
@Stufe3 |
Runs all tests for Stufe 3 of the specification. This is the default when running the testsuite with Docker. |
@Stufe5 |
Runs all tests for Stufe 5 of the specification. |
@Optional |
Runs all tests that are marked as optional in the specification. By default, these tests are not executed. |
@Basis |
Runs all the tests from the Basis Module |
@Terminplanung |
Runs all the tests from the Terminplanung Module |
@Medikation |
Runs all the tests from the Medikation Module (only for @Stufe3) |
@Vitalparameter |
Runs all the tests from the Vitalparameter Module (only for @Stufe3) |
@Dokumentenaustausch |
Runs all the tests from the Dokumentenaustausch Module (only for @Stufe3) |
You can run the test suite by defining the specification level and the tests to run using the TESTS_TO_RUN property.
Example:
# Run all mandatory tests for Stufe 3 (default)
mvn clean verify
# Run all mandatory tests for Stufe 5
mvn clean verify -Pstufe5
# Run only the Terminplanung tests for Stufe 5
mvn clean verify -Pstufe5 -DTESTS_TO_RUN="@Stufe5 and @Terminplanung"
# Run only the optional tests for Stufe 3
mvn clean verify -Pstufe3 -DTESTS_TO_RUN="@Stufe3 and @Optional"If using the tiger testsuite behind a proxy provide the proxy configuration at the following places:
- Maven configuration (official documentation.
tiger-isik-stufe3.yamlortiger-isik-stufe5.yaml(forwardToProxyconfiguration block)
The testsuite is also distributed as a Docker Image and can be instrumented using Docker Compose. Make sure that the Docker environment has a connection to the System-Under-Test ( configure docker proxy settings if needed).
To use the image, download and adjust the following files according to your test environment:
tiger-isik-stufe3.yamlortiger-isik-stufe5.yaml(configuration of the test environment and test framework)dc-testsuite.yml(configuration of the docker container)testdata/*.yaml(configuration of test data per module)
The Test Suite runs environment variables to control which tests are executed. You can configure these in the
dc-testsuite.yml file or pass them directly:
| Variable | Description | Default |
|---|---|---|
MAVEN_PROFILE |
Maven profile to activate (stufe3 or stufe5) |
stufe3 |
TESTS_TO_RUN |
Cucumber tags to filter test cases | @Stufe3 and (not @Optional) |
Example:
# Select the Stufe 5 tests and only run the tests from the Terminplanung module
environment:
- MAVEN_PROFILE=stufe5
- TESTS_TO_RUN="@Stufe5 and @Terminplanung"Once all the configurations are done, you can start the test suite using the following command:
docker compose --project-name isik-testsuite -f dc-testsuite.yml upFor Docker, the Test Results will be stored in a Docker Volume, name tiger-testsuite-report.
To access the results, you can copy them from the Docker Volume to your local machine using the following command:
docker run --rm -v tiger-testsuite-report:/report -v $(pwd):/local busybox cp /report/* /local/Right after starting a test suite a browser window will open, which provides an overview of the testing progress. If
using Tiger in Docker, please navigate to http://localhost:9010 manually.
See Tiger Workflow UI for further
information about the user interface. To run the test suite without the GUI, e.g. within a CI/CD pipeline, set the
configuration element lib.activateWorkflowUi to false in the tiger-isik-stufe3.yaml or tiger-isik-stufe5.yaml
configuration file.
After the test suite finishes the archived test results can be found in debug-report.zip file (take notice of the
debug-report suffix) or target/site/serenity/index.html in case of a Maven run.
Warning Each test run deletes the reports of the previous run. Backup the created reports if you need them in the future.
The artifact target/test-report.zip is required to apply for
the ISiK conformance certificate (
take notice of the test-report suffix).
Please get an account
to the TITUS platform and upload the report into the corresponding submission form.
Warning Each test run deletes the reports of the previous run. Backup the created reports if you need them in the future.
If you want to contribute, please check our CONTRIBUTING.md.
Copyright 2025-2026 gematik GmbH
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
See the LICENSE for the specific language governing permissions and limitations under the License.
- Copyright notice: Each published work result is accompanied by an explicit statement of the license conditions for use. These are regularly typical conditions in connection with open source or free software. Programs described/provided/linked here are free software, unless otherwise stated.
- Permission notice: Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
associated documentation files (the "Software"), to deal in the Software without restriction, including without
limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the
Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions::
- The copyright notice (Item 1) and the permission notice (Item 2) shall be included in all copies or substantial portions of the Software.
- The software is provided "as is" without warranty of any kind, either express or implied, including, but not limited to, the warranties of fitness for a particular purpose, merchantability, and/or non-infringement. The authors or copyright holders shall not be liable in any manner whatsoever for any damages or other claims arising from, out of or in connection with the software or the use or other dealings with the software, whether in an action of contract, tort, or otherwise.
- The software is the result of research and development activities, therefore not necessarily quality assured and without the character of a liable product. For this reason, gematik does not provide any support or other user assistance (unless otherwise stated in individual cases and without justification of a legal obligation). Furthermore, there is no claim to further development and adaptation of the results to a more current state of the art.
- Gematik may remove published results temporarily or permanently from the place of publication at any time without prior notice or justification.
- Please note: Parts of this code may have been generated using AI-supported technology.’ Please take this into account, especially when troubleshooting, for security analyses and possible adjustments.
Please open a GitHub issue or a ticket within Anfrageportal ISiK for any questions or feedback.