Serenity BDD Report
Home > Requirements > Stufe5 > Terminplanung
Report generated 01-09-2026 07:01

Theme: Terminplanung

Feature Coverage By Scenario

Requirements Overview

Key Statistics

Number of Scenarios 31
Total Number of Test Cases 44
Tests Started Sep 01, 2026 07:01:56
Tests Finished Sep 01, 2026 07:10:01
Total Duration 8m 4s
Fastest Test 287ms
Slowest Test 24s
Average Execution Time 2s
Cumulative Test Time
(sum of all individual test durations)
1m 34s

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 31 Total Duration 8m 4s
Total Number of Test Cases 44 Fastest Test 287ms
Number of Manual Test Cases 0 Slowest Test 24s
Tests Started Sep 01, 2026 07:01:56 Average Execution Time 2s
Tests Finished Sep 01, 2026 07:10:01 Cumulative Test Time
(sum of all individual test durations)
1m 34s

Automated Tests

feature Scenario Context Steps Started Total Duration Result
Booking an appointment by schedule reference (@Appointment-Book-By-Schedule) Precondition 2 07:01:56 419ms SUCCESS
Booking an appointment by schedule reference (@Appointment-Book-By-Schedule) Book an appointment by schedule reference 15 07:01:57 8s 342ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Precondition 2 07:09:33 438ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Read and Validation of the CapabilityStatement 2 07:09:33 7s 655ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Validation of the search parameter definitions in the CapabilityStatement
9 passing test cases
1 07:09:41 2s 732ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment by ID 3 07:09:44 12s 183ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Optional Search for the Appointment by Tag and ID 4 07:09:56 917ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment by Count 2 07:09:57 497ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment that belong to a Patient, by Status 4 07:09:57 917ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment that belong to a Patient, by Service Type 3 07:09:58 735ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment that belong to a Patient, by Specialty 3 07:09:59 696ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment that belong to a Patient, by Date 3 07:09:59 725ms SUCCESS
Testing search parameters against the Appointment resource (@Appointment-Search) Search for the Appointment that belong to a Patient, by Slot 3 07:10:00 706ms SUCCESS
Read Information from a resource of type Schedule (@Schedule-Read) Precondition 2 07:07:51 424ms SUCCESS
Read Information from a resource of type Schedule (@Schedule-Read) Read and Validation of the CapabilityStatement 2 07:07:52 2s 906ms SUCCESS
Read Information from a resource of type Schedule (@Schedule-Read) Read a Schedule by ID 8 07:07:54 1s 783ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Precondition 2 07:05:24 427ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Read and Validation of the CapabilityStatement 2 07:05:24 7s 133ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Validation of the search parameter definitions in the CapabilityStatement
6 passing test cases
1 07:05:31 2s 154ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Search for the Schedule by ID 3 07:05:33 883ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Optional Search for the Schedule by Tag and ID 4 07:05:34 913ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Search for the Schedule by Count 2 07:05:35 481ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Search for the Schedule that belong to a Practitioner, by Active state 4 07:05:36 900ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Search for the Schedule that belong to a Practitioner, by Service Type 3 07:05:37 694ms SUCCESS
Testing search parameters against the Schedule resource (@Schedule-Search) Search for the Schedule that belong to a Practitioner, by Specialty 3 07:05:37 700ms SUCCESS
Read Information from a resource of type Slot (@Slot-Read) Precondition 2 07:07:11 651ms SUCCESS
Read Information from a resource of type Slot (@Slot-Read) Read and Validation of the CapabilityStatement 2 07:07:12 2s 389ms SUCCESS
Read Information from a resource of type Slot (@Slot-Read) Read a Slot by ID 7 07:07:14 6s 539ms SUCCESS
Read Information from a resource of type ValueSet (@ValueSet-Read) Precondition 2 07:06:36 423ms SUCCESS
Read Information from a resource of type ValueSet (@ValueSet-Read) Read and Validation of the CapabilityStatement 2 07:06:37 3s 310ms SUCCESS
Read Information from a resource of type ValueSet (@ValueSet-Read) Read and Validate ValueSet by its ID 12 07:06:40 24s 551ms SUCCESS

Manual Tests

No manual tests were recorded

Evidence

Scenario Title Details
Precondition RBellog 0  Download Evidence
Book an appointment by schedule reference INFO - entry.resource.ofType(Slot).count() > 0  Details
Book an appointment by schedule reference INFO - entry.resource.ofType(Slot).where(status = 'free' and start <= @2027-03-31T10:05:00Z and end >= @2027-03-31T10:55:00Z).count() >= 1  Details
Book an appointment by schedule reference INFO - entry.resource.ofType(Slot).where(status != 'free' and start < @2027-03-31T10:55:00Z and end > @2027-03-31T10:05:00Z).count() = 0  Details
Book an appointment by schedule reference INFO - ($this is Appointment) or ($this is Parameters)  Details
Book an appointment by schedule reference INFO - ($this is Appointment) implies id.exists()  Details
Book an appointment by schedule reference INFO - ($this is Appointment) implies status.toString().matches('^booked|pending$')  Details
Book an appointment by schedule reference INFO - ($this is Appointment) implies slot.exists()  Details
Book an appointment by schedule reference INFO - ($this is Parameters) implies parameter.where(name = 'return' and resource is Appointment).resource.id.exists()  Details
Book an appointment by schedule reference INFO - ($this is Parameters) implies parameter.where(name = 'return' and resource is Appointment).resource.status.toString().matches('^booked|pending$')  Details
Book an appointment by schedule reference INFO - ($this is Parameters) implies parameter.where(name = 'return' and resource is Appointment).resource.slot.exists()  Details
Book an appointment by schedule reference RBellog 0  Download Evidence
Book an appointment by schedule reference Evidence Report  Download Evidence
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Appointment' 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 = 'Appointment' 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 = 'Appointment' and searchParam.where(name = '_tag' and type = 'token').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 = 'Appointment' and searchParam.where(name = '_count' and type = 'number').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 = 'Appointment' and searchParam.where(name = 'status' 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 = 'Appointment' and searchParam.where(name = 'service-type' 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 = 'Appointment' and searchParam.where(name = 'specialty' 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 = 'Appointment' and searchParam.where(name = 'date' and type = 'date').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 = 'Appointment' and searchParam.where(name = 'slot' 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 = 'Appointment' and searchParam.where(name = 'actor' and type = 'reference').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 Appointment by ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bAppointment-Read-Example$')).count() = 1  Details
Search for the Appointment by ID INFO - This element does not match any known slice defined in the profile https://gematik.de/fhir/isik/StructureDefinition/ISiKTermin|5.1.2  Details
Search for the Appointment by ID WARN - Value set https://gematik.de/fhir/isik/ValueSet/ISiKTerminPriority has been ignored due to module configuration  Details
Search for the Appointment by ID INFO - Code system definition is missing for 'http://snomed.info/sct#394848005'  Details
Search for the Appointment by ID RBellog 0  Download Evidence
Search for the Appointment by ID Evidence Report  Download Evidence
Optional Search for the Appointment by Tag and ID INFO - entry.resource.count() > 0  Details
Optional Search for the Appointment by Tag and ID INFO - entry.resource.all(meta.tag.where(code='external').exists())  Details
Optional Search for the Appointment by Tag and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bAppointment-Read-Example$')).count() = 1  Details
Optional Search for the Appointment by Tag and ID RBellog 0  Download Evidence
Optional Search for the Appointment by Tag and ID Evidence Report  Download Evidence
Search for the Appointment by Count INFO - entry.resource.count() > 0 and entry.resource.count() <= 1  Details
Search for the Appointment by Count RBellog 0  Download Evidence
Search for the Appointment by Count Evidence Report  Download Evidence
Search for the Appointment that belong to a Patient, by Status INFO - entry.resource.ofType(Appointment).count() > 0  Details
Search for the Appointment that belong to a Patient, by Status INFO - entry.resource.ofType(Appointment).all(status = 'cancelled')  Details
Search for the Appointment that belong to a Patient, by Status INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bAppointment-Read-Example$')).count() = 1  Details
Search for the Appointment that belong to a Patient, by Status RBellog 0  Download Evidence
Search for the Appointment that belong to a Patient, by Status Evidence Report  Download Evidence
Search for the Appointment that belong to a Patient, by Service Type INFO - entry.resource.ofType(Appointment).count() > 0  Details
Search for the Appointment that belong to a Patient, by Service Type INFO - entry.resource.ofType(Appointment).all(serviceType.coding.where(code='177' and system='http://terminology.hl7.org/CodeSystem/service-type').exists())  Details
Search for the Appointment that belong to a Patient, by Service Type RBellog 0  Download Evidence
Search for the Appointment that belong to a Patient, by Service Type Evidence Report  Download Evidence
Search for the Appointment that belong to a Patient, by Specialty INFO - entry.resource.ofType(Appointment).count() > 0  Details
Search for the Appointment that belong to a Patient, by Specialty INFO - entry.resource.ofType(Appointment).all(specialty.coding.where(code = 'NEUR' and system ='http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen').exists())  Details
Search for the Appointment that belong to a Patient, by Specialty RBellog 0  Download Evidence
Search for the Appointment that belong to a Patient, by Specialty Evidence Report  Download Evidence
Search for the Appointment that belong to a Patient, by Date INFO - entry.resource.ofType(Appointment).count() > 0  Details
Search for the Appointment that belong to a Patient, by Date INFO - entry.resource.ofType(Appointment).all(start.toString().contains('2027-01-01') or start ~ @2027-01-01)  Details
Search for the Appointment that belong to a Patient, by Date RBellog 0  Download Evidence
Search for the Appointment that belong to a Patient, by Date Evidence Report  Download Evidence
Search for the Appointment that belong to a Patient, by Slot INFO - entry.resource.ofType(Appointment).count() > 0  Details
Search for the Appointment that belong to a Patient, by Slot INFO - entry.resource.ofType(Appointment).all(slot.where(reference.replaceMatches('/_history/.+','').matches('\\bSlot-Read-Example$')).exists())  Details
Search for the Appointment that belong to a Patient, by Slot RBellog 0  Download Evidence
Search for the Appointment that belong to a Patient, by Slot Evidence Report  Download Evidence
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Schedule' and interaction.where(code = 'read').exists()).exists()  Details
Read and Validation of the CapabilityStatement RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement Evidence Report  Download Evidence
Read a Schedule by ID INFO - id.replaceMatches('/_history/.+','').matches('\\bSchedule-Read-Example$')  Details
Read a Schedule by ID INFO - serviceType.text.empty().not() and serviceType.coding.where(code='177' and system = 'http://terminology.hl7.org/CodeSystem/service-type').exists()  Details
Read a Schedule by ID INFO - specialty.coding.where(code = 'NEUR' and system ='http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen').exists()  Details
Read a Schedule by ID INFO - actor.where(reference.replaceMatches('/_history/.+','').matches('\\bPractitioner-Read-Example$') and display.exists()).exists()  Details
Read a Schedule by ID INFO - extension.where(url = 'http://hl7.org/fhir/5.0/StructureDefinition/extension-Schedule.name' and value.empty().not()).exists()  Details
Read a Schedule by ID RBellog 0  Download Evidence
Read a Schedule by ID Evidence Report  Download Evidence
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Schedule' 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 = 'Schedule' 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 = 'Schedule' and searchParam.where(name = 'active' and type = 'token').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 = 'Schedule' and searchParam.where(name = 'service-type' 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 = 'Schedule' and searchParam.where(name = 'specialty' 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 = 'Schedule' and searchParam.where(name = 'actor' 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 = 'Schedule' and searchParam.where(name = '_tag' 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
Search for the Schedule by ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bSchedule-Read-Example$')).count() = 1  Details
Search for the Schedule by ID RBellog 0  Download Evidence
Search for the Schedule by ID Evidence Report  Download Evidence
Optional Search for the Schedule by Tag and ID INFO - entry.resource.count() > 0  Details
Optional Search for the Schedule by Tag and ID INFO - entry.resource.all(meta.tag.where(code='external').exists())  Details
Optional Search for the Schedule by Tag and ID INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bSchedule-Read-Example$')).count() = 1  Details
Optional Search for the Schedule by Tag and ID RBellog 0  Download Evidence
Optional Search for the Schedule by Tag and ID Evidence Report  Download Evidence
Search for the Schedule by Count INFO - entry.resource.count() > 0 and entry.resource.count() <= 1  Details
Search for the Schedule by Count RBellog 0  Download Evidence
Search for the Schedule by Count Evidence Report  Download Evidence
Search for the Schedule that belong to a Practitioner, by Active state INFO - entry.resource.ofType(Schedule).count() > 0  Details
Search for the Schedule that belong to a Practitioner, by Active state INFO - entry.resource.ofType(Schedule).all(active = 'true')  Details
Search for the Schedule that belong to a Practitioner, by Active state INFO - entry.resource.where(id.replaceMatches('/_history/.+','').matches('\\bSchedule-Read-Example$')).count() = 1  Details
Search for the Schedule that belong to a Practitioner, by Active state RBellog 0  Download Evidence
Search for the Schedule that belong to a Practitioner, by Active state Evidence Report  Download Evidence
Search for the Schedule that belong to a Practitioner, by Service Type INFO - entry.resource.ofType(Schedule).count() > 0  Details
Search for the Schedule that belong to a Practitioner, by Service Type INFO - entry.resource.ofType(Schedule).all(serviceType.coding.where(code='177').exists())  Details
Search for the Schedule that belong to a Practitioner, by Service Type RBellog 0  Download Evidence
Search for the Schedule that belong to a Practitioner, by Service Type Evidence Report  Download Evidence
Search for the Schedule that belong to a Practitioner, by Specialty INFO - entry.resource.ofType(Schedule).count() > 0  Details
Search for the Schedule that belong to a Practitioner, by Specialty INFO - entry.resource.ofType(Schedule).all(specialty.coding.where((code = '142' and system ='urn:oid:1.2.276.0.76.5.114') or (code = 'NEUR' and system ='http://ihe-d.de/CodeSystems/AerztlicheFachrichtungen')).exists())  Details
Search for the Schedule that belong to a Practitioner, by Specialty RBellog 0  Download Evidence
Search for the Schedule that belong to a Practitioner, by Specialty Evidence Report  Download Evidence
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'Slot' and interaction.where(code = 'read').exists()).exists()  Details
Read and Validation of the CapabilityStatement RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement Evidence Report  Download Evidence
Read a Slot by ID INFO - id.replaceMatches('/_history/.+','').matches('\\bSlot-Read-Example$')  Details
Read a Slot by ID INFO - schedule.reference.replaceMatches('/_history/.+','').matches('\\bSchedule-Read-Example$')  Details
Read a Slot by ID INFO - start.toString().contains('2027-01-01') or start ~ @2027-01-01  Details
Read a Slot by ID INFO - end.empty().not()  Details
Read a Slot by ID RBellog 0  Download Evidence
Read a Slot by ID Evidence Report  Download Evidence
Precondition RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement INFO - rest.where(mode = 'server').resource.where(type = 'ValueSet' and interaction.where(code = 'read').exists()).exists()  Details
Read and Validation of the CapabilityStatement RBellog 0  Download Evidence
Read and Validation of the CapabilityStatement Evidence Report  Download Evidence
Read and Validate ValueSet by its ID INFO - id.replaceMatches('/_history/.+','').matches('\\bValueSet-Read-Example$')  Details
Read and Validate ValueSet by its ID INFO - useContext.value.coding.where(code = 'Encounter').exists()  Details
Read and Validate ValueSet by its ID INFO - expansion.exists()  Details
Read and Validate ValueSet by its ID INFO - expansion.contains.where(code = 'sun' and display = 'Sunday' and system = 'http://hl7.org/fhir/days-of-week').exists()  Details
Read and Validate ValueSet by its ID RBellog 0  Download Evidence
Read and Validate ValueSet by its ID Evidence Report  Download Evidence
Serenity BDD version 5.3.10