Serenity BDD Report
Home > Requirements > Stufe5 > Medikation > Testing search parameters against a resource of type medication (@medication-search)
Report generated 01-09-2026 07:12

Feature: Testing search parameters against a resource of type medication (@medication-search)

Scenarios

Given the Test Description: "The system under test MUST find a previously created resource when searched using the parameter and return it in the search results (SEARCH)."

Given the Preconditions: - The Medication-Read and Medication-Read-Extended test cases must have been executed successfully beforehand.

When Get FHIR resource at "http://fhirserver/metadata" with content type "json"

And CapabilityStatement contains interaction "search-type" for resource "Medication"

And CapabilityStatement contains definition of search parameter "{searchParamValue}" of type "{searchParamType}" for resource "Medication"

Examples:

searchParamValuesearchParamType
_idtoken
_countnumber
codetoken
formtoken
ingredientreference
ingredient-codetoken
lot-numbertoken
statustoken

Examples:

searchParamValuesearchParamType
_tagtoken

Then Get FHIR resource at "http://fhirserver/Medication/?_id=${data.medication-read-id}" with content type "xml"

And response bundle contains resource with ID "${data.medication-read-id}" with error message "The requested Medication ${data.medication-read-id} is not contained in the response bundle"

And FHIR current response body is a valid CORE resource and conforms to profile "https://hl7.org/fhir/StructureDefinition/Bundle"

And Check if current response of resource "Medication" is valid isik5 resource and conforms to profile "https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikament"

When Get FHIR resource at "http://fhirserver/Medication/?_count=1" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0 and entry.resource.count() {= 1' with error message 'The _count parameter was not applied as expected'

When Get FHIR resource at "http://fhirserver/Medication/?_tag=${data.tag-system}%7C${data.tag-value}&_id=${data.medication-read-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.all(meta.tag.where(code='${data.tag-value}').exists())" with error message 'There are search results, but they do not fully match the search criteria'

Then Get FHIR resource at "http://fhirserver/Medication/?code=http://fhir.de/CodeSystem/bfarm/atc%7CV03AB23&_id=${data.medication-read-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.all((code.coding.where(code = 'V03AB23' and system = 'http://fhir.de/CodeSystem/bfarm/atc').exists()))" with error message 'There are search results, but they do not fully match the search criteria'

Then Get FHIR resource at "http://fhirserver/Medication/?code:text=Infusion" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.all(code.text.contains('Infusion'))" with error message 'There are search results, but they do not fully match the search criteria'

Then Get FHIR resource at "http://fhirserver/Medication/?form=11210000" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.all(form.coding.where(code = '11210000').exists())" with error message 'There are search results, but they do not fully match the search criteria'

Then Get FHIR resource at "http://fhirserver/Medication/?ingredient=Medication/${data.medication-read-referenced-ingredient}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And element "ingredient.item" in all bundle resources references resource with ID "${data.medication-read-referenced-ingredient}"

Then Get FHIR resource at "http://fhirserver/Medication/?ingredient.code=V03AB23&_id=${data.medication-read-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And response bundle contains resource with ID "${data.medication-read-id}" with error message "The requested Medication ${data.medication-read-id} is not contained in the response bundle"

Then Get FHIR resource at "http://fhirserver/Medication/?ingredient-code=L01DB01&_id=${data.medication-read-extended-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And response bundle contains resource with ID "${data.medication-read-extended-id}" with error message "The requested Medication ${data.medication-read-extended-id} is not contained in the response bundle"

Then Get FHIR resource at "http://fhirserver/Medication/?lot-number=123&_id=${data.medication-read-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And response bundle contains resource with ID "${data.medication-read-id}" with error message "The requested Medication ${data.medication-read-id} is not contained in the response bundle"

Then Get FHIR resource at "http://fhirserver/Medication/?status=active&_id=${data.medication-read-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And response bundle contains resource with ID "${data.medication-read-id}" with error message "The requested Medication ${data.medication-read-id} is not contained in the response bundle"

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 14 Total Duration 21s
Total Number of Test Cases 22 Fastest Test 313ms
Number of Manual Test Cases 0 Slowest Test 5s
Tests Started Sep 01, 2026 07:12:46 Average Execution Time 952ms
Tests Finished Sep 01, 2026 07:13:07 Cumulative Test Time
(sum of all individual test durations)
20s

Automated Tests

feature Scenario Context Steps Started Total Duration Result
Testing search parameters against a resource of type Medication (@Medication-Search) Precondition 2 07:12:46 468ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Read and Validation of the CapabilityStatement 2 07:12:47 4s 032ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Validation of the search parameter definitions in the CapabilityStatement
9 passing test cases
1 07:12:51 8s 172ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by ID 4 07:12:59 985ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Count 2 07:13:00 485ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Optional Search for the Medication by Tag and ID 3 07:13:00 721ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Code and ID 3 07:13:01 709ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Free-Text Code 3 07:13:02 697ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Form 3 07:13:02 694ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Referenced Ingredient 3 07:13:03 760ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Ingredient Code (Chaining) and ID 3 07:13:04 831ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Ingredient Code and ID 3 07:13:05 857ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Lot Number and ID 3 07:13:06 794ms SUCCESS
Testing search parameters against a resource of type Medication (@Medication-Search) Search for the Medication by Status and ID 3 07:13:06 793ms SUCCESS

Manual Tests

No manual tests were recorded

Evidence

Scenario Title Details
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and interaction.where(code = 'search-type').exists()).exists()  Details
Read and Validation of the CapabilityStatement RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = '_id' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 1  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = '_count' and type = 'number').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 2  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'code' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 3  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'form' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 4  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'ingredient' and type = 'reference').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 5  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'ingredient-code' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 6  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'lot-number' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 7  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = 'status' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 8  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Medication' and searchParam.where(name = '_tag' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 9  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Search for the Medication by ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Example$')).count() = 1  Details
Search for the Medication by ID WARN - Profile reference 'https://gematik.de/fhir/isik/StructureDefinition/ISiKMedikament' has not been checked because it is unknown  Details
Search for the Medication by ID WARN - Resource meta.profile differs from the passed profile for validation: meta.profile=[]; passed=https://hl7.org/fhir/StructureDefinition/Bundle  Details
Search for the Medication by ID INFO - Code system definition is missing for 'http://fhir.de/CodeSystem/bfarm/atc#V03AB23'  Details
Search for the Medication by ID RBellog 0  Download Evidence
Search for the Medication by ID Evidence Report  Download Evidence
Search for the Medication by Count INFO - entry.resource.count() > 0 and entry.resource.count() <= 1  Details
Search for the Medication by Count RBellog 0  Download Evidence
Search for the Medication by Count Evidence Report  Download Evidence
Optional Search for the Medication by Tag and ID INFO - entry.resource.count() > 0  Details
Optional Search for the Medication by Tag and ID INFO - entry.resource.all(meta.tag.where(code='external').exists())  Details
Optional Search for the Medication by Tag and ID RBellog 0  Download Evidence
Optional Search for the Medication by Tag and ID Evidence Report  Download Evidence
Search for the Medication by Code and ID INFO - entry.resource.count() > 0  Details
Search for the Medication by Code and ID INFO - entry.resource.all((code.coding.where(code = 'V03AB23' and system = 'http://fhir.de/CodeSystem/bfarm/atc').exists()))  Details
Search for the Medication by Code and ID RBellog 0  Download Evidence
Search for the Medication by Code and ID Evidence Report  Download Evidence
Search for the Medication by Free-Text Code INFO - entry.resource.count() > 0  Details
Search for the Medication by Free-Text Code INFO - entry.resource.all(code.text.contains('Infusion'))  Details
Search for the Medication by Free-Text Code RBellog 0  Download Evidence
Search for the Medication by Free-Text Code Evidence Report  Download Evidence
Search for the Medication by Form INFO - entry.resource.count() > 0  Details
Search for the Medication by Form INFO - entry.resource.all(form.coding.where(code = '11210000').exists())  Details
Search for the Medication by Form RBellog 0  Download Evidence
Search for the Medication by Form Evidence Report  Download Evidence
Search for the Medication by Referenced Ingredient INFO - entry.resource.count() > 0  Details
Search for the Medication by Referenced Ingredient INFO - entry.resource.all(ingredient.item.reference.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Referenced-Ingredient-Example$'))  Details
Search for the Medication by Referenced Ingredient RBellog 0  Download Evidence
Search for the Medication by Referenced Ingredient Evidence Report  Download Evidence
Search for the Medication by Ingredient Code (Chaining) and ID INFO - entry.resource.count() > 0  Details
Search for the Medication by Ingredient Code (Chaining) and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Example$')).count() = 1  Details
Search for the Medication by Ingredient Code (Chaining) and ID RBellog 0  Download Evidence
Search for the Medication by Ingredient Code (Chaining) and ID Evidence Report  Download Evidence
Search for the Medication by Ingredient Code and ID INFO - entry.resource.count() > 0  Details
Search for the Medication by Ingredient Code and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Extended-Example$')).count() = 1  Details
Search for the Medication by Ingredient Code and ID RBellog 0  Download Evidence
Search for the Medication by Ingredient Code and ID Evidence Report  Download Evidence
Search for the Medication by Lot Number and ID INFO - entry.resource.count() > 0  Details
Search for the Medication by Lot Number and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Example$')).count() = 1  Details
Search for the Medication by Lot Number and ID RBellog 0  Download Evidence
Search for the Medication by Lot Number and ID Evidence Report  Download Evidence
Search for the Medication by Status and ID INFO - entry.resource.count() > 0  Details
Search for the Medication by Status and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bMedication-Read-Example$')).count() = 1  Details
Search for the Medication by Status and ID RBellog 0  Download Evidence
Search for the Medication by Status and ID Evidence Report  Download Evidence
Serenity BDD version 5.3.10