DocQueryTestsForUDDI
DocQueryTestsForUDDI Test Details:
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
Overview:
This project is used for testing Document Query (DQ) service in UDDI scenarios using Happy and Alternative Paths. It is accomplished by processing Document Query request message, which is targeted to either 2010 are 2011 spec implementation and by passing test case specific home community ids or regions(states) in NHIN target communities. In order to do DQ, it is required to have patient correlations and aa_to_home_community mapping entries in database. There is a script in each test case which will clear and insert required test data in patientcorrelationdb.correlatedidentifiers and assigningauthoritydb.aa_to_home_community_mapping tables.
Testing will be done in Standard mode.
NOTE: In order to target endpoints and make configuration settings to the gateway, the NwHIN config directory in the server must be known to the test project. This information is captured in a custom SoapUI property at the project level: GatewayPropDir. Alternatively, as of CONNECT 4.6.0, you can set the GatewayPropDir key/value pair in the global SoapUI properties.
Test Case Details:
Empty Target XML - Correlation for HCID not in UDDI file:
This test case is used to test DQ service without passing NHIN target community entries in request message. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, Script will clear correlations. Script will add one correlation, one aa_to_home_community mapping in database. When DQ request is initiated, gateway does not send any request message to the responding gateway since there is no NHIN target community information. It is expected to return error response that includes one RegistryError element with error Code as "XDSRegistryError”, codeContext as "No endpoint available for HCID :<<HCID>> " and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values configured in XPath match attributes.Empty Target XML - No Patient Correlations:
This test case is used to test DQ service without passing NHIN target community entries in request message. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Script will clear correlations, aa_to_home_community mappings in database to make sure there are no correlations exists. When DQ request is initiated, gateway does not send any request message to the responding gateway since there is no NHIN target community information. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
HCID Happy Path - Correlation for HCID in UDDI file/target XML:
This test case is used to test DQ service in Happy Path where there are two home communities for NHIN target communities present in DQ request message and both are pointed to endpoints in NHIN target communities. To test this case, script will copy project specific UDDI entries into NwHIN config directory's exchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add two correlations, two aa_to_home_community mappings in database for two of the home communities that is passed in NHIN target communities. Two correlations exists in the correlation table for the HCID that is passed in the target community/communities. When DQ request is initiated, gateway does send request message to the responding gateway based on the correlation table. The initiating gateway based on a single request message receives 2 response messages successfully from NHIE and aggregates them into a single message. Using assertions scripts will verify response to make sure expected elements with relevant values are present in ExtrinsicObject .
HCID Happy Path - Correlation for HCID not in UDDI file/target XML:
This test case is used to test DQ service in Happy Path where there are two home communities for NHIN target communities present in DQ request message, but no endpoint available for two home communities in NHIN target communities. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add one correlation, one aa_to_home_community mapping in database for two of the home communities and not for the home communities that is passed in NHIN target communities. When DQ request is initiated, gateway does not send any request message to the responding gateway since there is no DQ endpoint in exchangeInfo.xml for home community that is passed in NHIN target community. It is expected to return error response that includes one RegistryError element with errorCode as "XDSRegistryError" , codeContext as "No endpoint available for HCID:<<HCID>> " and coded indication of the severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.HCID Happy Path - Expired Correlation for HCID IN UDDI file/target XML:
This test case is used to test DQ service in Happy Path where there is one home community for NHIN target communities present in DQ request message and pointed to expired correlation in NHIN target communities. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for two of the home communities that is passed in NHIN target communities. When DQ request is initiated, gateway does not send any request message to the responding gateway since there are no correlations in correlation table for home community in NHIN target communities. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
HCID Happy Path - No Patient Correlations:
This test case is used to test DQ service in Happy Path where there are no patient correlations available for home community that is passed in NHIN target community. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Script will clear correlations, aa_to_home_community mappings in database to make sure there are no correlations exists. When DQ request is processed, gateway does not send any request message to the responding gateway since there are no correlations in correlation table for home community in NHIN target communities. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
HCID Alt Path - Correlation for HCID in target XML and not in UDDI:
This test case is used to test DQ service in Alternative Path where there is one home community for NHIN target communities present in DQ request message, but no endpoint available for home community in NHIN target communities. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Script will add one correlation, three aa_to_home_community mappings in database for two of the home communities and not for the home communities that is passed in NHIN target communities. When DQ request is initiated, gateway does not send any request message to the responding gateway since there is no DQ endpoint in exchangeInfo.xml for home community that is passed in NHIN target community. It is expected to return error response that includes one RegistryError element with errorCode as "XDSRegistryError" , codeContext as "No endpoint available for HCID:<<HCID>>" and coded indication of the severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
HCID Alt Path - No Patient Correlations:
This test case is used to test DQ service in Alternative Path where there are no patient correlations available for home community that is passed in NHIN target community. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Script will clear correlations, aa_to_home_community mappings in database to make sure there are no correlations exists. When DQ request is processed, gateway does not send any request message to the responding gateway since there are no correlations in correlation table for home community in NHIN target communities. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.State Happy Path - Correlation for HCID IN UDDI file/target XML:
This test case is used to test DQ service in Happy Path where there are two regions (States) for NHIN target communities present in DQ request message. To test this case, script will copy project specific UDDI entries into NwHIN config directory's exchangeInfo.xml file and also copy internal connection entries into NwHIN config directory's internalExchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Two correlations exists in the correlation table with the region in the target community/communities. When DQ request is initiated, gateway does send request message to the responding gateway based on the correlation table. The initiating gateway based on a single request message receives 2 response messages successfully from NHIE and aggregates them into a single message. Using assertions scripts will verify response to make sure expected elements with relevant values are present in ExtrinsicObject.
State Happy Path - Correlation for HCID not in UDDI file/target XML:
This test case is used to test DQ service in Happy Path where there are two regions (States) for NHIN target communities present in DQ request message, but no endpoint available for two regions in NHIN target communities. To test this case, script will copy project specific UDDI entries into NwHIN config directory's exchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. Script will add one correlation, one aa_to_home_community mappings in database for two of the regions and not for the regions that is passed in NHIN target communities. When DQ request is initiated, gateway does not send any request message to the responding gateway since there is no DQ endpoint in exchangeInfo.xml for the region that is passed in NHIN target community. It is expected to return error response that includes one RegistryError element with errorCode as "XDSRegistryError”, codeContext as "No endpoint available for HCID :<< HCID>> “ and coded indication of the severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.State Happy Path - No Patient Correlations:
This test case is used to test DQ service in Happy Path where there only one region (State) for NHIN target communities present in DQ request message. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for one of the region that is passed in NHIN target communities. When DQ request is processed, gateway does not send any request message to the responding gateway since there are no correlations in the correlation table for the HCIDs belonging to the states in the target communities. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
State Alt Path - No Patient Correlations:
This test case is used to test DQ service in Alternative Path where there only one region (State) for NHIN target communities present in DQ request message. To test this case, script will copy project specific internal connection entries into NwHIN config directory's internalExchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. When DQ request is processed, gateway does not send any request message to the responding gateway since there are no correlations in the correlation table for the HCIDs belonging to the states in the target communities. Expected response includes one Registry Error element with error Code as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions scripts will verify response to make sure expected elements with relevant values are configured in XPath match attributes.
State Alt Path - Correlation for HCID not in UDDI file/target XML:
This test case is used to test DQ service in Alternative Path where there is one region (State) with HCID for NHIN target communities present in DQ request message. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. One correlation exist in the correlation table but NOT with the HCID in the target communities. When DQ request is initiated, gateway does not send any request message to the remote responding gateway(s) based on the correlation table. It is expected to return error response that includes one RegistryError element with errorCode as "XDSRegistryError”, codeContext as "No endpoint available for HCID :<< HCID>>" and coded indication of the severity of the error. Using assertions scripts will verify request's response to make sure expected elements with relevant values are configured in XPath match attributes.State Alt Path - Multiple regions and correlations:
This test case is used to test DQ service in Alternative Path where there are three regions (States) for NHIN target communities present in DQ request message. To test this case, script will copy project specific UDDI entries into NwHIN config directory's exchangeInfo.xml file and also copy internal connection entries into NwHIN config directory's internalExchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for three of the home communities that is passed in NHIN target communities.Three correlations inserted into correlation table with the region in the target community/communities. When DQ request is initiated, gateway does send request message to the responding gateway based on the correlation table. The initiating gateway based on a single request message receives 3 response messages successfully from NHIE and aggregates them into a single message. Using assertions scripts will verify response to make sure expected elements with relevant values are present in ExtrinsicObject.State Alt Path - Region and associated HCID in target xml results in one response:
This test case is used to test DQ service in Alternative Path where there is one region (State) with associated HCID for NHIN target communities present in DQ request message. To test this case, script will copy project specific UDDI entries into NwHIN config directory's exchangeInfo.xml file. To run DQ, it is required to pass PatientID in specific format, hence the script will generate PatientID and it is being used in DQ request message. First, script will clear correlations. Script will add aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for three of the home communities that is passed in NHIN target communities. One correlation inserted into correlation table with the region in the target community/communities. When DQ request is initiated, gateway does send request message to the responding gateway based on associated target. The initiating gateway based on a single request message receives one response message successfully from NHIE and aggregates. Using assertions scripts will verify response to make sure expected elements with relevant values are present in ExtrinsicObject.
Preparation & Execution:
- Make sure to copy CONNECT common properties from \\CONNECT\Product\Production\Common\Properties\src\main\resources to application server properties folder. (If using WildFly 8.2.1 , copy into \\wildfly-8.2.1.Final\modules\system\layers\base\org\connectopensource\configuration\main).
- Make sure to enable Standard mode for DQ service in gateway.properties. Note: By default all services will be in Standard mode in gateway.properties as of CONNECT-4.6 release.
- Restart application server.
- Deploy CONNECT ear (mvn clean install -P AD,PD,DQ,DR,DS).
- In SoapUI, make sure to have GatewayPropDir value set either by using global SOAPUI properties or by setting custom SOAPUI property at the project level.
- In SoapUI, load DocQueryTestsForUDDI project and execute.
- Make sure all test cases are passed and green.