> For the complete documentation index, see [llms.txt](https://help.santesuite.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.santesuite.org/installation/installation-1/deployment/installing-software/santedb-server/installation-qualification/fhir-interface-validation/mpi-cr-test-cases-for-fhir/fhir-test-cases-instructions.md).

# FHIR Test Cases Instructions

Instructions on how to run the FHIR test cases

{% file src="/files/s9FuHWG9UBHM1mcj4ZQv" %}

## Install SoapUI:

Download and install soapui (a testing tool for SOAP and REST APIs): <https://www.soapui.org/tools/soapui/>

## Pull santempi:

Pull santempi repository from github : <https://github.com/santedb/santempi.git>

## Install docker containers:

Having docker installed, run the following command inside santempi/instant directory where the docker-compose.yml file exists to spin up docker containers.

```
docker compose -f docker-compose.yml up
```

{% hint style="info" %}
It can also be done by running the "docker-compose.ui.yml" file but the ui component is not necessary here
{% endhint %}

## Run the test cases with SoapUI:

Import FHIR test cases which are located at santempi/SanteMPI-Test-Cases-soapui-project.xml.

They can be run as an entire test suite

![](https://3421852694-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZ0_pjgTp_kx4hqTZ3a%2Fuploads%2FChfVcEogZKwABRlZsZXK%2FEntireTestSuite.jpg?alt=media\&token=8b34d114-a586-4e1e-87cd-6dfe62f93259)

or an individual test case

![](https://3421852694-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZ0_pjgTp_kx4hqTZ3a%2Fuploads%2FVKd1As50hcrqvuWWZwgM%2FTestCase.jpg?alt=media\&token=ee288b3b-935d-4298-a64f-133cf0bc3be8)

or test step.

![](https://3421852694-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LZ0_pjgTp_kx4hqTZ3a%2Fuploads%2FNvXFRgnCnv9hIQaYOu3j%2FTestStep.jpg?alt=media\&token=f6855787-fe4b-499c-a3bd-d6fbb88f1901)

{% hint style="info" %}
Keep in mind that some test steps need to run in sequence in order to pass
{% endhint %}
