XCA Client - Integration Testing

This page tries to gather all the specification of Integration testing for the XCA client component.

Table of contents:

This page tries to gather all the specification of Integration testing for the XCA client component.

All tests are located at "eu.epsos.pt.cc.xcaIT"

Please Note:

These test definitions match the code implementation. The same Id and Test Name is used in method definitions.

Please follow the same convention and remember to reflect the code changes in these tables and vice-versa.

For each new test please add a new table and keep it updated.

Test Types

Initial Information

Patient Service

If the epSOS Patient Service provider is unable to respond with the patient’s summarised medical data in the requested encoding it MUST respond with a ListResponse message that Only contains a <AdhocQueryResponse/RegistryResponse> element.

Order Service

If the epSOS Order Service provider is unable to respond with the patient’s ePrescription data in the requested encoding it MUST respond with a ListResponse message that only  contains a <RetrieveDocumentSetResponse/RegistryResponse> element.

For a full list of error messages defined for IHE X* see table 4.1-11 in [IHE ITI TF - 3]. The following table lists the additional, epSOS-specific response status types and error/warning/info Codes to be used within the <RegistryErrorList> element.



Query Tests

Patient Service

Normal Usage

This tests represent the normal usage of Patient Service.

Test #0 : "testQueryPS"
Test IdPT_CLIENT_XCA_PS_#0
NametestQueryPS
Description

This test performs an XCA Query for PS, using valid Patient Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA query.

Test Inputs

Valid patient identifier.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>60591-5</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>60591-5</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>1</extension> </patientId> </arg0> </cc:queryDocuments>
ExpectsA list, containing valid document identifiers.
StatusPASSED

Invalid Scenarios 

Invalid scenarios for Patient Service testing, described in WP3.4 Deliverable D3.4.2 - Common Components Specification v2.2 (Pages: 44 and 45).

Test #1 : "testQueryPSNoConsent"

Test Id

PT_CLIENT_XCA_PS_#1

Name

testQueryPSNoConsent

Description

(ERROR)

The patient has not given consent to the requested service.

Test Inputs

A request for a patient which has not given any consent.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>60591-5</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>60591-5</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>1</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Failure

Message: No Consent

Code: 4701

Status

IMPEDED Reason: Consent Service always replay with answer: "Yes".

 Test #2 : "testQueryPSLowAuth" 

Test Id

PT_CLIENT_XCA_PS_#2

Name

testQueryPSLowAuth

Description

(ERROR)

Country A requests a higher authentication trust level than assigned to the HCP (e.g. password-based login not accepted for the requested operation).

Test Inputs

A request for a patient with lower authentication level - not supported by Country A..

Expects

Response Status: Failure

Message: Weak Authentication

Code: 4702

Status

PARTIAL

 Test #3 : "testQueryPSInsRights" 

Test Id

PT_CLIENT_XCA_PS_#3

Name

testQueryPSInsRights

Description

(ERROR)

Either the security policy of country A or a privacy policy of the patient (that was given in country A) does not allow the requested operation to be performed by the HCP.

Test Inputs

A request for a patient with an insufficient or invalid policy.

Necessary Permissions On Assertion
<saml2:Attribute FriendlyName="XSPA permissions according with Hl7" Name="urn:oasis:names:tc:xspa:1.0:subject:hl7:permission" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-004</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-006</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-010</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-0046</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PPD-046</saml2:AttributeValue> </saml2:Attribute>


Expects

Response Status: Failure

Message: Insufficient Rights

Code: 4703

Status

PASSED

 Test #4 : "testQueryNoPS" 

Test Id

PT_CLIENT_XCA_PS_#4

Name

testQueryNoPS

Description

(WARNING)

No patient summary is registered for the given patient.

Test Inputs

A request for a patient with no registered Patient Summaries.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>60591-5</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>60591-5</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>3</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Success

Message: No Data

Code: 1102

Status

PASSED

 Test #5 : "testQueryPDFcoded" 

Test Id

PT_CLIENT_XCA_PS_#5

Name

testQueryPDFcoded

Description

(INFO)

If PDF-coded patient summary is requested: Country A does not provide the (optional) source coded version of the patient summary.

Test Inputs

A request for a PDF-coded Patient Summary.

Expects

Response Status: Success

Message: Unsupported Feature

Code: 4201

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Test #6 : "testQueryPSUnsSlots"

Test Id

PT_CLIENT_XCA_PS_#6

Name

testQueryPSUnsSlots

Description

(ERROR)

The query argument slots used by the service consumer are not supported by the service provider.

Test Inputs

A request with unsupported argument slots.

Expects

Response Status: Failure

Message: Unknown Signifier

Code: 4202

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Test #7 : "testQueryPSTranscErr"

Test Id

PT_CLIENT_XCA_PS_#7

Name

testQueryPSTranscErr

Description

(ERROR)

The requested encoding cannot be provided due to a transcoding error.

Test Inputs

A request for a document which will cause a transcoding error.

Expects

Response Status: Failure

Message: Transcoding Error

Code: 4203

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Test #8 : "testQueryPSInvArgs"

Test Id

PT_CLIENT_XCA_PS_#8

Name

testQueryPSInvArgs

Description

(ERROR).

The service provider is unable to evaluate the given argument.

Test Inputs

A request for a document with invalid argument values.

Expects

Response Status: Failure

Message: Unknown Filters

Code: 4204

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Additional invalid scenarios:

Test #7.1 : "testQueryPSPartTrnscSucc"
Test IdPT_CLIENT_XCA_PS_#7.1
Name

testQueryPSPartTrnscSucc

Description

Not all of the requested encodings are provided (e.g. due to inability to transcode a certain national code).

Test Inputs

A request for a document which will cause a partial transcoding error.

Expects

Response Status: PartialSuccess

Message: Rendering incomplete

Code: 4101

StatusIMPEDED Reason: Missing behaviour at Mocked NI
Test #7.2 : "testQueryPSConsiderAddDoc"
Test IdPT_CLIENT_XCA_PS_#7.2
Name

testQueryPSConsiderAddDoc

Description

The HCP MUST consider additionally the source coded document because it MAY contain information that is not included in the epSOS pivot CDA . Reason: field were
nullified due to missing code mappings!

Test Inputs

A request for a document which will cause a Source coded document must be considered success.

Expects

Response Status: Success

Message: Source coded document must be considered

Code: 2102

StatusIMPEDED Reason: Missing behaviour at Mocked NI

Order Service

Normal Usage

This tests represent the normal usage of Order Service.

Test #0 : "testQueryEP"

Test Id

PT_CLIENT_XCA_OS_#0

Name

testQueryEP

Description

This test performs an XCA Query for EP, using valid Patient Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA query.

Test Inputs

Valid patient identifier.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>57833-6</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>57833-6</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>1</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

A list, containing valid document identifiers.

Status

PASSED

Invalid Scenarios 

The invalid scenarios for Order Service testing are described in WP3.4 Deliverable D3.4.2 - Common Components Specification v2.2 (Pages: 59) 

Test #1 : "testQueryEPNoConsent"

Test Id

PT_CLIENT_XCA_EP_#1

Name

testQueryOSNoConsent

Description

(ERROR)

The patient has not given consent to the requested service.

Test Inputs

A request for a patient which has not given any consent.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>57833-6</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>57833-6</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>2</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Failure

Message: No Consent

Code: 4701

Status

IMPEDED Reason: Consent Service always replays with answer: "Yes".

Test #2 : "testQueryEPLowAuth"

Test Id

PT_CLIENT_XCA_EP_#2

Name

testQueryOSLowAuth

Description

(ERROR)

Country A requests a higher authentication trust level than assigned to the HCP (e.g. password-based login not accepted for the requested operation).

Test Inputs

A request for a patient with lower authentication level - not supported by Country A..

Expects

Response Status: Failure

Message: Weak Authentication

Code: 4702

Status

PARTIAL

Test #3 : "testQueryEPInsRights"

Test Id

PT_CLIENT_XCA_EP_#3

Name

testQueryOSLowAuth

Description

(ERROR)

Either the security policy of country A or a privacy policy of the patient (that was given in country A) does not allow the requested operation to be performed by the HCP.

Test Inputs

A request for a patient with an insufficient or invalid policy.

Necessary Permissions On Assertion
<saml2:Attribute FriendlyName="XSPA permissions according with Hl7" Name="urn:oasis:names:tc:xspa:1.0:subject:hl7:permission" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:uri"> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-004</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-006</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-010</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PRD-0046</saml2:AttributeValue> <saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">urn:oasis:names:tc:xspa:1.0:subject:hl7:permission:PPD-046</saml2:AttributeValue> </saml2:Attribute>


Expects

Response Status: Failure

Message: Insufficient Rights

Code: 4703

Status

PASSED

Test #4 : "testQueryNoEP"

Test Id

PT_CLIENT_XCA_EP_#4

Name

testQueryNoEP

Description

(INFO)

There is no ePrescription data registered for the given patient.

Test Inputs

A request for a patient with no registered ePs.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>57833-6</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>57833-6</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>3</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Success

Message: No Data

Code: 1101

Status

PASSED


Test #5 : "testQueryEP
TranscErr"

Test Id

PT_CLIENT_XCA_OS_#5

Name

testQueryOSTranscErr

Description

(ERROR)

The requested encoding cannot be provided due to a transcoding error.

Test Inputs

A request for a document which will cause a transcoding error.

Expects

Response Status: Failure

Message: Transcoding Error

Code: 4203

Status

IMPEDEDReason: Missing behaviour at Mocked NI


Test #6 : "testQueryEPRegNotAccs"

Test Id

PT_CLIENT_XCA_EP_#6

Name

testQueryEPRegNotAccs

Description

(ERROR)

The ePrescription registry is not accessible.

Test Inputs

A request for an not accessible eP document.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>57833-6</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>57833-6</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>4</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Failure

Message: Registry Failure

Code: 4103

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Test #7 : "testQueryEPNotAccs"

Test Id

PT_CLIENT_XCA_EP_#7

Name

testQueryEPNotAccs

Description

(ERROR)

There is ePrescription data registered for the patient but the service provider is unable to access it.

Test Inputs

A request for an not accessible eP document.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>57833-6</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>57833-6</value> </classCode> <patientId> <root>2.16.999.1000.990.1</root> <extension>5</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

Response Status: Failure

Message: Data Accesss Failure

Code: 4104

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Test #8 : "testQueryEPInvArgs"

Test Id

PT_CLIENT_XCA_EP_#8

Name

testQueryOSInvArgs

Description

(ERROR).

The service provider is unable to evaluate the given argument.

Test Inputs

A request for a document with invalid argument values.

Expects

Response Status: Failure

Message: Unknown Filters

Code: 4204

Status

IMPEDEDReason: Missing behaviour at Mocked NI

Additional invalid scenarios:

Test #5.1 : "testQueryEPPartTrnscSucc"
Test IdPT_CLIENT_XCA_EP_#5.1
Name

testQueryEPPartTrnscSucc

Description

Not all of the requested encodings are provided (e.g. due to inability to transcode a certain national code).

Test Inputs

A request for a document which will cause a partial transcoding error.

Expects

Response Status: PartialSuccess

Message: Rendering incomplete

Code: 4101

StatusIMPEDED Reason: Missing behaviour at Mocked NI
Test #5.2 : "testQueryEPConsiderAddDoc"

Test Id

PT_CLIENT_XCA_EP_#5.2

Name

testQueryEPConsiderAddDoc

Description

The HCP MUST consider additionally the source coded document because it MAY contain information that is not included in the epSOS pivot CDA . Reason: field were
nullified due to missing code mappings!

Test Inputs

A request for a document which will cause a Source coded document must be considered success.

Expects

Response Status: Success

Message: Source coded document must be considered

Code: 2102

Status

IMPEDED Reason: Missing behaviour at Mocked NI

MRO Service

Normal Usage

This tests represent the normal usage of MRO Service.

Test #0 : "testQueryMro"

Test Id

PT_CLIENT_XCA_MRO_#0

Name

testQueryMro

Description

This test performs an XCA Query for MRO, using valid Patient Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA query.

Test Inputs

Valid patient identifier.

Request Soap Body
<cc:queryDocuments xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/"> <arg0> <countryCode>ZZ</countryCode> <classCode> <nodeRepresentation>56445-0</nodeRepresentation> <schema>2.16.840.1.113883.6.1</schema> <value>56445-0</value> </classCode> <patientId> <root>2.16.620.1.101.10.1.1</root> <extension>182581814</extension> </patientId> </arg0> </cc:queryDocuments>

Expects

A list, containing valid document identifiers.

Status

PASSED

 



Retrieve Tests

Patient Service

Normal Usage

This tests represent the normal usage of Patient Service.

Test #9 : "testRetrievePS" 

Test IdPT_CLIENT_XCA_PS_#9
NametestRetrievePS
Description

This test performs an XCA Retrieve for PS, using valid Document Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA Retrieve.

Test Inputs

Valid document identifier.

Request Soap Body
<cli:retrieveDocument> <arg0> <countryCode>ZZ</countryCode> <homeCommunityId>2.16.999.1000.990.1</homeCommunityId> <documentId> <repositoryUniqueId>2.16.999.1000.990.1</repositoryUniqueId> <documentUniqueId>1234</documentUniqueId> </documentId> </arg0> </cli:retrieveDocument>
Expects

A valid document.

StatusPASSED

Invalid Scenarios 

Test #9.1 : "testRetrievePSCIM"
Test IdPT_CLIENT_XCA_PS_#9.1
NametestRetrievePSCIM
Description

Error messages related to the creation of the document content. There may be cases where failure may result in some elements of clinical information missing for example in a patient summary. These clinical content errors should be conveyed within the document content.

Test Inputs

Some elements of clinical information missing.

ExpectsA list, containing valid document identifiers.
StatusIMPEDDED Reason: Missing behaviour at Mocked NI

Order Service

Normal Usage

This tests represent the normal usage of Order Service.

Test #9 : "testRetrieveEP"

Test IdPT_CLIENT_XCA_EP_#9
NametestRetrieveEP
Description

This test performs an XCA Retrieve for EP, using valid Document Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA Retrieve.

Test Inputs

Valid document identifier.

Request Soap Body
<cli:retrieveDocument> <arg0> <countryCode>ZZ</countryCode> <homeCommunityId>2.16.999.1000.990.1</homeCommunityId> <documentId> <repositoryUniqueId>2.16.999.1000.990.1</repositoryUniqueId> <documentUniqueId>4321</documentUniqueId> </documentId> </arg0> </cli:retrieveDocument>
Expects

A valid document.

StatusDONE

Invalid Scenarios 

The invalid scenarios for Patient Service testing are described in WP3.4 Deliverable D3.4.2 - Common Components Specification v2.2 (Pages: 58 and 59).

N/A

MRO Service

Normal Usage

This tests represent the normal usage of MRO Service.

Test #1 : "testRetrieveMro"

Test Id

PT_CLIENT_XCA_MRO_#0

NametestRetrieveMro
Description

This test performs an XCA Retrieve for MRO, using valid Document Identifiers.

It is a simple test designed uniquely for testing the normal work-flow of the XCA Retrieve.

Test Inputs

Valid document identifier.

Request Soap Body
<cc:retrieveDocument xmlns:cc="http://clientconnector.protocolterminator.openncp.epsos/">
    <arg0>
        <countryCode>ZZ</countryCode>
        <homeCommunityId>2.16.620.1.101.10.1.1</homeCommunityId>
        <documentId>
            <repositoryUniqueId>2.16.17.710.811</repositoryUniqueId>
            <documentUniqueId>2.25.3569993591790061285901367284794224715^2.25.208861972525593786945152155986656371691.1</documentUniqueId>
        </documentId>
        <classCode>
            <nodeRepresentation>56445-0</nodeRepresentation>
            <schema>2.16.840.1.113883.6.1</schema>
            <value>MRO</value>
        </classCode>
        <targetLanguage>pt-PT</targetLanguage>
    </arg0>
</cc:retrieveDocument>
Expects

A valid document.

StatusDONE

References

  • WP3.4 Deliverable D3.4.2 - Common Components Specification v2.2 (Pages: 33, 44 and 59)

  • IHE International: IHE IT Infrastructure (ITI) Technical Framework. Volume 1: Integration Profiles. August 2011.