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"
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'
| 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 |
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Read and Validation of the CapabilityStatement | 2 | 09:40:25 | 931ms | ||
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by ID | 3 | 09:40:29 | 933ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by Tag | 3 | ||||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by Count | 2 | 09:40:30 | 825ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by identifier | 3 | 09:40:31 | 1s 125ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by first name | 3 | 09:40:32 | 927ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient with parameter family | 3 | 09:40:33 | 962ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by date of birth | 3 | 09:40:34 | 1s 131ms | ||
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by gender | 3 | 09:40:36 | 936ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient by ID and gender | 4 | 09:40:37 | 1s 188ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient using family:contains | 4 | 09:40:39 | 1s 353ms | ||
| 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 | ||
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patient using birthdate=gt | 3 | 09:40:42 | 1s 871ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Encounter | 3 | 09:40:44 | 3s 324ms | ||
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Date of birth | 3 | 09:40:48 | 1s 231ms | ||
| 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 | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Name | 5 | 09:40:50 | 1s 519ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Address (city) | 3 | 09:40:52 | 1s 080ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Address (country) | 3 | 09:40:53 | 1s 109ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Address (postal code) | 3 | 09:40:54 | 954ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Status | 3 | 09:40:55 | 1s 084ms | ||
| Testing search parameters against a resource of type Patient (@Patient-Search) | Search for Patients by Phone Number | 3 | 09:40:56 | 1s 140ms |