Login, Gateway Status, Account Management and Exchange Management

Version#

Date

Modified By

Description of Modification

0.1

10/01/2014

Sovann Huynh

Initial version

0.201/23/2015Christopher MayAdded Ping Utility tests
0.306/11/2015Sailaja AdusumilliAdding Test Tool tests
0.411/02/2018Tabassum JafriUpdated Cross-Gateway Query Client and User Accounts section

Overview

Important note regarding UDDIConnectionInfo.xml and internalConnectionInfo.xml

As of CONNECT 5.1, both files have been replaced with the more versatile exchangeInfo.xml and internalExchangeInfo.xml files. For users of CONNECT 5.0 and earlier versions, substitute references to these new files with the original uddiConnectionInfo.xml and internalConnectionInfo.xml files

The following test steps are for the CONNECT AdminGUI interface functionality, not including the Direct-related components. It is divided into three sections – Login, Gateway Status and Account Management:

  • Login - Verification of login procedure from the main page.
  • Gateway Status - Verification of the metrics pertaining to gateway health. Includes three tabs:
    • Dashboard - displays system data pertinent to the CONNECT instance.
    • Performance Statistics - displays the total number of inbound, outbound and error messages currently associated with the CONNECT instance.
    • Remote Gateway List - lists all the gateways that the CONNECT instance has been communicating with and displays the total inter-gateway transaction count by service.
  • Account Management - Verification of user account management functionality. including the functionality to add/edit user accounts and set user roles:
    • User Accounts - allows for creation and management of user accounts
    • Manage Roles - allows for modification of access rights for each of the three supported user roles: administrator, user, super user
  • Services Test Tool

Test preparation

  1. Deploy CONNECT with Direct ear and AdminGUI war. Note: Direct needs to be included in the ear in order to use these test cases.
  2. Successfully execute ConnectValidation SoapUI Test suites before running AdminGUI test cases.
  3. Browse to http://localhost:8080/CONNECTAdminGUI (depending on your application server and deployment settings, you may need to append the version to the link, e.g., -4.4.0-SNAPSHOT)

Test flow

These tests are intended to be run sequentially, as successful completion of some test steps will require the successful completion of previous test steps


Login

Test scenarioTest stepsExpected results
User attempts to log in with no passwordLog in with username CONNECT and leave password field blankUser is not logged in and "Password is required" message appears
User attempts to log in with invalid usernameLog in with username CONNECT and password passwordUser is not logged in and "The user name or password entered is incorrect" message appears
User attempts to log in with invalid passwordLog in with username CONNECTAdmin and password changemeUser is not logged in and "The user name or password entered is incorrect" message appears
User logs in with valid username and passwordLog in with username CONNECTAdmin and password passwordUser is logged into CONNECT AdminGUI and Gateway Status Dashboard appears
User logs outHover cursor over the "Logged in as ..." box near the upper left corner and select Log outUser is logged out and returned the the "Please sign in" page

Log back in to continue testing

All test steps below require tester to be logged in to the CONNECT AdminGUI interface


Gateway Status

Gateway Monitor (Dashboard)

Expand the Gateway Status menu in the left navigation panel, select Dashboard and execute the following tests:

Test scenarioTest stepsExpected results
Verify that the page is populated with real gateway metricsVisually inspect the gateway metrics- OS data is displayed
- JAVA version data is displayed
- Memory data is displayed
- Total inbound data is displayed
- Total outbound data is displayed
- App Server data is displayed
Verify that all available services have been listed

Visually inspect the left-hand column under Services

All services available to the gateway are listed (including versions)
Verify that the charts are accurate
  • Clear the events table
  • Run the following tests and inspect the charts (refresh required) one at a time:
    • Patient Discovery
    • Document Query
    • Document Retrieve
    • Document Submission
Each time a test is executed, the chart is updated accordingly

Account Management

User Accounts

Expand the Account Management menu in the left navigation panel, select User Accounts and execute the following tests:

Test scenarioTest stepsExpected results
Verify password strength indicator
  1. Enter an uppercase letter
  2. Enter a lowercase letter, a number and a special character (!@#$%^&*)
  3. Enter three more letters to extend the password to 7 characters
After the completion of each step, you should see the strength indicator go up
Create a User account
  1. Enter connect2 for username
  2. Enter password for password
  3. Reenter password.
  4. Select User for user role
  5. Enter John in First name.
  6. Enter B in Middle Name/Initial
  7. Enter Doe in Last Name
  8. Select Technical healthcare occupation from the Transaction Role dropdown.
  9. Click Create User

In the userlogin table in the adminguidb database, there is an entry for user connect2 with a userRole value of 3.

Log off and log in with the connect2. Go to Cross-Gateway Query client and do a Patient search. Go to server logs and verify that EntityPatientDiscovery request has the following assertions:

<ns3:userInfo>
   <ns3:personName>
        <ns3:familyName>Doe</ns3:familyName>
        <ns3:givenName>John</ns3:givenName>
        <ns3:secondNameOrInitials>B</ns3:secondNameOrInitials>
    </ns3:personName>
    <ns3:userName>connect2</ns3:userName>
    <ns3:roleCoded>
      <ns3:code>224606009</ns3:code>
      <ns3:codeSystem>2.16.840.1.113883.6.96</ns3:codeSystem>
      <ns3:codeSystemName>SNOMED_CT</ns3:codeSystemName>
      <ns3:displayName>Technical healthcare occupation</ns3:displayName>
      </ns3:roleCoded>
</ns3:userInfo>

Create a Super User account
  1. Enter connect3 for username
  2. Enter password for password
  3. Reenter password.
  4. Enter First name.
  5. Enter Middle Name/Initial
  6. Enter Last Name
  7. Select Transaction Role
  8. Select Super User for user role
  9. Click Create User
In the userlogin table in the adminguidb database, there is an entry for user connect3 with a userRole value of 2

Test Validation

  1. Do not enter any information into user fields.
  2. Click Create User
An error message should appear alerting the user that required fields were not entered.

Manage Roles

Select Manage Roles in the left navigation panel and execute the following tests:

Test scenarioTest stepsExpected results
Edit Direct Config access for all users
  1. Select Admin
  2. In dropdown list for Direct Config, select No Access
  3. Select User
  4. In dropdown list for Direct Config, select No Access
  5. Select Super User
  6. In dropdown list for Direct Config, select No Access
  • "Access level changed" message appears every time No Access is selected
  • Verify that the message only appears below the role modifying table as an INFO alert. Should not appear anywhere else. (Prior issue on glassfish, the messages would appear on other message boxes in the create user tab).
  • In the pagepreference table of the adminguidb database, accessPage value is set to -1 for all three rows where pageDesc equals Direct Config
Verify Administrator privileges
  1. Expand Direct Configuration menu in left navigation panel
  2. Select Domains
Domains page should not render
Verify User privileges
  1. Log out
  2. Log in as user connect2
  3. Expand Direct Configuration menu in left navigation panel
  4. Select Domains
Domains page should not render
Verify Super User privileges
  1. Log out
  2. Log in as user connect3
  3. Expand Direct Configuration menu in left navigation panel
  4. Select Domains
Domains page should not render

View Users and Delete User

Test scenarioTest steps

Expected results

Verify that users are displayed.
  1. Go to User Management page.
  2. Look at user list at bottom and confirm values in adminguidb users table.
Values should match in GUI table and in database.
Verify delete.
  1. Create new user.
  2. Delete user from table.
After creating user, should appear in database and on GUI. After delete the user should not be in table and can not log in with deleted user.
Verify can't delete CONNECTAdmin
  1. Go to users table (should log in as an Admin user that isn't CONNECTAdmin)
  2. Delete CONNECTAdmin.
Should see warning message that CONNECTAdmin can not be deleted.
Verify can't delete current user.
  1. Create new admin user.
  2. Log out and log in with user.
  3. Go to users table and delete current user.
  4. Log out and log in with other admin and delete the created user.
Should see warning on delete that you can't delete current user.

Exchange Management

Expand the Exchange Management menu in the left navigation panel and execute the following tests:

Test scenarioTest stepsExpected results
Change the refresh interval and maximum number of backups
  1. Change the refresh interval from 1440 to 1441
  2. Change the maximum number of backups from 1 to 2
  3. Click save

In exchangeInfo.xml:

<refreshInterval>1441</refreshInterval>
<maxNumberOfBackups>2</maxNumberOfBackups>

Refresh exchanges (manual exchange insertion)

In exchangeInfo.xml, add the following exchange:

<exchange type="fhir">
<name>Exchange 2</name>
<url>http://localhost:8068/fhir/Organization</url>
<disabled>false</disabled>
</exchange>

In SoapUI,start the xmlExchange mock FHIR directory

In the Exchange Manager, click "Refresh Exchanges"

exchangeInfo.xml has been udpated with Exchange 2 data
Change default exchange
  1. In the Default Exchange dropdown, select Exchange 2
  2. Click save

In exchangeInfo.xml:

<defaultExchange>Exchange 2</defaultExchange>

Delete an exchange
  1. Select Exchange 2
  2. Click delete
Exchange 2 has been deleted from exchangeInfo.xml
Refresh exchanges (using Exchange Manager to add an exchange)
  1. Click New
  2. Add a new exchange with the following values:
    1. Name: Exchange 2
    2. Type: FHIR
    3. URL: http://localhost:8068/fhir/Organization
    4. TLS: 1.2
  3. Click Save
  4. Click "Refresh Exchanges"

exchangeInfo.xml has been udpated with Exchange 2 data

Disable refresh for Exchange 2Click the "Enabled" button for Exchange 2

In exchangeInfo.xml, for Exchange 2:

<disabled>true</disabled>

Enable refresh for Exchange 2Click the "Disabled" button for Exchange 2

In exchangeInfo.xml, for Exchange 2:

<disabled>false</disabled>

View and ping external endpoints

In the Organizations accordion:

  1. Select Exchange 1 and Gateway 2
  2. Click Ping All Services
Ping status is PASS for all services

Cross-Gateway Query Client

Overview

The Service Test Tool in the System Administrative GUI application provides the ability to patient search, query for documents within a given date range based on document type, and to view documents for selected patients interactively using a web browser. This currently only works in a passthrough gateway setting.

Test Preparation

  1. The Service Test Tool tests are designed to run using two separate gateways but additional configurations allow for loopback processing.  The assumption is that the initiating and responding gateway will have HCID 1.1 and 2.2, respectively.  Based on that, set the following prerequisites:
    1. Setup for Initiating and Responding Gateway:
      1. For CONNECT 5.2

Prerequisite

Create User: In the System Administrative GUI, navigate to Account Management > User Accounts and create a new user. Note: Before doing a Patient search, you need to be logged in with the newly created user.

Note: Cross-Gateway Query Client now works in both standard and passthrough mode and creates SAML assertion based on logged in user's credentials. No special configuration is required, to run Cross-Gateway Query Client, except the normal gateway to gateway setup which is described below: 

        1. Initiating Gateway Setup
          • exchangeInfo.xml
            • Add an entry for HCID 2.2, updating endpoints to use the hostname or IP address of the responding gateway
        2. Responding Gateway Setup
          • gateway.properties
            • In the System Administrative GUI, navigate to Properties > Gateway and update the entry for the HCID to 2.2
          • internalExchangeInfo.xml
            • Add or update the entry for the HCID 2.2
          • adapter.properties
            • In the System Administrative GUI, navigate to Properties > Adapter and update the entry for the HCID to 2.2
          • exchangeInfo.xml
            • Update the endpoints for HCID 1.1 to use the hostname or IP address of the initiating gateway. NOTE: This is actually not necessary as there will be no tests from 2.2 to 1.1.
      1. For Prior Versions
        1. Initiating Gateway Setup
          • gateway.properties
            • Set all services to passthrough mode
          • exchangeInfo.xml or uddiConnectionInfo (depending on CONNECT 5.1.2 or prior version)
            • Add an entry for HCID 2.2, updating endpoints to use the hostname or IP address of the responding gateway
        2. Responding Gateway Setup
          • gateway.properties
            • In the System Administrative GUI, navigate to Properties > Gateway and update the entry for the HCID to 2.2
            • Patient Discovery must be set to standard mode, Document Query and Document Retrieve must be set to passthrough mode
          • internalExchangeInfo.xml or internalConnectionInfo (depending on CONNECT 5.1.2 or prior version)
            • Add or update the entry for the HCID 2.2
          • adapter.properties
            • In the System Administrative GUI, navigate to Properties > Adapter and update the entry for the HCID to 2.2
          • exchangeInfo.xml or uddiConnectionInfo (depending on CONNECT 5.1.2 or prior version)
            •  Update the endpoints for HCID 1.1 to use the hostname or IP address of the initiating gateway. NOTE: This is actually not necessary as there will be no tests from 2.2 to 1.1.
          • Set <alias alias="adapterpolicyengineorchestrator" name="adapterpolicyengineorchestratorjava" />
            • Make sure to use orchestartorjava instad of samlJava in PolicyEngineProxyConfig.xml. (when samljava impl is used it makes check on assertion objects most and java impl makes check on few)
    1. Certificates must be exchanged and trusted between the two gateways per the instructions found here: https://connectopensource.atlassian.net/wiki/x/8wCD 
    2. In order to test Patient Discovery, Document Query, and Document Retrieve from a single gateway, make sure that the patient test data exists in the mpi.xml file.
    3. At least one document must exist in the database table docrepository.document for the test patient. This record should already be present if you ran the populateTestData.sql script from the Product\DBScripts\nhincdb directory.
  1. Deploy the CONNECT ear and AdminGUI war.
  2. Successfully execute the ConnectValidation SoapUI test suites before running AdminGUI test cases.
  3. Browse to http://localhost:8080/CONNECTAdminGUI (depending on your application server and deployment settings, you may need to append the version to the link, e.g., -4.5.0-SNAPSHOT)

Loopback Mode

     With CONNECT 5.2

  1. adapter.properties
    1. In the System Administrative GUI, navigate to Properties > Gateway and update the entry for the HCID to 2.2. Note: you need to restart the server after this change.

     Prior to CONNECT 5.2

  1. Set Patient Discovery to standard mode
  2. Set Document Query and Document Retrieve to passthrough mode
  3. PolicyEngineProxyConfig.xml changes:
    • Set <alias alias="adapterpolicyengineorchestrator" name="adapterpolicyengineorchestratorjava" />
  4. AdapterMpiConfig.xml changes:
    1. Set <alias alias="mpichecker" name="mpidbjava" /> if attempting to match patients in the patients database
    2. Set <alias alias="mpichecker" name="mpixmljava" /> if attempting to match patients in the mpi.xml file
  5. PatientCorrelationConfig.xml changes:
    1. Set <alias alias="patientcorrelation" name="patientcorrelationjava" />

Test flow

These tests are intended to be run sequentially, as successful completion of some test steps will require the successful completion of previous test steps.

Note

Changes had been made for the Patient Search and will required a user with roleCode to build the assertion for the request message; CONNECTAdmin does not have a roleCode for the search to function.

Patient Search

Expand the Universal Client menu in the left navigation panel, select Patient Search and execute the following tests:

Test ScenarioTest StepsExpected Results
Universal Client left navigation menu availability
  1. Click on Universal Client from left navigation panel.
Only "Patient Search" menu item should appear under "Universal Client".
Patient Search Tab, Document Search Tab availability
  1. From left navigation panel, Click on "Universal Client" -> "Patient Search" menu item.

On the right side of page, under Universal Client, the user will see two tabs:

1. Patient Search

2. Document Search

Only the "Patient Search" tab should be enabled; the "Document Search" tab should be disabled.

Under "Search Wizard", the "Start Over" and "Enter Patient Search Criteria" options are enabled while the "Enter Document Search Criteria" option is disabled.

Search for a patient without providing all required values in "Search Wizard" under the Patient Search Tab.
  1. Leave one or more required fields blank under "Search Wizard" - "Enter Patient Search Criteria" and click the "Search" button.

A "Required Field" alert will be displayed for fields which are left blank. If all fields are left blank, user will see an error message as below:

Organization required.

Purpose of Patient/Document Request required.

FirstName required.

LastName required.

DateOfBirth required.

Gender required.

Search for a patient by providing all required values in "Search Wizard" under Patient Search Tab.
  1. Select organization from the Organization dropdown list
  2. Select Purpose of Patient/Document Request: from the dropdown list.
  3. Enter the patient's first name in "First Name" text field.
  4. Enter the patient's last name in "Last Name" text field.
  5. Enter / Select the patient's date of birth from Date Of Birth Calendar
  6. Select the patient's gender from "Gender" dropdown list.
  7. Click the "Search" button to search for a patient.
  8. To tally the patient found results, check the patientdb.patient (Responder mpi) table using the selected patient id based on the last name and/or first name that was entered; the patient search result should match the results displayed on the screen.

If a patient is found, below are the expected results:

  1. Under the "Patient Search" tab, the user will see a "Patient Record Found" table with Name, Patient ID and Organization details along with a "View Details" button.
  2. The "Document Search" tab will be enabled and the user should be able to navigate between the "Patient Search" tab and the "Document Search" tab.

If a patient is not found, under the "Patient Search" tab, the user will see a "Patient Not Found" message.

If the user clicks on the "Clear" button, the "Enter Patient Search Criteria" will be refreshed and the form will be displayed to search for a patient.

View Patient Search Details
  1. Click "View Details" button from "Patient Record Found" table.

User will navigate to the "Document Search" tab. Under "Enter Document Search Criteria", the following details are displayed:

  1. A non-editable "Current Patient Details" block with Name, PatientID, Gender, Organization, Date Of Birth, and Phone.
  2. The "Document Type" list box with a provision to select one or more document types.
  3. "Document Creation Date Range" with a provision to select "From" and "To" date ranges.
  4. "Clear" and "Search" buttons.

User will be able to navigate between the "Patient Search" and "Document Search" tabs.

Under "Search Wizard", "Enter Patient Search Criteria" will be disabled and "Start Over" will be enabled. If the user wants to search for a new patient, a new search can be initiated using "Start Over" from the "Enter Document Search Criteria" option.

Search for Documents
  1. Click the "Search" button from under "Enter Document Search Criteria"

If documents are found, the following will be displayed:

  1. Under the "Document Search" tab, the "Enter Document Search Criteria" form will contain a "Document Found" table with DocumentID, Document Type, Content Type, Title, Creation Time, and Size.
  2. Under "Document Found", each document row will have the "Metadata" and "Open" buttons enabled.

The user will be able to navigate between the "Patient Search" and "Document Search" tabs, and both tabs will retain data which was already entered by the user in the previous test case.

Search for Document by Document Type
  1. Select desired document type from the "Document Type" list box under "Enter Document Search Criteria" .
  2. To tally the documents found based on document type, look at the docrepository.document (Responder document source) table rows with the selected document type for the test patient.

If documents are found based on selected document type, a list of documents will be displayed under the "Document Found" table with DocumentID, Document Type, Content Type, Title, Creation Time, Size.

  1. Under "Document Found" each document row will have "Metadata" and "Open" buttons enabled.
  2. Rows from the Document table for selected document type.
Search for Document by Document Creation Date Range
  1. Select desired document creation date range from "From" and "To" date fields .
  2. To tally the documents found based on document date range, look at docrepository.document table rows with selected dates for search patient.

If documents are found between selected date range, list of documents will be displayed under "Document Found" table with below information:

(DocumentID, Document Type, Content Type, Title, Creation Time, Size)

  1. Under "Document Found" each document row will have Metadata, Open buttons enabled.
  2. Rows from Document table for selected Date range.
View Document Metadata
  1. Click the "Metadata" button from the "Document Found" table under the "Enter Document Search Criteria" form.
  2. To close the dialogue window, click "X" on right top corner of dialogue window.
  1. User will see a child dialogue window with document summary details. The dialogue window shows the following details:
    1. As a dialogue window title: <selected document name> for <patient name>
    2. A details section of dialogue window containing:
      1. Title, Document Id, Document Type, Content type, Size, Source Patient ID, Creation Time, Service Stop Time, Service Start Time, Author, Author Role, Author Speciality. (Currently, Author, Author Role and Author Speciality are displayed as blank).
  2. After closing the dialogue window, the user will be back at the parent window's "Document Search" tab and can view other documents' metadata.
  3. User will be able to navigate between the "Patient Search" and "Document Search" tabs, and both tabs will retain data which was already entered by user in the previous test case.
View Document Details as per document content type display
  1. Click " Open" button from "Document Found" table under "Enter Document Search Criteria" form.
  2. To close the dialogue window click "X" on right top corner of dialogue window.
  1. User will see a child dialogue window with detailed document details. The dialogue window shows below details:
    1. As a dialogue window title: <selected document name> for <patient name>
    2. Based on selected document content type ( ex: if it is application/xml) , details section of dialogue window shows detailed document information in application/xml format .
  2. After closing the dialogue window, user will be back to parent window " Document Search" tab to view different document details.
  3. User will be able to navigate between "Patient Search" tab and "Document Search" tab and both tabs will retain data which was already entered by user in above previous test cases.