Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Content of the Protocol Terminators
Page Tree | ||||||
---|---|---|---|---|---|---|
|
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 | ||
| ||
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 | ||||
---|---|---|---|---|
| ||||
<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> |
Tests
normal usage
Test #0
Test Id | PT_CLIENT_XCPD_#0 |
---|---|
Name | testQueryPatient |
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 |
|
Invalid scenarios
Test #1
Test Id | PT_SERVERCLIENT_XCPD_#1 | |||||||
---|---|---|---|---|---|---|---|---|
Name | testQueryIdOnly | |||||||
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 |
| |||||||
Last Passed DateExpects | Error: AdditionalDemographicsRequested | |||||||
Status |
|
Test #2
: "testQueryDemographicsOnly"Test Id | PT_SERVERCLIENT_XCPD_#2 | |||||||
---|---|---|---|---|---|---|---|---|
Name | testQueryDemographicsOnly | |||||||
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 |
| |||||||
Last Passed DateExpects | Error: DemographicsQueryNotAllowed | |||||||
Status |
|
Test #3
: "testQueryEHICardOnly"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: EHICDataRequested | |||||||
Status |
|
Test #4
: "testQueryPrivateData"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: PrivacyViolation | |||||||
Status |
|
Test #5
: "testQueryInsRights"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: InsufficientRights | |||||||
Status |
|
Test #6
: "testQueryPatientAuthId"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: PatientAuthenticationRequired | |||||||
Status |
|
Test #7
: "testQueryMinAccur"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: AnswerNotAvailable | |||||||
Status |
|
Test #8
: "testQueryInvalidTraits"Test Id | PT_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 |
| |||||||
Last Passed DateExpects | Error: AnswerNotAvailable | |||||||
Status |
|
Test #9
: "testQueryConfConflict"Test Id | PT_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 |
| |||||||
Expects | Error: PolicyViolation | |||||||
Status |
|
Usage restrictions
Test #10
Test Id | PT_CLIENT_XCPD_#10 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadLivingSubjectID | ||||||
Description | Asserts that a NOT well formulated <LivingSubjectID> results in a NOT valid response. | ||||||
Inputs | A patient Identification missing extension. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #10.1
Test Id | PT_CLIENT_XCPD_#10.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodLivingSubjectID | ||||||
Description | Asserts that a well formulated <LivingSubjectID> results in a valid response. | ||||||
Inputs | A patient identification composed by root + extension. This id must be found. | ||||||
Expects | A PatientDemographics List | ||||||
Status |
|
Test #11
Test Id | PT_CLIENT_XCPD_#11 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadLivingSubjectName | ||||||
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. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #11.1
Test Id | PT_CLIENT_XCPD_#11.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodLivingSubjectName | ||||||
Description | Asserts that a well formulated <LivingSubjectName> results in a valid response. | ||||||
Inputs | A LivingSubjectName containing patient's given name and family name. | ||||||
Expects | A PatientDemographics List | ||||||
Status |
|
Test #12
Test Id | PT_CLIENT_XCPD_#12 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadLivingSubjectBirthTime | ||||||
Description | Asserts that a NOT well formulated <LivingSubjectBirthTime> results in a NOT valid response. | ||||||
Inputs | A LivingSubjectBirthTime containing a malformed birthdate element. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #12.1
Test Id | PT_CLIENT_XCPD_#12.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodLivingSubjectBirthTime | ||||||
Description | Asserts that a well formulated <LivingSubjectBirthTime> results in a valid response. | ||||||
Inputs | A LivingSubjectBirthTime element containing a well formed birthdate element. | ||||||
Expects | A PatientDemographics List | ||||||
Status |
|
Test #13
Test Id | PT_CLIENT_XCPD_#13 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadLivingSubjectGender | ||||||
Description | Asserts that a NOT well formulated <LivingSubjectGender> results in a NOT valid response. | ||||||
Inputs | A LivingSubjectGender containing a malformed gender code. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #13.1
Test Id | PT_CLIENT_XCPD_#13.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodLivingSubjectGender | ||||||
Description | Asserts that a well formulated <LivingSubjectGender> results in a valid response. | ||||||
Inputs | A LivingSubjectGender containing a valid gender code. | ||||||
Expects | A PatientDemographics List | ||||||
Status |
|
Test #14
Test Id | PT_CLIENT_XCPD_#14 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadLivingSubjectBirthPlaceAddress | ||||||
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. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #14.1
Test Id | PT_CLIENT_XCPD_#14.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodLivingSubjectBirthPlaceAddress | ||||||
Description | Asserts that a well formulated <LivingSubjectBirthPlaceAddress> results in a valid response. | ||||||
Inputs | A LivingSubjectBirthPlaceAddress containing country and city elements. | ||||||
Expects | A PatientDemographics element | ||||||
Status |
|
Test #15
Test Id | PT_CLIENT_XCPD_#15 | ||||||
---|---|---|---|---|---|---|---|
Name | testBadPatientAddress | ||||||
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. | ||||||
Expects | Error: AnswerNotAvailable | ||||||
Status |
|
Test #15.1
Test Id | PT_CLIENT_XCPD_#15.1 | ||||||
---|---|---|---|---|---|---|---|
Name | testGoodPatientAddress | ||||||
Description | Asserts that a well formulated <PatientAddress> results in a valid response. | ||||||
Inputs | A PatientAddress containing country and city elements. | ||||||
Expects | N/A | ||||||
Status |
|
Test #16
Test Id | PT_CLIENT_XCPD_#16 | ||||||
---|---|---|---|---|---|---|---|
Name | TestInvalidField | ||||||
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 | ||||||
Expects | A PatientDemographics List | ||||||
Status |
|
Template
Test #X
: "testXXXX"Test Id | PT_SERVERCLIENT_XCPD_#X | ||||||
---|---|---|---|---|---|---|---|
Name | testXXXX | ||||||
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 ResultsExpects | N/A | ||||||
Last Passed DateStatus |
|