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: - A valid Patient resource conform to the Profile ISiKPatient and with ID defined in the property 'medication-patient-id'
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.medication-patient-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.medication-patient-id}" with error message "The requested Patient ${data.medication-patient-id} is not contained in the response bundle"
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.medication-patient-id} is not contained in the response bundle'
When Post FHIR search request to "http://fhirserver/Patient/_search" with content type "json" and parameters:
| family:contains | birthdate | _count |
|---|---|---|
| Mustermann | ge1955-06-20 | ${data.search-count} |
And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0 and entry.resource.count() {= ${data.search-count}' 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 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 Post FHIR search request to "http://fhirserver/Patient/_search" with content type "json" and parameters:
| family:contains | gender | _count |
|---|---|---|
| Mustermann | male | ${data.search-count} |
And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0 and entry.resource.count() {= ${data.search-count}' 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 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 Post FHIR search request to "http://fhirserver/Patient/_search" with content type "xml" and parameters:
| _id | family:contains |
|---|---|
| NotExistingPatient | Mustermann |
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 "NotExistingPatient" with error message "The requested Patient NotExistingPatient is unexpectedly contained in the response bundle"
When Post FHIR search request to "http://fhirserver/Patient/_search" with content type "xml" and parameters:
| birthdate |
| ge1955-06-20 |
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.medication-patient-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.medication-patient-id}$')).count() = 1" with error message 'The requested Patient ${data.medication-patient-id} is not contained in the response bundle'
| Number of Scenarios | 10 | Total Duration | 18s |
| Total Number of Test Cases | 18 | Fastest Test | 285ms |
| Number of Manual Test Cases | 0 | Slowest Test | 9s |
| Tests Started | Sep 01, 2026 07:03:45 | Average Execution Time | 1s |
| Tests Finished | Sep 01, 2026 07:04:04 |
Cumulative Test Time
(sum of all individual test durations) |
18s |
| feature | Scenario | Context | Steps | Started | Total Duration | Result |
|---|---|---|---|---|---|---|
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Precondition | 2 | 07:03:45 | 426ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Read and Validation of the CapabilityStatement | 2 | 07:03:46 | 9s 238ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) |
Validation of the search parameter definitions in the CapabilityStatement
9 passing test cases |
1 | 07:03:55 | 3s 190ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patient by ID | 3 | 07:03:58 | 754ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patient by identifier | 3 | 07:03:59 | 684ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | 4 | 07:03:59 | 909ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | 4 | 07:04:00 | 893ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Negative test: Search for Patients using ID and Family | 3 | 07:04:01 | 771ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patients by Date of birth | 3 | 07:04:02 | 724ms | ||
| Testing search parameters against a resource of type Patient, according to the definition of ISiKCapabilityStatementStammdatenRolle (@Patient-Search @Medikation) | Search for Patient with an empty search parameter to be ignored | 3 | 07:04:03 | 770ms |
| Scenario | Title | Details |
|---|---|---|
| Precondition | RBellog 0 | Download Evidence |
| Read and Validation of the CapabilityStatement | INFO - rest.where(mode = 'server').resource.where(type = 'Patient' 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 = 'Patient' 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 = 'Patient' 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 = 'Patient' 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 = 'Patient' and searchParam.where(name = 'given' 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 = 'Patient' and searchParam.where(name = 'family' and type = 'string').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 = 'Patient' and searchParam.where(name = 'birthdate' and type = 'date').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 = 'Patient' and searchParam.where(name = 'gender' 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 = 'Patient' and searchParam.where(name = '_has' and type = 'string').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 = 'Patient' 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 Patient by ID | INFO - Unknown extension http://fhir.de/StructureDefinition/humanname-namenszusatz | Details |
| Search for Patient by ID | WARN - Profile reference 'https://gematik.de/fhir/isik/StructureDefinition/ISiKPatient' has not been checked because it is unknown | Details |
| Search for Patient 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 Patient by ID | INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bPatient-Read-Example$')).count() = 1 | Details |
| Search for Patient by ID | RBellog 0 | Download Evidence |
| Search for Patient by ID | Evidence Report | Download Evidence |
| Search for Patient by identifier | INFO - entry.resource.count() > 0 | Details |
| Search for Patient by identifier | INFO - entry.resource.all(identifier.where($this.system = 'http://fhir.de/sid/gkv/kvid-10' and $this.value = 'X485231029').exists()) | Details |
| Search for Patient by identifier | RBellog 0 | Download Evidence |
| Search for Patient by identifier | Evidence Report | Download Evidence |
| Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | INFO - entry.resource.count() > 0 and entry.resource.count() <= 20 | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | INFO - entry.resource.all(name.family.where($this.contains('Mustermann')).exists()) | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | INFO - entry.resource.all(birthDate >= @1955-06-20) | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | RBellog 0 | Download Evidence |
| Search for Patients that have a Family Name containing "Mustermann" and Birthdate >= 1955-06-20, group by _count | Evidence Report | Download Evidence |
| Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | INFO - entry.resource.count() > 0 and entry.resource.count() <= 20 | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | INFO - entry.resource.all(name.family.where($this.contains('Mustermann')).exists()) | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | INFO - entry.resource.all(gender = 'male') | Details |
| Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | RBellog 0 | Download Evidence |
| Search for Patients that have a Family Name containing "Mustermann" and Gender male, group by _count | Evidence Report | Download Evidence |
| Negative test | INFO - entry.resource.ofType(Patient).count() = 0 | Details |
| Negative test | INFO - entry.resource.ofType(Patient).where(id.replaceMatches('/_history/.+','').matches('\\bNotExistingPatient$')).count() = 0 | Details |
| Negative test | RBellog 0 | Download Evidence |
| Negative test | Evidence Report | Download Evidence |
| Search for Patients by Date of birth | INFO - entry.resource.count() > 0 | Details |
| Search for Patients by Date of birth | INFO - entry.resource.all(birthDate >= @1955-06-20) | Details |
| Search for Patients by Date of birth | RBellog 0 | Download Evidence |
| Search for Patients by Date of birth | Evidence Report | Download Evidence |
| Search for Patient with an empty search parameter to be ignored | INFO - entry.resource.count() > 0 | Details |
| Search for Patient with an empty search parameter to be ignored | INFO - entry.resource.where(id.exists() and id.replaceMatches('/_history/.+','').matches('\\bPatient-Read-Example$')).count() = 1 | Details |
| Search for Patient with an empty search parameter to be ignored | RBellog 0 | Download Evidence |
| Search for Patient with an empty search parameter to be ignored | Evidence Report | Download Evidence |