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.
- checksums.yaml +4 -4
- data/config/presets/inferno_reference_server_311_preset.json +66 -0
- data/config/presets/inferno_reference_server_400_preset.json +66 -0
- data/config/presets/inferno_reference_server_501_preset.json +66 -0
- data/config/presets/inferno_reference_server_610_preset.json +66 -0
- data/config/presets/inferno_reference_server_700_preset.json +66 -0
- data/lib/us_core_test_kit/generated/v3.1.1/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v4.0.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v5.0.1/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v6.1.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generated/v7.0.0/us_core_test_suite.rb +18 -1
- data/lib/us_core_test_kit/generator/templates/granular_scope_group.rb.erb +41 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_read_test.rb.erb +29 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_resource_type_group.rb.erb +19 -0
- data/lib/us_core_test_kit/generator/templates/granular_scope_test.rb.erb +38 -0
- data/lib/us_core_test_kit/generator/templates/group.rb.erb +24 -0
- data/lib/us_core_test_kit/generator/templates/must_support.rb.erb +41 -0
- data/lib/us_core_test_kit/generator/templates/practitioner_address_test.rb.erb +32 -0
- data/lib/us_core_test_kit/generator/templates/provenance_revinclude_search.rb.erb +50 -0
- data/lib/us_core_test_kit/generator/templates/read.rb.erb +26 -0
- data/lib/us_core_test_kit/generator/templates/reference_resolution.rb.erb +40 -0
- data/lib/us_core_test_kit/generator/templates/search.rb.erb +46 -0
- data/lib/us_core_test_kit/generator/templates/suite.rb.erb +160 -0
- data/lib/us_core_test_kit/generator/templates/validation.rb.erb +31 -0
- data/lib/us_core_test_kit/igs/README.md +21 -0
- data/lib/us_core_test_kit/metadata.rb +70 -0
- data/lib/us_core_test_kit/reference_resolution_test.rb +1 -16
- data/lib/us_core_test_kit/version.rb +2 -1
- data/lib/us_core_test_kit.rb +1 -0
- metadata +31 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd2a2b92b210f0b0bda54fb16a511ae955033d2b836f4237db9fd318a7e6415b
|
4
|
+
data.tar.gz: 602b0b724d94dded2cc181393de9aea97a941532f841e978ed415a910fc59693
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|