Project Number Date
EtherCIS-VEHR-features 0 12 Feb 2018, 18:03

Feature Report

Steps Scenarios Features
Feature Passed Failed Skipped Pending Undefined Total Passed Failed Total Duration Status
Support for openEHR Archetype Query Language 2 1 8 0 0 11 0 1 1 1s 547ms 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
1s 547ms
Background
The server is ready, an EHR and required templates is in place and the user logged in and created data.
Steps
Given The server is running 1s 391ms
And The client system is logged into a server session 035ms
And The templates with following ids are available to the server: 120ms
java.lang.RuntimeException: java.nio.file.NoSuchFileException: /home/travis/build/serefarikan/VirtualEhr/vehr-integration-tests/target/test-classes/test_data/code4health/opt/IDCR - Laboratory Order.v0.opt
	at com.ethercis.vehr.RestAPIBackgroundSteps.postTemplateToServer(RestAPIBackgroundSteps.java:128)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theTemplatesWithFollowingIdsAreAvailableToTheServer$2(AqlFeaturesSteps.java:106)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
	at com.ethercis.vehr.AqlFeaturesSteps.theTemplatesWithFollowingIdsAreAvailableToTheServer(AqlFeaturesSteps.java:106)
	at ✽.And The templates with following ids are available to the server:(code4health/Aql.feature:11)
Caused by: java.nio.file.NoSuchFileException: /home/travis/build/serefarikan/VirtualEhr/vehr-integration-tests/target/test-classes/test_data/code4health/opt/IDCR - Laboratory Order.v0.opt
	at sun.nio.fs.UnixException.translateToIOException(UnixException.java:86)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:102)
	at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:107)
	at sun.nio.fs.UnixFileSystemProvider.newByteChannel(UnixFileSystemProvider.java:214)
	at java.nio.file.Files.newByteChannel(Files.java:361)
	at java.nio.file.Files.newByteChannel(Files.java:407)
	at java.nio.file.Files.readAllBytes(Files.java:3152)
	at com.ethercis.vehr.RestAPIBackgroundSteps.postTemplateToServer(RestAPIBackgroundSteps.java:117)
	at com.ethercis.vehr.AqlFeaturesSteps.lambda$theTemplatesWithFollowingIdsAreAvailableToTheServer$2(AqlFeaturesSteps.java:106)
	at java.util.ArrayList.forEach(ArrayList.java:1255)
	at java.util.Collections$UnmodifiableCollection.forEach(Collections.java:1080)
	at com.ethercis.vehr.AqlFeaturesSteps.theTemplatesWithFollowingIdsAreAvailableToTheServer(AqlFeaturesSteps.java:106)
	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.runBackground(CucumberScenario.java:59)
	at cucumber.runtime.model.CucumberScenario.run(CucumberScenario.java:42)
	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)
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 000ms
And The following compositions exists under the EHR: 000ms
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
000ms
Scenario Composition contains instruction
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.
Steps
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: 000ms
composition_uid
composition_composer
context_start_time
activity_data
After CompositionAPISteps.cleanUp() 029ms
After QueryWithAqlSteps.cleanUp() 000ms