TestSuite description GetCareContact

This testsuite is designed to verify the GetCareContact contract.

Global variables used
  • webServiceUrl

Tools

SoapUI

The testsuite uses SoapUI to verify the implementation. Documentation of SoapUI can be found at http://www.soapui.org
Link to download site: http://sourceforge.net/projects/soapui/files/soapui/
Install SoapUI according to the documentation.

Setup instructions

  1. Locate the test-suite/[contractName]-directory in your distribution.
  2. Copy the jar-file ‘soapui-support.jar’ to <SoapUI install dir>/bin/ext
  3. Open SoapUI and import the SoapUI project from the above directory, choose ‘Import Project’ from the File-menu.
  4. If your WebService endpoint requires a SSL Certificate, this can be configured from the Preferences (in the File menu). In the Preferences window open the ‘SSL Settings’ tab and import the Keystore containing the Client Certificate.
  5. Update test-data in data.xml to match the contents in your system.
  6. You should now be able to run the test suite!

Testcases

Date Boundaries

Verifies that the result only contains information within the date boundaries for the given patient.
This test will require at least nine CareContacts:

  1. A contact with DocumentTime within the given range, and the CareContactTimePeriod (both start and end) before or after the given range.
  2. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts before and ends within the given range.
  3. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts within and ends after the given range.
  4. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts before and ends after the given range.
  5. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts within and ends within the given range.
  6. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts before and no end time.
  7. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts before and ends before the given range.
  8. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts after and ends after the given range.
  9. A contact with DocumentTime outside the given range and a CareContactTimePeriod that starts after and no end time.
The CareContactId's of case 1-6 should be added as a comma-separated list in the expectedDocumentIds field.
The CareContactId's of case 7, 8 and 9 should be added as a comma-separated list in the unexpectedDocumentIds field.
The fields httpHeaderHsaId and logicalAddress should contain values that does not affect the list of CareContacts.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • timePeriodStart
  • timePeriodEnd
  • expectedDocumentIds
  • unexpectedDocumentIds

CareUnitHsaId Filter

Verifies that the result only contains information with correct CareUnitHsaId for the given patient.
The patient should have several CareContacts, with at least one CareContact from the given CareUnitHsaId.
The CareContactId's of the expected CareContacts should be added as a comma-separated list in the expectedDocumentIds field.
The CareContactId's of CareContacts from other CareUnit's should be added as a comma-separated list in the unexpectedDocumentIds field.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • careUnitHSAid
  • patientId
  • patientIdType
  • sourceSystemHSAid
  • expectedDocumentIds
  • unexpectedDocumentIds

CareGiverHSAId Filter

Verifies that the result only contains information with correct CareGiverHSAId for the given patient.
The patient should have several CareContacts, with at least one CareContact from the given CareGiverHSAId.
The CareContactId's of the expected CareContacts should be added as a comma-separated list in the expectedDocumentIds field.
The CareContactId's of CareContacts from other CareUnit's should be added as a comma-separated list in the unexpectedDocumentIds field.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • careGiverHSAId
  • patientId
  • patientIdType
  • sourceSystemHSAid
  • expectedDocumentIds
  • unexpectedDocumentIds

Only PatientId

Verifies that the result only contains information with correct PatientId.
Enter a PatientId that is stored in the source system.
The CareContactId's of the expected CareContacts should be added as a comma-separated list in the expectedDocumentIds field.
The CareContactId's of CareContacts from other CareUnit's should be added as a comma-separated list in the unexpectedDocumentIds field.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • expectedDocumentIds
  • unexpectedDocumentIds

NonExisting PatientId

Verifies that the service returns an empty result instead of a Soap Fault if a non-existing PatientId is given.
Enter a PatientId that is not found in the source system.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType

CareContactId Filter

Verifies that the result only contains information for a single CareContactId.
Enter a PatientId, CareContactId and sourceSystemHSAid that exists in the source system.
The fields httpHeaderHsaId and logicalAddress should contain values that does not affect the list of CareContacts.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • careContactId
  • sourceSystemHSAid

NonExisting CareContactId

Verifies that the service returns an empty result instead of a Soap Fault if a non-existing CareContactId is given.
Enter a PatientId that exists in the source system and a CareContactId and sourceSystemHSAid that is not found in the source system.
The fields httpHeaderHsaId and logicalAddress should contain values that does not affect the list of CareContacts.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • careContactId
  • sourceSystemHSAid

Http-header Filter

Verifies that the result only contains information with correct PatientId, and that the source system should filter CareContacts based on the HttpHeader 'x-rivta-original-serviceconsumer-hsaid'.
Enter a PatientId that has more than one CareContact in the source system.
Add one or more CareContactId's of contacts that should be included in the response based on the filtering rules to the field 'expectedDocumentIds'.
Add one or more CareContactId's of contacts that should not be included in the response based on the filtering rules to the field 'unexpectedDocumentIds'.
The field logicalAddress should contain a value that does not affect the list of CareContacts.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • expectedDocumentIds
  • unexpectedDocumentIds

CareContactId and SourceSystemHsaId

The test verifies that the source system returns a Soap Fault if the sourceSystemHSAid is empty when careContactId has a value.
Enter a PatientId and a CareContactId of a CareContact that should be found in the source system.
The fields httpHeaderHsaId and logicalAddress should contain values that does not affect the list of CareContacts.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • patientId
  • patientIdType
  • careContactId

SourceSystemHsaId and LogicalAddress

The test verifies that the source system returns a Soap Fault if the logicalAddress and sourceSystemHSAid doesn't match.
Enter PatientId and a CareContactId and the correct SourceSystemHSAid of a CareContact that should be found in the source system.
The field logicalAddress should not match SourceSystemHSAid.
The field httpHeaderHsaId should contain a value that does not affect the list of records.

Variables used
  • httpHeaderHsaId
  • logicalAddress
  • careUnitHSAid
  • patientId
  • patientIdType
  • careContactId
  • sourceSystemHSAid