carin_for_blue_button_test_kit 0.16.0 → 0.16.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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/lib/carin_for_blue_button_test_kit/carin_search_test.rb +1 -1
  3. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/authentication.rb +34 -11
  4. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/last_updated.rb +32 -10
  5. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_absent_reason.rb +31 -10
  6. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_display.rb +31 -10
  7. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_client/must_support_missing.rb +32 -10
  8. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_48.rb +40 -9
  9. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_60.rb +37 -8
  10. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/00_authorization_group/attestation_test_requirement_97.rb +40 -11
  11. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_10.rb +32 -9
  12. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_2.rb +32 -9
  13. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_5.rb +32 -9
  14. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_7.rb +34 -9
  15. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/01_must_support_group/attestation_test_requirement_9.rb +32 -9
  16. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_105.rb +32 -9
  17. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_108.rb +32 -9
  18. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_115.rb +30 -8
  19. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_116.rb +33 -9
  20. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_118.rb +33 -9
  21. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_119.rb +33 -9
  22. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_120.rb +32 -9
  23. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/03_eob_group/attestation_test_requirement_124.rb +38 -11
  24. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/04_eob_inpatient_group/attestation_test_requirement_130.rb +32 -9
  25. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/04_eob_inpatient_group/attestation_test_requirement_132.rb +31 -9
  26. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/05_eob_outpatient_group/attestation_test_requirement_156.rb +34 -10
  27. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/05_eob_outpatient_group/attestation_test_requirement_157.rb +36 -11
  28. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_144.rb +36 -11
  29. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_148.rb +32 -9
  30. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_149.rb +31 -9
  31. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_150.rb +32 -9
  32. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_151.rb +31 -9
  33. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_152.rb +32 -9
  34. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/06_eob_oral_group/attestation_test_requirement_153.rb +33 -9
  35. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_161.rb +31 -9
  36. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_162.rb +31 -9
  37. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_163.rb +31 -9
  38. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_164.rb +29 -8
  39. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/07_eob_pharmacy_group/attestation_test_requirement_165.rb +31 -9
  40. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/08_eob_nonclinician_group/attestation_test_requirement_168_170.rb +32 -9
  41. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/08_eob_nonclinician_group/attestation_test_requirement_173.rb +32 -9
  42. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/09_organization_group/attestation_test_requirement_177.rb +32 -9
  43. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/09_organization_group/attestation_test_requirement_178.rb +31 -9
  44. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/10_practitioner_group/attestation_test_requirement_186.rb +31 -9
  45. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/adjudication_amount.rb +38 -14
  46. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/amount_calculations.rb +62 -23
  47. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_19.rb +33 -9
  48. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_28.rb +32 -9
  49. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/attestation_test_requirement_99.rb +32 -9
  50. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/coverage_reference_resource.rb +30 -9
  51. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/licensing.rb +31 -9
  52. data/lib/carin_for_blue_button_test_kit/custom_groups/visual_inspection_and_attestation/v200_server/11_crosscutting_group/meta_lastupdated.rb +44 -17
  53. data/lib/carin_for_blue_button_test_kit/generated/v2.0.0/c4bb_test_suite.rb +8 -2
  54. data/lib/carin_for_blue_button_test_kit/generator/templates/suite.rb.erb +9 -2
  55. data/lib/carin_for_blue_button_test_kit/version.rb +2 -2
  56. metadata +20 -8
@@ -11,20 +11,45 @@ module CarinForBlueButtonTestKit
11
11
 
12
12
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@7'
13
13
 
14
+ input :carin_server_requirement_7_attestation_options,
15
+ title: 'Includes reason for missing Must Support elements',
16
+ description: %(
17
+ The developer of the Health IT Module attests that when a Must Support element is missing and the
18
+ reason for the absence is known, the Health IT Module includes a reason using either:
19
+ - a value such as a nullFlavor from the relevant value set, or
20
+ - the `dataAbsentReason` extension.
21
+ ),
22
+ type: 'radio',
23
+ default: 'false',
24
+ options: {
25
+ list_options: [
26
+ {
27
+ label: 'Yes',
28
+ value: 'true'
29
+ },
30
+ {
31
+ label: 'No',
32
+ value: 'false'
33
+ }
34
+ ]
35
+ }
36
+ input :carin_server_requirement_7_attestation_note,
37
+ title: 'Notes, if applicable:',
38
+ type: 'textarea',
39
+ optional: true
40
+
14
41
  run do
15
- identifier = SecureRandom.hex(32)
16
- wait(
17
- identifier:,
18
- message: <<~MESSAGE
19
- The developer of the Health IT Module attests that when a Must Support element is missing and the
20
- reason for the absence is known, the Health IT Module includes a reason using either:
42
+ assert carin_server_requirement_7_attestation_options == 'true', %(
43
+ The following was not satisfied:
44
+
45
+ When a Must Support element is missing and the reason for the absence is known,
46
+ the Health IT Module includes a reason using either:
21
47
  - a value such as a nullFlavor from the relevant value set, or
22
48
  - the `dataAbsentReason` extension.
23
49
 
24
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
25
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
26
- MESSAGE
27
50
  )
51
+ pass carin_server_requirement_7_attestation_note if carin_server_requirement_7_attestation_note.present?
28
52
  end
53
+
29
54
  end
30
55
  end
@@ -9,18 +9,41 @@ module CarinForBlueButtonTestKit
9
9
 
10
10
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@9'
11
11
 
12
+ input :carin_server_requirement_9_attestation_options,
13
+ title: 'Omits Must Support elements with cardinality >= 0 if data is not present',
14
+ description: %(
15
+ I attest that the Health IT Module omits `Must Support` elements with minimum cardinality = 0
16
+ when the source system has no data available for them.
17
+ ),
18
+ type: 'radio',
19
+ default: 'false',
20
+ options: {
21
+ list_options: [
22
+ {
23
+ label: 'Yes',
24
+ value: 'true'
25
+ },
26
+ {
27
+ label: 'No',
28
+ value: 'false'
29
+ }
30
+ ]
31
+ }
32
+ input :carin_server_requirement_9_attestation_note,
33
+ title: 'Notes, if applicable:',
34
+ type: 'textarea',
35
+ optional: true
36
+
12
37
  run do
13
- identifier = SecureRandom.hex(32)
14
- wait(
15
- identifier:,
16
- message: <<~MESSAGE
17
- I attest that the Health IT Module omits `Must Support` elements with minimum cardinality = 0
18
- when the source system has no data available for them.
38
+ assert carin_server_requirement_9_attestation_options == 'true', %(
39
+ The following was not satisfied:
40
+
41
+ The Health IT Module omits `Must Support` data elements from the resource if the element's minimum
42
+ cardinality is 0 and no data is available from the source system.
19
43
 
20
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
21
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
22
- MESSAGE
23
44
  )
45
+ pass carin_server_requirement_9_attestation_note if carin_server_requirement_9_attestation_note.present?
24
46
  end
47
+
25
48
  end
26
49
  end
@@ -10,20 +10,43 @@ module CarinForBlueButtonTestKit
10
10
 
11
11
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@105'
12
12
 
13
+ input :carin_server_requirement_105_attestation_options,
14
+ title: 'Uses versioned references when point-in-time data is maintained',
15
+ description: %(
16
+ I attest that the Health IT Module uses versioned references when an ExplanationOfBenefit
17
+ references another resource whenever point-in-time data is maintained, reflecting the data
18
+ effective as of the date of service or admission on the claim.
19
+ ),
20
+ type: 'radio',
21
+ default: 'false',
22
+ options: {
23
+ list_options: [
24
+ {
25
+ label: 'Yes',
26
+ value: 'true'
27
+ },
28
+ {
29
+ label: 'No',
30
+ value: 'false'
31
+ }
32
+ ]
33
+ }
34
+ input :carin_server_requirement_105_attestation_note,
35
+ title: 'Notes, if applicable:',
36
+ type: 'textarea',
37
+ optional: true
38
+
13
39
  run do
14
- identifier = SecureRandom.hex(32)
15
- wait(
16
- identifier:,
17
- message: <<~MESSAGE
18
- I attest that the Health IT Module uses versioned references when an ExplanationOfBenefit
40
+ assert carin_server_requirement_105_attestation_options == 'true', %(
41
+ The following was not satisfied:
42
+
43
+ The Health IT Module uses versioned references when an ExplanationOfBenefit
19
44
  references another resource whenever point-in-time data is maintained, reflecting the data
20
45
  effective as of the date of service or admission on the claim.
21
46
 
22
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
-
24
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
- MESSAGE
26
47
  )
48
+ pass carin_server_requirement_105_attestation_note if carin_server_requirement_105_attestation_note.present?
27
49
  end
50
+
28
51
  end
29
52
  end
@@ -10,20 +10,43 @@ module CarinForBlueButtonTestKit
10
10
 
11
11
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@108'
12
12
 
13
+ input :carin_server_requirement_108_attestation_options,
14
+ title: 'Supports versioned and unversioned references',
15
+ description: %(
16
+ I attest that the Health IT Module supports both versioned and non-versioned ExplanationOfBenefit
17
+ reference approaches when referencing another resource,
18
+ and returns the same content for referenced resources in either case.
19
+ ),
20
+ type: 'radio',
21
+ default: 'false',
22
+ options: {
23
+ list_options: [
24
+ {
25
+ label: 'Yes',
26
+ value: 'true'
27
+ },
28
+ {
29
+ label: 'No',
30
+ value: 'false'
31
+ }
32
+ ]
33
+ }
34
+ input :carin_server_requirement_108_attestation_note,
35
+ title: 'Notes, if applicable:',
36
+ type: 'textarea',
37
+ optional: true
38
+
13
39
  run do
14
- identifier = SecureRandom.hex(32)
15
- wait(
16
- identifier:,
17
- message: <<~MESSAGE
18
- I attest that the Health IT Module supports both versioned and non-versioned ExplanationOfBenefit
40
+ assert carin_server_requirement_108_attestation_options == 'true', %(
41
+ The following was not satisfied:
42
+
43
+ The Health IT Module supports both versioned and non-versioned ExplanationOfBenefit
19
44
  reference approaches when referencing another resource,
20
45
  and returns the same content for referenced resources in either case.
21
46
 
22
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
-
24
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
- MESSAGE
26
47
  )
48
+ pass carin_server_requirement_108_attestation_note if carin_server_requirement_108_attestation_note.present?
27
49
  end
50
+
28
51
  end
29
52
  end
@@ -8,17 +8,39 @@ module CarinForBlueButtonTestKit
8
8
 
9
9
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@115'
10
10
 
11
+ input :carin_server_requirement_115_attestation_options,
12
+ title: 'Does not use a data absent reason for EOB.type',
13
+ description: %(
14
+ I attest that the Health IT Module does **not** assign a data absent reason to `ExplanationOfBenefit.type`.
15
+ ),
16
+ type: 'radio',
17
+ default: 'false',
18
+ options: {
19
+ list_options: [
20
+ {
21
+ label: 'Yes',
22
+ value: 'true'
23
+ },
24
+ {
25
+ label: 'No',
26
+ value: 'false'
27
+ }
28
+ ]
29
+ }
30
+ input :carin_server_requirement_115_attestation_note,
31
+ title: 'Notes, if applicable:',
32
+ type: 'textarea',
33
+ optional: true
34
+
11
35
  run do
12
- identifier = SecureRandom.hex(32)
13
- wait(
14
- identifier:,
15
- message: <<~MESSAGE
16
- I attest that the Health IT Module does **not** assign a data absent reason to `ExplanationOfBenefit.type`.
36
+ assert carin_server_requirement_115_attestation_options == 'true', %(
37
+ The following was not satisfied:
38
+
39
+ The Health IT Module does not assign a data absent reason to the `ExplanationOfBenefit.type` element.
17
40
 
18
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
19
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
20
- MESSAGE
21
41
  )
42
+ pass carin_server_requirement_115_attestation_note if carin_server_requirement_115_attestation_note.present?
22
43
  end
44
+
23
45
  end
24
46
  end
@@ -11,20 +11,44 @@ module CarinForBlueButtonTestKit
11
11
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@116',
12
12
  'hl7.fhir.us.carin-bb_2.0.0@117'
13
13
 
14
+ input :carin_server_requirement_116_117_attestation_options,
15
+ title: 'Correctly populates EOB.insurer and EOB.outcome',
16
+ description: %(
17
+ I attest that the Health IT Module:
18
+
19
+ - Sets `ExplanationOfBenefit.outcome` to "complete",
20
+ - Populates `ExplanationOfBenefit.insurer` with the same value as `insurance.coverage.organization`.
21
+ ),
22
+ type: 'radio',
23
+ default: 'false',
24
+ options: {
25
+ list_options: [
26
+ {
27
+ label: 'Yes',
28
+ value: 'true'
29
+ },
30
+ {
31
+ label: 'No',
32
+ value: 'false'
33
+ }
34
+ ]
35
+ }
36
+ input :carin_server_requirement_116_117_attestation_note,
37
+ title: 'Notes, if applicable:',
38
+ type: 'textarea',
39
+ optional: true
40
+
14
41
  run do
15
- identifier = SecureRandom.hex(32)
16
- wait(
17
- identifier:,
18
- message: <<~MESSAGE
19
- I attest that the Health IT Module:
42
+ assert carin_server_requirement_116_117_attestation_options == 'true', %(
43
+ The following was not satisfied:
20
44
 
45
+ The Health IT Module:
21
46
  - Sets `ExplanationOfBenefit.outcome` to "complete",
22
- - Populates `ExplanationOfBenefit.insurer` with the same value as `insurance.coverage.organization`.
47
+ - Sets `ExplanationOfBenefit.insurer` equal to `insurance.coverage.organization`.
23
48
 
24
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
25
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
26
- MESSAGE
27
49
  )
50
+ pass carin_server_requirement_116_117_attestation_note if carin_server_requirement_116_117_attestation_note.present?
28
51
  end
52
+
29
53
  end
30
54
  end
@@ -11,21 +11,45 @@ module CarinForBlueButtonTestKit
11
11
 
12
12
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@118'
13
13
 
14
+ input :carin_server_requirement_118_attestation_options,
15
+ title: 'Updates reference when the reference adjusts another reference',
16
+ description: %(
17
+ I attest that when an ExplanationOfBenefit resource returned by the Health IT Module
18
+ adjusts a prior ExplanationOfBenefit, the `.related.reference`
19
+ field is populated with the identifier of the prior ExplanationOfBenefit, and the `.related.relationship` field
20
+ is assigned the value `prior`.
21
+ ),
22
+ type: 'radio',
23
+ default: 'false',
24
+ options: {
25
+ list_options: [
26
+ {
27
+ label: 'Yes',
28
+ value: 'true'
29
+ },
30
+ {
31
+ label: 'No',
32
+ value: 'false'
33
+ }
34
+ ]
35
+ }
36
+ input :carin_server_requirement_118_attestation_note,
37
+ title: 'Notes, if applicable:',
38
+ type: 'textarea',
39
+ optional: true
40
+
14
41
  run do
15
- identifier = SecureRandom.hex(32)
16
- wait(
17
- identifier:,
18
- message: <<~MESSAGE
19
- I attest that when an ExplanationOfBenefit resource returned by the Health IT Module
42
+ assert carin_server_requirement_118_attestation_options == 'true', %(
43
+ The following was not satisfied:
44
+
45
+ When an ExplanationOfBenefit resource returned by the Health IT Module
20
46
  adjusts a prior ExplanationOfBenefit, the `.related.reference`
21
47
  field is populated with the identifier of the prior ExplanationOfBenefit, and the `.related.relationship` field
22
48
  is assigned the value `prior`.
23
49
 
24
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
25
-
26
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
27
- MESSAGE
28
50
  )
51
+ pass carin_server_requirement_118_attestation_note if carin_server_requirement_118_attestation_note.present?
29
52
  end
53
+
30
54
  end
31
55
  end
@@ -11,21 +11,45 @@ module CarinForBlueButtonTestKit
11
11
 
12
12
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@119'
13
13
 
14
+ input :carin_server_requirement_119_attestation_options,
15
+ title: 'Updates reference when the reference is adjusted by another reference',
16
+ description: %(
17
+ I attest that when an ExplanationOfBenefit resource returned by the Health IT Module
18
+ has been adjusted by another ExplanationOfBenefit,
19
+ the `.related.reference` field is populated with the identifier of the adjusting ExplanationOfBenefit,
20
+ and the `.related.relationship` field is assigned the value `replacedby`.
21
+ ),
22
+ type: 'radio',
23
+ default: 'false',
24
+ options: {
25
+ list_options: [
26
+ {
27
+ label: 'Yes',
28
+ value: 'true'
29
+ },
30
+ {
31
+ label: 'No',
32
+ value: 'false'
33
+ }
34
+ ]
35
+ }
36
+ input :carin_server_requirement_119_attestation_note,
37
+ title: 'Notes, if applicable:',
38
+ type: 'textarea',
39
+ optional: true
40
+
14
41
  run do
15
- identifier = SecureRandom.hex(32)
16
- wait(
17
- identifier:,
18
- message: <<~MESSAGE
19
- I attest that when an ExplanationOfBenefit resource returned by the Health IT Module
42
+ assert carin_server_requirement_119_attestation_options == 'true', %(
43
+ The following was not satisfied:
44
+
45
+ When an ExplanationOfBenefit resource returned by the Health IT Module
20
46
  has been adjusted by another ExplanationOfBenefit,
21
47
  the `.related.reference` field is populated with the identifier of the adjusting ExplanationOfBenefit,
22
48
  and the `.related.relationship` field is assigned the value `replacedby`.
23
49
 
24
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
25
-
26
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
27
- MESSAGE
28
50
  )
51
+ pass carin_server_requirement_119_attestation_note if carin_server_requirement_119_attestation_note.present?
29
52
  end
53
+
30
54
  end
31
55
  end
@@ -10,20 +10,43 @@ module CarinForBlueButtonTestKit
10
10
 
11
11
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@120'
12
12
 
13
+ input :carin_server_requirement_120_attestation_options,
14
+ title: 'Reference contains identifier of immediately preceding or following ExplanationOfBenefit',
15
+ description: %(
16
+ I attest that the `.related.reference` field in an ExplanationOfBenefit resource
17
+ returned by the Health IT Module contains the identifier
18
+ of the immediately preceding or following ExplanationOfBenefit, and not the first or last in a sequence.
19
+ ),
20
+ type: 'radio',
21
+ default: 'false',
22
+ options: {
23
+ list_options: [
24
+ {
25
+ label: 'Yes',
26
+ value: 'true'
27
+ },
28
+ {
29
+ label: 'No',
30
+ value: 'false'
31
+ }
32
+ ]
33
+ }
34
+ input :carin_server_requirement_120_attestation_note,
35
+ title: 'Notes, if applicable:',
36
+ type: 'textarea',
37
+ optional: true
38
+
13
39
  run do
14
- identifier = SecureRandom.hex(32)
15
- wait(
16
- identifier:,
17
- message: <<~MESSAGE
18
- I attest that the `.related.reference` field in an ExplanationOfBenefit resource
40
+ assert carin_server_requirement_120_attestation_options == 'true', %(
41
+ The following was not satisfied:
42
+
43
+ The `.related.reference` field in an ExplanationOfBenefit resource
19
44
  returned by the Health IT Module contains the identifier
20
45
  of the immediately preceding or following ExplanationOfBenefit, and not the first or last in a sequence.
21
46
 
22
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
-
24
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
- MESSAGE
26
47
  )
48
+ pass carin_server_requirement_120_attestation_note if carin_server_requirement_120_attestation_note.present?
27
49
  end
50
+
28
51
  end
29
52
  end
@@ -17,22 +17,49 @@ module CarinForBlueButtonTestKit
17
17
  'hl7.fhir.us.carin-bb_2.0.0@128',
18
18
  'hl7.fhir.us.carin-bb_2.0.0@129'
19
19
 
20
+ input :carin_server_requirement_124_125_127_128_129_attestation_options,
21
+ title: 'Correctly populates EOB.insurance',
22
+ description: %(
23
+ I attest that the Health IT Module:
24
+
25
+ - Assigns `.insurance.focal = true` only for entries that match `ExplanationOfBenefit.insurer`,
26
+ - When `focal = true`, `Coverage.payor` equals `EOB.insurer` and is represented by an Organization identifier,
27
+ - When `focal = false`, `insurance.coverage.display` is set to the name of the other carrier,
28
+ - Populates `insurance.coverage` the same as `insurance.coverage.organization`.
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 :carin_server_requirement_124_125_127_128_129_attestation_note,
45
+ title: 'Notes, if applicable:',
46
+ type: 'textarea',
47
+ optional: true
48
+
20
49
  run do
21
- identifier = SecureRandom.hex(32)
22
- wait(
23
- identifier:,
24
- message: <<~MESSAGE
25
- I attest that the Health IT Module:
50
+ assert carin_server_requirement_124_125_127_128_129_attestation_options == 'true', %(
51
+ The following was not satisfied:
26
52
 
27
- - Assigns `.insurance.focal = true` only for entries that match `ExplanationOfBenefit.insurer`,
28
- - When `focal = true`, `Coverage.payor` equals `EOB.insurer` and is represented by an Organization identifier,
29
- - When `focal = false`, `insurance.coverage.display` is set to the name of the other carrier,
53
+ The Health IT Module:
54
+ - Only assigns `True` to `.insurance.focal` when the insurance matches the `ExplanationOfBenefit.insurer`,
55
+ - Ensures that when `focal = true`, `Coverage.payor` is the same as `EOB.insurer`,
56
+ - When `focal = true`, sets `Coverage.payor` to an Organization identifier,
57
+ - When `focal = false`, sets `insurance.coverage.display` to the name of the other carrier,
30
58
  - Populates `insurance.coverage` the same as `insurance.coverage.organization`.
31
59
 
32
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** these requirements.
33
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** these requirements.
34
- MESSAGE
35
60
  )
61
+ pass carin_server_requirement_124_125_127_128_129_attestation_note if carin_server_requirement_124_125_127_128_129_attestation_note.present?
36
62
  end
63
+
37
64
  end
38
65
  end
@@ -10,20 +10,43 @@ module CarinForBlueButtonTestKit
10
10
 
11
11
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@130'
12
12
 
13
+ input :carin_server_requirement_130_attestation_options,
14
+ title: 'Provides claim amounts if line item amounts unavailable',
15
+ description: %(
16
+ I attest that if line item amounts are not available, the Health IT Module provides the claim amounts
17
+ and corresponding amount types in the ExplanationOfBenefit (EOB) header data elements, as specified
18
+ by the CPCDS data elements.
19
+ ),
20
+ type: 'radio',
21
+ default: 'false',
22
+ options: {
23
+ list_options: [
24
+ {
25
+ label: 'Yes',
26
+ value: 'true'
27
+ },
28
+ {
29
+ label: 'No',
30
+ value: 'false'
31
+ }
32
+ ]
33
+ }
34
+ input :carin_server_requirement_130_attestation_note,
35
+ title: 'Notes, if applicable:',
36
+ type: 'textarea',
37
+ optional: true
38
+
13
39
  run do
14
- identifier = SecureRandom.hex(32)
15
- wait(
16
- identifier:,
17
- message: <<~MESSAGE
18
- I attest that if line item amounts are not available, the Health IT Module provides the claim amounts
40
+ assert carin_server_requirement_130_attestation_options == 'true', %(
41
+ The following was not satisfied:
42
+
43
+ If line item amounts are not available, the Health IT Module provides the claim amounts
19
44
  and corresponding amount types in the ExplanationOfBenefit (EOB) header data elements, as specified
20
45
  by the CPCDS data elements.
21
46
 
22
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
23
-
24
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
25
- MESSAGE
26
47
  )
48
+ pass carin_server_requirement_130_attestation_note if carin_server_requirement_130_attestation_note.present?
27
49
  end
50
+
28
51
  end
29
52
  end
@@ -9,19 +9,41 @@ module CarinForBlueButtonTestKit
9
9
 
10
10
  verifies_requirements 'hl7.fhir.us.carin-bb_2.0.0@132'
11
11
 
12
+ input :carin_server_requirement_132_attestation_options,
13
+ title: 'Includes in-network or out-of-network payment status',
14
+ description: %(
15
+ I attest that the Health IT Module includes the in-network or out-of-network payment status of the
16
+ claim within the `EOB.supportingInfo` element, as specified by the CPCDS data elements.
17
+ ),
18
+ type: 'radio',
19
+ default: 'false',
20
+ options: {
21
+ list_options: [
22
+ {
23
+ label: 'Yes',
24
+ value: 'true'
25
+ },
26
+ {
27
+ label: 'No',
28
+ value: 'false'
29
+ }
30
+ ]
31
+ }
32
+ input :carin_server_requirement_132_attestation_note,
33
+ title: 'Notes, if applicable:',
34
+ type: 'textarea',
35
+ optional: true
36
+
12
37
  run do
13
- identifier = SecureRandom.hex(32)
14
- wait(
15
- identifier:,
16
- message: <<~MESSAGE
17
- I attest that the Health IT Module includes the in-network or out-of-network payment status of the
18
- claim within the `EOB.supportingInfo` element, as specified by the CPCDS data elements.
38
+ assert carin_server_requirement_132_attestation_options == 'true', %(
39
+ The following was not satisfied:
19
40
 
20
- [Click here](#{resume_pass_url}?token=#{identifier}) if the system **meets** this requirement.
41
+ The Health IT Module includes the in-network or out-of-network payment status of the
42
+ claim within the `EOB.supportingInfo` element, as specified by the CPCDS data elements.
21
43
 
22
- [Click here](#{resume_fail_url}?token=#{identifier}) if the system **does not meet** this requirement.
23
- MESSAGE
24
44
  )
45
+ pass carin_server_requirement_132_attestation_note if carin_server_requirement_132_attestation_note.present?
25
46
  end
47
+
26
48
  end
27
49
  end