DocQueryFanoutTestTarget



DocQueryFanoutTestTarget 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 UDDI fanout scenarios functionality using 2010 and 2011 guidance (i.e. endpoints implementation prior to July-2011 spec and July-2011 spec) .  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 id 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 , 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:

Target with no DQ Service but 3 Correlations:

This test case is used to test DQ service where there is one home community in NHIN target communities, but no endpoint available for that home community in NHIN target communities. To test this case, the 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 three correlations, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for two of the home communities and not for the home community 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 script will verify request's response to make sure expected elements with relevant values are present in RegistryError element.

Two Targets (1 with no DQ Service) but 3 Correlations: 

This test case is used to test DQ service where there are two home communities for NHIN target communities present in DQ request message, but no endpoint available for one of  those home communities 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 three correlations, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for two of the home communities, that includes one of the home community that is passed in NHIN target communities.  When DQ request is processed, gateway sends request message to one of the responding gateway for which DQ endpoint is configured and it does not send request message to the other responding gateway since there is no DQ endpoint in exchangeInfo.xml for that home community in NHIN target communities.  It is expected to return response with one ExtrinsicObject  with document details and 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 script will verify request's response to make sure expected elements with relevant values are present in ExtrinsicObject and RegistryError element. 

Target with no DQ Service and no Correlations

This test case is used to test DQ service where there are no correlations and no endpoints available for home communities in NHIN target communities. To test this case, the 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 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 communities in NHIN target communities. Expected response includes one RegistryError element with errorCode as "XDSUnknownPatientId", codeContext as "No patient correlations found" and severity of the error. Using assertions script will verify request's response to make sure number of RegistryErrors with expected error message are present in RegistryError element.


Target with no DQ Service with 1 Matching Correlation: 

This test case is used to test DQ service where there is a correlation for home community in NHIN target communities , but no endpoint available for that home community 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, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for two of the home communities and not for the home community 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 script will verify request's response to make sure expected elements with relevant values are present in RegistryError element.


DQ a0 interface with 2010 Guidance and target available with 2.0 endpoint: 

This test case is used to test DQ service with 2010 Guidance where there are two home communities for NHIN target communities present in DQ request message and both are pointed to endpoints implementation prior to July-2011. 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 three correlations, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for two home communities that are passed in NHIN target communities.  When DQ request is processed, gateway sends request message to home communities in NHIN target communities for which DQ endpoint is configured in exchangeInfo.xml.  It is expected to return response with two ExtrinsicObject  with document details. Using assertions script will verify request's response to make sure expected elements with relevant values are present in ExtrinsicObject.


DQ a0 interface with 2010 Guidance and target available with 3.0 endpoint: 

This test case is used to test DQ service with 2010 Guidance where there are two home communities for NHIN target communities present in DQ request message and both are pointed to July-2011 endpoints implementation. 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 three correlations, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2011 spec endpoint for both home communities that are 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 2010 Guidance DQ endpoints in exchangeInfo.xml for home community that is passed in NHIN target community.  It is expected to return two RegistryError elements with  errorCode as "XDSRepositoryError" , codeContext as "No matching target endpoint for guidance: 2.0"  and coded indication of the severity of the error.  Using assertions script will verify request's response to make sure expected elements with relevant values are present in RegistryError element.


DQ a1 interface with 2011 Guidance and target available with 2.0 endpoint:

This test case is used to test DQ service with 2011 Guidance where there are two home communities for NHIN target communities present in DQ request message and both are pointed to endpoints implementation prior to July-2011. 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 three correlations, three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2010 spec endpoint for both home communities that are 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 2010 Guidance DQ endpoints in exchangeInfo.xml for home community that is passed in NHIN target community.  It is expected to return two RegistryError elements with  errorCode as "XDSRepositoryError" , codeContext as "No matching target endpoint for guidance: 3.0 "  and coded indication of the severity of the error.  Using assertions script will verify request's response to make sure expected elements with relevant values are present in RegistryError element.


DQ a1 interface with 2011 Guidance and target available with 3.0 endpoint: 

This test case is used to test DQ service with 2011 Guidance where there are two home communities for NHIN target communities present in DQ request message and both are pointed to July-2011 endpoints implementation. 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 three correlations: three aa_to_home_community mappings in database and exchangeInfo.xml file updated with DQ 2011 spec endpoint for two home communities that are passed in NHIN target communities.  When DQ request is processed, gateway sends request message to home communities in NHIN target communities for which DQ endpoint is configured in exchangeInfo.xml.  It is expected to return response with two ExtrinsicObject  with document details. Using assertions script will verify request's response to make sure expected elements with relevant values are present in ExtrinsicObject.


NOTE: To read more about Document Query error handing follow Nhin Document Query error Handling Spec.  


Preparation & Execution:

  1. 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).
  2. 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.
  3. Restart application server.
  4. Deploy CONNECT ear (mvn clean install -P AD,PD,DQ,DR,DS).
  5. 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.
  6. In SoapUI, load DocQueryFanoutTestTarget project and execute.
  7. Make sure all test cases are passed and green.