Serenity BDD Report
Home > Requirements > Stufe5 > Basis > Testing search parameters against a resource of type location (@location-search) (optional)
Report generated 01-09-2026 06:58

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

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 Location-Read, Location-Bed-Placement and Location-Room-Read 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 "Location"

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

Examples:

searchParamValuesearchParamType
_idtoken
_countnumber
identifiertoken
addressstring
operational-statustoken
organizationreference
typetoken
partofreference
nearspecial

Examples:

searchParamValuesearchParamType
_tagtoken

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

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

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

When Get FHIR resource at "http://fhirserver/Location/?_tag=${data.tag-system}%7C${data.tag-value}&_id=${data.location-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'

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

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

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

When Get FHIR resource at "http://fhirserver/Location/?identifier=${data.location-read-identifier-system}%7C${data.location-read-identifier-value}" 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(identifier.where(system='${data.location-read-identifier-system}' and value='${data.location-read-identifier-value}').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Location/?address=Musterstadt&_id=${data.location-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(address.where(city.contains('Musterstadt') or line.exists($this.contains('Musterstadt'))).exists())" with error message 'There are search results, but they do not fully match the search criteria'

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

When Get FHIR resource at "http://fhirserver/Location/?organization=Organization/${data.organization-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.where($this.where(managingOrganization.reference = 'Organization/${data.organization-read-id}').as(Location)).exists()" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Location/?type=LOCHFID&_id=${data.location-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(type.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-RoleCode' and code = 'LOCHFID').exists())" with error message 'There are search results, but they do not fully match the search criteria'

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

When Get FHIR resource at "http://fhirserver/Location/?partof=Location/${data.location-read-id}&operational-status=O" 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.where($this.where(partOf.reference = 'Location/${data.location-read-id}').as(Location)).exists()" with error message 'There are search results, but they do not fully match the search criteria'

And FHIR current response body evaluates the FHIRPath "entry.resource.all(operationalStatus.where(code = 'O' and system = 'http://terminology.hl7.org/CodeSystem/v2-0116').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Location/?near=52.52%7C13.405" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() }= 0' with error message 'Failed to perform near search'

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 12 Total Duration 18s
Total Number of Test Cases 21 Fastest Test 281ms
Number of Manual Test Cases 0 Slowest Test 5s
Tests Started Sep 01, 2026 06:58:50 Average Execution Time 892ms
Tests Finished Sep 01, 2026 06:59:09 Cumulative Test Time
(sum of all individual test durations)
18s

Automated Tests

feature Scenario Context Steps Started Total Duration Result
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Precondition 2 06:58:50 487ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Read and Validation of the CapabilityStatement 2 06:58:51 3s 092ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Validation of the search parameter definitions in the CapabilityStatement
10 passing test cases
1 06:58:54 3s 059ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by ID 3 06:58:57 5s 891ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Optional Search for the Location by Tag and ID 4 06:59:03 930ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Count 2 06:59:04 543ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Identifier 3 06:59:04 722ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Address and ID 4 06:59:05 979ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Organization 3 06:59:06 727ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Type 'LOCHFID' and ID 4 06:59:07 939ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location that is part of another Location and with Operational Status (Occupied) 4 06:59:07 910ms SUCCESS
Testing search parameters against a resource of type Location (@Location-Search) (Optional) Search for the Location by Near (in format latitude|longitude) 2 06:59:08 511ms 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 = 'Location' 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 = 'Location' 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 = 'Location' 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 = 'Location' and searchParam.where(name = 'identifier' 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 = 'Location' and searchParam.where(name = 'address' and type = 'string').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 = 'Location' and searchParam.where(name = 'operational-status' and type = 'token').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 = 'Location' and searchParam.where(name = 'organization' and type = 'reference').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 = 'Location' and searchParam.where(name = 'type' 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 = 'Location' and searchParam.where(name = 'partof' and type = 'reference').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 = 'Location' and searchParam.where(name = 'near' and type = 'special').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
Validation of the search parameter definitions in the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Location' and searchParam.where(name = '_tag' and type = 'token').exists()).exists()  Details
Validation of the search parameter definitions in the CapabilityStatement RBellog 10  Download Evidence
Validation of the search parameter definitions in the CapabilityStatement Evidence Report  Download Evidence
Search for the Location by ID WARN - Profile reference 'https://gematik.de/fhir/isik/StructureDefinition/ISiKStandort' has not been checked because it is unknown  Details
Search for the Location 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 Location by ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bLocation-Read-Example$')).count() = 1  Details
Search for the Location by ID RBellog 0  Download Evidence
Search for the Location by ID Evidence Report  Download Evidence
Optional Search for the Location by Tag and ID INFO - entry.resource.count() > 0  Details
Optional Search for the Location by Tag and ID INFO - entry.resource.all(meta.tag.where(code='external').exists())  Details
Optional Search for the Location by Tag and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bLocation-Read-Example$')).count() = 1  Details
Optional Search for the Location by Tag and ID RBellog 0  Download Evidence
Optional Search for the Location by Tag and ID Evidence Report  Download Evidence
Search for the Location by Count INFO - entry.resource.count() > 0 and entry.resource.count() <= 2  Details
Search for the Location by Count RBellog 0  Download Evidence
Search for the Location by Count Evidence Report  Download Evidence
Search for the Location by Identifier INFO - entry.resource.count() > 0  Details
Search for the Location by Identifier INFO - entry.resource.all(identifier.where(system='http://fhir.de/sid/dkgev/standortnummer' and value='123456').exists())  Details
Search for the Location by Identifier RBellog 0  Download Evidence
Search for the Location by Identifier Evidence Report  Download Evidence
Search for the Location by Address and ID INFO - entry.resource.count() > 0  Details
Search for the Location by Address and ID INFO - entry.resource.all(address.where(city.contains('Musterstadt') or line.exists($this.contains('Musterstadt'))).exists())  Details
Search for the Location by Address and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bLocation-Read-Example$')).count() = 1  Details
Search for the Location by Address and ID RBellog 0  Download Evidence
Search for the Location by Address and ID Evidence Report  Download Evidence
Search for the Location by Organization INFO - entry.resource.count() > 0  Details
Search for the Location by Organization INFO - entry.resource.where($this.where(managingOrganization.reference = 'Organization/Organization-Read-Example').as(Location)).exists()  Details
Search for the Location by Organization RBellog 0  Download Evidence
Search for the Location by Organization Evidence Report  Download Evidence
Search for the Location by Type 'LOCHFID' and ID INFO - entry.resource.count() > 0  Details
Search for the Location by Type 'LOCHFID' and ID INFO - entry.resource.all(type.coding.where(system = 'http://terminology.hl7.org/CodeSystem/v3-RoleCode' and code = 'LOCHFID').exists())  Details
Search for the Location by Type 'LOCHFID' and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bLocation-Read-Example$')).count() = 1  Details
Search for the Location by Type 'LOCHFID' and ID RBellog 0  Download Evidence
Search for the Location by Type 'LOCHFID' and ID Evidence Report  Download Evidence
Search for the Location that is part of another Location and with Operational Status INFO - entry.resource.count() > 0  Details
Search for the Location that is part of another Location and with Operational Status INFO - entry.resource.where($this.where(partOf.reference = 'Location/Location-Read-Example').as(Location)).exists()  Details
Search for the Location that is part of another Location and with Operational Status INFO - entry.resource.all(operationalStatus.where(code = 'O' and system = 'http://terminology.hl7.org/CodeSystem/v2-0116').exists())  Details
Search for the Location that is part of another Location and with Operational Status RBellog 0  Download Evidence
Search for the Location that is part of another Location and with Operational Status Evidence Report  Download Evidence
Search for the Location by Near (in format latitude|longitude) INFO - entry.resource.count() >= 0  Details
Search for the Location by Near (in format latitude|longitude) RBellog 0  Download Evidence
Search for the Location by Near (in format latitude|longitude) Evidence Report  Download Evidence
Serenity BDD version 5.3.10