Test Suite: EHR_SERVICE / I_DIRECTORY Interface
Normative Reference
Items in this validation suite conceptually use the following abstract interfaces from the Abstract Platform Service Model, EHR/DIRECTORY component.
-
I_EHR_DIRECTORY
These are concretely realised in implementation technology specfic APIs, such as the EHR REST API.
This test suite uses artefacts defined by the following information model specifications:
Dependencies
This test suite depends on other test suites:
-
Functional Conformance: Definitions Component, providing OPTs;
-
Functional Conformance: EHR Component, providing EHRs.
Test Environment
TBD |
Test Data Sets
For the creation and modification of the EHR.directory structure it is important to explore the hierarchical nature of the FOLDER structures and consider the edge cases for EHR.directory.
Tests of EHR.directory
-
FOLDER
-
FOLDER with items
-
FOLDER with subfolders
-
FOLDER with subfolders and items on all the folders
-
FOLDER with n levels of subfolders and items (to detect any implementation limitations)
Tests of Reference FOLDER structure
the following image is provided for reference. The items in the FOLDER are references to VERSIONED_OBJECTs that may contain COMPOSITION, EHR_STATUS and FOLDER. This documentation focuses on testing COMPOSITION as content in the FOLDERs. Discourse discussion.
|
Test Cases
Service Model operation: I_EHR_DIRECTORY.has_directory()
Service Model reference: I_EHR_DIRECTORY.has_directory()
Test Case I_EHR_DIRECTORY.has_directory-empty_ehr
Description |
Test has_directory on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.has_directory-ehr_with_directory
Description |
Test has_directory on EHR containing a directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.has_directory-bad_ehr
Description |
Test has_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.has_path()
Service Model reference: I_EHR_DIRECTORY.has_path()
Test Case I_EHR_DIRECTORY.has_path-empty_ehr
Description |
Test has_path on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.has_path-ehr_root_directory
Description |
Test has_path on EHR with just root directory |
||||||||
|---|---|---|---|---|---|---|---|---|---|
Pre-conditions |
|
||||||||
Post-conditions |
None |
||||||||
Flow |
|
||||||||
Data set |
|
||||||||
Test runners |
Test Case I_EHR_DIRECTORY.has_path-folder_structure
Description |
Test has_path on EHR with folder structure |
||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Pre-conditions |
|
||||||||||||||||||||||||||||||
Post-conditions |
None |
||||||||||||||||||||||||||||||
Flow |
|
||||||||||||||||||||||||||||||
Data set |
Assuming the following structure in /
+--- emergency
| |
| +--- episode-x
| | |
| | +--- summary-composition-x
| |
| +--- episode-y
| |
| +--- summary-composition-y
|
+--- hospitalization
|
+--- summary-composition-z
|
||||||||||||||||||||||||||||||
Test runners |
Test Case I_EHR_DIRECTORY.has_path-bad_ehr
Description |
Test has_path on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.create_directory()
Service Model reference: I_EHR_DIRECTORY.create_directory()
Test Case I_EHR_DIRECTORY.create_directory-empty_ehr
Description |
Test create_directory on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
|
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.create_directory-ehr_with_directory
Description |
Test create_directory on EHR with directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.create_directory-bad_ehr
Description |
Test create_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.get_directory()
Service Model reference: I_EHR_DIRECTORY.get_directory()
Test Case I_EHR_DIRECTORY.get_directory-empty_ehr
Description |
Test get_directory on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory-ehr_root_directory
Description |
Test get_directory on EHR with a root directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory-directory_with_structure
Description |
Test get_directory on EHR with a directory containing sub-structure |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory-bad_ehr
Description |
Test get_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.get_directory_at_time()
Service Model reference: I_EHR_DIRECTORY.get_directory_at_time()
Test Case I_EHR_DIRECTORY.get_directory_at_time-empty_ehr
Description |
Test get_directory_at_time on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-empty_ehr_empty_time
Description |
Test get_directory_at_time on empty EHR with empty time |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-ehr_with_directory
Description |
Test get_directory_at_time on empty EHR with directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-ehr_with_directory_empty_time
Description |
Test get_directory_at_time on EHR with directory with empty time |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-ehr_with_directory_versions
Description |
Test get_directory_at_time on EHR with directory containing multiple versions |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-ehr_with_directory_versions_empty_time
Description |
Test get_directory_at_time on EHR with directory containing multiple versions with empty time |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-bad_ehr
Description |
Test get_directory_at_time on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_time-multiple_versions_first
Description |
Test get_directory_at_time on EHR with directory with multiple versions first version |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.update_directory()
Service Model reference: I_EHR_DIRECTORY.update_directory()
Test Case I_EHR_DIRECTORY.update_directory-ehr_with_directory
Description |
Test update_directory on EHR with directory |
|---|---|
Pre-conditions |
|
Post-conditions |
|
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.update_directory-empty_ehr
Description |
Test update_directory on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.update_directory-bad_ehr
Description |
Test update_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.delete_directory()
Service Model reference: I_EHR_DIRECTORY.delete_directory()
Test Case I_EHR_DIRECTORY.delete_directory-empty_ehr
Description |
Test delete_directory on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.delete_directory-ehr_with_directory
Description |
Test delete_directory on EHR with directory |
||
|---|---|---|---|
Pre-conditions |
|
||
Post-conditions |
|
||
Flow |
|
||
Test runners |
Test Case I_EHR_DIRECTORY.delete_directory-bad_ehr
Description |
Test delete_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.has_directory_version()
Service Model reference: I_EHR_DIRECTORY.has_directory_version()
Test Case I_EHR_DIRECTORY.has_directory_version-empty_ehr
Description |
Test has_directory_version on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.has_directory_version-directory_with_two_versions
Description |
Test has_directory_version on EHR that has two versions of directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.has_directory_version-bad_ehr
Description |
Test has_directory_version on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.get_directory_at_version()
Service Model reference: I_EHR_DIRECTORY.get_directory_at_version()
Test Case I_EHR_DIRECTORY.get_directory_at_version-empty_ehr
Description |
Test get_directory_at_version on empty EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_version-directory_with_two_versions
Description |
Test get_directory_at_version on EHR that has two versions of directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_directory_at_version-bad_ehr
Description |
Test get_directory_at_version on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Service Model operation: I_EHR_DIRECTORY.get_versioned_directory()
Service Model reference: I_EHR_DIRECTORY.get_versioned_directory()
Test Case I_EHR_DIRECTORY.get_versioned_directory-empty_ehr
Description |
Test get_versioned_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_versioned_directory-directory_with_two_versions
Description |
Test get_versioned_directory on EHR that has two versions of directory |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |
Test Case I_EHR_DIRECTORY.get_versioned_directory-bad_ehr
Description |
Test get_versioned_directory on non-existent EHR |
|---|---|
Pre-conditions |
|
Post-conditions |
None |
Flow |
|
Test runners |