davinci_pas_test_kit 0.15.1 → 0.16.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 +4 -4
- data/config/presets/g33_br_provider.json +13 -0
- data/config/presets/pas_client_example.json +2 -2
- data/config/presets/pas_client_v201_run_against_pas_server.json +2 -2
- data/config/presets/pas_client_v221_run_against_pas_server.json +3 -3
- data/config/presets/pas_ri.json +6 -6
- data/config/presets/pas_server_v201_run_against_pas_client.json.erb +6 -6
- data/config/presets/pas_server_v221_run_against_pas_client.json.erb +10 -10
- data/lib/davinci_pas_test_kit/client/abstract_approval_submit_test.rb +28 -17
- data/lib/davinci_pas_test_kit/client/abstract_denial_submit_test.rb +26 -16
- data/lib/davinci_pas_test_kit/client/abstract_gather_must_support_test.rb +45 -74
- data/lib/davinci_pas_test_kit/client/abstract_modification_submit_test.rb +29 -19
- data/lib/davinci_pas_test_kit/client/abstract_response_attest.rb +75 -6
- data/lib/davinci_pas_test_kit/client/abstract_subscription_create_test.rb +26 -9
- data/lib/davinci_pas_test_kit/client/abstract_subscription_update_delete_test.rb +91 -0
- data/lib/davinci_pas_test_kit/client/client_bundle_validation_helper.rb +245 -0
- data/lib/davinci_pas_test_kit/client/client_input_descriptions.rb +96 -1
- data/lib/davinci_pas_test_kit/client/endpoints/claim_endpoint.rb +128 -72
- data/lib/davinci_pas_test_kit/client/endpoints/endpoint_session_identification.rb +24 -0
- data/lib/davinci_pas_test_kit/client/endpoints/expired_token.rb +40 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_create_endpoint.rb +7 -12
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_delete_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_read_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_status_endpoint.rb +15 -20
- data/lib/davinci_pas_test_kit/client/endpoints/subscription_update_endpoint.rb +13 -0
- data/lib/davinci_pas_test_kit/client/endpoints/token_endpoint.rb +16 -0
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_inquire_request_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_submit_request_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claim_update/client_submit_request_must_support_claim_update_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/communication_request/client_submit_response_must_support_communication_request_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_inquire_request_must_support_coverage_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/coverage/client_submit_request_must_support_coverage_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/encounter/client_submit_request_must_support_encounter_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_request_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_inquire_response_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_request_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/insurer/client_submit_response_must_support_insurer_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_must_support_group.rb +1 -1
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_response_must_support_group.rb +9 -31
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_must_support_group.rb +1 -1
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_response_must_support_group.rb +10 -32
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_request_bundle/client_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_request_bundle/client_submit_request_must_support_pas_request_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_request_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_request_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner/client_submit_response_must_support_practitioner_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_request_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_request_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_request_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_inquire_response_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_request_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/requestor/client_submit_response_must_support_requestor_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/subscriber/client_inquire_request_must_support_subscriber_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/subscriber/client_submit_request_must_support_subscriber_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_inquire_response_must_support_beneficiary_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/beneficiary/client_submit_response_must_support_beneficiary_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_inquiry/client_inquire_request_must_support_claim_inquiry_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claim_update/client_submit_request_must_support_claim_update_test.rb +3 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claiminquiryresponse/client_inquire_response_must_support_claiminquiryresponse_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/claimresponse/client_submit_response_must_support_claimresponse_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/communication_request/client_submit_response_must_support_communication_request_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_inquire_response_must_support_insurer_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/insurer/client_submit_response_must_support_insurer_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_must_support_group.rb +8 -6
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_inquire_response_must_support_group.rb +9 -31
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_must_support_group.rb +13 -9
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_client_submit_response_must_support_group.rb +10 -32
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_inquiry_response_bundle/client_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/pas_response_bundle/client_submit_response_must_support_pas_response_bundle_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_inquire_response_must_support_practitioner_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner/client_submit_response_must_support_practitioner_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_inquire_response_must_support_practitioner_role_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/practitioner_role/client_submit_response_must_support_practitioner_role_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_inquire_response_must_support_requestor_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/requestor/client_submit_response_must_support_requestor_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/jobs/send_pas_subscription_notification.rb +64 -3
- data/lib/davinci_pas_test_kit/client/pas_client_subscription_pas_conformance_test.rb +4 -3
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_other_display_test.rb +6 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_smart_display_test.rb +8 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_configuration_udap_display_test.rb +9 -4
- data/lib/davinci_pas_test_kit/client/registration/abstract_other_auth_attest_test.rb +5 -4
- data/lib/davinci_pas_test_kit/client/request_count_gating.rb +14 -0
- data/lib/davinci_pas_test_kit/client/response_generator.rb +50 -9
- data/lib/davinci_pas_test_kit/client/session_identification.rb +26 -7
- data/lib/davinci_pas_test_kit/client/subscription_notification_trigger.rb +80 -0
- data/lib/davinci_pas_test_kit/client/subscription_setup_requirement.rb +59 -0
- data/lib/davinci_pas_test_kit/client/user_input_response.rb +50 -10
- data/lib/davinci_pas_test_kit/client/v2.0.1/client_suite.rb +30 -15
- data/lib/davinci_pas_test_kit/client/v2.0.1/must_support/pas_client_must_support_request_profiles_test.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_approval_group.rb +8 -7
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_auth_smart_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_auth_udap_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_denial_group.rb +8 -7
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_must_support_group.rb +38 -52
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_pended_group.rb +28 -22
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_registration_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_subscription_setup_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/pas_client_workflows_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_inquire_request_bundle_validation_test.rb +15 -21
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_inquire_response_bundle_validation_test.rb +29 -29
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_pended_submit_test.rb +49 -40
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_request_bundle_validation_test.rb +15 -21
- data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_response_bundle_validation_test.rb +29 -29
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/attestation_instructions.rb +10 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_data_element_expectations_attestation_test.rb +44 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_provider_review_attestation_test.rb +45 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_security_attestation_test.rb +42 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_subscription_error_recovery_attestation_test.rb +42 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/client_suite.rb +64 -12
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_failure_submit_test.rb +20 -10
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_operation_outcome_validation_test.rb +11 -5
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_response_validation_test.rb +21 -12
- data/lib/davinci_pas_test_kit/client/v2.2.1/error_handling/pas_client_processing_error_submit_test.rb +19 -8
- data/lib/davinci_pas_test_kit/client/v2.2.1/must_support/must_support_with_attestation_option.rb +90 -40
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_approval_group.rb +12 -11
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_attestations_group.rb +32 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_smart_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_auth_udap_group.rb +4 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_claim_updates_group.rb +24 -6
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_denial_group.rb +12 -10
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_modification_group.rb +13 -14
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_must_support_group.rb +55 -59
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_operation_failure_group.rb +8 -5
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_pended_group.rb +53 -41
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_processing_error_group.rb +9 -7
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_registration_group.rb +2 -2
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_subscription_setup_group.rb +9 -4
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_subscription_update_delete_group.rb +57 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_workflows_group.rb +22 -2
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_create_test.rb +2 -1
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_put_update_pas_conformance_test.rb +49 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/subscription/pas_client_subscription_update_delete_test.rb +12 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_referenced_resources_test.rb +5 -6
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb +82 -56
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_request_bundle_validation_test.rb +17 -20
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_inquire_response_bundle_validation_test.rb +59 -27
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_modification_verification_test.rb +0 -3
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_pended_send_notification_test.rb +138 -0
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_pended_submit_test.rb +32 -85
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_request_bundle_validation_test.rb +16 -21
- data/lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_response_bundle_validation_test.rb +27 -27
- data/lib/davinci_pas_test_kit/cross_suite/fhirpath_utils.rb +13 -3
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/beneficiary/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_inquiry/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claim_update/metadata.yml +17 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claiminquiryresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/claimresponse/metadata.yml +15 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/metadata.yml +143 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/subscriber/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.0.1/task/metadata.yml +1 -4
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/beneficiary/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_inquiry/metadata.yml +23 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claim_update/metadata.yml +31 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claiminquiryresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/claimresponse/metadata.yml +42 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/communication_request/metadata.yml +4 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/coverage/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/device_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/encounter/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/insurer/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/medication_request/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/metadata.yml +265 -1
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/nutrition_order/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_inquiry_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_request_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/pas_response_bundle/metadata.yml +2 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/practitioner_role/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/requestor/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/service_request/metadata.yml +3 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/subscriber/metadata.yml +1 -0
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/task/metadata.yml +4 -4
- data/lib/davinci_pas_test_kit/cross_suite/pas_bundle_validation.rb +570 -312
- data/lib/davinci_pas_test_kit/cross_suite/pas_constants.rb +13 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_datatype_constraints.rb +166 -0
- data/lib/davinci_pas_test_kit/cross_suite/pas_subscription_verification.rb +8 -4
- data/lib/davinci_pas_test_kit/cross_suite/referenced_resource_presence_validation.rb +141 -0
- data/lib/davinci_pas_test_kit/cross_suite/response_selection_utils.rb +39 -21
- data/lib/davinci_pas_test_kit/cross_suite/tags.rb +11 -6
- data/lib/davinci_pas_test_kit/cross_suite/validator_configuration.rb +16 -0
- data/lib/davinci_pas_test_kit/cross_suite/validator_suppressions.rb +210 -146
- data/lib/davinci_pas_test_kit/docs/demo/PAS Client Suite Demonstration.postman_collection.json +7 -7
- data/lib/davinci_pas_test_kit/ext/inferno_core/runnable.rb +1 -0
- data/lib/davinci_pas_test_kit/generator/client_must_support_group_generator.rb +47 -16
- data/lib/davinci_pas_test_kit/generator/must_support_target_profiles.rb +17 -0
- data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +14 -2
- data/lib/davinci_pas_test_kit/generator/pas_must_support_metadata_extractor.rb +1 -2
- data/lib/davinci_pas_test_kit/generator/profile_metadata.rb +1 -1
- data/lib/davinci_pas_test_kit/generator/server_must_support_group_generator.rb +23 -0
- data/lib/davinci_pas_test_kit/generator/server_suite_generator.rb +8 -7
- data/lib/davinci_pas_test_kit/generator/templates/client_must_support_group.rb.erb +22 -3
- data/lib/davinci_pas_test_kit/generator/templates/client_must_support_response_group.rb.erb +7 -16
- data/lib/davinci_pas_test_kit/generator/templates/must_support.rb.erb +11 -10
- data/lib/davinci_pas_test_kit/generator/templates/server_must_support_group.rb.erb +22 -0
- data/lib/davinci_pas_test_kit/generator/templates/server_suite.rb.erb +9 -11
- data/lib/davinci_pas_test_kit/generator/templates/use_case_group.rb.erb +3 -0
- data/lib/davinci_pas_test_kit/generator/use_case_group_generator.rb +19 -13
- data/lib/davinci_pas_test_kit/parameters_helper.rb +13 -5
- data/lib/davinci_pas_test_kit/pas_notification_conformance_test.rb +2 -2
- data/lib/davinci_pas_test_kit/requirements/davinci_pas_test_kit_requirements.csv +14 -7
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v201_requirements_coverage.csv +21 -21
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v221_requirements_coverage.csv +30 -26
- data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v221_requirements_coverage.csv +39 -33
- data/lib/davinci_pas_test_kit/requirements/hl7.fhir.us.davinci-pas_2.2.1_requirements.xlsx +0 -0
- data/lib/davinci_pas_test_kit/server/claim_operation_logic.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claim_update/server_submit_request_must_support_claim_update_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/communication_request/server_submit_response_must_support_communication_request_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_inquire_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/coverage/server_submit_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/encounter/server_submit_request_must_support_encounter_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_inquire_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/insurer/server_submit_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_approval_use_case_group.rb +4 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_denial_use_case_group.rb +4 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_pended_use_case_group.rb +7 -6
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner/server_submit_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_inquire_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_inquire_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_submit_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/requestor/server_submit_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/server_suite.rb +9 -11
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/subscriber/server_inquire_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/subscriber/server_submit_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_inquire_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/task/server_submit_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_inquire_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_request_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/beneficiary/server_submit_response_must_support_beneficiary_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_inquiry/server_inquire_request_must_support_claim_inquiry_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claim_update/server_submit_request_must_support_claim_update_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claiminquiryresponse/server_inquire_response_must_support_claiminquiryresponse_test.rb +3 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +3 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/communication_request/server_submit_response_must_support_communication_request_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_inquire_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/coverage/server_submit_request_must_support_coverage_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/encounter/server_submit_request_must_support_encounter_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_inquire_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_request_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/insurer/server_submit_response_must_support_insurer_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_request_bundle/server_inquire_request_must_support_pas_inquiry_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_inquiry_response_bundle/server_inquire_response_must_support_pas_inquiry_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_response_bundle/server_submit_response_must_support_pas_response_bundle_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_approval_use_case_group.rb +5 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_denial_use_case_group.rb +5 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_must_support_group.rb +12 -0
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_pended_use_case_group.rb +9 -4
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_inquire_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_request_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner/server_submit_response_must_support_practitioner_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_inquire_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_request_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/practitioner_role/server_submit_response_must_support_practitioner_role_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_inquire_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_request_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/requestor/server_submit_response_must_support_requestor_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/server_suite.rb +9 -11
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_inquire_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/subscriber/server_submit_request_must_support_subscriber_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_inquire_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/task/server_submit_response_must_support_task_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/pas_claim_response_decision_test.rb +2 -2
- data/lib/davinci_pas_test_kit/server/server_request_bundle_validation_test.rb +4 -6
- data/lib/davinci_pas_test_kit/server/server_response_bundle_validation_test.rb +17 -10
- data/lib/davinci_pas_test_kit/server/v2.0.1/must_support/pas_server_must_support_request_profiles_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.0.1/pas_server_subscription_setup.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/claim_inquiry/server_claim_inquiry_response_tests.rb +89 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/must_support/pas_server_must_support_request_profiles_test.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_error_group.rb +2 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_inquiry_responses_group.rb +17 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_claim_updates_group.rb +1 -1
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_no_custom_extensions_test.rb +241 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_capability_statement_test.rb +40 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/pas_server_subscription_setup.rb +15 -10
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_input_test.rb +63 -0
- data/lib/davinci_pas_test_kit/server/v2.2.1/server_replaced_pa_inquire_reference_test.rb +109 -0
- data/lib/davinci_pas_test_kit/version.rb +2 -2
- metadata +38 -13
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_inquire_response_must_support_task_test.rb +0 -45
- data/lib/davinci_pas_test_kit/client/generated/v2.0.1/task/client_submit_response_must_support_task_test.rb +0 -45
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_inquire_response_must_support_task_test.rb +0 -55
- data/lib/davinci_pas_test_kit/client/generated/v2.2.1/task/client_submit_response_must_support_task_test.rb +0 -55
- data/lib/davinci_pas_test_kit/client/v2.2.1/pas_client_error_handling_group.rb +0 -20
|
@@ -3,6 +3,10 @@ require_relative '../../claim_submit_operation_test'
|
|
|
3
3
|
require_relative '../../server_response_bundle_validation_test'
|
|
4
4
|
require_relative '../../claim_inquire_operation_test'
|
|
5
5
|
require_relative '../../v2.2.1/must_support/pas_server_must_support_request_profiles_test'
|
|
6
|
+
require_relative '../../v2.2.1/pas_server_no_custom_extensions_test'
|
|
7
|
+
require_relative '../../v2.2.1/pas_server_claim_inquiry_responses_group'
|
|
8
|
+
require_relative '../../v2.2.1/server_replaced_pa_inquire_reference_input_test'
|
|
9
|
+
require_relative '../../v2.2.1/server_replaced_pa_inquire_reference_test'
|
|
6
10
|
require_relative 'pas_request_bundle/server_submit_request_must_support_pas_request_bundle_test'
|
|
7
11
|
require_relative 'claim_update/server_submit_request_must_support_claim_update_test'
|
|
8
12
|
require_relative 'coverage/server_submit_request_must_support_coverage_test'
|
|
@@ -204,11 +208,14 @@ module DaVinciPASTestKit
|
|
|
204
208
|
}
|
|
205
209
|
)
|
|
206
210
|
end
|
|
211
|
+
|
|
212
|
+
test from: :pas_server_v221_no_custom_extensions_test
|
|
207
213
|
end
|
|
208
214
|
|
|
209
215
|
group do
|
|
210
216
|
title '$submit Request Must Support'
|
|
211
217
|
simulation_verification
|
|
218
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-4', 'hl7.fhir.us.davinci-pas_2.2.1@conf-5'
|
|
212
219
|
|
|
213
220
|
test from: :pas_server_v221_must_support_request_profiles
|
|
214
221
|
test from: :pas_server_v221_submit_request_must_support_pas_request_bundle
|
|
@@ -369,11 +376,14 @@ module DaVinciPASTestKit
|
|
|
369
376
|
}
|
|
370
377
|
)
|
|
371
378
|
end
|
|
379
|
+
test from: :pas_server_v221_replaced_pa_inquire_reference_input_test
|
|
380
|
+
test from: :pas_server_v221_replaced_pa_inquire_reference_test
|
|
372
381
|
end
|
|
373
382
|
|
|
374
383
|
group do
|
|
375
384
|
title '$inquire Request Must Support'
|
|
376
385
|
simulation_verification
|
|
386
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-4', 'hl7.fhir.us.davinci-pas_2.2.1@conf-5'
|
|
377
387
|
|
|
378
388
|
test from: :pas_server_v221_inquire_request_must_support_pas_inquiry_request_bundle
|
|
379
389
|
test from: :pas_server_v221_inquire_request_must_support_claim_inquiry
|
|
@@ -397,6 +407,8 @@ module DaVinciPASTestKit
|
|
|
397
407
|
test from: :pas_server_v221_inquire_response_must_support_practitioner_role
|
|
398
408
|
test from: :pas_server_v221_inquire_response_must_support_task
|
|
399
409
|
end
|
|
410
|
+
|
|
411
|
+
group from: :pas_server_v221_claim_inquiry_responses
|
|
400
412
|
end
|
|
401
413
|
end
|
|
402
414
|
end
|
|
@@ -12,9 +12,9 @@ module DaVinciPASTestKit
|
|
|
12
12
|
module DaVinciPASV221
|
|
13
13
|
class PASServerPendedUseCaseGroup < Inferno::TestGroup
|
|
14
14
|
id :pas_server_v221_pended_use_case
|
|
15
|
-
title 'Successful Pended
|
|
15
|
+
title 'Successful Pended Scenario'
|
|
16
16
|
description %(
|
|
17
|
-
Demonstrate a complete prior authorization
|
|
17
|
+
Demonstrate a complete prior authorization scenario including a period
|
|
18
18
|
during which the final decision is pending. This includes demonstrating
|
|
19
19
|
the ability of the server to
|
|
20
20
|
|
|
@@ -37,7 +37,7 @@ module DaVinciPASTestKit
|
|
|
37
37
|
|
|
38
38
|
This test validates the conformity of the
|
|
39
39
|
user input to the
|
|
40
|
-
[PAS Request Bundle](
|
|
40
|
+
[PAS Request Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-request-bundle.html)
|
|
41
41
|
profile, ensuring subsequent tests can accurately simulate content.
|
|
42
42
|
|
|
43
43
|
It also checks that other conformance requirements defined in the [PAS Formal
|
|
@@ -91,7 +91,7 @@ module DaVinciPASTestKit
|
|
|
91
91
|
description %(
|
|
92
92
|
This test validates the conformity of the
|
|
93
93
|
server's response to the
|
|
94
|
-
[PAS Response Bundle](
|
|
94
|
+
[PAS Response Bundle](https://hl7.org/fhir/us/davinci-pas/2.2.1/StructureDefinition-profile-pas-response-bundle.html)
|
|
95
95
|
profile.
|
|
96
96
|
|
|
97
97
|
It also checks that other conformance requirements defined in the [PAS Formal
|
|
@@ -109,6 +109,7 @@ module DaVinciPASTestKit
|
|
|
109
109
|
sets containing X12 codes are not validated.
|
|
110
110
|
|
|
111
111
|
)
|
|
112
|
+
|
|
112
113
|
config(
|
|
113
114
|
options: {
|
|
114
115
|
use_case: 'pended',
|
|
@@ -116,6 +117,7 @@ module DaVinciPASTestKit
|
|
|
116
117
|
ig_version: 'v2.2.1'
|
|
117
118
|
}
|
|
118
119
|
)
|
|
120
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-30', 'hl7.fhir.us.davinci-pas_2.2.1@spec-31', 'hl7.fhir.us.davinci-pas_2.2.1@spec-33'
|
|
119
121
|
end
|
|
120
122
|
test from: :prior_auth_claim_response_decision_validation do
|
|
121
123
|
id :pas_server_v221_decision_validation_test_pended
|
|
@@ -133,6 +135,7 @@ module DaVinciPASTestKit
|
|
|
133
135
|
|
|
134
136
|
test from: :pas_server_v221_subscription_notification_wait do
|
|
135
137
|
id :pas_server_v221_subscription_notification_wait_pended
|
|
138
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-51', 'hl7.fhir.us.davinci-pas_2.2.1@spec-60'
|
|
136
139
|
end
|
|
137
140
|
test from: :subscriptions_r4_server_notification_conformance do
|
|
138
141
|
id :pas_server_v221_subscription_notification_conformance_pended
|
|
@@ -143,6 +146,8 @@ module DaVinciPASTestKit
|
|
|
143
146
|
end
|
|
144
147
|
test from: :pas_notification_pas_conformance_test do
|
|
145
148
|
id :pas_server_v221_notification_pas_conformance_pended
|
|
149
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-61',
|
|
150
|
+
'hl7.fhir.us.davinci-pas_2.2.1@spec-62'
|
|
146
151
|
end
|
|
147
152
|
end
|
|
148
153
|
end
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
14
14
|
requests, including instances of the PAS Practitioner Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Practitioner
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Practitioner Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Practitioner
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$submit`
|
|
14
14
|
requests, including instances of the PAS Practitioner Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Practitioner
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Practitioner Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Practitioner
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
14
14
|
requests, including instances of the PAS PractitionerRole Profile.
|
|
15
15
|
This test checks all identified instances of the PAS PractitionerRole
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS PractitionerRole Profile.
|
|
13
13
|
This test checks all identified instances of the PAS PractitionerRole
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$submit`
|
|
14
14
|
requests, including instances of the PAS PractitionerRole Profile.
|
|
15
15
|
This test checks all identified instances of the PAS PractitionerRole
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS PractitionerRole Profile.
|
|
13
13
|
This test checks all identified instances of the PAS PractitionerRole
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
14
14
|
requests, including instances of the PAS Requestor Organization Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Requestor Organization
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Requestor Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Requestor Organization
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$submit`
|
|
14
14
|
requests, including instances of the PAS Requestor Organization Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Requestor Organization
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Requestor Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Requestor Organization
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
require_relative '../../../cross_suite/validator_configuration'
|
|
1
2
|
require_relative '../../../cross_suite/validator_suppressions'
|
|
2
3
|
require_relative '../../v2.2.1/pas_error_group'
|
|
3
4
|
require_relative '../../v2.2.1/pas_server_subscription_setup'
|
|
@@ -25,8 +26,7 @@ module DaVinciPASTestKit
|
|
|
25
26
|
|
|
26
27
|
The best place to get started is the [Server Testing
|
|
27
28
|
Instructions](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Instructions-v2.2.1),
|
|
28
|
-
which provides a step-by-step guide for running the tests
|
|
29
|
-
an example client implemented in Postman. Visit the [Server Testing
|
|
29
|
+
which provides a step-by-step guide for running the tests. Visit the [Server Testing
|
|
30
30
|
Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Details)
|
|
31
31
|
documentation for information about technical implementation and known limitations of these tests.
|
|
32
32
|
|
|
@@ -37,6 +37,7 @@ module DaVinciPASTestKit
|
|
|
37
37
|
- Approval of a prior authorization request
|
|
38
38
|
- Denial of a prior authorization request
|
|
39
39
|
- Pending of a prior authorization request and a subsequent final decision
|
|
40
|
+
- Claim updates (except in v2.0.1)
|
|
40
41
|
- Inability to process a prior authorization request
|
|
41
42
|
- The ability of the server to handle the full scope of data required by PAS, including
|
|
42
43
|
- Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
|
|
@@ -51,7 +52,7 @@ module DaVinciPASTestKit
|
|
|
51
52
|
required features and functionality are present. HL7® FHIR® resources are
|
|
52
53
|
validated with the Java validator using `tx.fhir.org` as the terminology server.
|
|
53
54
|
|
|
54
|
-
|
|
55
|
+
)
|
|
55
56
|
|
|
56
57
|
links [
|
|
57
58
|
{
|
|
@@ -86,17 +87,14 @@ module DaVinciPASTestKit
|
|
|
86
87
|
)
|
|
87
88
|
|
|
88
89
|
fhir_resource_validator do
|
|
89
|
-
igs
|
|
90
|
+
igs(*V221_VALIDATOR_IGS)
|
|
90
91
|
|
|
91
92
|
exclude_message do |message|
|
|
92
|
-
|
|
93
|
-
# We strip `<ResourceType>: <FHIRPath>: ` for the sake of matching
|
|
94
|
-
SUPPRESSED_MESSAGES.match?(message.message.sub(/\A\S+: \S+: /, '')) ||
|
|
95
|
-
message.message.downcase.include?('x12')
|
|
93
|
+
V221_SUPPRESSED_MESSAGES.match?(message.message.sub(VALIDATOR_MESSAGE_LOCATION_PREFIX, ''))
|
|
96
94
|
end
|
|
97
95
|
|
|
98
96
|
validation_context do
|
|
99
|
-
snomedCT
|
|
97
|
+
snomedCT SNOMED_CT_US_EDITION
|
|
100
98
|
end
|
|
101
99
|
end
|
|
102
100
|
|
|
@@ -129,9 +127,9 @@ module DaVinciPASTestKit
|
|
|
129
127
|
|
|
130
128
|
group from: :pas_server_v221_subscription_setup
|
|
131
129
|
|
|
132
|
-
group 'Demonstrate
|
|
130
|
+
group 'Demonstrate Scenario Support' do
|
|
133
131
|
description %(
|
|
134
|
-
The
|
|
132
|
+
The scenario tests validate that the server can participate in complete
|
|
135
133
|
end-to-end prior authorization interactions, returning responses that are
|
|
136
134
|
conformant and also contain the correct codes.
|
|
137
135
|
)
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
14
14
|
requests, including instances of the PAS Subscriber Patient Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Subscriber Patient
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -10,7 +10,7 @@ module DaVinciPASTestKit
|
|
|
10
10
|
**USER INPUT VALIDATION**: This test validates input provided by the user instead of the system under test. Errors encountered will be treated as a skip instead of a failure.
|
|
11
11
|
|
|
12
12
|
PAS server systems are required to be able to receive all
|
|
13
|
-
must support elements on instances of all profiles included in
|
|
13
|
+
must support elements on instances of all profiles included in `$submit`
|
|
14
14
|
requests, including instances of the PAS Subscriber Patient Profile.
|
|
15
15
|
This test checks all identified instances of the PAS Subscriber Patient
|
|
16
16
|
Profile on requests sent to the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Task Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Task
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
10
|
PAS server systems are required to be able to populate all
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Task Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Task
|
|
14
14
|
Profile on responses returned by the server to ensure that the following
|
|
@@ -7,7 +7,7 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'Server response includes the expected decision code in the ClaimResponse instance'
|
|
8
8
|
description %(
|
|
9
9
|
This test checks that the decision in the returned ClaimResponse matches
|
|
10
|
-
the decision code required for the
|
|
10
|
+
the decision code required for the scenario under examination.
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
def use_case
|
|
@@ -60,7 +60,7 @@ module DaVinciPASTestKit
|
|
|
60
60
|
|
|
61
61
|
skip_if bundles_to_check.blank?,
|
|
62
62
|
"No Bundles to check - No $#{operation} requests made during the #{use_case.titleize} " \
|
|
63
|
-
'
|
|
63
|
+
'scenario tests returned Bundles.'
|
|
64
64
|
|
|
65
65
|
codes_ok = bundles_to_check.all? do |response_bundle|
|
|
66
66
|
response_has_expected_adjudication_code?(response_bundle)
|
|
@@ -39,12 +39,12 @@ module DaVinciPASTestKit
|
|
|
39
39
|
run do
|
|
40
40
|
skip_if bundle_payload.blank?, 'No bundle request input provided.'
|
|
41
41
|
assert_valid_json(bundle_payload,
|
|
42
|
-
"Provide valid json to use for the $#{operation} during the #{use_case.titleize}
|
|
42
|
+
"Provide valid json to use for the $#{operation} during the #{use_case.titleize} scenario.")
|
|
43
43
|
bundles_to_verify = bundles
|
|
44
44
|
|
|
45
45
|
assert bundles_to_verify.present?, 'Provided input is not a Bundle or list of Bundles.'
|
|
46
46
|
|
|
47
|
-
bundles_to_verify.
|
|
47
|
+
bundle_messages = bundles_to_verify.flat_map do |bundle|
|
|
48
48
|
perform_bundle_validation(
|
|
49
49
|
bundle,
|
|
50
50
|
operation,
|
|
@@ -53,11 +53,9 @@ module DaVinciPASTestKit
|
|
|
53
53
|
)
|
|
54
54
|
end
|
|
55
55
|
|
|
56
|
-
|
|
57
|
-
messages << { type: 'error', message: msg }
|
|
58
|
-
end
|
|
56
|
+
messages.concat(bundle_messages)
|
|
59
57
|
|
|
60
|
-
skip_if
|
|
58
|
+
skip_if bundle_messages.any? { |message| message[:type] == 'error' },
|
|
61
59
|
'Bundle(s) provided are not conformant. Check messages for issues found.'
|
|
62
60
|
end
|
|
63
61
|
end
|
|
@@ -32,7 +32,15 @@ module DaVinciPASTestKit
|
|
|
32
32
|
requests = load_tagged_requests(DaVinciPASTestKit.operation_tag(operation),
|
|
33
33
|
workflow_tag)
|
|
34
34
|
bundles = []
|
|
35
|
-
|
|
35
|
+
seen_response_bodies = []
|
|
36
|
+
requests.each do |request|
|
|
37
|
+
response_body = request.response_body
|
|
38
|
+
next if response_body.blank?
|
|
39
|
+
next if seen_response_bodies.include?(response_body)
|
|
40
|
+
|
|
41
|
+
seen_response_bodies << response_body
|
|
42
|
+
|
|
43
|
+
request_bundle = FHIR.from_contents(request.request_body) if request.request_body.present?
|
|
36
44
|
resource = FHIR.from_contents(response_body)
|
|
37
45
|
next unless resource.present?
|
|
38
46
|
|
|
@@ -40,10 +48,10 @@ module DaVinciPASTestKit
|
|
|
40
48
|
if resource.resourceType == 'Parameters'
|
|
41
49
|
# Extract all Bundles from Parameters.parameter entries
|
|
42
50
|
parameter_bundles = extract_bundles_from_pas_inquiry_response_parameters(resource)
|
|
43
|
-
bundles.concat(parameter_bundles)
|
|
51
|
+
bundles.concat(parameter_bundles.map { |bundle| [bundle, request_bundle] })
|
|
44
52
|
elsif resource.is_a?(FHIR::Bundle)
|
|
45
53
|
# Handle Bundle resource (v2.0.1 or v2.2.1 non-inquire)
|
|
46
|
-
bundles << resource
|
|
54
|
+
bundles << [resource, request_bundle]
|
|
47
55
|
end
|
|
48
56
|
rescue StandardError
|
|
49
57
|
next
|
|
@@ -55,21 +63,20 @@ module DaVinciPASTestKit
|
|
|
55
63
|
run do
|
|
56
64
|
bundles_to_verify = response_bundles
|
|
57
65
|
assert bundles_to_verify.present?,
|
|
58
|
-
"No successful $#{operation} requests made during the #{use_case.titleize}
|
|
66
|
+
"No successful $#{operation} requests made during the #{use_case.titleize} scenario tests."
|
|
59
67
|
|
|
60
|
-
bundles_to_verify.
|
|
68
|
+
bundle_messages = bundles_to_verify.flat_map do |bundle, request_bundle|
|
|
61
69
|
perform_bundle_validation(
|
|
62
70
|
bundle,
|
|
63
71
|
operation,
|
|
64
72
|
'response',
|
|
65
|
-
ig_version
|
|
73
|
+
ig_version,
|
|
74
|
+
request_bundle
|
|
66
75
|
)
|
|
67
76
|
end
|
|
68
77
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
end
|
|
72
|
-
assert validation_error_messages.blank?,
|
|
78
|
+
messages.concat(bundle_messages)
|
|
79
|
+
assert bundle_messages.none? { |message| message[:type] == 'error' },
|
|
73
80
|
'Bundle response(s) returned are not conformant. Check messages for issues found.'
|
|
74
81
|
end
|
|
75
82
|
end
|
|
@@ -21,7 +21,7 @@ module DaVinciPASTestKit
|
|
|
21
21
|
* PAS Device Request
|
|
22
22
|
* PAS Nutrition Order
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
PAS servers are allowed to support only the request profiles that fit their use cases. However,
|
|
25
25
|
they must support at least one of them (because `Claim.item.extension:requestedService` is a
|
|
26
26
|
must support element) and for any request profiles they support, they must be able to
|
|
27
27
|
populate all of the defined must support elements.
|
|
@@ -8,7 +8,7 @@ module DaVinciPASTestKit
|
|
|
8
8
|
title 'Subscription Setup'
|
|
9
9
|
description %(
|
|
10
10
|
The Subscription Setup tests verify that the server supports creation of a rest-hook Subscription. The
|
|
11
|
-
Subscription instance created in these tests will be used for a notification in the pended
|
|
11
|
+
Subscription instance created in these tests will be used for a notification in the pended scenario tests
|
|
12
12
|
later.
|
|
13
13
|
)
|
|
14
14
|
config inputs: { url: { name: :server_endpoint } }
|
data/lib/davinci_pas_test_kit/server/v2.2.1/claim_inquiry/server_claim_inquiry_response_tests.rb
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
require_relative '../../../parameters_helper'
|
|
2
|
+
require_relative '../../../cross_suite/pas_constants'
|
|
3
|
+
require_relative '../../../cross_suite/tags'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
module DaVinciPASV221
|
|
7
|
+
module ServerClaimInquiryResponseValidation
|
|
8
|
+
include ParametersHelper
|
|
9
|
+
|
|
10
|
+
def inquiry_response_requests
|
|
11
|
+
load_tagged_requests(INQUIRE_TAG)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def response_bundles
|
|
15
|
+
inquiry_response_requests.flat_map do |request|
|
|
16
|
+
parsed_resource = parsed_response_resource(request)
|
|
17
|
+
next [] unless parsed_resource.is_a?(FHIR::Parameters)
|
|
18
|
+
|
|
19
|
+
extract_bundles_from_pas_inquiry_response_parameters(parsed_resource)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def parsed_response_resource(request)
|
|
24
|
+
return if request&.response_body.blank?
|
|
25
|
+
|
|
26
|
+
FHIR.from_contents(request.response_body)
|
|
27
|
+
rescue StandardError
|
|
28
|
+
nil
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def claim_inquiry_responses
|
|
32
|
+
response_bundles.flat_map { |bundle| Array(bundle.entry).filter_map { |entry| entry&.resource } }
|
|
33
|
+
.grep(FHIR::ClaimResponse)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def claim_reference?(claim_response)
|
|
37
|
+
claim_response.request&.reference.present?
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def data_absent_reason?(claim_response)
|
|
41
|
+
Array(claim_response.request&.extension).any? do |extension|
|
|
42
|
+
extension.url == PASConstants::DATA_ABSENT_REASON_EXTENSION_URL && extension.valueCode.present?
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def claim_reference_or_data_absent_reason?(claim_response)
|
|
47
|
+
claim_reference?(claim_response) || data_absent_reason?(claim_response)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
def claim_response_label(claim_response, index)
|
|
51
|
+
claim_response.id.present? ? "ClaimResponse/#{claim_response.id}" : "ClaimResponse at index #{index + 1}"
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
class PASServerClaimInquiryResponseClaimReferenceTest < Inferno::Test
|
|
56
|
+
include ServerClaimInquiryResponseValidation
|
|
57
|
+
|
|
58
|
+
id :pas_server_v221_claim_inquiry_response_claim_reference_test
|
|
59
|
+
title 'Server returns Claim Inquiry Responses with a Claim reference or Data Absent Reason'
|
|
60
|
+
description %(
|
|
61
|
+
The PAS IG [requires](https://hl7.org/fhir/us/davinci-pas/2.2.1/en/conformancedetails.html#ci-c-spec-44)
|
|
62
|
+
each Claim Inquiry Response to either reference the Claim that triggered adjudication or carry
|
|
63
|
+
a Data Absent Reason extension explaining why the Claim cannot be referenced.
|
|
64
|
+
|
|
65
|
+
This test examines ClaimResponse resources returned by prior `$inquire` requests and verifies that
|
|
66
|
+
each one includes either `ClaimResponse.request.reference` or the
|
|
67
|
+
`data-absent-reason` extension on `ClaimResponse.request`.
|
|
68
|
+
)
|
|
69
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-44'
|
|
70
|
+
|
|
71
|
+
run do
|
|
72
|
+
claim_responses = claim_inquiry_responses
|
|
73
|
+
skip_if claim_responses.empty?,
|
|
74
|
+
'No Claim Inquiry Response ClaimResponse resources were returned by prior $inquire requests.'
|
|
75
|
+
|
|
76
|
+
nonconformant = claim_responses.each_with_index.filter_map do |claim_response, index|
|
|
77
|
+
next if claim_reference_or_data_absent_reason?(claim_response)
|
|
78
|
+
|
|
79
|
+
claim_response_label(claim_response, index)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
assert nonconformant.empty?,
|
|
83
|
+
'The following Claim Inquiry Response resources did not include either ' \
|
|
84
|
+
'`ClaimResponse.request.reference` or a Data Absent Reason extension on ' \
|
|
85
|
+
"`ClaimResponse.request`: #{nonconformant.join(', ')}."
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
end
|
|
@@ -21,7 +21,7 @@ module DaVinciPASTestKit
|
|
|
21
21
|
* PAS Device Request
|
|
22
22
|
* PAS Nutrition Order
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
PAS servers are allowed to support only the request profiles that fit their use cases. However,
|
|
25
25
|
they must support at least one of them (because `Claim.item.extension:requestedService` is a
|
|
26
26
|
must support element) and for any request profiles they support, they must be able to
|
|
27
27
|
populate all of the defined must support elements.
|
|
@@ -13,6 +13,8 @@ module DaVinciPASTestKit
|
|
|
13
13
|
id :pas_v221_error_group
|
|
14
14
|
run_as_group
|
|
15
15
|
|
|
16
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-39'
|
|
17
|
+
|
|
16
18
|
test from: :pas_server_v221_prior_auth_submission_error
|
|
17
19
|
test from: :pas_server_v221_prior_auth_inquiry_error
|
|
18
20
|
end
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
require_relative 'claim_inquiry/server_claim_inquiry_response_tests'
|
|
2
|
+
|
|
3
|
+
module DaVinciPASTestKit
|
|
4
|
+
module DaVinciPASV221
|
|
5
|
+
class PASServerClaimInquiryResponsesGroup < Inferno::TestGroup
|
|
6
|
+
id :pas_server_v221_claim_inquiry_responses
|
|
7
|
+
title 'Additional $inquire Response Requirements'
|
|
8
|
+
description %(
|
|
9
|
+
Verify additional PAS Claim Inquiry Response rules against the ClaimResponse resources returned
|
|
10
|
+
by prior `$inquire` interactions. This group uses the inquiry responses already collected during
|
|
11
|
+
the server suite, including the Must Support inquiry workflow.
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
test from: :pas_server_v221_claim_inquiry_response_claim_reference_test
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -92,7 +92,7 @@ module DaVinciPASTestKit
|
|
|
92
92
|
group do
|
|
93
93
|
title "Verify the server's responses to the claim updates"
|
|
94
94
|
description %(
|
|
95
|
-
|
|
95
|
+
The tests in this group check the server's responses from the submission sequence and verify that the server
|
|
96
96
|
returned current results for all submitted items and echoed the submitted item sequences.
|
|
97
97
|
)
|
|
98
98
|
|