Serenity BDD Report
Home > Requirements > Stufe5 > Basis > Testing search parameters against a resource of type patient (@patient-search)
Report generated 23-03-2026 09:40

Feature: Testing search parameters against a resource of type patient (@patient-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 Patient-Read & Patient-Read-Extended test cases must have been executed successfully beforehand.

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

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

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

Examples:

searchParamValuesearchParamType
_idtoken
_countnumber
identifiertoken
givenstring
familystring
birthdatedate
gendertoken
namestring
addressstring
address-citystring
address-countrystring
address-postalcodestring
activetoken
telecomtoken

Examples:

searchParamValuesearchParamType
_tagtoken 

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-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.patient-read-id}" with error message "The requested Patient ${data.patient-read-id} is not contained in the response bundle"

When Get FHIR resource at "http://fhirserver/Patient/?_tag=${data.tag-system}%7C${data.tag-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(meta.tag.where(code='${data.tag-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/Patient/?_count" with content type "xml"

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

When Get FHIR resource at "http://fhirserver/Patient/?identifier=http://fhir.de/sid/gkv/kvid-10%7CX485231029" with content type "json"

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($this.system = 'http://fhir.de/sid/gkv/kvid-10' and $this.value = 'X485231029').exists())" with error message 'The requested Patient ${data.patient-read-id} is not contained in the response bundle'

When Get FHIR resource at "http://fhirserver/Patient/?given=Max" with content type "json"

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(name.given.where($this.startsWith('Max')).exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?family=Graf%20von%20und%20zu%20Mustermann" with content type "json"

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(name.family.where($this.startsWith('Graf von und zu Mustermann')).exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?birthdate=1968-05-12" with content type "json"

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(birthDate = @1968-05-12)" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-read-id}&birthdate=1968-05-12" with content type "json"

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(birthDate = @1968-05-12)" with error message 'There are search results, but they do not fully match the search criteria'

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

When Get FHIR resource at "http://fhirserver/Patient/?gender=male" 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(gender = 'male')" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-read-id}&gender=male" 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(gender = 'male')" with error message 'There are search results, but they do not fully match the search criteria'

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

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-read-id}&family:contains=Mustermann" 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(name.family.where($this.contains('Mustermann')).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.patient-read-id}" with error message "The requested Patient ${data.patient-read-id} is not contained in the response bundle"

When Get FHIR resource at "http://fhirserver/Patient/?family:contains=Gr%C3%A4fin%20M%C3%BC%C3%9Fterm%C3%A1nn" 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(name.where(family = 'Gräfin Müßtermánn').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?given:contains=An%26na%5C%2CVic%24tor%7Ca" 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(name.where(given.contains('An&na,Vic$tor|a')).exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?birthdate=gt1955-07-01" 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(birthDate } @1955-07-01)" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?_has:Encounter:patient:_id=${data.encounter-read-in-progress-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.patient-read-id}" with error message "The requested Patient ${data.patient-read-id} is not contained in the response bundle"

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-read-extended-id}&family:contains=Mustermann" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.ofType(Patient).count() = 0' with error message 'Search results were found when none were expected'

And bundle does not contain resource "Patient" with ID "${data.patient-read-extended-id}" with error message "The requested Patient ${data.patient-read-id} is unexpectedly contained in the response bundle"

When Get FHIR resource at "http://fhirserver/Patient/?birthdate=ge1955-06-20" 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(birthDate }= @1955-06-20)" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?_id=${data.patient-read-id}&family=" 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(id.exists() and id.replaceMatches('/_history/.+','').matches('\b${data.patient-read-id}$')).count() = 1" with error message 'The requested Patient ${data.patient-read-id} is not contained in the response bundle'

When Get FHIR resource at "http://fhirserver/Patient/?name=Graf" 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(name.where(family.toString().matches('Graf|Gräfin') or given.where(value.toString().matches('Graf|Gräfin'))).exists())" with error message 'There are search results, but they do not fully match the search criteria'

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 "Patient" is valid isik5 resource and conforms to profile "https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient"

When Get FHIR resource at "http://fhirserver/Patient/?address-city=Musterdorf" 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 = 'Musterdorf').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?address-country=DE" 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(country = 'DE').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?address-postalcode=98765" 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(postalCode.contains('98765')).exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?active=true" 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(active=true)" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Patient/?telecom=201-867-5309" 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((telecom = '201-867-5309').exists())" with error message 'There are search results, but they do not fully match the search criteria'

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 26 Total Duration 32s
Total Number of Test Cases 39 Fastest Test 213ms
Number of Manual Test Cases 0 Slowest Test 3s
Tests Started März 23, 2026 09:40:25 Average Execution Time 821ms
Tests Finished März 23, 2026 09:40:57 Total Execution Time 32s

Automated Tests

feature Scenario Context Steps Started Total Duration Result
Testing search parameters against a resource of type Patient (@Patient-Search) Precondition 2 09:40:25 435ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Read and Validation of the CapabilityStatement 2 09:40:25 931ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Validation of the search parameter definitions in the CapabilityStatement
14 passing test cases
1 09:40:26 3s 134ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by ID 3 09:40:29 933ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by Tag 3 UNDEFINED
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by Count 2 09:40:30 825ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by identifier 3 09:40:31 1s 125ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by first name 3 09:40:32 927ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient with parameter family 3 09:40:33 962ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by date of birth 3 09:40:34 1s 131ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by ID and date of birth 4 09:40:35 1s 107ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by gender 3 09:40:36 936ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient by ID and gender 4 09:40:37 1s 188ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient using family:contains 4 09:40:39 1s 353ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by last name with special characters 3 09:40:40 926ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by first name with special characters 3 09:40:41 979ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient using birthdate=gt 3 09:40:42 1s 871ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Encounter 3 09:40:44 3s 324ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Negative test: Search for Patients using ID and Family 3 09:40:47 1s 035ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Date of birth 3 09:40:48 1s 231ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patient with an empty search parameter to be ignored 3 09:40:49 891ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Name 5 09:40:50 1s 519ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Address (city) 3 09:40:52 1s 080ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Address (country) 3 09:40:53 1s 109ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Address (postal code) 3 09:40:54 954ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Status 3 09:40:55 1s 084ms SUCCESS
Testing search parameters against a resource of type Patient (@Patient-Search) Search for Patients by Phone Number 3 09:40:56 1s 140ms SUCCESS

Manual Tests

No manual tests were recorded
Serenity BDD version 4.3.2