Project Number Date
EtherCIS-VEHR-features 0 13 Feb 2018, 17:24

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 9s 083ms 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
22s 042ms
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 300ms
And The client system is logged into a server session 031ms
And The templates with following ids are available to the server: 656ms
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 034ms
And The following compositions exists under the EHR: 20s 020ms
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
112ms
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: 112ms
composition_uid
composition_composer
context_start_time
activity_data
After CompositionAPISteps.cleanUp() 016ms
After QueryWithAqlSteps.cleanUp() 000ms
15s 993ms
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 634ms
And The client system is logged into a server session 027ms
And The templates with following ids are available to the server: 456ms
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 032ms
And The following compositions exists under the EHR: 13s 842ms
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
044ms
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 043ms
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() 013ms
After QueryWithAqlSteps.cleanUp() 000ms
16s 224ms
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 791ms
And The client system is logged into a server session 030ms
And The templates with following ids are available to the server: 385ms
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 027ms
And The following compositions exists under the EHR: 13s 990ms
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
022ms
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 000ms
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 021ms
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.getList(JsonPath.java:374)
	at com.ethercis.vehr.RestAPIBackgroundSteps.extractAqlResults(RestAPIBackgroundSteps.java:227)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:185)
	at ✽.Then The results should be composition instances(code4health/Aql.feature:122)
Caused by: groovy.json.JsonException: Lexing failed on line: 1, column: 1, while reading '<', no possible valid JSON value or punctuation could be recognized.
	at groovy.json.JsonLexer.nextToken(JsonLexer.java:85)
	at groovy.json.JsonLexer$nextToken.call(Unknown Source)
	at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper.parse(ConfigurableJsonSlurper.groovy:96)
	at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper$parse.callCurrent(Unknown Source)
	at com.jayway.restassured.internal.path.json.ConfigurableJsonSlurper.parseText(ConfigurableJsonSlurper.groovy:82)
	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.getList(JsonPath.java:374)
	at com.ethercis.vehr.RestAPIBackgroundSteps.extractAqlResults(RestAPIBackgroundSteps.java:227)
	at com.ethercis.vehr.AqlFeaturesSteps.theResultsShouldBeCompositionInstances(AqlFeaturesSteps.java:185)
	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() 022ms
After QueryWithAqlSteps.cleanUp() 000ms
14s 577ms
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 686ms
And The client system is logged into a server session 026ms
And The templates with following ids are available to the server: 362ms
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 475ms
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
064ms
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 064ms
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