Project Number Date
EtherCIS-VEHR-features 0 13 Feb 2018, 21:03

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Support for openEHR Archetype Query Language 37 3 0 0 0 40 1 3 4 1m 13s 254ms 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
23s 856ms
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 605ms
And The client system is logged into a server session 032ms
And The templates with following ids are available to the server: 597ms
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 036ms
And The following compositions exists under the EHR: 21s 585ms
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
116ms
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 criteria 000ms
And Composition name criteria using WHERE clause 000ms
And Instruction archetype id criteria 000ms
Then The following data items should be available in query results: 115ms
composition_uid
composition_composer
context_start_time
activity_data
After CompositionAPISteps.cleanUp() 024ms
After QueryWithAqlSteps.cleanUp() 000ms
18s 782ms
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 2s 095ms
And The client system is logged into a server session 031ms
And The templates with following ids are available to the server: 439ms
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: 16s 186ms
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
051ms
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 049ms
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:174)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.dataItemsWithSameNodeIdShouldHaveDifferentValuesIfTheyHaveDifferentNames(AqlFeaturesSteps.java:173)
	at ✽.Then Data items with same node id should have different values if they have different names(code4health/Aql.feature:110)
After CompositionAPISteps.cleanUp() 083ms
After QueryWithAqlSteps.cleanUp() 000ms
15s 088ms
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 621ms
And The client system is logged into a server session 031ms
And The templates with following ids are available to the server: 379ms
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: 13s 026ms
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
076ms
Scenario 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 002ms
And The query contains EHR id criteria 000ms
And Composition archetype id criteria 000ms
And Composition name criteria using WHERE clause 000ms
Then The results should be composition instances 073ms
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:212)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:189)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:188)
	at ✽.Then The results should be composition instances(code4health/Aql.feature:122)
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:212)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeCompositionInstances$5(AqlFeaturesSteps.java:189)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:188)
	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 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() 011ms
After QueryWithAqlSteps.cleanUp() 000ms
15s 185ms
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 616ms
And The client system is logged into a server session 025ms
And The templates with following ids are available to the server: 384ms
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 035ms
And The following compositions exists under the EHR: 13s 124ms
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
096ms
Scenario 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 criteria 000ms
And Composition name criteria using WHERE clause 000ms
And Instruction archetype id criteria 000ms
Then The results should be instruction instances 096ms
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:213)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theResultsShouldBeInstructionInstances$6(AqlFeaturesSteps.java:204)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeInstructionInstances(AqlFeaturesSteps.java:203)
	at ✽.Then The results should be instruction instances(code4health/Aql.feature:135)
After CompositionAPISteps.cleanUp() 008ms
After QueryWithAqlSteps.cleanUp() 000ms