davinci_pdex_test_kit 0.12.3 → 0.13.1

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.
Files changed (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_pdex_test_kit/pdex_payer_client/visual_inspection_and_attestation/authentication.rb +33 -11
  3. data/lib/davinci_pdex_test_kit/pdex_payer_client/visual_inspection_and_attestation/must_support.rb +33 -9
  4. data/lib/davinci_pdex_test_kit/pdex_payer_client/visual_inspection_and_attestation/provenance.rb +32 -11
  5. data/lib/davinci_pdex_test_kit/pdex_payer_client/visual_inspection_and_attestation/receive_must_support.rb +33 -11
  6. data/lib/davinci_pdex_test_kit/pdex_payer_client_suite.rb +7 -0
  7. data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_minimal_data_validation.rb +2 -1
  8. data/lib/davinci_pdex_test_kit/pdex_payer_server/coverage_to_link_must_support_validation.rb +2 -1
  9. data/lib/davinci_pdex_test_kit/pdex_payer_server/member_match_request_local_references_validation.rb +2 -1
  10. data/lib/davinci_pdex_test_kit/pdex_payer_server/multiple_member_matches_group.rb +2 -1
  11. data/lib/davinci_pdex_test_kit/pdex_payer_server/no_member_matches_group.rb +2 -1
  12. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/bulk_data_transmission_restrictions.rb +30 -10
  13. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/consent_failure.rb +35 -13
  14. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/consent_requirements.rb +33 -9
  15. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/hrex_must_support.rb +32 -11
  16. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/licensing.rb +31 -9
  17. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/member_auth.rb +54 -12
  18. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/mtls.rb +44 -11
  19. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/payer_consent_compliance.rb +30 -10
  20. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/prior_authorization_decisions.rb +32 -12
  21. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/provenance_records.rb +33 -10
  22. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/read_and_search_hrex.rb +31 -10
  23. data/lib/davinci_pdex_test_kit/pdex_payer_server/visual_inspection_and_attestation/resources_in_capability_statement.rb +31 -10
  24. data/lib/davinci_pdex_test_kit/pdex_payer_server/workflow_member_match_group.rb +4 -2
  25. data/lib/davinci_pdex_test_kit/pdex_payer_server_suite.rb +9 -1
  26. data/lib/davinci_pdex_test_kit/pdex_provider_client_suite.rb +4 -1
  27. data/lib/davinci_pdex_test_kit/remove_input.rb +10 -0
  28. data/lib/davinci_pdex_test_kit/version.rb +2 -2
  29. metadata +41 -17
@@ -11,7 +11,7 @@ module DaVinciPDexTestKit
11
11
  information exchange using SMART on FHIR and OAuth 2.0 by satisfying the following criteria.
12
12
 
13
13
  The Health IT Module is acting as the **source** Health Plan, and is the Health Plan the member would like to get data from.
14
- The **target** Health Plan is the Health PLan the member would like to share data to.
14
+ The **target** Health Plan is the Health Plan the member would like to share data to.
15
15
 
16
16
  1. **Client Authorization Credentials**
17
17
  The Health IT Module issues the target Health Plan OAuth 2.0 client application credentials during client registration.
@@ -41,17 +41,61 @@ module DaVinciPDexTestKit
41
41
  'hl7.fhir.us.davinci-pdex_2.0.0@25',
42
42
  'hl7.fhir.us.davinci-pdex_2.0.0@26'
43
43
 
44
+ input :pdex_member_authorized_exchange_test_options,
45
+ title: 'Supports Payer-to-Payer member-authorized exchange',
46
+ description: %(
47
+ I attest that the Health IT Module supports Payer-to-Payer member-authorized
48
+ information exchange using SMART on FHIR and OAuth 2.0 by satisfying the following criteria.
49
+
50
+ The **source** Health Plan is the Health Plan the member would like to get data from, and the **target**
51
+ Health Plan is the Health plan the member would like to share data to.
52
+
53
+ 1. **Client Authorization Credentials**
54
+ The Health IT Module issues the target Health Plan OAuth 2.0 client application credentials during client registration.
55
+
56
+ 1. **Member Consent Flow**
57
+ After the member authenticates to the Health IT Module's authorization server, the system presents an Authorization
58
+ screen enabling the member to approve sharing with the target Health Plan.
59
+
60
+ The Authorization process aligns with applicable privacy policy and regulations, allowing members to
61
+ select what data may be shared.
62
+
63
+ 4. **Token Issuance**
64
+ Upon successful authorization, the Health IT Module issues an Access Token to the target Health Plan.
65
+ The scopes associated with the Access Token are limited to the information and permissions authorized by the member.
66
+
67
+ 6. **Refresh Token Handling**:
68
+ Any Access Token subsequently issued by the Health IT Module using a Refresh Token enforces the same scope and member-specific
69
+ restrictions as the original authorization.
70
+ ),
71
+ type: 'radio',
72
+ default: 'false',
73
+ options: {
74
+ list_options: [
75
+ {
76
+ label: 'Yes',
77
+ value: 'true'
78
+ },
79
+ {
80
+ label: 'No',
81
+ value: 'false'
82
+ }
83
+ ]
84
+ }
85
+ input :pdex_member_authorized_exchange_test_note,
86
+ title: 'Notes, if applicable:',
87
+ type: 'textarea',
88
+ optional: true
89
+
44
90
  run do
45
- identifier = SecureRandom.hex(32)
91
+ assert pdex_member_authorized_exchange_test_options == 'true', %(
92
+ The following was not satisfied:
46
93
 
47
- wait(
48
- identifier:,
49
- message: <<~MESSAGE
50
- I attest that the Health IT Module supports Payer-to-Payer member-authorized
94
+ The Health IT Module supports Payer-to-Payer member-authorized
51
95
  information exchange using SMART on FHIR and OAuth 2.0 by satisfying the following criteria.
52
96
 
53
- The **source** Health Plan is the Health Plan the member would like to get data from, and the **etarget**
54
- Health Plan is the Health PLan the member would like to share data to.
97
+ The Health IT Module is acting as the **source** Health Plan, and is the Health Plan the member would like to get data from.
98
+ The **target** Health Plan is the Health plan the member would like to share data to.
55
99
 
56
100
  1. **Client Authorization Credentials**
57
101
  The Health IT Module issues the target Health Plan OAuth 2.0 client application credentials during client registration.
@@ -71,11 +115,9 @@ module DaVinciPDexTestKit
71
115
  Any Access Token subsequently issued by the Health IT Module using a Refresh Token enforces the same scope and member-specific
72
116
  restrictions as the original authorization.
73
117
 
74
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
75
-
76
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
77
- MESSAGE
78
118
  )
119
+ pass pdex_member_authorized_exchange_test_note if pdex_member_authorized_exchange_test_note.present?
79
120
  end
121
+
80
122
  end
81
123
  end
@@ -9,7 +9,7 @@ module DaVinciPDexTestKit
9
9
  description <<~DESCRIPTION
10
10
  The Health IT Module attests that the system supports secure payer-to-payer exchange for $member-match as follows:
11
11
 
12
- The **source** Health Plan is the Health Plan the member would like to get data from, and the **etarget**
12
+ The **source** Health Plan is the Health Plan the member would like to get data from, and the **target**
13
13
  Health Plan is the Health Plan the member would like to share data to.
14
14
 
15
15
  1. **Secure mTLS Connection** — Establishes a mutual TLS (mTLS) connection with the target Health Plan.
@@ -30,15 +30,50 @@ module DaVinciPDexTestKit
30
30
  'hl7.fhir.us.davinci-pdex_2.0.0@33',
31
31
  'hl7.fhir.us.davinci-pdex_2.0.0@34'
32
32
 
33
+ input :pdex_payer_to_payer_mtls_options,
34
+ title: 'Supports mTLS for secure $member-match payer-to-payer exchange',
35
+ description: %(
36
+ I attest that the Health IT Module supports secure payer-to-payer exchange for $member-match as follows:
37
+
38
+ The **source** Health Plan is the Health Plan the member would like to get data from, and the **target**
39
+ Health Plan is the Health Plan the member would like to share data to.
40
+
41
+ 1. **Secure mTLS Connection** — Establishes a mutual TLS (mTLS) connection with the target Health Plan.
42
+
43
+ 2. **Client Registration** — Supports OAuth 2.0 Dynamic Client Registration for the target Health Plan over the mTLS-secured connection.
44
+
45
+ 3. **Token Acquisition** — Accepts a Client Credentials grant request by the target Health Plan over mTLS to issue an OAuth 2.0 access
46
+ token for the $member-match operation.
47
+
48
+ 4. **Scoped Access Token for Matched Patient** — If a Patient ID is matched, returns an OAuth 2.0 access token to the target Health Plan
49
+ that is scoped to that member to enable further data exchange.
50
+ ),
51
+ type: 'radio',
52
+ default: 'false',
53
+ options: {
54
+ list_options: [
55
+ {
56
+ label: 'Yes',
57
+ value: 'true'
58
+ },
59
+ {
60
+ label: 'No',
61
+ value: 'false'
62
+ }
63
+ ]
64
+ }
65
+ input :pdex_payer_to_payer_mtls_note,
66
+ title: 'Notes, if applicable:',
67
+ type: 'textarea',
68
+ optional: true
69
+
33
70
  run do
34
- identifier = SecureRandom.hex(32)
71
+ assert pdex_payer_to_payer_mtls_options == 'true', %(
72
+ The following was not satisfied:
35
73
 
36
- wait(
37
- identifier:,
38
- message: <<~MESSAGE
39
- I attest that the Health IT Module supports secure payer-to-payer exchange for $member-match as follows:
74
+ The Health IT Module attests that the system supports secure payer-to-payer exchange for $member-match as follows:
40
75
 
41
- The **source** Health Plan is the Health Plan the member would like to get data from, and the **etarget**
76
+ The **source** Health Plan is the Health Plan the member would like to get data from, and the **target**
42
77
  Health Plan is the Health Plan the member would like to share data to.
43
78
 
44
79
  1. **Secure mTLS Connection** — Establishes a mutual TLS (mTLS) connection with the target Health Plan.
@@ -51,11 +86,9 @@ module DaVinciPDexTestKit
51
86
  4. **Scoped Access Token for Matched Patient** — If a Patient ID is matched, returns an OAuth 2.0 access token to the target Health Plan
52
87
  that is scoped to that member to enable further data exchange.
53
88
 
54
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
55
-
56
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
57
- MESSAGE
58
89
  )
90
+ pass pdex_payer_to_payer_mtls_note if pdex_payer_to_payer_mtls_note.present?
59
91
  end
92
+
60
93
  end
61
94
  end
@@ -14,20 +14,40 @@ module DaVinciPDexTestKit
14
14
 
15
15
  verifies_requirements 'hl7.fhir.us.davinci-pdex_2.0.0@45'
16
16
 
17
- run do
18
- identifier = SecureRandom.hex(32)
17
+ input :pdex_payer_consent_compliance_test_options,
18
+ title: 'Constrains response based on access permissions',
19
+ description: %(
20
+ The developer of the Health IT Module attests that the Health IT Module constrains the data returned from the server to a requester
21
+ based upon the access permissions of the requester.
22
+ ),
23
+ type: 'radio',
24
+ default: 'false',
25
+ options: {
26
+ list_options: [
27
+ {
28
+ label: 'Yes',
29
+ value: 'true'
30
+ },
31
+ {
32
+ label: 'No',
33
+ value: 'false'
34
+ }
35
+ ]
36
+ }
37
+ input :pdex_payer_consent_compliance_test_note,
38
+ title: 'Notes, if applicable:',
39
+ type: 'textarea',
40
+ optional: true
19
41
 
20
- wait(
21
- identifier:,
22
- message: <<~MESSAGE
23
- The developer of the Health IT Module attests that the Health IT Module constrains the data returned from the server to a requester
24
- based upon the access permissions of the requester.
42
+ run do
43
+ assert pdex_payer_consent_compliance_test_options == 'true', %(
44
+ The following was not satisfied:
25
45
 
26
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
46
+ The Health IT Module constrains the data returned from the server to a requester based upon the access permissions of the requester.
27
47
 
28
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
29
- MESSAGE
30
48
  )
49
+ pass pdex_payer_consent_compliance_test_note if pdex_payer_consent_compliance_test_note.present?
31
50
  end
51
+
32
52
  end
33
53
  end
@@ -14,22 +14,42 @@ module DaVinciPDexTestKit
14
14
 
15
15
  verifies_requirements 'hl7.fhir.us.davinci-pdex_2.0.0@56'
16
16
 
17
- run do
18
- identifier = SecureRandom.hex(32)
17
+ input :pdex_prior_authorization_decisions_test_options,
18
+ title: 'Makes available pending and active prior authorization decisions',
19
+ description: %(
20
+ The developer of the Health IT Module attests that the Health IT Module makes available pending and active prior authorization decisions
21
+ and related clinical documentation and forms for items and services, not including prescription drugs, including the date the prior authorization was approved,
22
+ the date the authorization ends, as well as the units and services approved and those used to date, no later than one (1) business day after a provider initiates
23
+ a prior authorization for the beneficiary or there is a change of status for the prior authorization.
24
+ ),
25
+ type: 'radio',
26
+ default: 'false',
27
+ options: {
28
+ list_options: [
29
+ {
30
+ label: 'Yes',
31
+ value: 'true'
32
+ },
33
+ {
34
+ label: 'No',
35
+ value: 'false'
36
+ }
37
+ ]
38
+ }
39
+ input :pdex_prior_authorization_decisions_test_note,
40
+ title: 'Notes, if applicable:',
41
+ type: 'textarea',
42
+ optional: true
19
43
 
20
- wait(
21
- identifier:,
22
- message: <<~MESSAGE
23
- The developer of the Health IT Module attests that the Health IT Module makes available pending and active prior authorization decisions
24
- and related clinical documentation and forms for items and services, not including prescription drugs, including the date the prior authorization was approved,
25
- the date the authorization ends, as well as the units and services approved and those used to date, no later than one (1) business day after a provider initiates
26
- a prior authorization for the beneficiary or there is a change of status for the prior authorization.
44
+ run do
45
+ assert pdex_prior_authorization_decisions_test_options == 'true', %(
46
+ The following was not satisfied:
27
47
 
28
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
48
+ The Health IT Module makes available pending and active prior authorization decisions and related clinical documentation and forms for items and services.
29
49
 
30
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
31
- MESSAGE
32
50
  )
51
+ pass pdex_prior_authorization_decisions_test_note if pdex_prior_authorization_decisions_test_note.present?
33
52
  end
53
+
34
54
  end
35
55
  end
@@ -18,23 +18,46 @@ module DaVinciPDexTestKit
18
18
  verifies_requirements 'hl7.fhir.us.davinci-pdex_2.0.0@12',
19
19
  'hl7.fhir.us.davinci-pdex_2.0.0@13'
20
20
 
21
- run do
22
- identifier = SecureRandom.hex(32)
21
+ input :pdex_provenance_test_options,
22
+ title: 'Includes and generates provenance records as required',
23
+ description: %(
24
+ The developer of the Health IT Module attests that the system:
25
+
26
+ - Incorporates provenance records received as part of any FHIR data exchange.
27
+ - Generates provenance records for each non-Provenance resource, at a minimum identifying the
28
+ Health Plan as the Transmitter of the data in PDex exchanges.
29
+ ),
30
+ type: 'radio',
31
+ default: 'false',
32
+ options: {
33
+ list_options: [
34
+ {
35
+ label: 'Yes',
36
+ value: 'true'
37
+ },
38
+ {
39
+ label: 'No',
40
+ value: 'false'
41
+ }
42
+ ]
43
+ }
44
+ input :pdex_provenance_test_note,
45
+ title: 'Notes, if applicable:',
46
+ type: 'textarea',
47
+ optional: true
23
48
 
24
- wait(
25
- identifier:,
26
- message: <<~MESSAGE
27
- The developer of the Health IT Module attests that the system:
49
+ run do
50
+ assert pdex_provenance_test_options == 'true', %(
51
+ The following was not satisfied:
28
52
 
53
+ The Health IT Module
29
54
  - Incorporates provenance records received as part of any FHIR data exchange.
30
55
  - Generates provenance records for each non-Provenance resource, at a minimum identifying the
31
56
  Health Plan as the Transmitter of the data in PDex exchanges.
32
57
 
33
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
34
-
35
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
36
- MESSAGE
37
58
  )
59
+ pass pdex_provenance_test_note if pdex_provenance_test_note.present?
38
60
  end
61
+
39
62
  end
40
63
  end
@@ -16,20 +16,41 @@ module DaVinciPDexTestKit
16
16
  verifies_requirements 'hl7.fhir.us.davinci-pdex_2.0.0@17',
17
17
  'hl7.fhir.us.davinci-pdex_2.0.0@18'
18
18
 
19
- run do
20
- identifier = SecureRandom.hex(32)
19
+ input :pdex_coverage_interaction_support_test_options,
20
+ title: 'Supports Read and Search for the HRex Coverage resource',
21
+ description: %(
22
+ I attest that the Health IT Module supports both the FHIR Read and Search
23
+ operations for the Coverage resource using the HRex Coverage profile.
24
+ ),
25
+ type: 'radio',
26
+ default: 'false',
27
+ options: {
28
+ list_options: [
29
+ {
30
+ label: 'Yes',
31
+ value: 'true'
32
+ },
33
+ {
34
+ label: 'No',
35
+ value: 'false'
36
+ }
37
+ ]
38
+ }
39
+ input :pdex_coverage_interaction_support_test_note,
40
+ title: 'Notes, if applicable:',
41
+ type: 'textarea',
42
+ optional: true
21
43
 
22
- wait(
23
- identifier:,
24
- message: <<~MESSAGE
25
- I attest that the Health IT Module supports both the FHIR Read and Search
26
- operations for the Coverage resource using the HRex Coverage profile.
44
+ run do
45
+ assert pdex_coverage_interaction_support_test_options == 'true', %(
46
+ The following was not satisfied:
27
47
 
28
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
48
+ The Health IT Module supports the FHIR Read and Search operations for the Coverage resource,
49
+ using the HRex Coverage profile.
29
50
 
30
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
31
- MESSAGE
32
51
  )
52
+ pass pdex_coverage_interaction_support_test_note if pdex_coverage_interaction_support_test_note.present?
33
53
  end
54
+
34
55
  end
35
56
  end
@@ -16,20 +16,41 @@ module DaVinciPDexTestKit
16
16
  verifies_requirements 'hl7.fhir.us.davinci-pdex_2.0.0@15',
17
17
  'hl7.fhir.us.davinci-pdex_2.0.0@19'
18
18
 
19
- run do
20
- identifier = SecureRandom.hex(32)
19
+ input :pdex_capability_statement_declaration_test_options,
20
+ title: 'Declares resources and operations in CapabilityStatement',
21
+ description: %(
22
+ The developer of the Health IT Module attests that all FHIR resources and operations
23
+ available via a FHIR API endpoint are declared in the system's CapabilityStatement.
24
+ ),
25
+ type: 'radio',
26
+ default: 'false',
27
+ options: {
28
+ list_options: [
29
+ {
30
+ label: 'Yes',
31
+ value: 'true'
32
+ },
33
+ {
34
+ label: 'No',
35
+ value: 'false'
36
+ }
37
+ ]
38
+ }
39
+ input :pdex_capability_statement_declaration_test_note,
40
+ title: 'Notes, if applicable:',
41
+ type: 'textarea',
42
+ optional: true
21
43
 
22
- wait(
23
- identifier:,
24
- message: <<~MESSAGE
25
- The developer of the Health IT Module attests that all FHIR resources and operations
26
- available via a FHIR API endpoint are declared in the system's CapabilityStatement.
44
+ run do
45
+ assert pdex_capability_statement_declaration_test_options == 'true', %(
46
+ The following was not satisfied:
27
47
 
28
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
48
+ The Health IT Module declares all FHIR resources and operations available via its API
49
+ in its FHIR CapabilityStatement, in accordance with PDex requirements.
29
50
 
30
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
31
- MESSAGE
32
51
  )
52
+ pass pdex_capability_statement_declaration_test_note if pdex_capability_statement_declaration_test_note.present?
33
53
  end
54
+
34
55
  end
35
56
  end
@@ -61,18 +61,20 @@ module DaVinciPDexTestKit
61
61
 
62
62
  test from: :pdex_member_match_profile_validation do
63
63
  id :pdex_one_match_profile_validation
64
- title '[USER INPUT VALIDATION] Member match request for exactly one match is valid'
64
+ title 'Member match request for exactly one match is valid'
65
65
  description %{
66
66
  This test validates the conformity of the user input to the
67
67
  [HRex Member Match Request Profile](https://hl7.org/fhir/us/davinci-hrex/STU1/StructureDefinition-hrex-parameters-member-match-in.html),
68
68
  ensuring subsequent tests can accurately simulate content. It also checks conformance to the [Parameters Resource](https://hl7.org/fhir/R4/parameters.html),
69
69
  mandatory elements, and terminology.
70
70
  }
71
+ simulation_verification
71
72
  end
72
73
 
73
74
  test from: :pdex_member_match_local_ref_validation do
74
75
  id :pdex_member_match_local_ref
75
- title '[USER INPUT VALIDATION] Member match request only uses local references'
76
+ title 'Member match request only uses local references'
77
+ simulation_verification
76
78
  end
77
79
 
78
80
  test from: :pdex_coverage_to_link_minimal_validation
@@ -1,5 +1,7 @@
1
1
  require 'us_core_test_kit/generated/v3.1.1/us_core_test_suite'
2
2
 
3
+ require_relative 'remove_input'
4
+
3
5
  require_relative 'pdex_payer_server/workflow_member_match_group'
4
6
  require_relative 'pdex_payer_server/workflow_clinical_data_group'
5
7
  require_relative 'pdex_payer_server/workflow_everything_group'
@@ -69,8 +71,13 @@ module DaVinciPDexTestKit
69
71
  igs 'hl7.fhir.us.davinci-pdex#2.0.0'
70
72
  # hrex 1.0.0 and other dependencies will auto-load
71
73
 
74
+ validation_context do
75
+ snomedCT '731000124108'
76
+ end
77
+
72
78
  # Copy messages limit from Bulk Data Export tests
73
- message_filters = VALIDATION_MESSAGE_FILTERS + VERSION_SPECIFIC_MESSAGE_FILTERS
79
+ message_filters = VALIDATION_MESSAGE_FILTERS + VERSION_SPECIFIC_MESSAGE_FILTERS +
80
+ USCoreTestKit::USCoreV311::USCoreTestSuite::VALIDATION_MESSAGE_FILTERS
74
81
 
75
82
  $num_messages = 0
76
83
  $capped_message = false
@@ -214,5 +221,6 @@ module DaVinciPDexTestKit
214
221
  group from: :pdex_server_visual_inspection_and_attestation do
215
222
  optional
216
223
  end
224
+ RemoveInput::recursive_remove_input(groups.last, :url)
217
225
  end
218
226
  end
@@ -51,10 +51,13 @@ module DaVinciPDexTestKit
51
51
  igs 'hl7.fhir.us.davinci-pdex#2.0.0'
52
52
  # hrex 1.0.0 and other dependencies will auto-load
53
53
 
54
+ validation_context do
55
+ snomedCT '731000124108'
56
+ end
57
+
54
58
  exclude_message do |message|
55
59
  message.message.match?(/\A\S+: \S+: URL value '.*' does not resolve/)
56
60
  end
57
-
58
61
  end
59
62
 
60
63
  requirement_sets(
@@ -0,0 +1,10 @@
1
+ module DaVinciPDexTestKit
2
+ module RemoveInput
3
+ module_function
4
+ def recursive_remove_input(runnable, input)
5
+ runnable.inputs.delete(input)
6
+ runnable.input_order.delete(input)
7
+ runnable.children.each { |child_runnable| recursive_remove_input(child_runnable, input) }
8
+ end
9
+ end
10
+ end
@@ -1,4 +1,4 @@
1
1
  module DaVinciPDexTestKit
2
- VERSION = '0.12.3'.freeze
3
- LAST_UPDATED = '2025-07-09'.freeze
2
+ VERSION = '0.13.1'.freeze
3
+ LAST_UPDATED = '2026-06-01'.freeze
4
4
  end