davinci_pas_test_kit 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +201 -0
- data/lib/davinci_pas_test_kit/client_suite.rb +289 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/claim_status/pas_claim_status_test.rb +109 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_approval_submit_test.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_response_attest.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_denial_submit_test.rb +43 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_inquire_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_inquire_test.rb +35 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_response_attest.rb +39 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_pended_submit_test.rb +43 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_submit_must_support_test.rb +57 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_request_test.rb +31 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/client_tests/pas_client_token_validation_test.rb +18 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/nonconformant_pas_bundle.json +16 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_inquiry_error_test.rb +38 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/error_tests/pas_submission_error_test.rb +56 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/device_request_metadata.yml +112 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/medication_request_metadata.yml +183 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/nutrition_order_metadata.yml +109 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_client_must_support_requirement_test.rb +117 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test.rb +116 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/must_support/service_request_metadata.yml +148 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_approval_group.rb +26 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_authentication_group.rb +49 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_denial_group.rb +41 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_client_pended_group.rb +56 -0
- data/lib/davinci_pas_test_kit/custom_groups/v2.0.1/pas_error_group.rb +20 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/record_response_route.rb +98 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/request.rb +19 -0
- data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +18 -0
- data/lib/davinci_pas_test_kit/fhir_resource_navigation.rb +72 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_inquiry_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/client_submit_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/metadata.yml +162 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_inquiry_response_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_request_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/beneficiary/server_submit_response_beneficiary_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/claim_operation_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim/metadata.yml +577 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/claim_inquiry_operation_test.rb +57 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/metadata.yml +516 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/server_inquiry_request_claim_inquiry_must_support_test.rb +95 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/client_submit_request_claim_update_must_support_test.rb +102 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/metadata.yml +591 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_update/server_submit_request_claim_update_must_support_test.rb +102 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/metadata.yml +311 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claiminquiryresponse/server_inquiry_response_claiminquiryresponse_must_support_test.rb +73 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/metadata.yml +318 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/claimresponse/server_submit_response_claimresponse_must_support_test.rb +75 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_denial_pas_response_bundle_validation_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pas_request_bundle_validation_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_inquiry_request_bundle_validation_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/client_tests/client_pended_pas_response_bundle_validation_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/metadata.yml +130 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/communication_request/server_submit_response_communication_request_must_support_test.rb +58 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_inquiry_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/client_submit_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/metadata.yml +111 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_inquiry_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/coverage/server_submit_request_coverage_must_support_test.rb +55 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/client_submit_request_device_request_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/metadata.yml +112 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/device_request/server_submit_request_device_request_must_support_test.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/client_submit_request_encounter_must_support_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/metadata.yml +213 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/encounter/server_submit_request_encounter_must_support_test.rb +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_inquiry_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/client_submit_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/metadata.yml +104 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_inquiry_response_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_request_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/insurer/server_submit_response_insurer_must_support_test.rb +60 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/client_submit_request_medication_request_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/metadata.yml +183 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/medication_request/server_submit_request_medication_request_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/metadata.yml +5253 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/client_submit_request_nutrition_order_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/metadata.yml +109 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/nutrition_order/server_submit_request_nutrition_order_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_inquiry_must_support_use_case_group.rb +51 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_client_submit_must_support_use_case_group.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/client_inquiry_request_pas_inquiry_request_bundle_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +77 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_inquiry_request_pas_inquiry_request_bundle_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test.rb +83 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +67 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_inquiry_response_pas_inquiry_response_bundle_must_support_test.rb +52 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test.rb +80 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/client_submit_request_pas_request_bundle_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/metadata.yml +77 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_pas_request_bundle_validation_test.rb +83 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_request_bundle/server_submit_request_pas_request_bundle_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/metadata.yml +71 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_pas_response_bundle_validation_test.rb +80 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_response_bundle/server_submit_response_pas_response_bundle_must_support_test.rb +52 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_approval_use_case_group.rb +59 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_denial_use_case_group.rb +59 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_must_support_use_case_group.rb +265 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/pas_server_pended_use_case_group.rb +84 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_inquiry_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/client_submit_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/metadata.yml +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_inquiry_response_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_request_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner/server_submit_response_practitioner_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_inquiry_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/client_submit_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/metadata.yml +81 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_inquiry_response_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_request_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/practitioner_role/server_submit_response_practitioner_role_must_support_test.rb +49 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_inquiry_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/client_submit_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/metadata.yml +107 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_inquiry_response_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_request_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/requestor/server_submit_response_requestor_must_support_test.rb +63 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/resource_list.rb +54 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +236 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/client_submit_request_service_request_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/metadata.yml +148 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/service_request/server_submit_request_service_request_must_support_test.rb +53 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_inquiry_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/client_submit_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/metadata.yml +159 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_inquiry_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/subscriber/server_submit_request_subscriber_must_support_test.rb +74 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/metadata.yml +192 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_inquiry_response_task_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generated/v2.0.1/task/server_submit_response_task_must_support_test.rb +61 -0
- data/lib/davinci_pas_test_kit/generator/group_generator.rb +440 -0
- data/lib/davinci_pas_test_kit/generator/group_metadata.rb +73 -0
- data/lib/davinci_pas_test_kit/generator/group_metadata_extractor.rb +244 -0
- data/lib/davinci_pas_test_kit/generator/ig_loader.rb +78 -0
- data/lib/davinci_pas_test_kit/generator/ig_metadata.rb +66 -0
- data/lib/davinci_pas_test_kit/generator/ig_metadata_extractor.rb +54 -0
- data/lib/davinci_pas_test_kit/generator/ig_resources.rb +74 -0
- data/lib/davinci_pas_test_kit/generator/must_support_check_profiles.rb +86 -0
- data/lib/davinci_pas_test_kit/generator/must_support_metadata_extractor.rb +327 -0
- data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +155 -0
- data/lib/davinci_pas_test_kit/generator/naming.rb +50 -0
- data/lib/davinci_pas_test_kit/generator/operation_test_generator.rb +136 -0
- data/lib/davinci_pas_test_kit/generator/resource_list_generator.rb +59 -0
- data/lib/davinci_pas_test_kit/generator/suite_generator.rb +94 -0
- data/lib/davinci_pas_test_kit/generator/terminology_binding_metadata_extractor.rb +108 -0
- data/lib/davinci_pas_test_kit/generator/validation_test_generator.rb +181 -0
- data/lib/davinci_pas_test_kit/generator/value_extractor.rb +48 -0
- data/lib/davinci_pas_test_kit/generator.rb +80 -0
- data/lib/davinci_pas_test_kit/mock_server.rb +189 -0
- data/lib/davinci_pas_test_kit/must_support_test.rb +267 -0
- data/lib/davinci_pas_test_kit/pas_bundle_validation.rb +568 -0
- data/lib/davinci_pas_test_kit/tags.rb +7 -0
- data/lib/davinci_pas_test_kit/urls.rb +39 -0
- data/lib/davinci_pas_test_kit/user_input_response.rb +32 -0
- data/lib/davinci_pas_test_kit/validation_test.rb +58 -0
- data/lib/davinci_pas_test_kit/validator_suppressions.rb +143 -0
- data/lib/davinci_pas_test_kit/version.rb +5 -0
- data/lib/davinci_pas_test_kit.rb +2 -0
- metadata +281 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
require_relative 'pas_request_bundle/server_pas_request_bundle_validation_test'
|
|
2
|
+
require_relative 'claim/claim_operation_test'
|
|
3
|
+
require_relative 'pas_response_bundle/server_pas_response_bundle_validation_test'
|
|
4
|
+
require_relative '../../custom_groups/v2.0.1/claim_status/pas_claim_status_test'
|
|
5
|
+
|
|
6
|
+
module DaVinciPASTestKit
|
|
7
|
+
module DaVinciPASV201
|
|
8
|
+
class PASServerDenialUseCaseGroup < Inferno::TestGroup
|
|
9
|
+
title 'Successful Denial Workflow'
|
|
10
|
+
description %(
|
|
11
|
+
Demonstrate the ability of the server to respond to a prior
|
|
12
|
+
authorization request with an `denied` decision.
|
|
13
|
+
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
id :pas_server_v201_denial_use_case
|
|
17
|
+
run_as_group
|
|
18
|
+
|
|
19
|
+
def use_case
|
|
20
|
+
'denial'
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
group do
|
|
25
|
+
title 'PAS Submit Operation'
|
|
26
|
+
|
|
27
|
+
test from: :pas_server_v201_pas_request_bundle_validation_test do
|
|
28
|
+
id :pas_server_v201_pas_request_bundle_validation_test_denial
|
|
29
|
+
config(
|
|
30
|
+
inputs: {
|
|
31
|
+
pa_submit_request_payload: {
|
|
32
|
+
name: :denial_pa_submit_request_payload ,
|
|
33
|
+
title: 'PAS Submit Request Payload for Denial Response'
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
test from: :pas_v201_claim_operation_test do
|
|
39
|
+
id :pas_v201_claim_operation_test_denial
|
|
40
|
+
config(
|
|
41
|
+
inputs: {
|
|
42
|
+
pa_submit_request_payload: {
|
|
43
|
+
name: :denial_pa_submit_request_payload ,
|
|
44
|
+
title: 'PAS Submit Request Payload for Denial Response'
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
test from: :pas_server_v201_pas_response_bundle_validation_test
|
|
50
|
+
end
|
|
51
|
+
group do
|
|
52
|
+
title 'PAS Status Check'
|
|
53
|
+
|
|
54
|
+
test from: :prior_auth_claim_status
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
require_relative 'pas_request_bundle/server_pas_request_bundle_validation_test'
|
|
2
|
+
require_relative 'claim/claim_operation_test'
|
|
3
|
+
require_relative 'pas_response_bundle/server_pas_response_bundle_validation_test'
|
|
4
|
+
require_relative 'pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test'
|
|
5
|
+
require_relative 'claim_inquiry/claim_inquiry_operation_test'
|
|
6
|
+
require_relative 'pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test'
|
|
7
|
+
require_relative 'pas_request_bundle/server_submit_request_pas_request_bundle_must_support_test'
|
|
8
|
+
require_relative 'claim_update/server_submit_request_claim_update_must_support_test'
|
|
9
|
+
require_relative 'coverage/server_submit_request_coverage_must_support_test'
|
|
10
|
+
require_relative 'encounter/server_submit_request_encounter_must_support_test'
|
|
11
|
+
require_relative 'insurer/server_submit_request_insurer_must_support_test'
|
|
12
|
+
require_relative 'requestor/server_submit_request_requestor_must_support_test'
|
|
13
|
+
require_relative 'beneficiary/server_submit_request_beneficiary_must_support_test'
|
|
14
|
+
require_relative 'subscriber/server_submit_request_subscriber_must_support_test'
|
|
15
|
+
require_relative 'practitioner/server_submit_request_practitioner_must_support_test'
|
|
16
|
+
require_relative 'practitioner_role/server_submit_request_practitioner_role_must_support_test'
|
|
17
|
+
require_relative 'pas_response_bundle/server_submit_response_pas_response_bundle_must_support_test'
|
|
18
|
+
require_relative 'claimresponse/server_submit_response_claimresponse_must_support_test'
|
|
19
|
+
require_relative 'communication_request/server_submit_response_communication_request_must_support_test'
|
|
20
|
+
require_relative 'insurer/server_submit_response_insurer_must_support_test'
|
|
21
|
+
require_relative 'requestor/server_submit_response_requestor_must_support_test'
|
|
22
|
+
require_relative 'beneficiary/server_submit_response_beneficiary_must_support_test'
|
|
23
|
+
require_relative 'practitioner/server_submit_response_practitioner_must_support_test'
|
|
24
|
+
require_relative 'practitioner_role/server_submit_response_practitioner_role_must_support_test'
|
|
25
|
+
require_relative 'task/server_submit_response_task_must_support_test'
|
|
26
|
+
require_relative 'pas_inquiry_request_bundle/server_inquiry_request_pas_inquiry_request_bundle_must_support_test'
|
|
27
|
+
require_relative 'claim_inquiry/server_inquiry_request_claim_inquiry_must_support_test'
|
|
28
|
+
require_relative 'coverage/server_inquiry_request_coverage_must_support_test'
|
|
29
|
+
require_relative 'insurer/server_inquiry_request_insurer_must_support_test'
|
|
30
|
+
require_relative 'requestor/server_inquiry_request_requestor_must_support_test'
|
|
31
|
+
require_relative 'beneficiary/server_inquiry_request_beneficiary_must_support_test'
|
|
32
|
+
require_relative 'subscriber/server_inquiry_request_subscriber_must_support_test'
|
|
33
|
+
require_relative 'practitioner/server_inquiry_request_practitioner_must_support_test'
|
|
34
|
+
require_relative 'practitioner_role/server_inquiry_request_practitioner_role_must_support_test'
|
|
35
|
+
require_relative 'pas_inquiry_response_bundle/server_inquiry_response_pas_inquiry_response_bundle_must_support_test'
|
|
36
|
+
require_relative 'claiminquiryresponse/server_inquiry_response_claiminquiryresponse_must_support_test'
|
|
37
|
+
require_relative 'insurer/server_inquiry_response_insurer_must_support_test'
|
|
38
|
+
require_relative 'requestor/server_inquiry_response_requestor_must_support_test'
|
|
39
|
+
require_relative 'beneficiary/server_inquiry_response_beneficiary_must_support_test'
|
|
40
|
+
require_relative 'practitioner/server_inquiry_response_practitioner_must_support_test'
|
|
41
|
+
require_relative 'practitioner_role/server_inquiry_response_practitioner_role_must_support_test'
|
|
42
|
+
require_relative 'task/server_inquiry_response_task_must_support_test'
|
|
43
|
+
require_relative '../../custom_groups/v2.0.1/must_support/pas_server_must_support_requirement_test'
|
|
44
|
+
|
|
45
|
+
module DaVinciPASTestKit
|
|
46
|
+
module DaVinciPASV201
|
|
47
|
+
class PASServerMustSupportUseCaseGroup < Inferno::TestGroup
|
|
48
|
+
title 'Demonstrate Element Support'
|
|
49
|
+
description %(
|
|
50
|
+
Demonstrate the ability of the server to support all PAS-defined profiles
|
|
51
|
+
and the must support elements defined in them. This includes
|
|
52
|
+
|
|
53
|
+
- the ability to respond to prior authorization submission and inquiry
|
|
54
|
+
requests that contain all PAS-defined profiles and their must support
|
|
55
|
+
elements.
|
|
56
|
+
- the ability to include in those responses all PAS-defined profiles
|
|
57
|
+
and their must support elements.
|
|
58
|
+
|
|
59
|
+
In order to allow Inferno to observe and validate these criteria, testers
|
|
60
|
+
are required to provide a set of `$submit` and `$inquire` requests that
|
|
61
|
+
collectively both themselves contain and elicit server responses that contain
|
|
62
|
+
all PAS-defined profiles and their must support elements.
|
|
63
|
+
|
|
64
|
+
)
|
|
65
|
+
|
|
66
|
+
id :pas_server_v201_must_support_use_case
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
def use_case
|
|
70
|
+
'must_support'
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
group do
|
|
75
|
+
title '$submit Element Support'
|
|
76
|
+
description %(
|
|
77
|
+
Check that the provided `$submit` requests both themselves contain
|
|
78
|
+
and elicit server responses that contain all PAS-defined profiles
|
|
79
|
+
and their must support elements.
|
|
80
|
+
|
|
81
|
+
For `$submit` requests, this includes the following profiles:
|
|
82
|
+
|
|
83
|
+
- [PAS Request Bundle](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-request-bundle.html)
|
|
84
|
+
- [PAS Claim Update](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-claim-update.html)
|
|
85
|
+
- [PAS Coverage](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-coverage.html)
|
|
86
|
+
- [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-beneficiary.html)
|
|
87
|
+
- [PAS Subscriber Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-subscriber.html)
|
|
88
|
+
- [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-insurer.html)
|
|
89
|
+
- [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-requestor.html)
|
|
90
|
+
- [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitioner.html)
|
|
91
|
+
- [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitionerrole.html)
|
|
92
|
+
- [PAS Encounter](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-encounter.html)
|
|
93
|
+
- At least one of the following request profiles
|
|
94
|
+
- [PAS Device Request](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-devicerequest.html)
|
|
95
|
+
- [PAS Medication Request](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-medicationrequest.html)
|
|
96
|
+
- [PAS Nutrition Order](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-nutritionorder.html)
|
|
97
|
+
- [PAS Service Request](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-servicerequest.html)
|
|
98
|
+
|
|
99
|
+
For `$submit` responses, this includes the following profiles (NOTE: request-specific
|
|
100
|
+
profiles that may be echoed from `$submit` requests, such as the Claim instance or request instances,
|
|
101
|
+
are not currently checked):
|
|
102
|
+
|
|
103
|
+
- [PAS Response Bundle](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-response-bundle.html)
|
|
104
|
+
- [PAS Claim Response](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-claimresponse.html)
|
|
105
|
+
- [PAS CommunicationRequest](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-communicationrequest.html)
|
|
106
|
+
- [PAS Task](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-task.html)
|
|
107
|
+
- [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-beneficiary.html)
|
|
108
|
+
- [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-insurer.html)
|
|
109
|
+
- [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-requestor.html)
|
|
110
|
+
- [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitioner.html)
|
|
111
|
+
- [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitionerrole.html)
|
|
112
|
+
)
|
|
113
|
+
run_as_group
|
|
114
|
+
|
|
115
|
+
group do
|
|
116
|
+
title 'PAS Submit Operation'
|
|
117
|
+
|
|
118
|
+
test from: :pas_server_v201_pas_request_bundle_validation_test do
|
|
119
|
+
id :pas_server_v201_pas_request_bundle_validation_test_must_support
|
|
120
|
+
config(
|
|
121
|
+
inputs: {
|
|
122
|
+
pa_submit_request_payload: {
|
|
123
|
+
name: :must_support_pa_submit_request_payload,
|
|
124
|
+
title: 'Additional PAS Submit Request Payloads',
|
|
125
|
+
description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
)
|
|
129
|
+
end
|
|
130
|
+
test from: :pas_v201_claim_operation_test do
|
|
131
|
+
id :pas_v201_claim_operation_test_must_support
|
|
132
|
+
config(
|
|
133
|
+
inputs: {
|
|
134
|
+
pa_submit_request_payload: {
|
|
135
|
+
name: :must_support_pa_submit_request_payload,
|
|
136
|
+
title: 'Additional PAS Submit Request Payloads',
|
|
137
|
+
description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
test from: :pas_server_v201_pas_response_bundle_validation_test
|
|
143
|
+
end
|
|
144
|
+
group do
|
|
145
|
+
title '[USER INPUT VALIDATION] Submit Request Must Support'
|
|
146
|
+
|
|
147
|
+
test from: :pas_server_submit_v201_must_support_requirement
|
|
148
|
+
test from: :pas_server_submit_request_v201_pas_request_bundle_must_support_test
|
|
149
|
+
test from: :pas_server_submit_request_v201_claim_update_must_support_test
|
|
150
|
+
test from: :pas_server_submit_request_v201_coverage_must_support_test
|
|
151
|
+
test from: :pas_server_submit_request_v201_encounter_must_support_test
|
|
152
|
+
test from: :pas_server_submit_request_v201_insurer_must_support_test
|
|
153
|
+
test from: :pas_server_submit_request_v201_requestor_must_support_test
|
|
154
|
+
test from: :pas_server_submit_request_v201_beneficiary_must_support_test
|
|
155
|
+
test from: :pas_server_submit_request_v201_subscriber_must_support_test
|
|
156
|
+
test from: :pas_server_submit_request_v201_practitioner_must_support_test
|
|
157
|
+
test from: :pas_server_submit_request_v201_practitioner_role_must_support_test
|
|
158
|
+
end
|
|
159
|
+
group do
|
|
160
|
+
title 'Submit Response Must Support'
|
|
161
|
+
|
|
162
|
+
test from: :pas_server_submit_response_v201_pas_response_bundle_must_support_test
|
|
163
|
+
test from: :pas_server_submit_response_v201_claimresponse_must_support_test
|
|
164
|
+
test from: :pas_server_submit_response_v201_communication_request_must_support_test
|
|
165
|
+
test from: :pas_server_submit_response_v201_insurer_must_support_test
|
|
166
|
+
test from: :pas_server_submit_response_v201_requestor_must_support_test
|
|
167
|
+
test from: :pas_server_submit_response_v201_beneficiary_must_support_test
|
|
168
|
+
test from: :pas_server_submit_response_v201_practitioner_must_support_test
|
|
169
|
+
test from: :pas_server_submit_response_v201_practitioner_role_must_support_test
|
|
170
|
+
test from: :pas_server_submit_response_v201_task_must_support_test
|
|
171
|
+
end
|
|
172
|
+
end
|
|
173
|
+
group do
|
|
174
|
+
title '$inquire Element Support'
|
|
175
|
+
description %(
|
|
176
|
+
Check that the provided `$inquire` requests both themselves contain
|
|
177
|
+
and elicit server responses that contain all PAS-defined profiles
|
|
178
|
+
and their must support elements.
|
|
179
|
+
|
|
180
|
+
For `$inquire` requests, this includes the following profiles:
|
|
181
|
+
|
|
182
|
+
- [PAS Inquiry Request Bundle](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-inquiry-request-bundle.html)
|
|
183
|
+
- [PAS Claim Inquiry](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-claim-inquiry.html)
|
|
184
|
+
- [PAS Coverage](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-coverage.html)
|
|
185
|
+
- [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-beneficiary.html)
|
|
186
|
+
- [PAS Subscriber Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-subscriber.html)
|
|
187
|
+
- [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-insurer.html)
|
|
188
|
+
- [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-requestor.html)
|
|
189
|
+
- [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitioner.html)
|
|
190
|
+
- [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitionerrole.html)
|
|
191
|
+
|
|
192
|
+
For `$inquire` responses, this includes the following profiles (NOTE: request-specific
|
|
193
|
+
profiles that may be echoed from `$submit` requests, such as the Claim instance or request instances,
|
|
194
|
+
are not currently checked):
|
|
195
|
+
|
|
196
|
+
- [PAS Inquiry Response Bundle](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-inquiry-request-bundle.html)
|
|
197
|
+
- [PAS Claim Inquiry Response](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-claiminquiryresponse.html)
|
|
198
|
+
- [PAS Task](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-task.html)
|
|
199
|
+
- [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-beneficiary.html)
|
|
200
|
+
- [PAS Insurer Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-insurer.html)
|
|
201
|
+
- [PAS Requestor Organization](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-requestor.html)
|
|
202
|
+
- [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitioner.html)
|
|
203
|
+
- [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitionerrole.html)
|
|
204
|
+
)
|
|
205
|
+
run_as_group
|
|
206
|
+
|
|
207
|
+
group do
|
|
208
|
+
title 'PAS Inquiry Operation'
|
|
209
|
+
|
|
210
|
+
test from: :pas_server_v201_pas_inquiry_request_bundle_validation_test do
|
|
211
|
+
id :pas_server_v201_pas_inquiry_request_bundle_validation_test_must_support
|
|
212
|
+
config(
|
|
213
|
+
inputs: {
|
|
214
|
+
pa_inquire_request_payload: {
|
|
215
|
+
name: :must_support_pa_inquire_request_payload,
|
|
216
|
+
title: 'Additional PAS Inquire Request Payloads',
|
|
217
|
+
description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
)
|
|
221
|
+
end
|
|
222
|
+
test from: :pas_v201_claim_inquiry_operation_test do
|
|
223
|
+
id :pas_v201_claim_inquiry_operation_test_must_support
|
|
224
|
+
config(
|
|
225
|
+
inputs: {
|
|
226
|
+
pa_inquire_request_payload: {
|
|
227
|
+
name: :must_support_pa_inquire_request_payload,
|
|
228
|
+
title: 'Additional PAS Inquire Request Payloads',
|
|
229
|
+
description: 'Insert an additional request bundle or a list of bundles (e.g. [bundle_1, bundle_2])'
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
test from: :pas_server_v201_pas_inquiry_response_bundle_validation_test
|
|
235
|
+
end
|
|
236
|
+
group do
|
|
237
|
+
title '[USER INPUT VALIDATION] Inquiry Request Must Support'
|
|
238
|
+
|
|
239
|
+
test from: :pas_server_inquiry_request_v201_pas_inquiry_request_bundle_must_support_test
|
|
240
|
+
test from: :pas_server_inquiry_request_v201_claim_inquiry_must_support_test
|
|
241
|
+
test from: :pas_server_inquiry_request_v201_coverage_must_support_test
|
|
242
|
+
test from: :pas_server_inquiry_request_v201_insurer_must_support_test
|
|
243
|
+
test from: :pas_server_inquiry_request_v201_requestor_must_support_test
|
|
244
|
+
test from: :pas_server_inquiry_request_v201_beneficiary_must_support_test
|
|
245
|
+
test from: :pas_server_inquiry_request_v201_subscriber_must_support_test
|
|
246
|
+
test from: :pas_server_inquiry_request_v201_practitioner_must_support_test
|
|
247
|
+
test from: :pas_server_inquiry_request_v201_practitioner_role_must_support_test
|
|
248
|
+
end
|
|
249
|
+
group do
|
|
250
|
+
title 'Inquiry Response Must Support'
|
|
251
|
+
|
|
252
|
+
test from: :pas_server_inquiry_response_v201_pas_inquiry_response_bundle_must_support_test
|
|
253
|
+
test from: :pas_server_inquiry_response_v201_claiminquiryresponse_must_support_test
|
|
254
|
+
test from: :pas_server_inquiry_response_v201_insurer_must_support_test
|
|
255
|
+
test from: :pas_server_inquiry_response_v201_requestor_must_support_test
|
|
256
|
+
test from: :pas_server_inquiry_response_v201_beneficiary_must_support_test
|
|
257
|
+
test from: :pas_server_inquiry_response_v201_practitioner_must_support_test
|
|
258
|
+
test from: :pas_server_inquiry_response_v201_practitioner_role_must_support_test
|
|
259
|
+
test from: :pas_server_inquiry_response_v201_task_must_support_test
|
|
260
|
+
end
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
end
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
require_relative 'pas_request_bundle/server_pas_request_bundle_validation_test'
|
|
2
|
+
require_relative 'claim/claim_operation_test'
|
|
3
|
+
require_relative 'pas_response_bundle/server_pas_response_bundle_validation_test'
|
|
4
|
+
require_relative 'pas_inquiry_request_bundle/server_pas_inquiry_request_bundle_validation_test'
|
|
5
|
+
require_relative 'claim_inquiry/claim_inquiry_operation_test'
|
|
6
|
+
require_relative 'pas_inquiry_response_bundle/server_pas_inquiry_response_bundle_validation_test'
|
|
7
|
+
require_relative '../../custom_groups/v2.0.1/claim_status/pas_claim_status_test'
|
|
8
|
+
|
|
9
|
+
module DaVinciPASTestKit
|
|
10
|
+
module DaVinciPASV201
|
|
11
|
+
class PASServerPendedUseCaseGroup < Inferno::TestGroup
|
|
12
|
+
title 'Successful Pended Workflow'
|
|
13
|
+
description %(
|
|
14
|
+
Demonstrate a complete prior authorization workflow including a period
|
|
15
|
+
during which the final decision is pending. This includes
|
|
16
|
+
|
|
17
|
+
- Demonstrating the ability of the server to respond to a prior
|
|
18
|
+
authorization request with an `pended` status.
|
|
19
|
+
- Demonstrating the ability of the server to respond to a subsequent
|
|
20
|
+
inquiry request with a final decision for the request
|
|
21
|
+
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
id :pas_server_v201_pended_use_case
|
|
25
|
+
run_as_group
|
|
26
|
+
|
|
27
|
+
def use_case
|
|
28
|
+
'pended'
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
group do
|
|
33
|
+
title 'PAS Submit Operation'
|
|
34
|
+
|
|
35
|
+
test from: :pas_server_v201_pas_request_bundle_validation_test do
|
|
36
|
+
id :pas_server_v201_pas_request_bundle_validation_test_pended
|
|
37
|
+
config(
|
|
38
|
+
inputs: {
|
|
39
|
+
pa_submit_request_payload: {
|
|
40
|
+
name: :pended_pa_submit_request_payload ,
|
|
41
|
+
title: 'PAS Submit Request Payload for Pended Response'
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
test from: :pas_v201_claim_operation_test do
|
|
47
|
+
id :pas_v201_claim_operation_test_pended
|
|
48
|
+
config(
|
|
49
|
+
inputs: {
|
|
50
|
+
pa_submit_request_payload: {
|
|
51
|
+
name: :pended_pa_submit_request_payload ,
|
|
52
|
+
title: 'PAS Submit Request Payload for Pended Response'
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
test from: :pas_server_v201_pas_response_bundle_validation_test
|
|
58
|
+
end
|
|
59
|
+
group do
|
|
60
|
+
title 'PAS Status Check'
|
|
61
|
+
|
|
62
|
+
test from: :prior_auth_claim_status
|
|
63
|
+
end
|
|
64
|
+
group do
|
|
65
|
+
title 'PAS Inquiry Operation'
|
|
66
|
+
|
|
67
|
+
test from: :pas_server_v201_pas_inquiry_request_bundle_validation_test
|
|
68
|
+
test from: :pas_v201_claim_inquiry_operation_test do
|
|
69
|
+
id :pas_v201_claim_inquiry_operation_test_pended
|
|
70
|
+
config(
|
|
71
|
+
inputs: {
|
|
72
|
+
pa_submit_request_payload: {
|
|
73
|
+
name: :pended_pa_submit_request_payload ,
|
|
74
|
+
title: 'PAS Submit Request Payload for Pended Response'
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
test from: :pas_server_v201_pas_inquiry_response_bundle_validation_test
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
require_relative '../../../tags'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
module DaVinciPASV201
|
|
7
|
+
class ClientInquiryRequestPractitionerMustSupportTest < Inferno::Test
|
|
8
|
+
include DaVinciPASTestKit::MustSupportTest
|
|
9
|
+
|
|
10
|
+
title 'All must support elements for Profile PAS Practitioner are observed across all instances submitted'
|
|
11
|
+
description %(
|
|
12
|
+
|
|
13
|
+
PAS client systems are required to be able to populate all
|
|
14
|
+
must support elements on instances of all profiles included in
|
|
15
|
+
requests, including instances of the PAS Practitioner Profile.
|
|
16
|
+
This test checks all identified instances of the PAS Practitioner
|
|
17
|
+
Profile on requests sent by the client to ensure that the following
|
|
18
|
+
must support elements are observed:
|
|
19
|
+
|
|
20
|
+
* Practitioner.address
|
|
21
|
+
* Practitioner.identifier
|
|
22
|
+
* Practitioner.identifier:NPI
|
|
23
|
+
* Practitioner.name
|
|
24
|
+
* Practitioner.name.family
|
|
25
|
+
* Practitioner.telecom
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
id :pas_client_inquiry_request_v201_practitioner_must_support_test
|
|
29
|
+
|
|
30
|
+
def resource_type
|
|
31
|
+
'Practitioner'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.metadata
|
|
35
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def scratch_resources
|
|
39
|
+
scratch[:inquiry_request_resources] ||= {}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def resources_of_interest
|
|
43
|
+
collection = tagged_resources(INQUIRE_TAG).presence || all_scratch_resources
|
|
44
|
+
collection.select { |res| res.resourceType == resource_type }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
perform_must_support_test(resources_of_interest)
|
|
49
|
+
validate_must_support
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
require_relative '../../../tags'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
module DaVinciPASV201
|
|
7
|
+
class ClientSubmitRequestPractitionerMustSupportTest < Inferno::Test
|
|
8
|
+
include DaVinciPASTestKit::MustSupportTest
|
|
9
|
+
|
|
10
|
+
title 'All must support elements for Profile PAS Practitioner are observed across all instances submitted'
|
|
11
|
+
description %(
|
|
12
|
+
|
|
13
|
+
PAS client systems are required to be able to populate all
|
|
14
|
+
must support elements on instances of all profiles included in
|
|
15
|
+
requests, including instances of the PAS Practitioner Profile.
|
|
16
|
+
This test checks all identified instances of the PAS Practitioner
|
|
17
|
+
Profile on requests sent by the client to ensure that the following
|
|
18
|
+
must support elements are observed:
|
|
19
|
+
|
|
20
|
+
* Practitioner.address
|
|
21
|
+
* Practitioner.identifier
|
|
22
|
+
* Practitioner.identifier:NPI
|
|
23
|
+
* Practitioner.name
|
|
24
|
+
* Practitioner.name.family
|
|
25
|
+
* Practitioner.telecom
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
id :pas_client_submit_request_v201_practitioner_must_support_test
|
|
29
|
+
|
|
30
|
+
def resource_type
|
|
31
|
+
'Practitioner'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.metadata
|
|
35
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def scratch_resources
|
|
39
|
+
scratch[:submit_request_resources] ||= {}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def resources_of_interest
|
|
43
|
+
collection = tagged_resources(SUBMIT_TAG).presence || all_scratch_resources
|
|
44
|
+
collection.select { |res| res.resourceType == resource_type }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
perform_must_support_test(resources_of_interest)
|
|
49
|
+
validate_must_support
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
---
|
|
2
|
+
:name: profile_practitioner
|
|
3
|
+
:class_name: ProfilePractitionerSequence
|
|
4
|
+
:version: v2.0.1
|
|
5
|
+
:reformatted_version: v201
|
|
6
|
+
:resource: Practitioner
|
|
7
|
+
:profile_url: http://hl7.org/fhir/us/davinci-pas/StructureDefinition/profile-practitioner
|
|
8
|
+
:profile_name: PAS Practitioner
|
|
9
|
+
:profile_version: 2.0.1
|
|
10
|
+
:title: Practitioner
|
|
11
|
+
:short_description: Verify support for the server capabilities required by the PAS
|
|
12
|
+
Practitioner.
|
|
13
|
+
:interactions: []
|
|
14
|
+
:operations: []
|
|
15
|
+
:required_concepts: []
|
|
16
|
+
:must_supports:
|
|
17
|
+
:extensions: []
|
|
18
|
+
:slices:
|
|
19
|
+
- :name: Practitioner.identifier:NPI
|
|
20
|
+
:path: identifier
|
|
21
|
+
:discriminator:
|
|
22
|
+
:type: patternIdentifier
|
|
23
|
+
:path: ''
|
|
24
|
+
:system: http://hl7.org/fhir/sid/us-npi
|
|
25
|
+
:elements:
|
|
26
|
+
- :path: identifier
|
|
27
|
+
- :path: name
|
|
28
|
+
- :path: name.family
|
|
29
|
+
- :path: telecom
|
|
30
|
+
- :path: address
|
|
31
|
+
:mandatory_elements:
|
|
32
|
+
- Practitioner.identifier
|
|
33
|
+
- Practitioner.name
|
|
34
|
+
- Practitioner.name.family
|
|
35
|
+
- Practitioner.qualification.code
|
|
36
|
+
:bindings:
|
|
37
|
+
- :type: code
|
|
38
|
+
:strength: preferred
|
|
39
|
+
:system: http://hl7.org/fhir/ValueSet/languages
|
|
40
|
+
:path: language
|
|
41
|
+
- :type: code
|
|
42
|
+
:strength: required
|
|
43
|
+
:system: http://hl7.org/fhir/ValueSet/name-use
|
|
44
|
+
:path: name.use
|
|
45
|
+
- :type: code
|
|
46
|
+
:strength: required
|
|
47
|
+
:system: http://hl7.org/fhir/ValueSet/administrative-gender
|
|
48
|
+
:path: gender
|
|
49
|
+
- :type: CodeableConcept
|
|
50
|
+
:strength: example
|
|
51
|
+
:system: http://terminology.hl7.org/ValueSet/v2-2.7-0360
|
|
52
|
+
:path: qualification.code
|
|
53
|
+
- :type: CodeableConcept
|
|
54
|
+
:strength: preferred
|
|
55
|
+
:system: http://hl7.org/fhir/ValueSet/languages
|
|
56
|
+
:path: communication
|
|
57
|
+
:references:
|
|
58
|
+
- :path: Practitioner.qualification.issuer
|
|
59
|
+
:profiles:
|
|
60
|
+
- http://hl7.org/fhir/StructureDefinition/Organization
|
|
61
|
+
:tests:
|
|
62
|
+
- :id: pas_server_submit_request_v201_practitioner_must_support_test
|
|
63
|
+
:file_name: server_submit_request_practitioner_must_support_test.rb
|
|
64
|
+
- :id: pas_client_submit_request_v201_practitioner_must_support_test
|
|
65
|
+
:file_name: client_submit_request_practitioner_must_support_test.rb
|
|
66
|
+
- :id: pas_server_submit_response_v201_practitioner_must_support_test
|
|
67
|
+
:file_name: server_submit_response_practitioner_must_support_test.rb
|
|
68
|
+
- :id: pas_server_inquiry_request_v201_practitioner_must_support_test
|
|
69
|
+
:file_name: server_inquiry_request_practitioner_must_support_test.rb
|
|
70
|
+
- :id: pas_client_inquiry_request_v201_practitioner_must_support_test
|
|
71
|
+
:file_name: client_inquiry_request_practitioner_must_support_test.rb
|
|
72
|
+
- :id: pas_server_inquiry_response_v201_practitioner_must_support_test
|
|
73
|
+
:file_name: server_inquiry_response_practitioner_must_support_test.rb
|
|
74
|
+
:delayed_references: []
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
require_relative '../../../must_support_test'
|
|
2
|
+
require_relative '../../../generator/group_metadata'
|
|
3
|
+
require_relative '../../../tags'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
module DaVinciPASV201
|
|
7
|
+
class ServerInquiryRequestPractitionerMustSupportTest < Inferno::Test
|
|
8
|
+
include DaVinciPASTestKit::MustSupportTest
|
|
9
|
+
|
|
10
|
+
title 'All must support elements for Profile PAS Practitioner are observed across all instances submitted'
|
|
11
|
+
description %(
|
|
12
|
+
|
|
13
|
+
PAS server systems are required to be able to receive all
|
|
14
|
+
must support elements on instances of all profiles included in
|
|
15
|
+
requests, including instances of the PAS Practitioner Profile.
|
|
16
|
+
This test checks all identified instances of the PAS Practitioner
|
|
17
|
+
Profile on requests sent to the server to ensure that the following
|
|
18
|
+
must support elements are observed:
|
|
19
|
+
|
|
20
|
+
* Practitioner.address
|
|
21
|
+
* Practitioner.identifier
|
|
22
|
+
* Practitioner.identifier:NPI
|
|
23
|
+
* Practitioner.name
|
|
24
|
+
* Practitioner.name.family
|
|
25
|
+
* Practitioner.telecom
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
id :pas_server_inquiry_request_v201_practitioner_must_support_test
|
|
29
|
+
|
|
30
|
+
def resource_type
|
|
31
|
+
'Practitioner'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def self.metadata
|
|
35
|
+
@metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def scratch_resources
|
|
39
|
+
scratch[:inquire_request_resources] ||= {}
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def resources_of_interest
|
|
43
|
+
collection = tagged_resources(INQUIRE_TAG).presence || all_scratch_resources
|
|
44
|
+
collection.select { |res| res.resourceType == resource_type }
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
run do
|
|
48
|
+
perform_must_support_test(resources_of_interest)
|
|
49
|
+
validate_must_support
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|