Project Number Date
EtherCIS-VEHR-features 0 14 Feb 2018, 15:06

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Support for openEHR Archetype Query Language 47 3 0 0 0 50 2 3 5 1m 12s 621ms Failed
Feature Support for openEHR Archetype Query Language
In order to access openEHR based data As A clinical informatics actor I want to use openEHR AQL queries to query clinical data
19s 472ms
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Given The server is running 1s 480ms
And The client system is logged into a server session 035ms
And The templates with following ids are available to the server: 592ms
IDCR - Adverse Reaction List.v1
IDCR - End of Life Patient Preferences.v0
IDCR - Immunisation summary.v0
IDCR - Laboratory Order.v0
IDCR - Laboratory Test Report.v0
IDCR - Medication Statement List.v0
IDCR - Minimal MDT Output Report.v0
IDCR - Problem List.v1
IDCR - Procedures List.v1
IDCR - Relevant contacts.v0
IDCR - Service Request.v0
IDCR - Service tracker.v0
IDCR - Vital Signs Encounter.v1
RIPPLE - Clinical Notes.v1
RIPPLE - Height_Weight.v1
RIPPLE - Personal Notes.v1
Smart Growth Chart Data.v0
And An EHR is created 030ms
And The following compositions exists under the EHR: 17s 333ms
Composition_IDCR_Adverse_Reaction_List.v1.0.json IDCR - Adverse Reaction List.v1
Composition_IDCR_Adverse_Reaction_List.v1.1.json IDCR - Adverse Reaction List.v1
Composition_IDCR_End_of_Life_Patient_Preferences.v0.0.json IDCR - End of Life Patient Preferences.v0
Composition_IDCR_Immunisation_summary.v0.0.json IDCR - Immunisation summary.v0
Composition_IDCR_Immunisation_summary.v0.1.json IDCR - Immunisation summary.v0
Composition_IDCR_Laboratory_Order.v0.0.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.1.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.2.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Test_Report.v0.0.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.1.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.2.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Medication_Statement_List.v0.0.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.1.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.2.json IDCR - Medication Statement List.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.0.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.1.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR_Problem_List.v1.0.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.1.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.2.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.3.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.4.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.5.json IDCR - Problem List.v1
Composition_IDCR_Procedures_List.v1.0.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.1.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.2.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.3.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.4.json IDCR - Procedures List.v1
Composition_IDCR_Relevant_contacts.v0.0.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.1.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.2.json IDCR - Relevant contacts.v0
Composition_IDCR_Service_Request.v0.0.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.1.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.2.json IDCR - Service Request.v0
Composition_IDCR_Service_tracker.v0.0.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.1.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.2.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.3.json IDCR - Service tracker.v0
Composition_IDCR_Vital_Signs_Encounter.v1.0.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.1.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.2.json IDCR - Vital Signs Encounter.v1
Composition_RIPPLE_Clinical_Notes.v1.0.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.1.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.2.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Height_Weight.v1.0.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.1.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.2.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Personal_Notes.v1.0.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.1.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.2.json RIPPLE - Personal Notes.v1
099ms
A composition which contains an instruction is queried. The composition sits under the EHR. AQL query specifies EHR id, Composition archetype node id and instruction archetype node id. The query uses WHERE clause to add Composition name as an extra criteria. The returned data consists of uid, composer, event context start time and some data from the activities under the instruction.
When A an AQL query that describes an instruction under a composition is created 000ms
And The query contains EHR id criteria 000ms
And Composition archetype id is openEHR-EHR-COMPOSITION.medication_list.v0 000ms
And Composition name criteria using WHERE clause is Medication statement list 000ms
And Instruction archetype id is openEHR-EHR-INSTRUCTION.medication_order.v1 000ms
Then The following data items should be available in query results: 098ms
composition_uid
composition_composer
context_start_time
activity_data
After CompositionAPISteps.cleanUp() 008ms
After QueryWithAqlSteps.cleanUp() 000ms
14s 405ms
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Given The server is running 1s 316ms
And The client system is logged into a server session 029ms
And The templates with following ids are available to the server: 373ms
IDCR - Adverse Reaction List.v1
IDCR - End of Life Patient Preferences.v0
IDCR - Immunisation summary.v0
IDCR - Laboratory Order.v0
IDCR - Laboratory Test Report.v0
IDCR - Medication Statement List.v0
IDCR - Minimal MDT Output Report.v0
IDCR - Problem List.v1
IDCR - Procedures List.v1
IDCR - Relevant contacts.v0
IDCR - Service Request.v0
IDCR - Service tracker.v0
IDCR - Vital Signs Encounter.v1
RIPPLE - Clinical Notes.v1
RIPPLE - Height_Weight.v1
RIPPLE - Personal Notes.v1
Smart Growth Chart Data.v0
And An EHR is created 026ms
And The following compositions exists under the EHR: 12s 659ms
Composition_IDCR_Adverse_Reaction_List.v1.0.json IDCR - Adverse Reaction List.v1
Composition_IDCR_Adverse_Reaction_List.v1.1.json IDCR - Adverse Reaction List.v1
Composition_IDCR_End_of_Life_Patient_Preferences.v0.0.json IDCR - End of Life Patient Preferences.v0
Composition_IDCR_Immunisation_summary.v0.0.json IDCR - Immunisation summary.v0
Composition_IDCR_Immunisation_summary.v0.1.json IDCR - Immunisation summary.v0
Composition_IDCR_Laboratory_Order.v0.0.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.1.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.2.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Test_Report.v0.0.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.1.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.2.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Medication_Statement_List.v0.0.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.1.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.2.json IDCR - Medication Statement List.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.0.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.1.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR_Problem_List.v1.0.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.1.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.2.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.3.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.4.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.5.json IDCR - Problem List.v1
Composition_IDCR_Procedures_List.v1.0.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.1.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.2.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.3.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.4.json IDCR - Procedures List.v1
Composition_IDCR_Relevant_contacts.v0.0.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.1.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.2.json IDCR - Relevant contacts.v0
Composition_IDCR_Service_Request.v0.0.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.1.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.2.json IDCR - Service Request.v0
Composition_IDCR_Service_tracker.v0.0.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.1.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.2.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.3.json IDCR - Service tracker.v0
Composition_IDCR_Vital_Signs_Encounter.v1.0.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.1.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.2.json IDCR - Vital Signs Encounter.v1
Composition_RIPPLE_Clinical_Notes.v1.0.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.1.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.2.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Height_Weight.v1.0.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.1.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.2.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Personal_Notes.v1.0.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.1.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.2.json RIPPLE - Personal Notes.v1
034ms
Scenario Select data item using its archetype node id and name
Query compositions which contain data items that can can only be distinguished by their names. The query uses [atXXXX,'data item name'] syntax in SELECT clause to select specific data items.
Steps
When An AQL query that selects composition uids and data items is created 000ms
And The data items are selected based on both archetype node id and name 032ms
Then Data items with same node id should have different values if they have different names 000ms
java.lang.AssertionError: Values should be different. Actual: 2 puffs
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failEquals(Assert.java:185)
	at org.junit.Assert.assertNotEquals(Assert.java:161)
	at org.junit.Assert.assertNotEquals(Assert.java:175)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames$4(AqlFeaturesSteps.java:180)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames(AqlFeaturesSteps.java:179)
	at ✽.Then Data items with same node id should have different values if they have different names(code4health/Aql.feature:113)
After CompositionAPISteps.cleanUp() 023ms
After QueryWithAqlSteps.cleanUp() 000ms
12s 685ms
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Given The server is running 1s 308ms
And The client system is logged into a server session 025ms
And The templates with following ids are available to the server: 381ms
IDCR - Adverse Reaction List.v1
IDCR - End of Life Patient Preferences.v0
IDCR - Immunisation summary.v0
IDCR - Laboratory Order.v0
IDCR - Laboratory Test Report.v0
IDCR - Medication Statement List.v0
IDCR - Minimal MDT Output Report.v0
IDCR - Problem List.v1
IDCR - Procedures List.v1
IDCR - Relevant contacts.v0
IDCR - Service Request.v0
IDCR - Service tracker.v0
IDCR - Vital Signs Encounter.v1
RIPPLE - Clinical Notes.v1
RIPPLE - Height_Weight.v1
RIPPLE - Personal Notes.v1
Smart Growth Chart Data.v0
And An EHR is created 029ms
And The following compositions exists under the EHR: 10s 941ms
Composition_IDCR_Adverse_Reaction_List.v1.0.json IDCR - Adverse Reaction List.v1
Composition_IDCR_Adverse_Reaction_List.v1.1.json IDCR - Adverse Reaction List.v1
Composition_IDCR_End_of_Life_Patient_Preferences.v0.0.json IDCR - End of Life Patient Preferences.v0
Composition_IDCR_Immunisation_summary.v0.0.json IDCR - Immunisation summary.v0
Composition_IDCR_Immunisation_summary.v0.1.json IDCR - Immunisation summary.v0
Composition_IDCR_Laboratory_Order.v0.0.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.1.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.2.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Test_Report.v0.0.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.1.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.2.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Medication_Statement_List.v0.0.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.1.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.2.json IDCR - Medication Statement List.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.0.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.1.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR_Problem_List.v1.0.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.1.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.2.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.3.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.4.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.5.json IDCR - Problem List.v1
Composition_IDCR_Procedures_List.v1.0.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.1.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.2.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.3.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.4.json IDCR - Procedures List.v1
Composition_IDCR_Relevant_contacts.v0.0.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.1.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.2.json IDCR - Relevant contacts.v0
Composition_IDCR_Service_Request.v0.0.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.1.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.2.json IDCR - Service Request.v0
Composition_IDCR_Service_tracker.v0.0.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.1.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.2.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.3.json IDCR - Service tracker.v0
Composition_IDCR_Vital_Signs_Encounter.v1.0.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.1.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.2.json IDCR - Vital Signs Encounter.v1
Composition_RIPPLE_Clinical_Notes.v1.0.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.1.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.2.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Height_Weight.v1.0.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.1.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.2.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Personal_Notes.v1.0.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.1.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.2.json RIPPLE - Personal Notes.v1
058ms
Scenario Outline Select composition
A composition is queried. The composition sits under the EHR. AQL query specifies EHR id, Composition archetype node id and instruction archetype node id. The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause selects the complete composition instance
Steps
When A an AQL query that describes a composition under an EHR is created 000ms
And The query contains EHR id criteria 000ms
And Composition archetype id is openEHR-EHR-COMPOSITION.medication_list.v0 000ms
And Composition name criteria using WHERE clause is Medication statement list 000ms
Then The results should be composition instances 058ms
com.jayway.restassured.path.json.exception.JsonPathException: Failed to parse the JSON document
	at com.jayway.restassured.path.json.JsonPath$ExceptionCatcher.invoke(JsonPath.java:928)
	at com.jayway.restassured.path.json.JsonPath$4.doParseWith(JsonPath.java:893)
	at com.jayway.restassured.path.json.JsonPath$JsonParser.parseWith(JsonPath.java:972)
	at com.jayway.restassured.path.json.JsonPath.get(JsonPath.java:201)
	at com.jayway.restassured.path.json.JsonPath.getString(JsonPath.java:351)
	at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:224)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:194)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:193)
	at ✽.Then The results should be composition instances(code4health/Aql.feature:125)
Caused by: java.lang.IllegalArgumentException: The JSON input text should neither be null nor empty.
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:80)
	at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:60)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:235)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:247)
	at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper.parseText(ConfigurableJsonSlurper.groovy:79)
	at com.jayway.restassured.path.json.JsonPath$4$1.method(JsonPath.java:891)
	at com.jayway.restassured.path.json.JsonPath$ExceptionCatcher.invoke(JsonPath.java:926)
	at com.jayway.restassured.path.json.JsonPath$4.doParseWith(JsonPath.java:893)
	at com.jayway.restassured.path.json.JsonPath$JsonParser.parseWith(JsonPath.java:972)
	at com.jayway.restassured.path.json.JsonPath.get(JsonPath.java:201)
	at com.jayway.restassured.path.json.JsonPath.getString(JsonPath.java:351)
	at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:224)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:194)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:193)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at cucumber.runtime.Utils$1.call(Utils.java:40)
	at cucumber.runtime.Timeout.timeout(Timeout.java:16)
	at cucumber.runtime.Utils.invoke(Utils.java:34)
	at cucumber.runtime.java.JavaStepDefinition.execute(JavaStepDefinition.java:38)
	at cucumber.runtime.StepDefinitionMatch.runStep(StepDefinitionMatch.java:37)
	at cucumber.runtime.Runtime.runStep(Runtime.java:300)
	at cucumber.runtime.model.StepContainer.runStep(StepContainer.java:44)
	at cucumber.runtime.model.StepContainer.runSteps(StepContainer.java:39)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:44)
	at cucumber.runtime.junit.ExecutionUnitRunner.run(ExecutionUnitRunner.java:102)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.ExamplesRunner.run(ExamplesRunner.java:59)
	at org.junit.runners.Suite.runChild(Suite.java:128)
	at org.junit.runners.Suite.runChild(Suite.java:27)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.ScenarioOutlineRunner.run(ScenarioOutlineRunner.java:53)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:63)
	at cucumber.runtime.junit.FeatureRunner.runChild(FeatureRunner.java:18)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.runtime.junit.FeatureRunner.run(FeatureRunner.java:70)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:95)
	at cucumber.api.junit.Cucumber.runChild(Cucumber.java:38)
	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
	at cucumber.api.junit.Cucumber.run(Cucumber.java:100)
	at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:369)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:275)
	at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:239)
	at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:160)
	at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)
	at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334)
	at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119)
	at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407)
After CompositionAPISteps.cleanUp() 008ms
After QueryWithAqlSteps.cleanUp() 000ms
13s 390ms
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Given The server is running 1s 604ms
And The client system is logged into a server session 036ms
And The templates with following ids are available to the server: 333ms
IDCR - Adverse Reaction List.v1
IDCR - End of Life Patient Preferences.v0
IDCR - Immunisation summary.v0
IDCR - Laboratory Order.v0
IDCR - Laboratory Test Report.v0
IDCR - Medication Statement List.v0
IDCR - Minimal MDT Output Report.v0
IDCR - Problem List.v1
IDCR - Procedures List.v1
IDCR - Relevant contacts.v0
IDCR - Service Request.v0
IDCR - Service tracker.v0
IDCR - Vital Signs Encounter.v1
RIPPLE - Clinical Notes.v1
RIPPLE - Height_Weight.v1
RIPPLE - Personal Notes.v1
Smart Growth Chart Data.v0
And An EHR is created 025ms
And The following compositions exists under the EHR: 11s 390ms
Composition_IDCR_Adverse_Reaction_List.v1.0.json IDCR - Adverse Reaction List.v1
Composition_IDCR_Adverse_Reaction_List.v1.1.json IDCR - Adverse Reaction List.v1
Composition_IDCR_End_of_Life_Patient_Preferences.v0.0.json IDCR - End of Life Patient Preferences.v0
Composition_IDCR_Immunisation_summary.v0.0.json IDCR - Immunisation summary.v0
Composition_IDCR_Immunisation_summary.v0.1.json IDCR - Immunisation summary.v0
Composition_IDCR_Laboratory_Order.v0.0.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.1.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.2.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Test_Report.v0.0.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.1.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.2.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Medication_Statement_List.v0.0.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.1.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.2.json IDCR - Medication Statement List.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.0.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.1.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR_Problem_List.v1.0.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.1.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.2.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.3.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.4.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.5.json IDCR - Problem List.v1
Composition_IDCR_Procedures_List.v1.0.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.1.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.2.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.3.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.4.json IDCR - Procedures List.v1
Composition_IDCR_Relevant_contacts.v0.0.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.1.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.2.json IDCR - Relevant contacts.v0
Composition_IDCR_Service_Request.v0.0.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.1.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.2.json IDCR - Service Request.v0
Composition_IDCR_Service_tracker.v0.0.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.1.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.2.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.3.json IDCR - Service tracker.v0
Composition_IDCR_Vital_Signs_Encounter.v1.0.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.1.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.2.json IDCR - Vital Signs Encounter.v1
Composition_RIPPLE_Clinical_Notes.v1.0.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.1.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.2.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Height_Weight.v1.0.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.1.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.2.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Personal_Notes.v1.0.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.1.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.2.json RIPPLE - Personal Notes.v1
089ms
Scenario Outline Select instruction
A composition with an instruction is queried. The composition sits under the EHR. AQL query specifies EHR id, Composition archetype node id and instruction archetype node id. The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause selects the complete instruction instance
Steps
When A an AQL query that describes an instruction under an EHR is created 000ms
And The query contains EHR id criteria 000ms
And Composition archetype id is openEHR-EHR-COMPOSITION.medication_list.v0 000ms
And Composition name criteria using WHERE clause is Medication statement list 000ms
And Instruction archetype id is openEHR-EHR-INSTRUCTION.medication_order.v1 000ms
Then The results should be instruction instances 088ms
java.lang.AssertionError: expected:<null> but was:<openEHR-EHR-INSTRUCTION.medication_order.v1>
	at org.junit.Assert.fail(Assert.java:88)
	at org.junit.Assert.failNotEquals(Assert.java:834)
	at org.junit.Assert.assertEquals(Assert.java:118)
	at org.junit.Assert.assertEquals(Assert.java:144)
	at com.ethercis.vehr.AqlFeaturesSteps.assertArchetypeNodeId(AqlFeaturesSteps.java:225)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeInstructionInstances$6(AqlFeaturesSteps.java:216)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeInstructionInstances(AqlFeaturesSteps.java:215)
	at ✽.Then The results should be instruction instances(code4health/Aql.feature:142)
After CompositionAPISteps.cleanUp() 009ms
After QueryWithAqlSteps.cleanUp() 000ms
12s 268ms
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Given The server is running 1s 249ms
And The client system is logged into a server session 019ms
And The templates with following ids are available to the server: 375ms
IDCR - Adverse Reaction List.v1
IDCR - End of Life Patient Preferences.v0
IDCR - Immunisation summary.v0
IDCR - Laboratory Order.v0
IDCR - Laboratory Test Report.v0
IDCR - Medication Statement List.v0
IDCR - Minimal MDT Output Report.v0
IDCR - Problem List.v1
IDCR - Procedures List.v1
IDCR - Relevant contacts.v0
IDCR - Service Request.v0
IDCR - Service tracker.v0
IDCR - Vital Signs Encounter.v1
RIPPLE - Clinical Notes.v1
RIPPLE - Height_Weight.v1
RIPPLE - Personal Notes.v1
Smart Growth Chart Data.v0
And An EHR is created 033ms
And The following compositions exists under the EHR: 10s 591ms
Composition_IDCR_Adverse_Reaction_List.v1.0.json IDCR - Adverse Reaction List.v1
Composition_IDCR_Adverse_Reaction_List.v1.1.json IDCR - Adverse Reaction List.v1
Composition_IDCR_End_of_Life_Patient_Preferences.v0.0.json IDCR - End of Life Patient Preferences.v0
Composition_IDCR_Immunisation_summary.v0.0.json IDCR - Immunisation summary.v0
Composition_IDCR_Immunisation_summary.v0.1.json IDCR - Immunisation summary.v0
Composition_IDCR_Laboratory_Order.v0.0.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.1.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Order.v0.2.json IDCR - Laboratory Order.v0
Composition_IDCR_Laboratory_Test_Report.v0.0.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.1.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Laboratory_Test_Report.v0.2.json IDCR - Laboratory Test Report.v0
Composition_IDCR_Medication_Statement_List.v0.0.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.1.json IDCR - Medication Statement List.v0
Composition_IDCR_Medication_Statement_List.v0.2.json IDCR - Medication Statement List.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.0.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR__Minimal_MDT_Output_Report.v0.1.json IDCR - Minimal MDT Output Report.v0
Composition_IDCR_Problem_List.v1.0.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.1.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.2.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.3.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.4.json IDCR - Problem List.v1
Composition_IDCR_Problem_List.v1.5.json IDCR - Problem List.v1
Composition_IDCR_Procedures_List.v1.0.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.1.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.2.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.3.json IDCR - Procedures List.v1
Composition_IDCR_Procedures_List.v1.4.json IDCR - Procedures List.v1
Composition_IDCR_Relevant_contacts.v0.0.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.1.json IDCR - Relevant contacts.v0
Composition_IDCR_Relevant_contacts.v0.2.json IDCR - Relevant contacts.v0
Composition_IDCR_Service_Request.v0.0.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.1.json IDCR - Service Request.v0
Composition_IDCR_Service_Request.v0.2.json IDCR - Service Request.v0
Composition_IDCR_Service_tracker.v0.0.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.1.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.2.json IDCR - Service tracker.v0
Composition_IDCR_Service_tracker.v0.3.json IDCR - Service tracker.v0
Composition_IDCR_Vital_Signs_Encounter.v1.0.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.1.json IDCR - Vital Signs Encounter.v1
Composition_IDCR_Vital_Signs_Encounter.v1.2.json IDCR - Vital Signs Encounter.v1
Composition_RIPPLE_Clinical_Notes.v1.0.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.1.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Clinical_Notes.v1.2.json RIPPLE - Clinical Notes.v1
Composition_RIPPLE_Height_Weight.v1.0.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.1.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Height_Weight.v1.2.json RIPPLE - Height_Weight.v1
Composition_RIPPLE_Personal_Notes.v1.0.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.1.json RIPPLE - Personal Notes.v1
Composition_RIPPLE_Personal_Notes.v1.2.json RIPPLE - Personal Notes.v1
117ms
A composition with an evaluation is queried. The composition sits under the EHR. AQL query specifies EHR id, Composition archetype node id and evaluation archetype node id. The query uses WHERE clause to add Composition name as an extra criteria. The SELECT clause selects the complete evaluation instance
When A an AQL query that describes an evalution under an EHR is created 005ms
And The Composition archetype id is openEHR-EHR-COMPOSITION.adverse_reaction_list.v1 000ms
And Composition name criteria using WHERE clause is Adverse reaction list 000ms
And Evaluation archetype id is openEHR-EHR-EVALUATION.adverse_reaction_risk.v1 000ms
Then The results should be evaluation instances 111ms
After CompositionAPISteps.cleanUp() 008ms
After QueryWithAqlSteps.cleanUp() 000ms