davinci_pas_test_kit 0.15.2 → 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/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 +43 -26
- 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 +91 -25
- data/lib/davinci_pas_test_kit/client/endpoints/claim_endpoint.rb +108 -68
- 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 +27 -6
- 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/generated/v2.0.1/task/metadata.yml +0 -4
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/metadata.yml +0 -1
- data/lib/davinci_pas_test_kit/cross_suite/generated/v2.2.1/task/metadata.yml +0 -4
- data/lib/davinci_pas_test_kit/cross_suite/pas_bundle_validation.rb +489 -289
- data/lib/davinci_pas_test_kit/cross_suite/pas_constants.rb +7 -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 +13 -11
- 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 +4 -0
- data/lib/davinci_pas_test_kit/docs/demo/PAS Client Suite Demonstration.postman_collection.json +3 -3
- 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 +8 -2
- data/lib/davinci_pas_test_kit/generator/profile_metadata.rb +1 -1
- data/lib/davinci_pas_test_kit/generator/server_suite_generator.rb +4 -9
- 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 +8 -8
- data/lib/davinci_pas_test_kit/generator/templates/server_suite.rb.erb +6 -7
- data/lib/davinci_pas_test_kit/generator/use_case_group_generator.rb +5 -5
- 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 +12 -6
- 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 +3 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_denial_use_case_group.rb +3 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.0.1/pas_server_pended_use_case_group.rb +6 -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 +6 -7
- 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 +1 -1
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/claimresponse/server_submit_response_must_support_claimresponse_test.rb +1 -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 +3 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_denial_use_case_group.rb +3 -3
- data/lib/davinci_pas_test_kit/server/generated/v2.2.1/pas_server_pended_use_case_group.rb +4 -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 +6 -7
- 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 +4 -6
- 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/must_support/pas_server_must_support_request_profiles_test.rb +1 -1
- 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_subscription_setup.rb +1 -1
- data/lib/davinci_pas_test_kit/version.rb +2 -2
- metadata +31 -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
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'udap_security_test_kit'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
# Identifies the test session for the claim and Subscription endpoints, using either the session
|
|
7
|
+
# path or the client id embedded in the bearer token.
|
|
8
|
+
module EndpointSessionIdentification
|
|
9
|
+
# Where the session identifier is expected. Used in responses when no session is found.
|
|
10
|
+
LOCATION_DESCRIPTION = 'the path or embedded within the bearer token in the Authorization header'
|
|
11
|
+
|
|
12
|
+
def test_run_identifier_location_description
|
|
13
|
+
LOCATION_DESCRIPTION
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_run_identifier
|
|
17
|
+
return request.params[:session_path] if request.params[:session_path].present?
|
|
18
|
+
|
|
19
|
+
UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
|
|
20
|
+
request.headers['authorization']&.delete_prefix('Bearer ')
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require 'udap_security_test_kit'
|
|
4
|
+
|
|
5
|
+
module DaVinciPASTestKit
|
|
6
|
+
# Checks whether the request's bearer token has expired.
|
|
7
|
+
module ExpiredToken
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
# Memoized so the token is only decoded and parsed once per request, even though both
|
|
11
|
+
# #tags and the response handling need to check it.
|
|
12
|
+
def expired_token?
|
|
13
|
+
return @expired_token if defined?(@expired_token)
|
|
14
|
+
|
|
15
|
+
@expired_token = UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Prepended to endpoints that reject requests made with an expired bearer token before any other
|
|
20
|
+
# handling.
|
|
21
|
+
module ExpiredTokenRejection
|
|
22
|
+
include ExpiredToken
|
|
23
|
+
|
|
24
|
+
def make_response
|
|
25
|
+
if expired_token?
|
|
26
|
+
UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token')
|
|
27
|
+
return
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
super
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def tags
|
|
34
|
+
# Requests rejected for an expired token are not treated as submissions of any workflow.
|
|
35
|
+
return [] if expired_token?
|
|
36
|
+
|
|
37
|
+
super
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
@@ -1,25 +1,18 @@
|
|
|
1
1
|
require_relative '../../cross_suite/tags'
|
|
2
|
+
require_relative 'endpoint_session_identification'
|
|
3
|
+
require_relative 'expired_token'
|
|
2
4
|
require_relative '../jobs/send_subscription_handshake'
|
|
3
5
|
require 'subscriptions_test_kit'
|
|
4
6
|
|
|
5
7
|
module DaVinciPASTestKit
|
|
6
8
|
class SubscriptionCreateEndpoint < Inferno::DSL::SuiteEndpoint
|
|
7
9
|
include SubscriptionsTestKit::SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils
|
|
10
|
+
include EndpointSessionIdentification
|
|
11
|
+
prepend ExpiredTokenRejection
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
return request.params[:session_path] if request.params[:session_path].present?
|
|
11
|
-
|
|
12
|
-
UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
|
|
13
|
-
request.headers['authorization']&.delete_prefix('Bearer ')
|
|
14
|
-
)
|
|
15
|
-
end
|
|
13
|
+
error_response_format :operation_outcome
|
|
16
14
|
|
|
17
15
|
def make_response
|
|
18
|
-
if UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
|
|
19
|
-
UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response, 'Bearer token')
|
|
20
|
-
return
|
|
21
|
-
end
|
|
22
|
-
|
|
23
16
|
response.format = :json
|
|
24
17
|
response.status = 400
|
|
25
18
|
|
|
@@ -73,6 +66,8 @@ module DaVinciPASTestKit
|
|
|
73
66
|
[SUBSCRIPTION_CREATE_TAG]
|
|
74
67
|
end
|
|
75
68
|
|
|
69
|
+
private
|
|
70
|
+
|
|
76
71
|
def verify_subscription(subscription)
|
|
77
72
|
unless subscription.is_a? FHIR::Subscription
|
|
78
73
|
return operation_outcome('error', 'invalid', 'No recognized R4 Subscription in request body')
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require_relative '../../cross_suite/tags'
|
|
2
|
+
require_relative 'endpoint_session_identification'
|
|
3
|
+
require_relative 'expired_token'
|
|
4
|
+
require 'subscriptions_test_kit'
|
|
5
|
+
|
|
6
|
+
module DaVinciPASTestKit
|
|
7
|
+
class SubscriptionDeleteEndpoint < SubscriptionsTestKit::SubscriptionDeleteEndpoint
|
|
8
|
+
include EndpointSessionIdentification
|
|
9
|
+
prepend ExpiredTokenRejection
|
|
10
|
+
|
|
11
|
+
error_response_format :operation_outcome
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require_relative '../../cross_suite/tags'
|
|
2
|
+
require_relative 'endpoint_session_identification'
|
|
3
|
+
require_relative 'expired_token'
|
|
4
|
+
require 'subscriptions_test_kit'
|
|
5
|
+
|
|
6
|
+
module DaVinciPASTestKit
|
|
7
|
+
class SubscriptionReadEndpoint < SubscriptionsTestKit::SubscriptionReadEndpoint
|
|
8
|
+
include EndpointSessionIdentification
|
|
9
|
+
prepend ExpiredTokenRejection
|
|
10
|
+
|
|
11
|
+
error_response_format :operation_outcome
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -1,34 +1,29 @@
|
|
|
1
1
|
require_relative '../../cross_suite/tags'
|
|
2
|
+
require_relative 'endpoint_session_identification'
|
|
3
|
+
require_relative 'expired_token'
|
|
2
4
|
require 'subscriptions_test_kit'
|
|
3
5
|
|
|
4
6
|
module DaVinciPASTestKit
|
|
5
7
|
class SubscriptionStatusEndpoint < Inferno::DSL::SuiteEndpoint
|
|
6
8
|
include SubscriptionsTestKit::SubscriptionsR5BackportR4Client::SubscriptionSimulationUtils
|
|
7
9
|
include ResponseGenerator
|
|
10
|
+
include EndpointSessionIdentification
|
|
11
|
+
prepend ExpiredTokenRejection
|
|
8
12
|
|
|
9
|
-
|
|
10
|
-
return request.params[:session_path] if request.params[:session_path].present?
|
|
11
|
-
|
|
12
|
-
UDAPSecurityTestKit::MockUDAPServer.issued_token_to_client_id(
|
|
13
|
-
request.headers['authorization']&.delete_prefix('Bearer ')
|
|
14
|
-
)
|
|
15
|
-
end
|
|
13
|
+
error_response_format :operation_outcome
|
|
16
14
|
|
|
17
15
|
def make_response
|
|
18
|
-
if UDAPSecurityTestKit::MockUDAPServer.request_has_expired_token?(request)
|
|
19
|
-
UDAPSecurityTestKit::MockUDAPServer.update_response_for_expired_token(response)
|
|
20
|
-
return
|
|
21
|
-
end
|
|
22
|
-
|
|
23
16
|
response.format = :json
|
|
24
|
-
|
|
17
|
+
# Reflects any updates or deletion of the Subscription by the client
|
|
18
|
+
subscription = find_current_subscription(test_run.test_session_id)
|
|
25
19
|
|
|
26
|
-
|
|
20
|
+
subscription_id = request.params[:id]
|
|
21
|
+
if subscription.blank? || (subscription_id.present? && subscription_id != subscription.id)
|
|
27
22
|
not_found
|
|
28
23
|
return
|
|
29
24
|
end
|
|
30
25
|
|
|
31
|
-
|
|
26
|
+
status_code = current_subscription_status_code(subscription)
|
|
32
27
|
|
|
33
28
|
# Handle resource-level status params
|
|
34
29
|
unless subscription_id.present?
|
|
@@ -40,7 +35,7 @@ module DaVinciPASTestKit
|
|
|
40
35
|
return
|
|
41
36
|
end
|
|
42
37
|
|
|
43
|
-
unless subscription_params_match?(params, subscription)
|
|
38
|
+
unless subscription_params_match?(params, subscription, status_code)
|
|
44
39
|
not_found
|
|
45
40
|
return
|
|
46
41
|
end
|
|
@@ -48,7 +43,6 @@ module DaVinciPASTestKit
|
|
|
48
43
|
|
|
49
44
|
subscription_url = "#{base_subscription_url}/#{subscription.id}"
|
|
50
45
|
subscription_topic = subscription.criteria
|
|
51
|
-
status_code = determine_subscription_status_code(subscription_id)
|
|
52
46
|
event_count = determine_event_count(test_run.test_session_id)
|
|
53
47
|
|
|
54
48
|
notification_json = notification_bundle_input(result)
|
|
@@ -69,20 +63,21 @@ module DaVinciPASTestKit
|
|
|
69
63
|
response.status = 200
|
|
70
64
|
end
|
|
71
65
|
|
|
72
|
-
def subscription_params_match?(params, subscription)
|
|
66
|
+
def subscription_params_match?(params, subscription, status_code)
|
|
73
67
|
id_params = find_params(params, 'id')
|
|
74
68
|
|
|
75
69
|
return false if id_params&.any? && id_params&.none? { |p| p.valueString == subscription.id }
|
|
76
70
|
|
|
77
71
|
status_params = find_params(params, 'status')
|
|
78
|
-
|
|
79
|
-
status_params.blank? || status_params.any? { |p| p.valueString == subscription_status }
|
|
72
|
+
status_params.blank? || status_params.any? { |p| p.valueString == status_code }
|
|
80
73
|
end
|
|
81
74
|
|
|
82
75
|
def tags
|
|
83
76
|
[SUBSCRIPTION_STATUS_TAG]
|
|
84
77
|
end
|
|
85
78
|
|
|
79
|
+
private
|
|
80
|
+
|
|
86
81
|
def not_found
|
|
87
82
|
response.status = 404
|
|
88
83
|
response.body = operation_outcome('error', 'not-found').to_json
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
require_relative '../../cross_suite/tags'
|
|
2
|
+
require_relative 'endpoint_session_identification'
|
|
3
|
+
require_relative 'expired_token'
|
|
4
|
+
require 'subscriptions_test_kit'
|
|
5
|
+
|
|
6
|
+
module DaVinciPASTestKit
|
|
7
|
+
class SubscriptionUpdateEndpoint < SubscriptionsTestKit::SubscriptionUpdateEndpoint
|
|
8
|
+
include EndpointSessionIdentification
|
|
9
|
+
prepend ExpiredTokenRejection
|
|
10
|
+
|
|
11
|
+
error_response_format :operation_outcome
|
|
12
|
+
end
|
|
13
|
+
end
|
|
@@ -12,6 +12,22 @@ module DaVinciPASTestKit
|
|
|
12
12
|
|
|
13
13
|
def test_run_identifier
|
|
14
14
|
UDAPSecurityTestKit::MockUDAPServer.client_id_from_client_assertion(request.params[:client_assertion])
|
|
15
|
+
rescue JWT::DecodeError
|
|
16
|
+
nil
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def test_run_identifier_location_description
|
|
20
|
+
"the client assertion's 'iss' claim representing the client's id"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def no_session_response
|
|
24
|
+
response.status = 401
|
|
25
|
+
response.format = :json
|
|
26
|
+
response.body = {
|
|
27
|
+
error: 'invalid_client',
|
|
28
|
+
error_description: no_session_message
|
|
29
|
+
|
|
30
|
+
}.to_json
|
|
15
31
|
end
|
|
16
32
|
|
|
17
33
|
def make_response
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Beneficiary Patient are observed on $inquire requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
requests, including instances of the PAS Beneficiary Patient Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Beneficiary Patient
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Patient.address
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Beneficiary Patient are observed on $inquire responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Beneficiary Patient Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Beneficiary Patient
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Patient.address
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Beneficiary Patient are observed on $submit requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
requests, including instances of the PAS Beneficiary Patient Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Beneficiary Patient
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Patient.address
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Beneficiary Patient are observed on $submit responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Beneficiary Patient Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Beneficiary Patient
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Patient.address
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Claim Inquiry are observed on $inquire requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
requests, including instances of the PAS Claim Inquiry Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Claim Inquiry
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Claim.accident
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Claim Update are observed on $submit requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
requests, including instances of the PAS Claim Update Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Claim Update
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Claim.accident
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Claim Inquiry Response are observed on $inquire responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Claim Inquiry Response Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Claim Inquiry Response
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* ClaimResponse.created
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Claim Response are observed on $submit responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Claim Response Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Claim Response
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* ClaimResponse.communicationRequest
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS CommunicationRequest are observed on $submit responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS CommunicationRequest Profile.
|
|
13
13
|
This test checks all identified instances of the PAS CommunicationRequest
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* CommunicationRequest.category
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Coverage are observed on $inquire requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
requests, including instances of the PAS Coverage Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Coverage
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Coverage.beneficiary
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Coverage are observed on $submit requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
requests, including instances of the PAS Coverage Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Coverage
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Coverage.beneficiary
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Encounter are observed on $submit requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
requests, including instances of the PAS Encounter Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Encounter
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Encounter.class
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Insurer Organization are observed on $inquire requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
requests, including instances of the PAS Insurer Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Insurer Organization
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Organization.active
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Insurer Organization are observed on $inquire responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$inquire`
|
|
12
12
|
responses, including instances of the PAS Insurer Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Insurer Organization
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Organization.active
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Insurer Organization are observed on $submit requests'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to populate all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
requests, including instances of the PAS Insurer Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Insurer Organization
|
|
14
|
-
Profile on requests sent by the client to ensure that the following
|
|
14
|
+
Profile on requests sent by the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Organization.active
|
|
@@ -7,11 +7,11 @@ module DaVinciPASTestKit
|
|
|
7
7
|
title 'All must support elements for profile PAS Insurer Organization are observed on $submit responses'
|
|
8
8
|
description %(
|
|
9
9
|
|
|
10
|
-
PAS
|
|
11
|
-
must support elements on instances of all profiles included in
|
|
10
|
+
PAS clients are required to be able to receive all
|
|
11
|
+
must support elements on instances of all profiles included in `$submit`
|
|
12
12
|
responses, including instances of the PAS Insurer Organization Profile.
|
|
13
13
|
This test checks all identified instances of the PAS Insurer Organization
|
|
14
|
-
Profile on responses sent to the client to ensure that the following
|
|
14
|
+
Profile on responses sent to the PAS client to ensure that the following
|
|
15
15
|
must support elements are observed:
|
|
16
16
|
|
|
17
17
|
* Organization.active
|
data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_inquire_must_support_group.rb
CHANGED
|
@@ -14,7 +14,7 @@ module DaVinciPASTestKit
|
|
|
14
14
|
id :pas_client_v201_inquire_must_support
|
|
15
15
|
title '$inquire Request Must Support Coverage'
|
|
16
16
|
description %(
|
|
17
|
-
Check that the client
|
|
17
|
+
Check that the PAS client demonstrated `$inquire` requests that contain
|
|
18
18
|
all PAS-defined profiles and their must support elements.
|
|
19
19
|
|
|
20
20
|
For `$inquire` requests, this includes the following profiles:
|
|
@@ -5,8 +5,6 @@ require_relative 'requestor/client_inquire_response_must_support_requestor_test'
|
|
|
5
5
|
require_relative 'beneficiary/client_inquire_response_must_support_beneficiary_test'
|
|
6
6
|
require_relative 'practitioner/client_inquire_response_must_support_practitioner_test'
|
|
7
7
|
require_relative 'practitioner_role/client_inquire_response_must_support_practitioner_role_test'
|
|
8
|
-
require_relative 'task/client_inquire_response_must_support_task_test'
|
|
9
|
-
require_relative '../../v2.0.1/workflows/pas_client_response_attest'
|
|
10
8
|
|
|
11
9
|
module DaVinciPASTestKit
|
|
12
10
|
module DaVinciPASV201
|
|
@@ -14,12 +12,9 @@ module DaVinciPASTestKit
|
|
|
14
12
|
id :pas_client_v201_inquire_response_must_support
|
|
15
13
|
title '$inquire Response Must Support Coverage'
|
|
16
14
|
description %(
|
|
17
|
-
Check that `$inquire` responses provided to the client contain
|
|
15
|
+
Check that `$inquire` responses provided to the PAS client contain
|
|
18
16
|
all PAS-defined profiles and their must support elements.
|
|
19
17
|
|
|
20
|
-
**USER INPUT VALIDATION**: These tests validate responses provided by the tester,
|
|
21
|
-
not the system under test. Errors will be treated as skips instead of failures.
|
|
22
|
-
|
|
23
18
|
For `$inquire` responses, this includes the following profiles:
|
|
24
19
|
|
|
25
20
|
- [PAS Inquiry Response Bundle](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-inquiry-response-bundle.html)
|
|
@@ -29,7 +24,6 @@ module DaVinciPASTestKit
|
|
|
29
24
|
- [PAS Beneficiary Patient](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-beneficiary.html)
|
|
30
25
|
- [PAS Practitioner](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitioner.html)
|
|
31
26
|
- [PAS PractitionerRole](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-practitionerrole.html)
|
|
32
|
-
- [PAS Task](https://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-task.html)
|
|
33
27
|
|
|
34
28
|
|
|
35
29
|
|
|
@@ -37,42 +31,26 @@ module DaVinciPASTestKit
|
|
|
37
31
|
run_as_group
|
|
38
32
|
|
|
39
33
|
test from: :pas_client_v201_inquire_response_must_support_pas_inquiry_response_bundle do
|
|
40
|
-
|
|
34
|
+
simulation_verification
|
|
41
35
|
end
|
|
42
36
|
test from: :pas_client_v201_inquire_response_must_support_claiminquiryresponse do
|
|
43
|
-
verifies_requirements 'hl7.fhir.us.davinci-pas_2.
|
|
37
|
+
verifies_requirements(*verifies_requirements, 'hl7.fhir.us.davinci-pas_2.0.1@40')
|
|
38
|
+
simulation_verification
|
|
44
39
|
end
|
|
45
40
|
test from: :pas_client_v201_inquire_response_must_support_insurer do
|
|
46
|
-
|
|
41
|
+
simulation_verification
|
|
47
42
|
end
|
|
48
43
|
test from: :pas_client_v201_inquire_response_must_support_requestor do
|
|
49
|
-
|
|
44
|
+
simulation_verification
|
|
50
45
|
end
|
|
51
46
|
test from: :pas_client_v201_inquire_response_must_support_beneficiary do
|
|
52
|
-
|
|
47
|
+
simulation_verification
|
|
53
48
|
end
|
|
54
49
|
test from: :pas_client_v201_inquire_response_must_support_practitioner do
|
|
55
|
-
|
|
50
|
+
simulation_verification
|
|
56
51
|
end
|
|
57
52
|
test from: :pas_client_v201_inquire_response_must_support_practitioner_role do
|
|
58
|
-
|
|
59
|
-
end
|
|
60
|
-
test from: :pas_client_v201_inquire_response_must_support_task do
|
|
61
|
-
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-7'
|
|
62
|
-
end
|
|
63
|
-
test from: :pas_client_v201_response_attest,
|
|
64
|
-
title: 'PAS client handled the $inquire response must support elements',
|
|
65
|
-
description: %(
|
|
66
|
-
This test provides the tester an opportunity to verify that their client
|
|
67
|
-
correctly processed and used the must support elements present in the
|
|
68
|
-
$inquire responses received from Inferno during these tests.
|
|
69
|
-
),
|
|
70
|
-
config: { options: {
|
|
71
|
-
workflow_tag: MUST_SUPPORT_WORKFLOW_TAG,
|
|
72
|
-
attest_message: "I attest that the client system correctly processed the must support elements " \
|
|
73
|
-
"contained in the $inquire responses received from Inferno and did not error."
|
|
74
|
-
} } do
|
|
75
|
-
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-8'
|
|
53
|
+
simulation_verification
|
|
76
54
|
end
|
|
77
55
|
end
|
|
78
56
|
end
|
data/lib/davinci_pas_test_kit/client/generated/v2.0.1/pas_client_submit_must_support_group.rb
CHANGED
|
@@ -16,7 +16,7 @@ module DaVinciPASTestKit
|
|
|
16
16
|
id :pas_client_v201_submit_must_support
|
|
17
17
|
title '$submit Request Must Support Coverage'
|
|
18
18
|
description %(
|
|
19
|
-
Check that the client
|
|
19
|
+
Check that the PAS client demonstrated `$submit` requests that contain
|
|
20
20
|
all PAS-defined profiles and their must support elements.
|
|
21
21
|
|
|
22
22
|
For `$submit` requests, this includes the following profiles:
|