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
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
require_relative '../../../cross_suite/pas_bundle_validation'
|
|
2
|
+
require_relative '../../client_bundle_validation_helper'
|
|
2
3
|
|
|
3
4
|
module DaVinciPASTestKit
|
|
4
5
|
module DaVinciPASV201
|
|
5
6
|
class PasClientInquireRequestBundleValidationTest < Inferno::Test
|
|
6
7
|
include DaVinciPASTestKit::PasBundleValidation
|
|
8
|
+
include DaVinciPASTestKit::ClientBundleValidationHelper
|
|
7
9
|
|
|
8
10
|
id :pas_client_v201_inquire_request_bundle_validation_test
|
|
9
|
-
title '
|
|
11
|
+
title '$inquire request Bundles have the correct structure and content'
|
|
10
12
|
description %(
|
|
11
|
-
This test verifies the conformity of the client's request
|
|
13
|
+
This test verifies the conformity of each of the PAS client's `$inquire` request bodies to the
|
|
12
14
|
[PAS Inquiry Request Bundle](http://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-inquiry-request-bundle.html)
|
|
13
15
|
structure. It also checks that other conformance requirements defined in the [PAS Formal
|
|
14
16
|
Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
|
|
@@ -37,30 +39,22 @@ module DaVinciPASTestKit
|
|
|
37
39
|
'hl7.fhir.us.davinci-pas_2.0.1@125', 'hl7.fhir.us.davinci-pas_2.0.1@126',
|
|
38
40
|
'hl7.fhir.us.davinci-pas_2.0.1@127', 'hl7.fhir.us.davinci-pas_2.0.1@128'
|
|
39
41
|
|
|
40
|
-
def
|
|
41
|
-
|
|
42
|
+
def operation_name
|
|
43
|
+
'inquire'
|
|
42
44
|
end
|
|
43
45
|
|
|
44
|
-
def
|
|
45
|
-
|
|
46
|
+
def message_direction_name
|
|
47
|
+
'request'
|
|
46
48
|
end
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
else
|
|
52
|
-
load_tagged_requests(request_type_tag)
|
|
53
|
-
end
|
|
54
|
-
skip_if !request.present?, 'No inquire requests received.'
|
|
50
|
+
def ig_version
|
|
51
|
+
'2.0.1'
|
|
52
|
+
end
|
|
55
53
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
'inquire',
|
|
61
|
-
'request_bundle',
|
|
62
|
-
message: 'The Bundle provided for the Claim/$inquire operation is invalid:'
|
|
63
|
-
)
|
|
54
|
+
run do
|
|
55
|
+
failed = non_conformant_bundles
|
|
56
|
+
assert failed.empty?,
|
|
57
|
+
"Non-conformant request Bundles detected: #{failed.join(', ')}. Check messages for issues found."
|
|
64
58
|
end
|
|
65
59
|
end
|
|
66
60
|
end
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
require_relative '../../../cross_suite/pas_bundle_validation'
|
|
2
2
|
require_relative '../../user_input_response'
|
|
3
|
-
require_relative '../../
|
|
3
|
+
require_relative '../../client_bundle_validation_helper'
|
|
4
4
|
|
|
5
5
|
module DaVinciPASTestKit
|
|
6
6
|
module DaVinciPASV201
|
|
7
7
|
class PasClientInquireResponseBundleValidationTest < Inferno::Test
|
|
8
8
|
include DaVinciPASTestKit::PasBundleValidation
|
|
9
9
|
include UserInputResponse
|
|
10
|
-
include
|
|
10
|
+
include DaVinciPASTestKit::ClientBundleValidationHelper
|
|
11
11
|
|
|
12
12
|
id :pas_client_v201_inquire_response_bundle_validation_test
|
|
13
|
-
title '
|
|
13
|
+
title '$inquire response Bundles have the correct structure and content'
|
|
14
14
|
description %(
|
|
15
|
-
|
|
15
|
+
This test verifies input provided by the tester instead of the PAS client.
|
|
16
16
|
Errors encountered will be treated as a skip instead of a failure.
|
|
17
17
|
|
|
18
|
-
This test verifies the conformity of
|
|
18
|
+
This test verifies the conformity of each `$inquire` response sent by Inferno, which will have been
|
|
19
19
|
either:
|
|
20
20
|
- the response body provided by the tester in the corresponding input, or
|
|
21
21
|
- created by Inferno from the $inquire Bundle.
|
|
@@ -33,8 +33,11 @@ module DaVinciPASTestKit
|
|
|
33
33
|
to the bound ValueSet. Quantity, Coding, and code element bindings will
|
|
34
34
|
fail if their code/system are not found in the valueset.
|
|
35
35
|
|
|
36
|
-
Note that
|
|
37
|
-
|
|
36
|
+
Note that:
|
|
37
|
+
- To ensure that the PAS client is driving its behavior only based on standard
|
|
38
|
+
PAS information, custom extensions are not allowed within the responses.
|
|
39
|
+
- Because X12 value sets are not public, elements bound to value
|
|
40
|
+
sets containing X12 codes are not validated.
|
|
38
41
|
|
|
39
42
|
**Limitations**
|
|
40
43
|
|
|
@@ -46,12 +49,16 @@ module DaVinciPASTestKit
|
|
|
46
49
|
)
|
|
47
50
|
simulation_verification
|
|
48
51
|
|
|
49
|
-
def
|
|
52
|
+
def operation_name
|
|
50
53
|
'inquire'
|
|
51
54
|
end
|
|
52
55
|
|
|
53
|
-
def
|
|
54
|
-
|
|
56
|
+
def message_direction_name
|
|
57
|
+
'response'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def ig_version
|
|
61
|
+
'2.0.1'
|
|
55
62
|
end
|
|
56
63
|
|
|
57
64
|
def target_user_input
|
|
@@ -63,26 +70,19 @@ module DaVinciPASTestKit
|
|
|
63
70
|
end
|
|
64
71
|
end
|
|
65
72
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
else
|
|
74
|
-
'Invalid response generated from the submitted claim:'
|
|
75
|
-
end
|
|
73
|
+
def failed_entities_description
|
|
74
|
+
if user_inputted_response? target_user_input
|
|
75
|
+
"built from tester-provided response in '#{input_title(target_user_input)}'"
|
|
76
|
+
else
|
|
77
|
+
'generated from the submitted claim'
|
|
78
|
+
end
|
|
79
|
+
end
|
|
76
80
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
'response_bundle',
|
|
83
|
-
skips: true,
|
|
84
|
-
message:
|
|
85
|
-
)
|
|
81
|
+
run do
|
|
82
|
+
failed = non_conformant_bundles
|
|
83
|
+
skip_if failed.present?,
|
|
84
|
+
"Non-conformant response Bundles #{failed_entities_description}: #{failed.join(', ')}. " \
|
|
85
|
+
'Check messages for issues found.'
|
|
86
86
|
end
|
|
87
87
|
end
|
|
88
88
|
end
|
|
@@ -3,6 +3,7 @@ require_relative '../../client_input_descriptions'
|
|
|
3
3
|
require_relative '../../user_input_response'
|
|
4
4
|
require_relative '../../../cross_suite/pas_bundle_validation'
|
|
5
5
|
require_relative '../../session_identification'
|
|
6
|
+
require_relative '../../subscription_setup_requirement'
|
|
6
7
|
|
|
7
8
|
module DaVinciPASTestKit
|
|
8
9
|
module DaVinciPASV201
|
|
@@ -11,15 +12,16 @@ module DaVinciPASTestKit
|
|
|
11
12
|
include SessionIdentification
|
|
12
13
|
include UserInputResponse
|
|
13
14
|
include PasBundleValidation
|
|
15
|
+
include SubscriptionSetupRequirement
|
|
14
16
|
|
|
15
17
|
id :pas_client_v201_pended_submit_test
|
|
16
|
-
title '
|
|
18
|
+
title 'PAS client submits a claim and reacts to a pended response'
|
|
17
19
|
description %(
|
|
18
|
-
Inferno will wait for a prior authorization submission request
|
|
19
|
-
from the client. Upon receipt, Inferno will respond with the
|
|
20
|
+
During this test, Inferno will wait for a prior authorization submission request
|
|
21
|
+
from the PAS client. Upon receipt, Inferno will respond with the
|
|
20
22
|
provided pended response. Subsequently, Inferno will send a
|
|
21
23
|
notification that the claim has been finalized and expect the
|
|
22
|
-
client
|
|
24
|
+
PAS client to send a follow-up inquiry.
|
|
23
25
|
)
|
|
24
26
|
verifies_requirements 'hl7.fhir.us.davinci-pas_2.0.1@58', 'hl7.fhir.us.davinci-pas_2.0.1@62',
|
|
25
27
|
'hl7.fhir.us.davinci-pas_2.0.1@67', 'hl7.fhir.us.davinci-pas_2.0.1@70',
|
|
@@ -27,14 +29,14 @@ module DaVinciPASTestKit
|
|
|
27
29
|
'hl7.fhir.us.davinci-pas_2.0.1@153', 'hl7.fhir.us.davinci-pas_2.0.1@202',
|
|
28
30
|
'hl7.fhir.us.davinci-pas_2.0.1@203'
|
|
29
31
|
|
|
30
|
-
config options: { accepts_multiple_requests: true }
|
|
32
|
+
config options: { accepts_multiple_requests: true, submit_enabled: true, inquire_enabled: true }
|
|
31
33
|
input :notification_bundle,
|
|
32
34
|
title: 'Claim updated notification JSON',
|
|
33
35
|
type: 'textarea',
|
|
34
36
|
optional: true,
|
|
35
37
|
description: %(
|
|
36
38
|
If provided, this JSON will be sent as the notification for the
|
|
37
|
-
PAS Subscription to tell the client that a decision has been made on the pended claim.
|
|
39
|
+
PAS Subscription to tell the PAS client that a decision has been made on the pended claim.
|
|
38
40
|
Before sending, Inferno will update the provided notification with details that the tester cannot
|
|
39
41
|
know ahead of time, including timestamps corresponding to the notification trigger time, and the id of
|
|
40
42
|
the triggering ClaimResponse if Inferno mocks that ClaimResponse because it is not provided by the
|
|
@@ -69,8 +71,8 @@ module DaVinciPASTestKit
|
|
|
69
71
|
optional: true,
|
|
70
72
|
title: 'Client Notification Access Token',
|
|
71
73
|
description: %(
|
|
72
|
-
The bearer token that Inferno will send on requests to the client
|
|
73
|
-
endpoint. Not needed if the client
|
|
74
|
+
The bearer token that Inferno will send on requests to the PAS client's rest-hook notification
|
|
75
|
+
endpoint. Not needed if the PAS client will create a Subscription with an appropriate header value
|
|
74
76
|
in the `channel.header` element. If a value for the `authorization` header is provided in
|
|
75
77
|
`channel.header`, this value will override it.
|
|
76
78
|
)
|
|
@@ -92,13 +94,7 @@ module DaVinciPASTestKit
|
|
|
92
94
|
inquire_respond_with :inquire_json_response
|
|
93
95
|
|
|
94
96
|
run do
|
|
95
|
-
|
|
96
|
-
skip_if requests.empty?, # NOTE: subscription needed ahead of time to support notification generation
|
|
97
|
-
%(
|
|
98
|
-
Pended workflow tests cannot proceed because no Subscription exists to receive notifications
|
|
99
|
-
for pended claims. Run the _PAS Subscription Setup_ tests to provide a Subscription for use
|
|
100
|
-
in delivering notifications before re-running the pended workflow tests.
|
|
101
|
-
)
|
|
97
|
+
require_unmodified_subscription
|
|
102
98
|
|
|
103
99
|
if user_inputted_response? :pended_json_response
|
|
104
100
|
assert_valid_json pended_json_response,
|
|
@@ -141,42 +137,55 @@ module DaVinciPASTestKit
|
|
|
141
137
|
wait(
|
|
142
138
|
identifier: wait_identifier,
|
|
143
139
|
timeout: 600,
|
|
144
|
-
message:
|
|
145
|
-
**Pended
|
|
140
|
+
message: <<~MESSAGE
|
|
141
|
+
**Pended Scenario Test**:
|
|
146
142
|
|
|
147
|
-
|
|
143
|
+
Inferno will wait while the tester uses the PAS client to complete the following steps:
|
|
148
144
|
|
|
149
|
-
|
|
145
|
+
1. Submit a PAS request to Inferno's `$submit` endpoint. Inferno will return a pended response.
|
|
146
|
+
2. Within 5-10 seconds, Inferno will send a notification indicating that the ClaimResponse has
|
|
147
|
+
been finalized to the endpoint provided on the Subscription during the _Subscription Setup_ tests.
|
|
148
|
+
3. Once the notification has been received, submit a PAS inquiry request to Inferno's `$inquire`
|
|
149
|
+
endpoint. Inferno will return an approval response.
|
|
150
150
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
151
|
+
Inferno will later ask testers to attest that the PAS client marked the request as pended after
|
|
152
|
+
step 1 (submit) and before step 2 (notification), so testers should check their PAS client's state
|
|
153
|
+
between these steps in order to faithfully answer the attestation.
|
|
154
154
|
|
|
155
|
-
|
|
156
|
-
finalized. If the optional '**#{input_title(:notification_bundle)}**' input is populated
|
|
157
|
-
Inferno will send it as a notification. Otherwise, a notification will be generated
|
|
158
|
-
from Inferno. In either case, the notification will be delivered to the endpoint provided on the
|
|
159
|
-
Subscription during the _PAS Subscription Setup_ tests.
|
|
155
|
+
[Click here](#{confirmation_url}) once the PAS client has completed these steps.
|
|
160
156
|
|
|
161
|
-
|
|
157
|
+
### Endpoints
|
|
162
158
|
|
|
163
|
-
`#{
|
|
159
|
+
- $submit: `#{submit_endpoint}`
|
|
160
|
+
- $inquire: `#{inquire_endpoint}`
|
|
164
161
|
|
|
165
|
-
|
|
166
|
-
be returned, updated with current timestamps. Otherwise, an approval response will
|
|
167
|
-
be generated by Inferno using the received Claim.
|
|
162
|
+
### Authentication and Identification
|
|
168
163
|
|
|
169
|
-
|
|
170
|
-
i.e., that the system marked the pended prior auth request appropriately after step 1 (submit) but
|
|
171
|
-
before step 2 (notification). Thus testers should check their system state as appropriate in order
|
|
172
|
-
to be able to faithfully answer the attestations.
|
|
164
|
+
#{auth_description_for_wait(client_id)}
|
|
173
165
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
166
|
+
### Responses
|
|
167
|
+
|
|
168
|
+
#{response_description_for_wait(user_inputted_response?(:pended_json_response),
|
|
169
|
+
input_title(:pended_json_response),
|
|
170
|
+
'$submit')}
|
|
171
|
+
|
|
172
|
+
#{response_description_for_wait(user_inputted_response?(:inquire_json_response),
|
|
173
|
+
input_title(:inquire_json_response),
|
|
174
|
+
'$inquire')}
|
|
175
|
+
|
|
176
|
+
#{notification_description_for_wait}
|
|
177
|
+
MESSAGE
|
|
178
178
|
)
|
|
179
179
|
end
|
|
180
|
+
|
|
181
|
+
def notification_description_for_wait
|
|
182
|
+
if notification_bundle.present?
|
|
183
|
+
"Inferno will send the content of the '**#{input_title(:notification_bundle)}**' input as the " \
|
|
184
|
+
'notification, updated with current timestamps.'
|
|
185
|
+
else
|
|
186
|
+
'Inferno will send a notification generated from the pended response.'
|
|
187
|
+
end
|
|
188
|
+
end
|
|
180
189
|
end
|
|
181
190
|
end
|
|
182
191
|
end
|
data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_request_bundle_validation_test.rb
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
require_relative '../../../cross_suite/pas_bundle_validation'
|
|
2
|
+
require_relative '../../client_bundle_validation_helper'
|
|
2
3
|
|
|
3
4
|
module DaVinciPASTestKit
|
|
4
5
|
module DaVinciPASV201
|
|
5
6
|
class PasClientRequestBundleValidationTest < Inferno::Test
|
|
6
7
|
include DaVinciPASTestKit::PasBundleValidation
|
|
8
|
+
include DaVinciPASTestKit::ClientBundleValidationHelper
|
|
7
9
|
|
|
8
10
|
id :pas_client_v201_request_bundle_validation_test
|
|
9
|
-
title '
|
|
11
|
+
title '$submit request Bundles have the correct structure and content'
|
|
10
12
|
description %(
|
|
11
|
-
This test verifies the conformity of the client's submit request
|
|
13
|
+
This test verifies the conformity of each of the PAS client's `$submit` request bodies to the
|
|
12
14
|
[PAS Request Bundle](http://hl7.org/fhir/us/davinci-pas/STU2/StructureDefinition-profile-pas-request-bundle.html)
|
|
13
15
|
structure. It also checks that other conformance requirements defined in the [PAS Formal
|
|
14
16
|
Specification](https://hl7.org/fhir/us/davinci-pas/STU2/specification.html),
|
|
@@ -39,30 +41,22 @@ module DaVinciPASTestKit
|
|
|
39
41
|
'hl7.fhir.us.davinci-pas_2.0.1@81', 'hl7.fhir.us.davinci-pas_2.0.1@85',
|
|
40
42
|
'hl7.fhir.us.davinci-pas_2.0.1@86'
|
|
41
43
|
|
|
42
|
-
def
|
|
43
|
-
|
|
44
|
+
def operation_name
|
|
45
|
+
'submit'
|
|
44
46
|
end
|
|
45
47
|
|
|
46
|
-
def
|
|
47
|
-
|
|
48
|
+
def message_direction_name
|
|
49
|
+
'request'
|
|
48
50
|
end
|
|
49
51
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
else
|
|
54
|
-
load_tagged_requests(request_type_tag)
|
|
55
|
-
end
|
|
56
|
-
skip_if !request.present?, 'No submit requests received.'
|
|
52
|
+
def ig_version
|
|
53
|
+
'2.0.1'
|
|
54
|
+
end
|
|
57
55
|
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
'submit',
|
|
63
|
-
'request_bundle',
|
|
64
|
-
message: 'The Bundle provided for the Claim/$submit operation is invalid:'
|
|
65
|
-
)
|
|
56
|
+
run do
|
|
57
|
+
failed = non_conformant_bundles
|
|
58
|
+
assert failed.empty?,
|
|
59
|
+
"Non-conformant request Bundles detected: #{failed.join(', ')}. Check messages for issues found."
|
|
66
60
|
end
|
|
67
61
|
end
|
|
68
62
|
end
|
data/lib/davinci_pas_test_kit/client/v2.0.1/workflows/pas_client_response_bundle_validation_test.rb
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
require_relative '../../../cross_suite/pas_bundle_validation'
|
|
2
2
|
require_relative '../../user_input_response'
|
|
3
|
-
require_relative '../../
|
|
3
|
+
require_relative '../../client_bundle_validation_helper'
|
|
4
4
|
|
|
5
5
|
module DaVinciPASTestKit
|
|
6
6
|
module DaVinciPASV201
|
|
7
7
|
class PasClientResponseBundleValidationTest < Inferno::Test
|
|
8
8
|
include DaVinciPASTestKit::PasBundleValidation
|
|
9
9
|
include UserInputResponse
|
|
10
|
-
include
|
|
10
|
+
include DaVinciPASTestKit::ClientBundleValidationHelper
|
|
11
11
|
|
|
12
12
|
id :pas_client_v201_response_bundle_validation_test
|
|
13
|
-
title '
|
|
13
|
+
title '$submit response Bundles have the correct structure and content'
|
|
14
14
|
description %(
|
|
15
|
-
|
|
15
|
+
This test verifies input provided by the tester instead of the PAS client.
|
|
16
16
|
Errors encountered will be treated as a skip instead of a failure.
|
|
17
17
|
|
|
18
|
-
This test verifies the conformity of
|
|
18
|
+
This test verifies the conformity of each `$submit` response sent by Inferno, which will have been
|
|
19
19
|
either:
|
|
20
20
|
- the response body provided by the tester in the corresponding input, or
|
|
21
21
|
- created by Inferno from the $submit Bundle.
|
|
@@ -33,8 +33,11 @@ module DaVinciPASTestKit
|
|
|
33
33
|
to the bound ValueSet. Quantity, Coding, and code element bindings will
|
|
34
34
|
fail if their code/system are not found in the valueset.
|
|
35
35
|
|
|
36
|
-
Note that
|
|
37
|
-
|
|
36
|
+
Note that:
|
|
37
|
+
- To ensure that the PAS client is driving its behavior only based on standard
|
|
38
|
+
PAS information, custom extensions are not allowed within the responses.
|
|
39
|
+
- Because X12 value sets are not public, elements bound to value
|
|
40
|
+
sets containing X12 codes are not validated.
|
|
38
41
|
|
|
39
42
|
**Limitations**
|
|
40
43
|
|
|
@@ -46,12 +49,16 @@ module DaVinciPASTestKit
|
|
|
46
49
|
)
|
|
47
50
|
simulation_verification
|
|
48
51
|
|
|
49
|
-
def
|
|
52
|
+
def operation_name
|
|
50
53
|
'submit'
|
|
51
54
|
end
|
|
52
55
|
|
|
53
|
-
def
|
|
54
|
-
|
|
56
|
+
def message_direction_name
|
|
57
|
+
'response'
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
def ig_version
|
|
61
|
+
'2.0.1'
|
|
55
62
|
end
|
|
56
63
|
|
|
57
64
|
def target_user_input
|
|
@@ -67,26 +74,19 @@ module DaVinciPASTestKit
|
|
|
67
74
|
end
|
|
68
75
|
end
|
|
69
76
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
else
|
|
78
|
-
'Invalid response generated from the submitted claim:'
|
|
79
|
-
end
|
|
77
|
+
def failed_entities_description
|
|
78
|
+
if user_inputted_response? target_user_input
|
|
79
|
+
"built from tester-provided response in '#{input_title(target_user_input)}'"
|
|
80
|
+
else
|
|
81
|
+
'generated from the submitted claim'
|
|
82
|
+
end
|
|
83
|
+
end
|
|
80
84
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
'response_bundle',
|
|
87
|
-
skips: true,
|
|
88
|
-
message:
|
|
89
|
-
)
|
|
85
|
+
run do
|
|
86
|
+
failed = non_conformant_bundles
|
|
87
|
+
skip_if failed.present?,
|
|
88
|
+
"Non-conformant response Bundles #{failed_entities_description}: #{failed.join(', ')}. " \
|
|
89
|
+
'Check messages for issues found.'
|
|
90
90
|
end
|
|
91
91
|
end
|
|
92
92
|
end
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
module DaVinciPASTestKit
|
|
2
|
+
module DaVinciPASV221
|
|
3
|
+
ATTESTATION_INPUT_INSTRUCTIONS = %(
|
|
4
|
+
Testers are responsible for confirming that the PAS client meets all requirements associated with a test
|
|
5
|
+
before selecting "Yes" on the attestation input with the same name as the test. The text of the
|
|
6
|
+
attested requirement(s) for each input can be reviewed by clicking the "View Specification Requirements" link
|
|
7
|
+
in the "About" tab of the test with the same name.
|
|
8
|
+
).freeze
|
|
9
|
+
end
|
|
10
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
require_relative 'attestation_instructions'
|
|
2
|
+
|
|
3
|
+
module DaVinciPASTestKit
|
|
4
|
+
module DaVinciPASV221
|
|
5
|
+
class DataElementExpectationsAttestationTest < Inferno::Test
|
|
6
|
+
id :pas_client_v221_data_element_expectations_attestation
|
|
7
|
+
ATTESTATION_TITLE = 'PAS client does not set additional expectations for data elements'.freeze
|
|
8
|
+
title ATTESTATION_TITLE
|
|
9
|
+
description %(
|
|
10
|
+
During this test, the tester will confirm that the PAS client does not set additional expectations
|
|
11
|
+
for data elements beyond what is required by PAS.
|
|
12
|
+
To see the specifics of the attested requirements, click the "View Specification Requirements" link for this
|
|
13
|
+
test.
|
|
14
|
+
)
|
|
15
|
+
attestation
|
|
16
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@conf-14', 'hl7.fhir.us.davinci-pas_2.2.1@conf-15',
|
|
17
|
+
'hl7.fhir.us.davinci-pas_2.2.1@conf-16-A'
|
|
18
|
+
input_instructions ATTESTATION_INPUT_INSTRUCTIONS
|
|
19
|
+
|
|
20
|
+
input :data_element_expectations_attestation,
|
|
21
|
+
title: ATTESTATION_TITLE,
|
|
22
|
+
description: %(
|
|
23
|
+
I attest that the PAS client does not set additional expectations for
|
|
24
|
+
data elements beyond what is required by PAS.
|
|
25
|
+
),
|
|
26
|
+
type: 'radio',
|
|
27
|
+
default: 'false',
|
|
28
|
+
options: {
|
|
29
|
+
list_options: [
|
|
30
|
+
{ label: 'Yes', value: 'true' },
|
|
31
|
+
{ label: 'No', value: 'false' }
|
|
32
|
+
]
|
|
33
|
+
}
|
|
34
|
+
input :data_element_expectations_attestation_note,
|
|
35
|
+
title: 'Notes, if applicable:',
|
|
36
|
+
type: 'textarea',
|
|
37
|
+
optional: true
|
|
38
|
+
|
|
39
|
+
run do
|
|
40
|
+
assert data_element_expectations_attestation == 'true'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
data/lib/davinci_pas_test_kit/client/v2.2.1/attestations/client_provider_review_attestation_test.rb
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require_relative 'attestation_instructions'
|
|
2
|
+
|
|
3
|
+
module DaVinciPASTestKit
|
|
4
|
+
module DaVinciPASV221
|
|
5
|
+
class ProviderReviewAttestationTest < Inferno::Test
|
|
6
|
+
id :pas_client_v221_provider_review_attestation
|
|
7
|
+
ATTESTATION_TITLE = 'PAS client allows but does not require providers to review information before ' \
|
|
8
|
+
'submitting'.freeze
|
|
9
|
+
title ATTESTATION_TITLE
|
|
10
|
+
description %(
|
|
11
|
+
During this test, the tester will confirm that the PAS client allows but does not require providers
|
|
12
|
+
to review submission details before sending PAS prior authorization requests.
|
|
13
|
+
To see the specifics of the attested requirements, click the "View Specification Requirements" link for this
|
|
14
|
+
test.
|
|
15
|
+
)
|
|
16
|
+
attestation
|
|
17
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@priv-1-A', 'hl7.fhir.us.davinci-pas_2.2.1@priv-1-B',
|
|
18
|
+
'hl7.fhir.us.davinci-pas_2.2.1@use-5'
|
|
19
|
+
input_instructions ATTESTATION_INPUT_INSTRUCTIONS
|
|
20
|
+
|
|
21
|
+
input :provider_review_attestation,
|
|
22
|
+
title: ATTESTATION_TITLE,
|
|
23
|
+
description: %(
|
|
24
|
+
I attest that the PAS client allows but does not require providers to review
|
|
25
|
+
submission details before sending PAS prior authorization requests.
|
|
26
|
+
),
|
|
27
|
+
type: 'radio',
|
|
28
|
+
default: 'false',
|
|
29
|
+
options: {
|
|
30
|
+
list_options: [
|
|
31
|
+
{ label: 'Yes', value: 'true' },
|
|
32
|
+
{ label: 'No', value: 'false' }
|
|
33
|
+
]
|
|
34
|
+
}
|
|
35
|
+
input :provider_review_attestation_note,
|
|
36
|
+
title: 'Notes, if applicable:',
|
|
37
|
+
type: 'textarea',
|
|
38
|
+
optional: true
|
|
39
|
+
|
|
40
|
+
run do
|
|
41
|
+
assert provider_review_attestation == 'true'
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
require_relative 'attestation_instructions'
|
|
2
|
+
|
|
3
|
+
module DaVinciPASTestKit
|
|
4
|
+
module DaVinciPASV221
|
|
5
|
+
class ClientSecurityAttestationTest < Inferno::Test
|
|
6
|
+
id :pas_client_v221_security_attestation
|
|
7
|
+
ATTESTATION_TITLE = 'PAS client adheres to security and privacy requirements'.freeze
|
|
8
|
+
title ATTESTATION_TITLE
|
|
9
|
+
description %(
|
|
10
|
+
During this test, the tester will confirm that the PAS client adheres to security and
|
|
11
|
+
privacy requirements including those defined in the HRex specification. To see the specifics
|
|
12
|
+
of the attested requirements, click the "View Specification Requirements" link for this test.
|
|
13
|
+
)
|
|
14
|
+
attestation
|
|
15
|
+
verifies_requirements 'hl7.fhir.us.davinci-pas_2.2.1@spec-4'
|
|
16
|
+
input_instructions ATTESTATION_INPUT_INSTRUCTIONS
|
|
17
|
+
|
|
18
|
+
input :security_attestation,
|
|
19
|
+
title: ATTESTATION_TITLE,
|
|
20
|
+
description: %(
|
|
21
|
+
I attest that the PAS client adheres to security and
|
|
22
|
+
privacy requirements including those defined in the HRex specification.
|
|
23
|
+
),
|
|
24
|
+
type: 'radio',
|
|
25
|
+
default: 'false',
|
|
26
|
+
options: {
|
|
27
|
+
list_options: [
|
|
28
|
+
{ label: 'Yes', value: 'true' },
|
|
29
|
+
{ label: 'No', value: 'false' }
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
input :security_attestation_note,
|
|
33
|
+
title: 'Notes, if applicable:',
|
|
34
|
+
type: 'textarea',
|
|
35
|
+
optional: true
|
|
36
|
+
|
|
37
|
+
run do
|
|
38
|
+
assert security_attestation == 'true'
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|