davinci_pas_test_kit 0.13.1 → 0.13.3

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 (21) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_pas_test_kit/client_suite.rb +51 -1
  3. data/lib/davinci_pas_test_kit/generated/v2.0.1/claim_inquiry/client_inquire_request_claim_inquiry_must_support_test.rb +0 -1
  4. data/lib/davinci_pas_test_kit/generated/v2.0.1/server_suite.rb +53 -1
  5. data/lib/davinci_pas_test_kit/generator/must_support_test_generator.rb +1 -3
  6. data/lib/davinci_pas_test_kit/generator/templates/suite.rb.erb +53 -1
  7. data/lib/davinci_pas_test_kit/metadata.rb +5 -5
  8. data/lib/davinci_pas_test_kit/requirements/{davinci-pas-test-kit_requirements.csv → davinci_pas_test_kit_requirements.csv} +227 -211
  9. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_client_suite_v201_requirements_coverage.csv +123 -0
  10. data/lib/davinci_pas_test_kit/requirements/generated/davinci_pas_server_suite_v201_requirements_coverage.csv +240 -0
  11. data/lib/davinci_pas_test_kit/requirements/hl7.fhir.us.davinci-pas_2.0.1_requirements.xlsx +0 -0
  12. data/lib/davinci_pas_test_kit/version.rb +2 -2
  13. data/lib/davinci_pas_test_kit.rb +0 -1
  14. metadata +14 -18
  15. data/lib/davinci_pas_test_kit/docs/client_suite_description_v201.md +0 -444
  16. data/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md +0 -168
  17. data/lib/davinci_pas_test_kit/requirements/davinci-pas-test-kit_out_of_scope_requirements.csv +0 -11
  18. data/lib/davinci_pas_test_kit/requirements/generated/davinci-pas-test-kit_requirements_coverage.csv +0 -214
  19. data/lib/inferno_requirements_tools/ext/inferno_core/runnable.rb +0 -22
  20. data/lib/inferno_requirements_tools/tasks/requirements_coverage.rb +0 -284
  21. data/lib/requirements_config.yaml +0 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b36c102526c99da6d1220766f4b5213d30497f8369271c68e2b41370296b874c
4
- data.tar.gz: 2a8a894dcf8c6fab84e41ffa5f626b0499b6d3aa554f88bfb8b3e41495000e92
3
+ metadata.gz: 46c74ed8d4b3a62f3c0e76e7294060d12d7fea32b79fc731f6cb84cb49d3bd79
4
+ data.tar.gz: 91408da23bc12fce76d25e9603a6fe6d8ce6057106b78a27914ed927eb4fcec0
5
5
  SHA512:
6
- metadata.gz: '07862eba661759fcae73127b68026deeb106ff203f84ed3a503b641de2d03d1fccd24d05b94a86e5dff88500e5e199b0b1284326b83d4fcbc8407ec7c7c35da5'
7
- data.tar.gz: 5f78a7193457b07a74159f37dc2357b48173ffc9a7fbc40474d6c16c3881ce6ed981f1ce496e55d64dfca28609943a5e7ad83a3821dfe6f15622e6ee6a912df5
6
+ metadata.gz: 32231175c136323ab6e79790dc2bf86ac7a2232c595a78d33edfa41940a39c853ac63b8c7c75e8a38e87acf7bce318d438d2bc18ce84dfa01747425d37ba1618
7
+ data.tar.gz: 32244e81845fc154ad0559cb521686c8228e7c3533a1d1b272876b861d5a2a6b62292f0d7b880fae4c85654dfb53fc6569014610cacf1b19d08c8123c6214161
@@ -22,7 +22,44 @@ module DaVinciPASTestKit
22
22
  class ClientSuite < Inferno::TestSuite
23
23
  id :davinci_pas_client_suite_v201
24
24
  title 'Da Vinci PAS Client Suite v2.0.1'
25
- description File.read(File.join(__dir__, 'docs', 'client_suite_description_v201.md'))
25
+ description %(
26
+ The Da Vinci PAS Test Kit Client Suite validates the conformance of client
27
+ systems to the STU 2 version of the HL7® FHIR®
28
+ [Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
29
+
30
+ These tests are a **DRAFT** intended to allow PAS client implementers to perform
31
+ preliminary checks of their clients against PAS IG requirements and [provide
32
+ feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
33
+ on the tests. Future versions of these tests may validate other
34
+ requirements and may change the test validation logic.
35
+
36
+ The best place to get started is the [Client Testing
37
+ Walkthrough](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Client-Walkthrough),
38
+ which provides a step-by-step guide for running the tests against a client and provides
39
+ an example client implemented in Postman. Visit the [Client Testing
40
+ Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Client-Details)
41
+ documentation for information about technical implementation and known limitations of these tests.
42
+
43
+ In this test suite, Inferno simulates a PAS server for the client under test to
44
+ interact with. The client will be expected to initiate requests to the server
45
+ and demonstrate its ability to react to the returned responses. Over the course
46
+ of these interactions, Inferno will seek to observe conformant handling of PAS
47
+ requirements, including:
48
+ - The ability of the client to initiate a prior authorization submission and react to
49
+ - The approval of the request
50
+ - The denial of the request
51
+ - The pending of the request and a subsequent notification that a final decision was made
52
+ - The ability of the client to provide data covering the full scope of required by PAS, including
53
+ - The ability to send prior auth requests and inquiries with all PAS
54
+ profiles and all must support elements on those profiles
55
+ - The ability to handle responses that contain all PAS profiles and all must support elements on those
56
+ profiles (not included in the current version of these tests)
57
+
58
+ All requests and responses will be checked for conformance to the PAS
59
+ IG requirements individually and used in aggregate to determine whether
60
+ required features and functionality are present. HL7® FHIR® resources are
61
+ validated with the Java validator using `tx.fhir.org` as the terminology server.
62
+ )
26
63
 
27
64
  links [
28
65
  {
@@ -43,6 +80,19 @@ module DaVinciPASTestKit
43
80
  }
44
81
  ]
45
82
 
83
+ requirement_sets(
84
+ {
85
+ identifier: 'hl7.fhir.us.davinci-pas_2.0.1',
86
+ title: 'Da Vinci Prior Authorization Support (PAS) v2.0.1',
87
+ actor: 'Client'
88
+ },
89
+ {
90
+ identifier: 'hl7.fhir.uv.subscriptions_1.1.0',
91
+ title: 'Subscriptions R5 Backport IG',
92
+ actor: 'Client'
93
+ }
94
+ )
95
+
46
96
  fhir_resource_validator do
47
97
  igs 'hl7.fhir.us.davinci-pas#2.0.1'
48
98
 
@@ -68,7 +68,6 @@ module DaVinciPASTestKit
68
68
  * Claim.supportingInfo:DischargeDates.timing[x]
69
69
  * Claim.supportingInfo:PatientEvent.timing[x]
70
70
  )
71
- verifies_requirements 'hl7.fhir.us.davinci-pas_2.0.1@36'
72
71
 
73
72
  id :pas_client_inquire_request_v201_claim_inquiry_must_support_test
74
73
 
@@ -11,7 +11,46 @@ module DaVinciPASTestKit
11
11
  class ServerSuite < Inferno::TestSuite
12
12
  id :davinci_pas_server_suite_v201
13
13
  title 'Da Vinci PAS Server Suite v2.0.1'
14
- description File.read(File.join(__dir__, '..', '..', 'docs', 'server_suite_description_v201.md'))
14
+ description %(
15
+ The Da Vinci PAS Server Suite validates the conformance of server systems
16
+ to the STU 2 version of the HL7® FHIR®
17
+ [Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
18
+
19
+ These tests are a **DRAFT** intended to allow PAS server implementers to perform
20
+ preliminary checks of their servers against PAS IG requirements and [provide
21
+ feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
22
+ on the tests. Future versions of these tests may validate other
23
+ requirements and may change the test validation logic.
24
+
25
+ The best place to get started is the [Server Testing
26
+ Walkthrough](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Walkthrough),
27
+ which provides a step-by-step guide for running the tests against a client and provides
28
+ an example client implemented in Postman. Visit the [Server Testing
29
+ Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Details)
30
+ documentation for information about technical implementation and known limitations of these tests.
31
+
32
+ Inferno will simulate a client and make a series of prior authorization requests to the
33
+ server under test. Over the course of these requests, Inferno will seek to observe
34
+ conformant handling of PAS requirements, including
35
+ - The ability of the server to use PAS API interactions to communicate
36
+ - Approval of a prior authorization request
37
+ - Denial of a prior authorization request
38
+ - Pending of a prior authorization request and a subsequent final decision
39
+ - Inability to process a prior authorization request
40
+ - The ability of the server to handle the full scope of data required by PAS, including
41
+ - Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
42
+ - Ability to return responses that demonstrate the use of all PAS profiles and all must support elements on those profiles
43
+
44
+ Because the business logic that determines decisions and the elements populated in responses
45
+ Is outside of the PAS specification and will vary between implementers, testers
46
+ are required to provide the requests that Inferno will make to the server.
47
+
48
+ All requests and responses will be checked for conformance to the PAS
49
+ IG requirements individually and used in aggregate to determine whether
50
+ required features and functionality are present. HL7® FHIR® resources are
51
+ validated with the Java validator using `tx.fhir.org` as the terminology server.
52
+
53
+ %)
15
54
 
16
55
  links [
17
56
  {
@@ -32,6 +71,19 @@ module DaVinciPASTestKit
32
71
  }
33
72
  ]
34
73
 
74
+ requirement_sets(
75
+ {
76
+ identifier: 'hl7.fhir.us.davinci-pas_2.0.1',
77
+ title: 'Da Vinci Prior Authorization Support (PAS) v2.0.1',
78
+ actor: 'Server'
79
+ },
80
+ {
81
+ identifier: 'hl7.fhir.uv.subscriptions_1.1.0',
82
+ title: 'Subscriptions R5 Backport IG',
83
+ actor: 'Server'
84
+ }
85
+ )
86
+
35
87
  fhir_resource_validator do
36
88
  igs 'hl7.fhir.us.davinci-pas#2.0.1'
37
89
 
@@ -138,9 +138,7 @@ module DaVinciPASTestKit
138
138
  end
139
139
 
140
140
  def verifies_requirements
141
- case test_id # rubocop:disable Style/HashLikeCase
142
- when 'pas_client_inquire_request_v201_claim_inquiry_must_support_test'
143
- ['hl7.fhir.us.davinci-pas_2.0.1@36']
141
+ case test_id
144
142
  when 'pas_server_submit_response_v201_claimresponse_must_support_test'
145
143
  ['hl7.fhir.us.davinci-pas_2.0.1@37', 'hl7.fhir.us.davinci-pas_2.0.1@110']
146
144
  when 'pas_server_inquire_response_v201_claiminquiryresponse_must_support_test'
@@ -8,7 +8,46 @@ module DaVinciPASTestKit
8
8
  class <%= class_name %> < Inferno::TestSuite
9
9
  id :<%= suite_id %>
10
10
  title '<%= title %>'
11
- description File.read(File.join(__dir__, '..', '..', 'docs', 'server_suite_description_<%= ig_metadata.reformatted_version %>.md'))
11
+ description %(
12
+ The Da Vinci PAS Server Suite validates the conformance of server systems
13
+ to the STU 2 version of the HL7® FHIR®
14
+ [Da Vinci Prior Authorization Support Implementation Guide](https://hl7.org/fhir/us/davinci-pas/STU2/).
15
+
16
+ These tests are a **DRAFT** intended to allow PAS server implementers to perform
17
+ preliminary checks of their servers against PAS IG requirements and [provide
18
+ feedback](https://github.com/inferno-framework/davinci-pas-test-kit/issues)
19
+ on the tests. Future versions of these tests may validate other
20
+ requirements and may change the test validation logic.
21
+
22
+ The best place to get started is the [Server Testing
23
+ Walkthrough](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Walkthrough),
24
+ which provides a step-by-step guide for running the tests against a client and provides
25
+ an example client implemented in Postman. Visit the [Server Testing
26
+ Details](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/Server-Details)
27
+ documentation for information about technical implementation and known limitations of these tests.
28
+
29
+ Inferno will simulate a client and make a series of prior authorization requests to the
30
+ server under test. Over the course of these requests, Inferno will seek to observe
31
+ conformant handling of PAS requirements, including
32
+ - The ability of the server to use PAS API interactions to communicate
33
+ - Approval of a prior authorization request
34
+ - Denial of a prior authorization request
35
+ - Pending of a prior authorization request and a subsequent final decision
36
+ - Inability to process a prior authorization request
37
+ - The ability of the server to handle the full scope of data required by PAS, including
38
+ - Ability to process prior auth requests and inquiries with all PAS profiles and all must support elements on those profiles
39
+ - Ability to return responses that demonstrate the use of all PAS profiles and all must support elements on those profiles
40
+
41
+ Because the business logic that determines decisions and the elements populated in responses
42
+ Is outside of the PAS specification and will vary between implementers, testers
43
+ are required to provide the requests that Inferno will make to the server.
44
+
45
+ All requests and responses will be checked for conformance to the PAS
46
+ IG requirements individually and used in aggregate to determine whether
47
+ required features and functionality are present. HL7® FHIR® resources are
48
+ validated with the Java validator using `tx.fhir.org` as the terminology server.
49
+
50
+ %)
12
51
 
13
52
  links [
14
53
  {
@@ -29,6 +68,19 @@ module DaVinciPASTestKit
29
68
  }
30
69
  ]
31
70
 
71
+ requirement_sets(
72
+ {
73
+ identifier: 'hl7.fhir.us.davinci-pas_2.0.1',
74
+ title: 'Da Vinci Prior Authorization Support (PAS) v2.0.1',
75
+ actor: 'Server'
76
+ },
77
+ {
78
+ identifier: 'hl7.fhir.uv.subscriptions_1.1.0',
79
+ title: 'Subscriptions R5 Backport IG',
80
+ actor: 'Server'
81
+ }
82
+ )
83
+
32
84
  fhir_resource_validator do
33
85
  igs '<%= ig_identifier %>'
34
86
 
@@ -12,6 +12,10 @@ module DaVinciPASTestKit
12
12
 
13
13
  <!-- break -->
14
14
 
15
+ Please visit the [Da Vinci PAS Test Kit documentation
16
+ site](https://github.com/inferno-framework/davinci-pas-test-kit/wiki/) for
17
+ detailed information on how to use and maintain this test kit.
18
+
15
19
  To validate the behavior of a system Inferno will act as the partner to the
16
20
  system under test:
17
21
  - **When testing a client**: Inferno will act as a server, awaiting requests
@@ -58,16 +62,12 @@ module DaVinciPASTestKit
58
62
  e.g., the requirement that clinicians can update details of the prior authorization
59
63
  request before submitting them
60
64
 
61
- For additional details on these and other areas where the tests may not align with
62
- the IGs requirements, see documentation in the test kit source code ([client](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/client_suite_description_v201.md#testing-limitations), [server](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/server_suite_description_v201.md#testing-limitations)), and [this requirements analysis
63
- spreadsheet](https://github.com/inferno-framework/davinci-pas-test-kit/blob/main/lib/davinci_pas_test_kit/docs/PAS%20Requirements%20Interpretation.xlsx).
64
-
65
65
  ### Known IG Issues
66
66
 
67
67
  Through testing with this test kit, issues have been identified in the version of the PAS
68
68
  specification that this test kit tests against which cause false failures. The full list
69
69
  of known issues can be found on the [repository's issues page with the 'source ig issue'
70
- lable](https://github.com/inferno-framework/davinci-pas-test-kit/labels/source%20ig%20issue).
70
+ label](https://github.com/inferno-framework/davinci-pas-test-kit/labels/source%20ig%20issue).
71
71
 
72
72
  ## Reporting Issues
73
73