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 Service 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 last passed date.

Note

Work in progress!

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.

 

 

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"/>
		<!— details on detected issue and proposed activity -->
	</detectedIssueEvent>
</reasonOf>

Test Harness

Test #1 : "testQueryIdOnly"

 

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

A PatientDemographics List

Status
Status
colourGreen
titlePassed

 


 Invalid scenarios

Test #1

Test IdPT_SERVERCLIENT_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. (WARNING) 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)

Test Inputs

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

Expected Results
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>
Last Passed DateExpects

Error: AdditionalDemographicsRequested

Status
Status
colourRed
titleIMPEDEDN/A
 NCP-A only allows query by id

Test #2

: "testQueryDemographicsOnly"

Test IdPT_SERVERCLIENT_XCPD_#2
NametestQueryDemographicsOnly
Description

The service provider only allows for patient identification by national/shared ID (WARNING). 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)

Test Inputs

Query only using Patient Demographics

Expected Results
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>
Last Passed DateExpects

Error: DemographicsQueryNotAllowed

Status
Status
colourRedYellow
titleN/A
 waiting for better definition

Test #3

: "testQueryEHICardOnly"

Test IdPT_SERVERCLIENT_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.

Queries based on demographics only are not supported (WARNING)

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)

Test Inputs

Query without using EHIC Card.

Expected Results
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>
Last Passed DateExpects

Error: EHICDataRequested

Status
Status
colourRedYellow
titleN/A
 waiting for better definition

Test #4

: "testQueryPrivateData"

Test IdPT_SERVERCLIENT_XCPD_#4
Name

testQueryPrivateData

Description

The service provider does not accept the query because responding MAY lead to a disclosure of private patient data (ERROR). 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)

Test Inputs

Private data that may lead to a disclosure.

Expected Results
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>
Last Passed DateExpects

Error: PrivacyViolation

Status
Status
colourRedYellow
titleN/A
 waiting for better definition

Test #5

: "testQueryInsRights"

Test IdPT_SERVERCLIENT_XCPD_#5
Name

testQueryInsRights

Description

The requestor has insufficient rights to query for patient’s identity data (ERROR). 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)

Test Inputs

A request with a requestor with insufficient rights.

Expected Results
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>
Last Passed DateExpects

Error: InsufficientRights

Status
Status
colourRedGreen
titleN/APassed


Test #6

: "testQueryPatientAuthId"

Test IdPT_SERVERCLIENT_XCPD_#6
Name

testQueryPatientAuthId

Description

Patient authentication MUST be piggybacked with patient identification. A respective identifier (e.g. GSS TAN) was not provided (ERROR). 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)

Test Inputs

Patient authentication not piggybacked with patient identification.

Expected Results
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>
Last Passed DateExpects

Error: PatientAuthenticationRequired

Status
Status
colourRedYellow
titleN/A
 waiting for better definition

Test #7

: "testQueryMinAccur"

Test IdPT_SERVERCLIENT_XCPD_#7
Name

testQueryMinAccur

Description

The service provider did not find a match with the given minimum accuracy. (INFO) 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)

Test Inputs

A request with high level of confidence.

Expected Results
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>
Last Passed DateExpects

Error: AnswerNotAvailable

Status
Status
colourRedGreen
titleN/APassed

Test #8

: "testQueryInvalidTraits"

Test IdPT_SERVERCLIENT_XCPD_#8
Name

testQueryInvalidTraits

Description

The identity traits provided by the service consumer are not supported by the service provider. (ERROR) 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)

Test Inputs

A request with unsupported identity traits.

Expected Results
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>
Last Passed DateExpects

Error: AnswerNotAvailable

Status
Status
colourRedGreen
titleN/APassed

Test #9

: "testQueryConfConflict"

Last Passed Date
Test IdPT_SERVERCLIENT_XCPD_#9
Name

testQueryConfConflict

Description

The service consumer defined a confidence level that conflicts with the security policy of the service provider. (INFO) 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)

Test Inputs

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

Expected Results
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
NametestBadLivingSubjectBirthPlaceAddress
Description

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
titleIMPEDED
 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
titleN/AIMPEDED
 NCP-A only allows query by id

 



 Template

Test #X

: "testXXXX"

Test IdPT_SERVERCLIENT_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.

Test 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.

Expected ResultsExpectsN/A
Last Passed DateStatus
Status
colourRedGrey
titleN/A