us_core_test_kit 0.9.3 → 0.10.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/inferno_reference_server_311_preset.json +66 -0
  3. data/config/presets/inferno_reference_server_400_preset.json +66 -0
  4. data/config/presets/inferno_reference_server_501_preset.json +66 -0
  5. data/config/presets/inferno_reference_server_610_preset.json +66 -0
  6. data/config/presets/inferno_reference_server_700_preset.json +66 -0
  7. data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +18 -1
  8. data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +18 -1
  9. data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +18 -1
  10. data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +18 -1
  11. data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +18 -1
  12. data/lib/us_core_test_kit/generator/templates/granular_scope_group.rb.erb +41 -0
  13. data/lib/us_core_test_kit/generator/templates/granular_scope_read_test.rb.erb +29 -0
  14. data/lib/us_core_test_kit/generator/templates/granular_scope_resource_type_group.rb.erb +19 -0
  15. data/lib/us_core_test_kit/generator/templates/granular_scope_test.rb.erb +38 -0
  16. data/lib/us_core_test_kit/generator/templates/group.rb.erb +24 -0
  17. data/lib/us_core_test_kit/generator/templates/must_support.rb.erb +41 -0
  18. data/lib/us_core_test_kit/generator/templates/practitioner_address_test.rb.erb +32 -0
  19. data/lib/us_core_test_kit/generator/templates/provenance_revinclude_search.rb.erb +50 -0
  20. data/lib/us_core_test_kit/generator/templates/read.rb.erb +26 -0
  21. data/lib/us_core_test_kit/generator/templates/reference_resolution.rb.erb +40 -0
  22. data/lib/us_core_test_kit/generator/templates/search.rb.erb +46 -0
  23. data/lib/us_core_test_kit/generator/templates/suite.rb.erb +160 -0
  24. data/lib/us_core_test_kit/generator/templates/validation.rb.erb +31 -0
  25. data/lib/us_core_test_kit/igs/README.md +21 -0
  26. data/lib/us_core_test_kit/metadata.rb +70 -0
  27. data/lib/us_core_test_kit/reference_resolution_test.rb +1 -16
  28. data/lib/us_core_test_kit/version.rb +2 -1
  29. data/lib/us_core_test_kit.rb +1 -0
  30. metadata +31 -10
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 640b258b3230fd4c3061922d8e70fb0c795b6723c2327baa4f4f31acb961912c
4
- data.tar.gz: e3746b1b30f6a3fe869b955565875d33ccb82b964cb321da84bf8d23eca15fd2
3
+ metadata.gz: cd2a2b92b210f0b0bda54fb16a511ae955033d2b836f4237db9fd318a7e6415b
4
+ data.tar.gz: 602b0b724d94dded2cc181393de9aea97a941532f841e978ed415a910fc59693
5
5
  SHA512:
6
- metadata.gz: 52d2b138dbc0827306e741de88eda414596d1f2dd388184b911b672251f5d52a0cf0ee826321096c410512db490a0c59bd5c1972e3bbe1b429f84998141898db
7
- data.tar.gz: 9f762ca3869219ea45f76703a7f65cfa02436e9c222c8bbaf5aad16df541030ded6296c8abe04306e40392e36f0ad16a27e0065b4d645c98adc8186ef4a54026
6
+ metadata.gz: '0384ee74913d206fda3fb672690d095cab56be0b92889b94823faa6ccc72f5da95f21b471334c4575d50f6c6f2fa408fd6e7e8244e685cafcb8e29af33e8f5d5'
7
+ data.tar.gz: cc68f24f9a3b3554f9d4b949a273f55ba85691998bc7f92b52fa5dc62a71f2567d0ed5b960ee4daee988b9f0674b83ffade001c6a227647649d0bf3b6563b732
@@ -0,0 +1,66 @@
1
+ {
2
+ "title": "Inferno Reference Server",
3
+ "id": null,
4
+ "test_suite_id": "us_core_v311",
5
+ "inputs": [
6
+ {
7
+ "name": "url",
8
+ "type": "text",
9
+ "title": "FHIR Endpoint",
10
+ "description": "URL of the FHIR endpoint",
11
+ "value": "https://inferno.healthit.gov/reference-server/r4"
12
+ },
13
+ {
14
+ "name": "smart_credentials",
15
+ "type": "oauth_credentials",
16
+ "title": "OAuth Credentials",
17
+ "optional": true,
18
+ "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
19
+ },
20
+ {
21
+ "name": "standalone_client_id",
22
+ "type": "text",
23
+ "title": "Standalone Client ID",
24
+ "description": "Client ID provided during registration of Inferno as a standalone application",
25
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
26
+ },
27
+ {
28
+ "name": "standalone_client_secret",
29
+ "type": "text",
30
+ "title": "Standalone Client Secret",
31
+ "description": "Client Secret provided during registration of Inferno as a standalone application",
32
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
33
+ },
34
+ {
35
+ "name": "ehr_client_id",
36
+ "type": "text",
37
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
38
+ },
39
+ {
40
+ "name": "ehr_client_secret",
41
+ "type": "text",
42
+ "optional": false,
43
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
44
+ },
45
+ {
46
+ "name": "client_auth_type",
47
+ "type": "text",
48
+ "value": "confidential_symmetric"
49
+ },
50
+ {
51
+ "name": "patient_ids",
52
+ "type": "text",
53
+ "title": "Patient IDs",
54
+ "description": "Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements",
55
+ "value": "85,355"
56
+ },
57
+ {
58
+ "name": "implantable_device_codes",
59
+ "type": "text",
60
+ "title": "Implantable Device Type Code",
61
+ "description": "Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile",
62
+ "optional": true,
63
+ "value": null
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "title": "Inferno Reference Server",
3
+ "id": null,
4
+ "test_suite_id": "us_core_v400",
5
+ "inputs": [
6
+ {
7
+ "name": "url",
8
+ "type": "text",
9
+ "title": "FHIR Endpoint",
10
+ "description": "URL of the FHIR endpoint",
11
+ "value": "https://inferno.healthit.gov/reference-server/r4"
12
+ },
13
+ {
14
+ "name": "smart_credentials",
15
+ "type": "oauth_credentials",
16
+ "title": "OAuth Credentials",
17
+ "optional": true,
18
+ "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
19
+ },
20
+ {
21
+ "name": "standalone_client_id",
22
+ "type": "text",
23
+ "title": "Standalone Client ID",
24
+ "description": "Client ID provided during registration of Inferno as a standalone application",
25
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
26
+ },
27
+ {
28
+ "name": "standalone_client_secret",
29
+ "type": "text",
30
+ "title": "Standalone Client Secret",
31
+ "description": "Client Secret provided during registration of Inferno as a standalone application",
32
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
33
+ },
34
+ {
35
+ "name": "ehr_client_id",
36
+ "type": "text",
37
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
38
+ },
39
+ {
40
+ "name": "ehr_client_secret",
41
+ "type": "text",
42
+ "optional": false,
43
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
44
+ },
45
+ {
46
+ "name": "client_auth_type",
47
+ "type": "text",
48
+ "value": "confidential_symmetric"
49
+ },
50
+ {
51
+ "name": "patient_ids",
52
+ "type": "text",
53
+ "title": "Patient IDs",
54
+ "description": "Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements",
55
+ "value": "85,355"
56
+ },
57
+ {
58
+ "name": "implantable_device_codes",
59
+ "type": "text",
60
+ "title": "Implantable Device Type Code",
61
+ "description": "Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile",
62
+ "optional": true,
63
+ "value": null
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "title": "Inferno Reference Server",
3
+ "id": null,
4
+ "test_suite_id": "us_core_v501",
5
+ "inputs": [
6
+ {
7
+ "name": "url",
8
+ "type": "text",
9
+ "title": "FHIR Endpoint",
10
+ "description": "URL of the FHIR endpoint",
11
+ "value": "https://inferno.healthit.gov/reference-server/r4"
12
+ },
13
+ {
14
+ "name": "smart_credentials",
15
+ "type": "oauth_credentials",
16
+ "title": "OAuth Credentials",
17
+ "optional": true,
18
+ "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
19
+ },
20
+ {
21
+ "name": "standalone_client_id",
22
+ "type": "text",
23
+ "title": "Standalone Client ID",
24
+ "description": "Client ID provided during registration of Inferno as a standalone application",
25
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
26
+ },
27
+ {
28
+ "name": "standalone_client_secret",
29
+ "type": "text",
30
+ "title": "Standalone Client Secret",
31
+ "description": "Client Secret provided during registration of Inferno as a standalone application",
32
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
33
+ },
34
+ {
35
+ "name": "ehr_client_id",
36
+ "type": "text",
37
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
38
+ },
39
+ {
40
+ "name": "ehr_client_secret",
41
+ "type": "text",
42
+ "optional": false,
43
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
44
+ },
45
+ {
46
+ "name": "client_auth_type",
47
+ "type": "text",
48
+ "value": "confidential_symmetric"
49
+ },
50
+ {
51
+ "name": "patient_ids",
52
+ "type": "text",
53
+ "title": "Patient IDs",
54
+ "description": "Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements",
55
+ "value": "85,355"
56
+ },
57
+ {
58
+ "name": "implantable_device_codes",
59
+ "type": "text",
60
+ "title": "Implantable Device Type Code",
61
+ "description": "Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile",
62
+ "optional": true,
63
+ "value": null
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "title": "Inferno Reference Server",
3
+ "id": null,
4
+ "test_suite_id": "us_core_v610",
5
+ "inputs": [
6
+ {
7
+ "name": "url",
8
+ "type": "text",
9
+ "title": "FHIR Endpoint",
10
+ "description": "URL of the FHIR endpoint",
11
+ "value": "https://inferno.healthit.gov/reference-server/r4"
12
+ },
13
+ {
14
+ "name": "smart_credentials",
15
+ "type": "oauth_credentials",
16
+ "title": "OAuth Credentials",
17
+ "optional": true,
18
+ "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
19
+ },
20
+ {
21
+ "name": "standalone_client_id",
22
+ "type": "text",
23
+ "title": "Standalone Client ID",
24
+ "description": "Client ID provided during registration of Inferno as a standalone application",
25
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
26
+ },
27
+ {
28
+ "name": "standalone_client_secret",
29
+ "type": "text",
30
+ "title": "Standalone Client Secret",
31
+ "description": "Client Secret provided during registration of Inferno as a standalone application",
32
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
33
+ },
34
+ {
35
+ "name": "ehr_client_id",
36
+ "type": "text",
37
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
38
+ },
39
+ {
40
+ "name": "ehr_client_secret",
41
+ "type": "text",
42
+ "optional": false,
43
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
44
+ },
45
+ {
46
+ "name": "client_auth_type",
47
+ "type": "text",
48
+ "value": "confidential_symmetric"
49
+ },
50
+ {
51
+ "name": "patient_ids",
52
+ "type": "text",
53
+ "title": "Patient IDs",
54
+ "description": "Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements",
55
+ "value": "85,355"
56
+ },
57
+ {
58
+ "name": "implantable_device_codes",
59
+ "type": "text",
60
+ "title": "Implantable Device Type Code",
61
+ "description": "Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile",
62
+ "optional": true,
63
+ "value": null
64
+ }
65
+ ]
66
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "title": "Inferno Reference Server",
3
+ "id": null,
4
+ "test_suite_id": "us_core_v700",
5
+ "inputs": [
6
+ {
7
+ "name": "url",
8
+ "type": "text",
9
+ "title": "FHIR Endpoint",
10
+ "description": "URL of the FHIR endpoint",
11
+ "value": "https://inferno.healthit.gov/reference-server/r4"
12
+ },
13
+ {
14
+ "name": "smart_credentials",
15
+ "type": "oauth_credentials",
16
+ "title": "OAuth Credentials",
17
+ "optional": true,
18
+ "value": "{\"access_token\":\"SAMPLE_TOKEN\"}"
19
+ },
20
+ {
21
+ "name": "standalone_client_id",
22
+ "type": "text",
23
+ "title": "Standalone Client ID",
24
+ "description": "Client ID provided during registration of Inferno as a standalone application",
25
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
26
+ },
27
+ {
28
+ "name": "standalone_client_secret",
29
+ "type": "text",
30
+ "title": "Standalone Client Secret",
31
+ "description": "Client Secret provided during registration of Inferno as a standalone application",
32
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
33
+ },
34
+ {
35
+ "name": "ehr_client_id",
36
+ "type": "text",
37
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
38
+ },
39
+ {
40
+ "name": "ehr_client_secret",
41
+ "type": "text",
42
+ "optional": false,
43
+ "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
44
+ },
45
+ {
46
+ "name": "client_auth_type",
47
+ "type": "text",
48
+ "value": "confidential_symmetric"
49
+ },
50
+ {
51
+ "name": "patient_ids",
52
+ "type": "text",
53
+ "title": "Patient IDs",
54
+ "description": "Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements",
55
+ "value": "85,355"
56
+ },
57
+ {
58
+ "name": "implantable_device_codes",
59
+ "type": "text",
60
+ "title": "Implantable Device Type Code",
61
+ "description": "Enter the code for an Implantable Device type, or multiple codes separated by commas. If blank, Inferno will validate all Device resources against the Implantable Device profile",
62
+ "optional": true,
63
+ "value": null
64
+ }
65
+ ]
66
+ }
@@ -55,7 +55,6 @@ module USCoreTestKit
55
55
  the US Core Test Suite and the ONC Certification (g)(10) Standardized
56
56
  API Test Suite.
57
57
  )
58
- version VERSION
59
58
 
60
59
  GENERAL_MESSAGE_FILTERS = [
61
60
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
@@ -166,6 +165,24 @@ module USCoreTestKit
166
165
  group from: :us_core_v311_clinical_notes_guidance
167
166
  group from: :us_core_311_data_absent_reason
168
167
  end
168
+
169
+ links [
170
+ {
171
+ type: 'report_issue',
172
+ label: 'Report Issue',
173
+ url: 'https://github.com/inferno-framework/us-core-test-kit/issues/'
174
+ },
175
+ {
176
+ type: 'source_code',
177
+ label: 'Open Source',
178
+ url: 'https://github.com/inferno-framework/us-core-test-kit/'
179
+ },
180
+ {
181
+ type: 'download',
182
+ label: 'Download',
183
+ url: 'https://github.com/inferno-framework/us-core-test-kit/releases/'
184
+ }
185
+ ]
169
186
  end
170
187
  end
171
188
  end
@@ -57,7 +57,6 @@ module USCoreTestKit
57
57
  the US Core Test Suite and the ONC Certification (g)(10) Standardized
58
58
  API Test Suite.
59
59
  )
60
- version VERSION
61
60
 
62
61
  GENERAL_MESSAGE_FILTERS = [
63
62
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
@@ -170,6 +169,24 @@ module USCoreTestKit
170
169
  group from: :us_core_v400_clinical_notes_guidance
171
170
  group from: :us_core_311_data_absent_reason
172
171
  end
172
+
173
+ links [
174
+ {
175
+ type: 'report_issue',
176
+ label: 'Report Issue',
177
+ url: 'https://github.com/inferno-framework/us-core-test-kit/issues/'
178
+ },
179
+ {
180
+ type: 'source_code',
181
+ label: 'Open Source',
182
+ url: 'https://github.com/inferno-framework/us-core-test-kit/'
183
+ },
184
+ {
185
+ type: 'download',
186
+ label: 'Download',
187
+ url: 'https://github.com/inferno-framework/us-core-test-kit/releases/'
188
+ }
189
+ ]
173
190
  end
174
191
  end
175
192
  end
@@ -67,7 +67,6 @@ module USCoreTestKit
67
67
  the US Core Test Suite and the ONC Certification (g)(10) Standardized
68
68
  API Test Suite.
69
69
  )
70
- version VERSION
71
70
 
72
71
  GENERAL_MESSAGE_FILTERS = [
73
72
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
@@ -190,6 +189,24 @@ module USCoreTestKit
190
189
  group from: :us_core_v400_clinical_notes_guidance
191
190
  group from: :us_core_311_data_absent_reason
192
191
  end
192
+
193
+ links [
194
+ {
195
+ type: 'report_issue',
196
+ label: 'Report Issue',
197
+ url: 'https://github.com/inferno-framework/us-core-test-kit/issues/'
198
+ },
199
+ {
200
+ type: 'source_code',
201
+ label: 'Open Source',
202
+ url: 'https://github.com/inferno-framework/us-core-test-kit/'
203
+ },
204
+ {
205
+ type: 'download',
206
+ label: 'Download',
207
+ url: 'https://github.com/inferno-framework/us-core-test-kit/releases/'
208
+ }
209
+ ]
193
210
  end
194
211
  end
195
212
  end
@@ -74,7 +74,6 @@ module USCoreTestKit
74
74
  the US Core Test Suite and the ONC Certification (g)(10) Standardized
75
75
  API Test Suite.
76
76
  )
77
- version VERSION
78
77
 
79
78
  GENERAL_MESSAGE_FILTERS = [
80
79
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
@@ -220,6 +219,24 @@ module USCoreTestKit
220
219
  id: :us_core_v610_smart_granular_scopes_stu2_2,
221
220
  required_suite_options: USCoreOptions::SMART_2_2_REQUIREMENT
222
221
 
222
+
223
+ links [
224
+ {
225
+ type: 'report_issue',
226
+ label: 'Report Issue',
227
+ url: 'https://github.com/inferno-framework/us-core-test-kit/issues/'
228
+ },
229
+ {
230
+ type: 'source_code',
231
+ label: 'Open Source',
232
+ url: 'https://github.com/inferno-framework/us-core-test-kit/'
233
+ },
234
+ {
235
+ type: 'download',
236
+ label: 'Download',
237
+ url: 'https://github.com/inferno-framework/us-core-test-kit/releases/'
238
+ }
239
+ ]
223
240
  end
224
241
  end
225
242
  end
@@ -80,7 +80,6 @@ module USCoreTestKit
80
80
  the US Core Test Suite and the ONC Certification (g)(10) Standardized
81
81
  API Test Suite.
82
82
  )
83
- version VERSION
84
83
 
85
84
  GENERAL_MESSAGE_FILTERS = [
86
85
  %r{Sub-extension url 'introspect' is not defined by the Extension http://fhir-registry\.smarthealthit\.org/StructureDefinition/oauth-uris},
@@ -232,6 +231,24 @@ module USCoreTestKit
232
231
  id: :us_core_v700_smart_granular_scopes_stu2_2,
233
232
  required_suite_options: USCoreOptions::SMART_2_2_REQUIREMENT
234
233
 
234
+
235
+ links [
236
+ {
237
+ type: 'report_issue',
238
+ label: 'Report Issue',
239
+ url: 'https://github.com/inferno-framework/us-core-test-kit/issues/'
240
+ },
241
+ {
242
+ type: 'source_code',
243
+ label: 'Open Source',
244
+ url: 'https://github.com/inferno-framework/us-core-test-kit/'
245
+ },
246
+ {
247
+ type: 'download',
248
+ label: 'Download',
249
+ url: 'https://github.com/inferno-framework/us-core-test-kit/releases/'
250
+ }
251
+ ]
235
252
  end
236
253
  end
237
254
  end
@@ -0,0 +1,41 @@
1
+ <% group_file_list.each do |file| %>require_relative '<%= file %>'
2
+ <% end %>
3
+ module USCoreTestKit
4
+ module <%= module_name %>
5
+ class SmartGranularScopes<%= group_number %>Group < Inferno::TestGroup
6
+ id :<%= group_id %>
7
+ title 'US Core FHIR API w/Granular Scopes <%= group_number %>'
8
+
9
+ description %(
10
+ <%= description %>
11
+ )
12
+
13
+ input :granular_scopes_<%= group_number %>_credentials,
14
+ title: 'SMART Credentials for Granular Scopes <%= group_number %>',
15
+ type: :oauth_credentials,
16
+ locked: true
17
+
18
+ config(
19
+ inputs: {
20
+ patient_ids: {
21
+ locked: true
22
+ },
23
+ received_scopes: {
24
+ title: 'Received Scopes',
25
+ locked: true
26
+ },
27
+ url: {
28
+ locked: true
29
+ }
30
+ }
31
+ )
32
+
33
+ fhir_client do
34
+ oauth_credentials :granular_scopes_<%= group_number %>_credentials
35
+ url :url
36
+ end
37
+ <% group_id_list.each do |group_id| %>
38
+ group from: :<%= group_id %><% end %>
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,29 @@
1
+ require_relative '../../../../generator/group_metadata'
2
+ require_relative '../../../../granular_scope_read_test'
3
+
4
+ module USCoreTestKit
5
+ module <%= module_name %>
6
+ class <%= class_name %> < Inferno::Test
7
+ include USCoreTestKit::GranularScopeReadTest
8
+
9
+ title 'Server filters results for <%= resource_type %> reads based on granular scopes'
10
+ description %(
11
+ <%= description %>
12
+ )
13
+
14
+ id :<%= test_id %>
15
+
16
+ def resource_type
17
+ '<%= resource_type %>'
18
+ end
19
+
20
+ def self.metadata
21
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
22
+ end
23
+
24
+ run do
25
+ run_scope_read_test
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,19 @@
1
+ <% test_file_list.each do |file_name| %>require_relative '<%= file_name %>'
2
+ <% end %>
3
+ module USCoreTestKit
4
+ module <%= module_name %>
5
+ class <%= class_name %> < Inferno::TestGroup
6
+ title '<%= title %> Tests'
7
+ short_description '<%= short_description %>'
8
+ description %(
9
+ <%= description %>
10
+ )
11
+
12
+ id :<%= group_id %>
13
+ run_as_group
14
+
15
+ <% test_id_list.each do |id| %>
16
+ test from: :<%= id %><% end %>
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,38 @@
1
+ require_relative '../../../../search_test'
2
+ require_relative '../../../../generator/group_metadata'
3
+ require_relative '../../../../granular_scope_search_test'
4
+
5
+ module USCoreTestKit
6
+ module <%= module_name %>
7
+ class <%= class_name %> < Inferno::Test
8
+ include USCoreTestKit::SearchTest
9
+ include USCoreTestKit::GranularScopeSearchTest
10
+
11
+ title 'Server filters results for <%= resource_type %> search by <%= search_param_name_string %> based on granular scopes'
12
+ description %(
13
+ <%= description %>
14
+ )
15
+
16
+ id :<%= test_id %><% if optional? %>
17
+ optional
18
+ <% end %><% if needs_patient_id? %>
19
+ input :patient_ids,
20
+ title: 'Patient IDs',
21
+ description: 'Comma separated list of patient IDs that in sum contain all MUST SUPPORT elements'
22
+ <% end %>
23
+ def self.properties
24
+ @properties ||= SearchTestProperties.new(
25
+ <%= search_test_properties_string %>
26
+ )
27
+ end
28
+
29
+ def self.metadata
30
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, 'metadata.yml'), aliases: true))
31
+ end
32
+
33
+ run do
34
+ run_scope_search_test
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,24 @@
1
+ <% test_file_list.each do |file_name| %>require_relative '<%= file_name %>'
2
+ <% end %>
3
+ module USCoreTestKit
4
+ module <%= module_name %>
5
+ class <%= class_name %> < Inferno::TestGroup
6
+ title '<%= title %> Tests'
7
+ short_description '<%= short_description %>'
8
+ description %(
9
+ <%= description %>
10
+ )
11
+
12
+ id :<%= group_id %>
13
+ run_as_group<% if optional? %>
14
+ optional
15
+ <% end %>
16
+
17
+ def self.metadata
18
+ @metadata ||= Generator::GroupMetadata.new(YAML.load_file(File.join(__dir__, '<%= profile_identifier %>', 'metadata.yml'), aliases: true))
19
+ end
20
+ <% test_id_list.each do |id| %>
21
+ test from: :<%= id %><% end %>
22
+ end
23
+ end
24
+ end