Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Content of the Protocol Terminators

Page Tree
root@none
sortcreation
searchBoxtrue

XCPD Integration Testing

This page tries to gather all the specification of Integration testing for the XCPD client component, including several aspects such as the description, inputs, results and

...

Status.

...

The tests are located at the following class "eu.epsos.pt.cc.xcpdIT".

Note
titlePlease 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.

 

Generic Integration Test Scenario

 

Image Modified

An emulation of portal activity, was developed inside Client Connector Integration Test class xcpdIT.

These class contains one test for each test situation, always running the above scenario.

...

  1. The portal emulation uses Integration Utilities to sends SOAP requests to Client Connector (CC);
  2. CC uses XCPD Client module to perform the IHE call to NCP-A;
  3.  NCP-A uses a mock version of the National Connector (NC-IT);
  4. NC-IT replies with static content it has available for IT purposes. 

 

Initial Information

If the epSOS Identification Service provider does not find a matching patient identifier it SHOULD include a <reasonOf/> element with the response message:

Code Block
languagehtml/xml
title<reasonOf> element
<reasonOf typeCode="RSON">
	<detectedIssueEvent classCode="ALRT" moodCode="EVN">
		<code code="ActAdministrativeDetectedIssueCode" codeSystem="2.16.840.1.113883.5.4"/

...

>
	</detectedIssueEvent>
</reasonOf>

 

Tests

...

normal usage

Test #0

...

...

Test IdPT_CLIENT_XCPD_#0
NametestQueryPatient
Description

This is a simple test, designed uniquely to test the normal worflow of the XCPD Query operation.

Test Inputs

Valid Patient Identity Traits - an error free request.

Expected Results

...

Information of an available patient.

A PatientDemographics List

Status
Status
colour

...

Green
title

...

Passed

 

...

 Invalid scenarios

Test #1

...

Test IdPT_CLIENT_XCPD_#1
NametestQueryIdOnly
Description

...

The service requestor tried an identification based on an ID only or did not provide enough data to univocally identify the patient.

...

The HCP SHOULD ask the patient for further demographics and re-issue the request.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

OK (data found, no errors) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

Identification based on an ID only or not enough data to univocally identify the patient

...

Code Block
languagehtml/xml
titleError Message
<triggerFor typeCode="TRIG">
	<actOrderRequired classCode="ACT" moodCode="ENV">
		<code code="AdditionalDemographicsRequested" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</actOrderRequired>
</triggerFor>
Expects

Error: AdditionalDemographicsRequested

Status
Status
colourRed
titleIMPEDED

...

 NCP-A only allows query by id

Test #2

...

Test IdPT_CLIENT_XCPD_#2
NametestQueryDemographicsOnly
Description

...

The service provider only allows for patient identification by national/shared ID.

...

The HCP SHOULD ask the patient for a national (health care) identification card and reissue the request using Shared/national Patient Identifier Query and Feed mode.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

Query only using Patient Demographics

...

Code Block
languagehtml/xml
titleError Message
<triggerFor typeCode="TRIG">
	<actOrderRequired classCode="ACT" moodCode="ENV">
		<code code="DemographicsQueryNotAllowed" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</actOrderRequired>
</triggerFor>
Expects

Error: DemographicsQueryNotAllowed

Status
Status
colour

...

Yellow
titleN/A
 waiting for better definition

Test #3

...

Test IdPT_CLIENT_XCPD_#3
Name

testQueryEHICardOnly

Description

...

Queries based on demographics only are not supported.

...

The service provider only allows for patient identification by national health card or EHIC.

...

The HCP SHOULD ask the patient for a health care identification card and re-issue the request.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmissionwrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

Query without using EHIC Card.

...

Code Block
languagehtml/xml
titleError Message
<triggerFor typeCode="TRIG">
	<actOrderRequired classCode="ACT" moodCode="ENV">
		<code code="EHICDataRequested" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</actOrderRequired>
</triggerFor>
Expects

Error: EHICDataRequested

Status
Status
colour

...

Yellow
titleN/A
 waiting for better definition

Test #4

...

Test IdPT_CLIENT_XCPD_#4
Name

testQueryPrivateData

Description

...

The service provider does not accept the query because responding MAY lead to a disclosure of private patient data.

...

The HCP SHOULD limit the provided traits and re-issue the request.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

Private data that may lead to a disclosure.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="PrivacyViolation" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</detectedIssueManagement>
</mitigatedBy>
Expects

Error: PrivacyViolation

Status
Status
colour

...

Yellow
titleN/A
 waiting for better definition

Test #5

...

Test IdPT_CLIENT_XCPD_#5
Name

testQueryInsRights

Description

...

The requestor has insufficient rights to query for patient’s identity data.

...

If access to the patient’s medical data is required at the PoC this MUST be performed by a person with additional permissions.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

A request with a requestor with insufficient rights.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="InsufficientRights" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</detectedIssueManagement>
</mitigatedBy>
Expects

Error: InsufficientRights

Status
Status
colour

...

Green
title

...

Passed


Test #6

...

Test IdPT_CLIENT_XCPD_#6
Name

testQueryPatientAuthId

Description

...

Patient authentication MUST be piggybacked with patient identification. A respective identifier (e.g. GSS TAN) was not provided .

...

The HCP at the PoC SHOULD ask the patient for a respective identifier and SHOULD re-issue the request.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

Patient authentication not piggybacked with patient identification.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="PatientAuthenticationRequired" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</detectedIssueManagement>
</mitigatedBy>
Expects

Error: PatientAuthenticationRequired

Status
Status
colour

...

Yellow
titleN/A
 waiting for better definition

Test #7

...

Test IdPT_CLIENT_XCPD_#7
Name

testQueryMinAccur

Description

(INFO)

The service provider did not find a match with the given minimum accuracy.

...

The service consumer SHOULD re-issue the request with a lower minimum confidence level.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

OK (data found) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

A request with high level of confidence.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="AnswerNotAvailable" codeSystem="1.3.6.1.4.1.19376.1.2.27.3"/>
	</detectedIssueManagement>
</mitigatedBy>
Expects

Error: AnswerNotAvailable

Status
Status
colour

...

Green
title

...

Passed

Test #8

...

Test IdPT_CLIENT_XCPD_#8
Name

testQueryInvalidTraits

Description

...

The identity traits provided by the service consumer are not supported by the service provider.

...

The service consumer SHOULD re-issue the request with a different set of identity traits.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

A request with unsupported identity traits.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="AnswerNotAvailable" codeSystem="1.3.6.1.4.1.19376.1.2.27.3"/>
	</detectedIssueManagement>
</mitigatedBy>
Expects

Error: AnswerNotAvailable

Status
Status
colour

...

Green
title

...

Passed

Test #9

...

Test IdPT_CLIENT_XCPD_#9
Name

testQueryConfConflict

Description

(INFO)

The service consumer defined a confidence level that conflicts with the security policy of the service provider.

...

The service provider SHOULD respond only with the candidate matches that it is allowed to provide wrt. its security policy.

...

AA (application accept) is returned in Acknowledgement.typeCode (transmission wrapper).

...

AE (application error) is returned in QueryAck.queryResponseCode (control act wrapper)

...

Inputs

A request with a confidence level that conflicts with the security policy of the service provider.

...

Code Block
languagehtml/xml
titleError Message
<mitigatedBy typeCode="MITGT">
	<detectedIssueManagement classCode="ACT" moodCode="ENV">
		<code code="PolicyViolation" codeSystem="1.3.6.1.4.1.12559.11.10.1.3.2.2.1"/>
	</detectedIssueManagement>
</mitigatedBy>

...

Expects

Error: PolicyViolation

Status
Status
colourYellow
titleN/A
 waiting for better definition

 

...

Usage restrictions

 Test #10

Test IdPT_CLIENT_XCPD_#10
NametestBadLivingSubjectID
Description

Asserts that a NOT well formulated &lt;LivingSubjectID&gt; results in a NOT valid response.

Inputs

A patient Identification missing extension.

ExpectsError: AnswerNotAvailable
Status
Status
colourGreen
titlePassed

Test #10.1

Test IdPT_CLIENT_XCPD_#10.1
NametestGoodLivingSubjectID
Description

Asserts that a well formulated &lt;LivingSubjectID&gt; results in a valid response.

Inputs

A patient identification composed by root + extension. This id must be found.

ExpectsA PatientDemographics List
Status
Status
colourGreen
titlePassed

Test #11

Test IdPT_CLIENT_XCPD_#11
NametestBadLivingSubjectName
Description

Asserts that a NOT well formulated <LivingSubjectName> results in a NOT valid response.

Inputs

A LivingSubjectName containing patient's given name but missing family name.

ExpectsError: AnswerNotAvailable
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #11.1

Test IdPT_CLIENT_XCPD_#11.1
NametestGoodLivingSubjectName
Description

Asserts that a well formulated &lt;LivingSubjectName&gt; results in a valid response.

Inputs

A LivingSubjectName containing patient's given name and family name.

ExpectsA PatientDemographics List
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #12

Test IdPT_CLIENT_XCPD_#12
NametestBadLivingSubjectBirthTime
Description

Asserts that a NOT well formulated <LivingSubjectBirthTime> results in a NOT valid response.

Inputs

A LivingSubjectBirthTime containing a malformed birthdate element.

ExpectsError: AnswerNotAvailable
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #12.1

Test IdPT_CLIENT_XCPD_#12.1
NametestGoodLivingSubjectBirthTime
Description

Asserts that a well formulated <LivingSubjectBirthTime> results in a valid response.

Inputs

A LivingSubjectBirthTime element containing a well formed birthdate element.

ExpectsA PatientDemographics List
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #13

Test IdPT_CLIENT_XCPD_#13
NametestBadLivingSubjectGender
Description

Asserts that a NOT well formulated <LivingSubjectGender> results in a NOT valid response.

Inputs

A LivingSubjectGender containing a malformed gender code.

ExpectsError: AnswerNotAvailable
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #13.1

Test IdPT_CLIENT_XCPD_#13.1
NametestGoodLivingSubjectGender
Description

Asserts that a well formulated <LivingSubjectGender> results in a valid response.

Inputs

A LivingSubjectGender containing a valid gender code.

ExpectsA PatientDemographics List
Status
Status
colourRed
titleIMPEDED

...

 NCP-A only allows query by id

Test #14

Test IdPT_CLIENT_XCPD_

...

#14
Name

...

testBadLivingSubjectBirthPlaceAddress
Description

...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est.

Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

...

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est.

Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

...

Asserts that a NOT well formulated <LivingSubjectBirthPlaceAddress> results in a NOT valid response.

Inputs

A LivingSubjectBirthPlaceAddress element containing only country or city, not both.

ExpectsError: AnswerNotAvailable
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #14.1

Test IdPT_CLIENT_XCPD_#14.1
NametestGoodLivingSubjectBirthPlaceAddress
Description

Asserts that a well formulated <LivingSubjectBirthPlaceAddress> results in a valid response.

Inputs

A LivingSubjectBirthPlaceAddress containing country and city elements.

ExpectsA PatientDemographics element
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #15

Test IdPT_CLIENT_XCPD_#15
NametestBadPatientAddress
Description

Asserts that a NOT well formulated <PatientAddress> results in a NOT valid response.

Inputs

A BadpatientAddress containing only country or city but not both. 

ExpectsError: AnswerNotAvailable
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

Test #15.1

Test IdPT_CLIENT_XCPD_#15.1
NametestGoodPatientAddress
Description

Asserts that a well formulated <PatientAddress> results in a valid response.

InputsA PatientAddress containing country and city elements.
ExpectsN/A
Status
Status
colourRed
title

...

 

 

 

 

...

IMPEDED
 NCP-A only allows query by id

Test #16

Test IdPT_CLIENT_XCPD_#16
NameTestInvalidField
Description

Asserts that a well and full formulated request results in a valid response.

Inputs

A PatientDemographics element  with all the elements testes on tests 10-15

ExpectsA PatientDemographics List
Status
Status
colourRed
titleIMPEDED
 NCP-A only allows query by id

 

...

 Template

Test #X

Test IdPT_CLIENT_XCPD_#X
NametestXXXX
Description

Lorem

...

ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est.

Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

...

Inputs

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aliquam fermentum vestibulum est.

Cras rhoncus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas.

...

ExpectsN/A

...

Status
Status
colour

...

Grey
titleN/A