onc_certification_g10_test_kit 5.4.2 → 6.0.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 (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/onc_certification_g10_test_kit/base_token_refresh_stu2_group.rb +49 -0
  3. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +13 -8
  4. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +12 -7
  5. data/lib/onc_certification_g10_test_kit/onc_program_procedure.yml +448 -468
  6. data/lib/onc_certification_g10_test_kit/short_id_map.yml +227 -17
  7. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +6 -1
  8. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +6 -1
  9. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +8 -5
  10. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +16 -17
  11. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +194 -0
  12. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +2 -4
  13. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +7 -6
  14. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +23 -7
  15. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +188 -0
  16. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +150 -0
  17. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +53 -0
  18. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +6 -7
  19. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +8 -10
  20. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +7 -9
  21. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +5 -3
  22. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +14 -16
  23. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +28 -4
  24. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +34 -25
  25. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +20 -9
  26. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +241 -0
  27. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +75 -51
  28. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +110 -0
  29. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +1 -1
  30. data/lib/onc_certification_g10_test_kit/version.rb +1 -1
  31. data/lib/onc_certification_g10_test_kit/visual_inspection_and_attestations_group.rb +57 -37
  32. data/lib/onc_certification_g10_test_kit.rb +84 -18
  33. metadata +13 -6
@@ -1909,6 +1909,8 @@ g10_certification-g10_single_patient_us_core_6_api-us_core_v610_specimen-us_core
1909
1909
  g10_certification-g10_single_patient_us_core_6_api-us_core_v400_clinical_notes_guidance: '10.45'
1910
1910
  g10_certification-g10_single_patient_us_core_6_api-us_core_v400_clinical_notes_guidance-us_core_clinical_note_types: 10.45.01
1911
1911
  g10_certification-g10_single_patient_us_core_6_api-us_core_v400_clinical_notes_guidance-us_core_clinical_note_attachments: 10.45.02
1912
+ g10_certification-g10_single_patient_us_core_6_api-us_core_v610_screening_assessment: '10.47'
1913
+ g10_certification-g10_single_patient_us_core_6_api-us_core_v610_screening_assessment-us_core_screening_assessment_category: 10.47.01
1912
1914
  g10_certification-g10_single_patient_us_core_6_api-us_core_311_data_absent_reason: '10.46'
1913
1915
  g10_certification-g10_single_patient_us_core_6_api-us_core_311_data_absent_reason-us_core_311_data_absent_reason_extension: 10.46.01
1914
1916
  g10_certification-g10_single_patient_us_core_6_api-us_core_311_data_absent_reason-us_core_311_data_absent_reason_code_system: 10.46.02
@@ -2103,20 +2105,228 @@ g10_certification-Group06-g10_ehr_patient_launch_stu2-smart_token_response_body:
2103
2105
  g10_certification-Group06-g10_ehr_patient_launch_stu2-smart_token_response_headers: 9.9.09
2104
2106
  g10_certification-Group06-g10_ehr_patient_launch_stu2-g10_patient_context: 9.9.10
2105
2107
  g10_certification-Group06-g10_ehr_patient_launch_stu2-g10_patient_scope: 9.9.11
2106
- g10_certification-Group06-g10_visual_inspection_and_attestations: '9.10'
2107
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test01: 9.10.01
2108
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test02: 9.10.02
2109
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test03: 9.10.03
2110
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test04: 9.10.04
2111
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test05: 9.10.05
2112
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test06: 9.10.06
2113
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test07: 9.10.07
2114
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test08: 9.10.08
2115
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test09: 9.10.09
2116
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test10: 9.10.10
2117
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test11: 9.10.11
2118
- g10_certification-Group06-g10_visual_inspection_and_attestations-Test13: 9.10.13
2119
- g10_certification-Group06-g10_visual_inspection_and_attestations-g10_public_url_attestation: 9.10.14
2120
- g10_certification-Group06-g10_visual_inspection_and_attestations-g10_tls_version_attestation: 9.10.15
2121
- g10_certification-Group06-g10_visual_inspection_and_attestations-g10_refresh_token_refresh_attestation: 9.10.16
2122
- g10_certification-Group06-g10_visual_inspection_and_attestations-g10_bulk_v2_since_attestation: 9.10.17
2108
+ g10_certification-Group06-g10_token_introspection: '9.11'
2109
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group: 9.11.1
2110
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery_stu2: 9.11.1.1
2111
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery_stu2-well_known_endpoint
2112
+ : 9.11.1.1.01
2113
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery_stu2-well_known_capabilities_stu2
2114
+ : 9.11.1.1.02
2115
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2: 9.11.1.2
2116
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-standalone_auth_tls
2117
+ : 9.11.1.2.01
2118
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_app_redirect_stu2
2119
+ : 9.11.1.2.02
2120
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_code_received
2121
+ : 9.11.1.2.03
2122
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-standalone_token_tls
2123
+ : 9.11.1.2.04
2124
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_token_exchange
2125
+ : 9.11.1.2.05
2126
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_token_response_body
2127
+ : 9.11.1.2.06
2128
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch_stu2-smart_token_response_headers
2129
+ : 9.11.1.2.07
2130
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery: 9.11.1.3
2131
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test01: 9.11.1.3.01
2132
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test02: 9.11.1.3.02
2133
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test03: 9.11.1.3.03
2134
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_discovery-Test04: 9.11.1.3.04
2135
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch: 9.11.1.4
2136
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-standalone_auth_tls
2137
+ : 9.11.1.4.01
2138
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_app_redirect
2139
+ : 9.11.1.4.02
2140
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_code_received
2141
+ : 9.11.1.4.03
2142
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-standalone_token_tls
2143
+ : 9.11.1.4.04
2144
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_exchange
2145
+ : 9.11.1.4.05
2146
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_response_body
2147
+ : 9.11.1.4.06
2148
+ ? g10_certification-Group06-g10_token_introspection-smart_token_introspection_access_token_group-smart_standalone_launch-smart_token_response_headers
2149
+ : 9.11.1.4.07
2150
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group: 9.11.2
2151
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group-Test01: 9.11.2.01
2152
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_request_group-Test02: 9.11.2.02
2153
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_response_group: 9.11.3
2154
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_response_group-Test01: 9.11.3.01
2155
+ g10_certification-Group06-g10_token_introspection-smart_token_introspection_response_group-Test02: 9.11.3.02
2156
+ g10_certification-Group06-g10_asymmetric_launch: '9.12'
2157
+ g10_certification-Group06-g10_asymmetric_launch-smart_discovery_stu2: 9.12.1
2158
+ g10_certification-Group06-g10_asymmetric_launch-smart_discovery_stu2-well_known_endpoint: 9.12.1.01
2159
+ g10_certification-Group06-g10_asymmetric_launch-smart_discovery_stu2-well_known_capabilities_stu2: 9.12.1.02
2160
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2: 9.12.2
2161
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-standalone_auth_tls: 9.12.2.01
2162
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-smart_app_redirect_stu2: 9.12.2.02
2163
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-smart_code_received: 9.12.2.03
2164
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-standalone_token_tls: 9.12.2.04
2165
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-smart_token_exchange: 9.12.2.05
2166
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-smart_token_response_body: 9.12.2.06
2167
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-smart_token_response_headers: 9.12.2.07
2168
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-g10_patient_context: 9.12.2.08
2169
+ g10_certification-Group06-g10_asymmetric_launch-smart_standalone_launch_stu2-g10_asymmetric_launch_id_token: 9.12.2.09
2170
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh: 9.12.3
2171
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_token_refresh_without_scopes: 9.12.3.01
2172
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_token_refresh_body_without_scopes: 9.12.3.02
2173
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_token_refresh_with_scopes: 9.12.3.03
2174
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_token_refresh_body_with_scopes: 9.12.3.04
2175
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_patient_context: 9.12.3.05
2176
+ g10_certification-Group06-g10_asymmetric_launch-g10_smart_asymmetric_token_refresh-g10_invalid_token_refresh: 9.12.3.06
2177
+ g10_certification-Group06-g10_smart_v1_scopes: '9.13'
2178
+ g10_certification-Group06-g10_smart_v1_scopes-smart_discovery_stu2: 9.13.1
2179
+ g10_certification-Group06-g10_smart_v1_scopes-smart_discovery_stu2-well_known_endpoint: 9.13.1.01
2180
+ g10_certification-Group06-g10_smart_v1_scopes-smart_discovery_stu2-well_known_capabilities_stu2: 9.13.1.02
2181
+ g10_certification-Group06-g10_smart_v1_scopes-smart_discovery_stu2-g10_smart_well_known_capabilities: 9.13.1.03
2182
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2: 9.13.2
2183
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-standalone_auth_tls: 9.13.2.01
2184
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-smart_app_redirect_stu2: 9.13.2.02
2185
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-smart_code_received: 9.13.2.03
2186
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-standalone_token_tls: 9.13.2.04
2187
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-smart_token_exchange: 9.13.2.05
2188
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-smart_token_response_body: 9.13.2.06
2189
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-smart_token_response_headers: 9.13.2.07
2190
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-g10_smart_scopes: 9.13.2.08
2191
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-g10_unauthorized_access: 9.13.2.09
2192
+ g10_certification-Group06-g10_smart_v1_scopes-smart_standalone_launch_stu2-g10_patient_context: 9.13.2.10
2193
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access: 9.13.3
2194
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-Test01: 9.13.3.01
2195
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_patient_unrestricted_access: 9.13.3.02
2196
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_allergy_intolerance_unrestricted_access: 9.13.3.03
2197
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_care_plan_unrestricted_access: 9.13.3.04
2198
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_care_team_unrestricted_access: 9.13.3.05
2199
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_condition_unrestricted_access: 9.13.3.06
2200
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_device_unrestricted_access: 9.13.3.07
2201
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_diagnostic_report_unrestricted_access: 9.13.3.08
2202
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_document_reference_unrestricted_access: 9.13.3.09
2203
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_goal_unrestricted_access: 9.13.3.10
2204
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_immunization_unrestricted_access: 9.13.3.11
2205
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_medication_request_access: 9.13.3.12
2206
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_observation_unrestricted_access: 9.13.3.13
2207
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_procedure_unrestricted_access: 9.13.3.14
2208
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_encounter_unrestricted_access: 9.13.3.15
2209
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_service_request_unrestricted_access: 9.13.3.16
2210
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_us_core_6_encounter_unrestricted_access: 9.13.3.17
2211
+ ? g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_us_core_6_service_request_unrestricted_access
2212
+ : 9.13.3.18
2213
+ g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_us_core_6_coverage_unrestricted_access: 9.13.3.19
2214
+ ? g10_certification-Group06-g10_smart_v1_scopes-g10_unrestricted_resource_type_access-g10_us_core_6_medication_dispense_unrestricted_access
2215
+ : 9.13.3.20
2216
+ g10_certification-Group06-g10_smart_v1_scopes-g10_auth_incorrectly_permitted_tls_versions_messages_setup: 9.13.01
2217
+ g10_certification-Group06-g10_smart_v1_scopes-g10_token_incorrectly_permitted_tls_versions_messages_setup: 9.13.02
2218
+ g10_certification-Group06-g10_smart_fine_grained_scopes: '9.14'
2219
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group01: 9.14.1
2220
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2: 9.14.1.1
2221
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_discovery_stu2: 9.14.1.1.1
2222
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_discovery_stu2-well_known_endpoint
2223
+ : 9.14.1.1.1.01
2224
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_discovery_stu2-well_known_capabilities_stu2
2225
+ : 9.14.1.1.1.02
2226
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2
2227
+ : 9.14.1.1.2
2228
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-standalone_auth_tls
2229
+ : 9.14.1.1.2.01
2230
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_app_redirect_stu2
2231
+ : 9.14.1.1.2.02
2232
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_code_received
2233
+ : 9.14.1.1.2.03
2234
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-standalone_token_tls
2235
+ : 9.14.1.1.2.04
2236
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_exchange
2237
+ : 9.14.1.1.2.05
2238
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_response_body
2239
+ : 9.14.1.1.2.06
2240
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_response_headers
2241
+ : 9.14.1.1.2.07
2242
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-us_core_granted_granular_scopes
2243
+ : 9.14.1.1.2.08
2244
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_condition_granular_scope_1_group: 9.14.1.2
2245
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_condition_granular_scope_1_group-us_core_v610_Condition_patient_category_granular_scope_search_test
2246
+ : 9.14.1.2.01
2247
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_condition_granular_scope_1_group-us_core_v610_Condition_patient_granular_scope_search_test
2248
+ : 9.14.1.2.02
2249
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_condition_granular_scope_1_group-us_core_v610_Condition_granular_scope_read_test
2250
+ : 9.14.1.2.03
2251
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_observation_granular_scope_1_group: 9.14.1.3
2252
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_observation_granular_scope_1_group-us_core_v610_Observation_patient_category_granular_scope_search_test
2253
+ : 9.14.1.3.01
2254
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_observation_granular_scope_1_group-us_core_v610_Observation_patient_category_date_granular_scope_search_test
2255
+ : 9.14.1.3.02
2256
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_observation_granular_scope_1_group-us_core_v610_Observation_patient_code_granular_scope_search_test
2257
+ : 9.14.1.3.03
2258
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group01-us_core_v610_observation_granular_scope_1_group-us_core_v610_Observation_granular_scope_read_test
2259
+ : 9.14.1.3.04
2260
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group02: 9.14.2
2261
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2: 9.14.2.1
2262
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_discovery_stu2: 9.14.2.1.1
2263
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_discovery_stu2-well_known_endpoint
2264
+ : 9.14.2.1.1.01
2265
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_discovery_stu2-well_known_capabilities_stu2
2266
+ : 9.14.2.1.1.02
2267
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2
2268
+ : 9.14.2.1.2
2269
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-standalone_auth_tls
2270
+ : 9.14.2.1.2.01
2271
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_app_redirect_stu2
2272
+ : 9.14.2.1.2.02
2273
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_code_received
2274
+ : 9.14.2.1.2.03
2275
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-standalone_token_tls
2276
+ : 9.14.2.1.2.04
2277
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_exchange
2278
+ : 9.14.2.1.2.05
2279
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_response_body
2280
+ : 9.14.2.1.2.06
2281
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-smart_token_response_headers
2282
+ : 9.14.2.1.2.07
2283
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_smart_standalone_launch_stu2-smart_standalone_launch_stu2-us_core_granted_granular_scopes
2284
+ : 9.14.2.1.2.08
2285
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_condition_granular_scope_2_group: 9.14.2.2
2286
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_condition_granular_scope_2_group-us_core_v610_Condition_patient_category_granular_scope_search_test
2287
+ : 9.14.2.2.01
2288
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_condition_granular_scope_2_group-us_core_v610_Condition_patient_granular_scope_search_test
2289
+ : 9.14.2.2.02
2290
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_condition_granular_scope_2_group-us_core_v610_Condition_granular_scope_read_test
2291
+ : 9.14.2.2.03
2292
+ g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_observation_granular_scope_2_group: 9.14.2.3
2293
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_observation_granular_scope_2_group-us_core_v610_Observation_patient_category_granular_scope_search_test
2294
+ : 9.14.2.3.01
2295
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_observation_granular_scope_2_group-us_core_v610_Observation_patient_category_date_granular_scope_search_test
2296
+ : 9.14.2.3.02
2297
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_observation_granular_scope_2_group-us_core_v610_Observation_patient_code_granular_scope_search_test
2298
+ : 9.14.2.3.03
2299
+ ? g10_certification-Group06-g10_smart_fine_grained_scopes-Group02-us_core_v610_observation_granular_scope_2_group-us_core_v610_Observation_granular_scope_read_test
2300
+ : 9.14.2.3.04
2301
+ g10_certification-Group06-g10_smart_granular_scope_selection: '9.15'
2302
+ g10_certification-Group06-g10_smart_granular_scope_selection-smart_discovery_stu2: 9.15.1
2303
+ g10_certification-Group06-g10_smart_granular_scope_selection-smart_discovery_stu2-well_known_endpoint: 9.15.1.01
2304
+ g10_certification-Group06-g10_smart_granular_scope_selection-smart_discovery_stu2-well_known_capabilities_stu2: 9.15.1.02
2305
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes: 9.15.2
2306
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-standalone_auth_tls: 9.15.2.01
2307
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-smart_app_redirect_stu2: 9.15.2.02
2308
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-smart_code_received: 9.15.2.03
2309
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-standalone_token_tls: 9.15.2.04
2310
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-smart_token_exchange: 9.15.2.05
2311
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-smart_token_response_body: 9.15.2.06
2312
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-smart_token_response_headers: 9.15.2.07
2313
+ g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-g10_smart_scopes: 9.15.2.08
2314
+ ? g10_certification-Group06-g10_smart_granular_scope_selection-g10_granular_scope_selection_v2_scopes-g10_smart_granular_scope_selection
2315
+ : 9.15.2.09
2316
+ g10_certification-g10_visual_inspection_and_attestations: '11'
2317
+ g10_certification-g10_visual_inspection_and_attestations-Test01: '11.01'
2318
+ g10_certification-g10_visual_inspection_and_attestations-Test02: '11.02'
2319
+ g10_certification-g10_visual_inspection_and_attestations-Test03: '11.03'
2320
+ g10_certification-g10_visual_inspection_and_attestations-Test04: '11.04'
2321
+ g10_certification-g10_visual_inspection_and_attestations-Test05: '11.05'
2322
+ g10_certification-g10_visual_inspection_and_attestations-Test07: '11.07'
2323
+ g10_certification-g10_visual_inspection_and_attestations-Test08: '11.08'
2324
+ g10_certification-g10_visual_inspection_and_attestations-Test09: '11.09'
2325
+ g10_certification-g10_visual_inspection_and_attestations-Test10: '11.10'
2326
+ g10_certification-g10_visual_inspection_and_attestations-Test11: '11.11'
2327
+ g10_certification-g10_visual_inspection_and_attestations-Test13: '11.13'
2328
+ g10_certification-g10_visual_inspection_and_attestations-g10_public_url_attestation: '11.14'
2329
+ g10_certification-g10_visual_inspection_and_attestations-g10_tls_version_attestation: '11.15'
2330
+ g10_certification-g10_visual_inspection_and_attestations-g10_refresh_token_refresh_attestation: '11.16'
2331
+ g10_certification-g10_visual_inspection_and_attestations-g10_bulk_v2_since_attestation: '11.17'
2332
+ g10_certification-g10_visual_inspection_and_attestations-g10_clinical_test_scope_attestation: '11.18'
@@ -8,8 +8,13 @@ module ONCCertificationG10TestKit
8
8
  title 'Single Patient API (US Core 3.1.1)'
9
9
  short_title 'Single Patient API'
10
10
  description %(
11
+ This scenario verifies the ability of a system to provide a 'Single Patient API'
12
+ as described in the (g)(10) Standardized API certification criterion.
13
+ Prior to running this scenario, systems must recieve a verified access token
14
+ from one of the previous SMART App Launch scenarios.
15
+
11
16
  For each of the relevant USCDI data elements provided in the
12
- CapabilityStatement, this test executes the [required supported
17
+ CapabilityStatement, this scenario executes the [required supported
13
18
  searches](http://www.hl7.org/fhir/us/core/STU3.1.1/CapabilityStatement-us-core-server.html)
14
19
  as defined by the US Core Implementation Guide v3.1.1.
15
20
 
@@ -6,8 +6,13 @@ module ONCCertificationG10TestKit
6
6
  title 'Single Patient API (US Core 4.0.0)'
7
7
  short_title 'Single Patient API'
8
8
  description %(
9
+ This scenario verifies the ability of a system to provide a 'Single Patient API'
10
+ as described in the (g)(10) Standardized API certification criterion.
11
+ Prior to running this scenario, systems must recieve a verified access token
12
+ from one of the previous SMART App Launch scenarios.
13
+
9
14
  For each of the relevant USCDI data elements provided in the
10
- CapabilityStatement, this test executes the [required supported
15
+ CapabilityStatement, this scenario executes the [required supported
11
16
  searches](http://hl7.org/fhir/us/core/STU4/CapabilityStatement-us-core-server.html)
12
17
  as defined by the US Core Implementation Guide v4.0.0.
13
18
 
@@ -6,8 +6,13 @@ module ONCCertificationG10TestKit
6
6
  title 'Single Patient API (US Core 6.1.0)'
7
7
  short_title 'Single Patient API'
8
8
  description %(
9
+ This scenario verifies the ability of a system to provide a 'Single Patient API'
10
+ as described in the (g)(10) Standardized API certification criterion.
11
+ Prior to running this scenario, systems must recieve a verified access token
12
+ from one of the previous SMART App Launch scenarios.
13
+
9
14
  For each of the relevant USCDI data elements provided in the
10
- CapabilityStatement, this test executes the [required supported
15
+ CapabilityStatement, this scenario executes the [required supported
11
16
  searches](http://hl7.org/fhir/us/core/STU6.1/CapabilityStatement-us-core-server.html)
12
17
  as defined by the US Core Implementation Guide v6.1.0.
13
18
 
@@ -101,7 +106,8 @@ module ONCCertificationG10TestKit
101
106
  'http://hl7.org/fhir/us/core/StructureDefinition/us-core-relatedperson',
102
107
  'http://hl7.org/fhir/us/core/StructureDefinition/us-core-servicerequest',
103
108
  'http://hl7.org/fhir/us/core/StructureDefinition/us-core-specimen'
104
- ]
109
+ ],
110
+ tag_requests: true
105
111
  }
106
112
  )
107
113
 
@@ -165,9 +171,6 @@ module ONCCertificationG10TestKit
165
171
 
166
172
  next if test_group.optional?
167
173
 
168
- # TODO: Remove this line after ONC CCG release (FI-2804)
169
- next if test_group.id.to_s.include? 'us_core_v610_screening_assessment'
170
-
171
174
  id = test_group.id
172
175
 
173
176
  group_config = {}
@@ -1,33 +1,32 @@
1
1
  module ONCCertificationG10TestKit
2
2
  class SMARTAppLaunchInvalidAudGroup < Inferno::TestGroup
3
- title 'SMART App Launch Error: Invalid AUD Parameter'
4
- short_title 'SMART Invalid AUD Launch'
3
+ title 'Invalid AUD Parameter'
4
+ short_title 'Invalid AUD Launch'
5
5
  input_instructions %(
6
6
  Register Inferno as a standalone application using the following information:
7
7
 
8
8
  * Redirect URI: `#{SMARTAppLaunch::AppRedirectTest.config.options[:redirect_uri]}`
9
9
  )
10
10
  description %(
11
- # Background
12
-
13
- The Invalid AUD Sequence verifies that a SMART Launch Sequence,
14
- specifically the Standalone Launch Sequence, does not work in the case
15
- where the client sends an invalid FHIR server as the `aud` parameter
16
- during launch. This must fail to ensure that a genuine bearer token is not
17
- leaked to a counterfit resource server.
18
-
19
- This test is not included as part of a regular SMART Launch Sequence
20
- because it requires the browser of the user to be redirected to the
21
- authorization service, and there is no expectation that the authorization
22
- service redirects the user back to Inferno with an error message. The only
23
- requirement is that Inferno is not granted a code to exchange for a valid
24
- access token. Since this is a special case, it is tested independently in
25
- a separate sequence.
11
+ This scenario verifies that a SMART Launch Sequence, specifically the
12
+ Standalone Launch Sequence, does not succeed in the case where the client
13
+ sends an invalid FHIR server as the `aud` parameter during launch. This
14
+ must fail to ensure that a genuine bearer token is not leaked to a
15
+ counterfit resource server.
16
+
17
+ This test is not included in earlier scenarios because it requires the
18
+ browser of the user to be redirected to the authorization service, and
19
+ there is no expectation that the authorization service redirects the user
20
+ back to Inferno with an error message. The only requirement is that
21
+ Inferno is not granted a code to exchange for a valid access token. Since
22
+ this is a special case, it is tested independently in a separate sequence.
26
23
 
27
24
  Note that this test will launch a new browser window. The user is required
28
25
  to 'Attest' in the Inferno user interface after the launch does not
29
26
  succeed, if the server does not return an error code.
30
27
 
28
+ The following implementation specifications are relevant to this scenario:
29
+
31
30
  * [Standalone Launch Sequence
32
31
  (STU1)](http://hl7.org/fhir/smart-app-launch/1.0.0/index.html#standalone-launch-sequence)
33
32
  * [Standalone Launch
@@ -0,0 +1,194 @@
1
+ require_relative 'base_token_refresh_stu2_group'
2
+ require_relative 'patient_context_test'
3
+
4
+ module ONCCertificationG10TestKit
5
+ class SMARTAsymmetricLaunchGroup < Inferno::TestGroup
6
+ title 'Asymmetric Client Standalone Launch'
7
+ short_title 'Asymmetric Client Launch'
8
+ description %(
9
+ The [Standalone
10
+ Launch Sequence](http://hl7.org/fhir/smart-app-launch/STU2/app-launch.html#launch-app-standalone-launch)
11
+ allows an app, like Inferno, to be launched independent of an
12
+ existing EHR session. It is one of the two launch methods described in
13
+ the SMART App Launch Framework alongside EHR Launch. The app will
14
+ request authorization for the provided scope from the authorization
15
+ endpoint, ultimately receiving an authorization token which can be used
16
+ to gain access to resources on the FHIR server.
17
+
18
+ These tests specifically verify a system's support for [confidential
19
+ asymmetric client
20
+ authentication](https://hl7.org/fhir/smart-app-launch/STU2/client-confidential-asymmetric.html),
21
+ which is not verified in earlier scenarios.
22
+
23
+ In this scenario, Inferno will redirect the user to the the authorization endpoint so that
24
+ they may provide any required credentials and authorize the application.
25
+ Upon successful authorization, Inferno will exchange the authorization
26
+ code provided for an access token.
27
+
28
+ For more information on the #{title}:
29
+
30
+ * [Standalone Launch Sequence](http://hl7.org/fhir/smart-app-launch/STU2/app-launch.html#launch-app-standalone-launch)
31
+ )
32
+
33
+ input_instructions %(
34
+ Register Inferno as a standalone application using the following information:
35
+
36
+ * Redirect URI: `#{SMARTAppLaunch::AppRedirectTest.config.options[:redirect_uri]}`
37
+ * JWKS URI (`jku`): `#{Inferno::Application[:base_url]}/custom/smart_stu2/.well-known/jwks.json`
38
+
39
+ Enter in the appropriate scopes to enable access to the Patient resource.
40
+ In addition, support for the OpenID Connect (openid fhirUser), refresh
41
+ tokens (offline_access), and patient context (launch/patient) are
42
+ required.
43
+ )
44
+ id :g10_asymmetric_launch
45
+ run_as_group
46
+
47
+ config(
48
+ inputs: {
49
+ client_id: {
50
+ name: :asymmetric_client_id,
51
+ title: 'Asymmetric Launch Client ID'
52
+ },
53
+ client_secret: {
54
+ name: :asymmetric_client_secret,
55
+ title: 'Asymmetric Launch Client Secret',
56
+ default: nil,
57
+ optional: true,
58
+ locked: true
59
+ },
60
+ requested_scopes: {
61
+ name: :asymmetric_requested_scopes,
62
+ title: 'Asymmetric Launch Scope',
63
+ default: %(
64
+ launch/patient openid fhirUser offline_access patient/Medication.rs
65
+ patient/AllergyIntolerance.rs patient/CarePlan.rs
66
+ patient/CareTeam.rs patient/Condition.rs patient/Device.rs
67
+ patient/DiagnosticReport.rs patient/DocumentReference.rs
68
+ patient/Encounter.rs patient/Goal.rs patient/Immunization.rs
69
+ patient/Location.rs patient/MedicationRequest.rs
70
+ patient/Observation.rs patient/Organization.rs patient/Patient.rs
71
+ patient/Practitioner.rs patient/Procedure.rs patient/Provenance.rs
72
+ patient/PractitionerRole.rs
73
+ ).gsub(/\s{2,}/, ' ').strip
74
+ },
75
+ url: {
76
+ title: 'Asymmetric Launch FHIR Endpoint',
77
+ description: 'URL of the FHIR endpoint used by standalone applications'
78
+ },
79
+ code: {
80
+ name: :asymmetric_code
81
+ },
82
+ state: {
83
+ name: :asymmetric_state
84
+ },
85
+ smart_authorization_url: {
86
+ title: 'OAuth 2.0 Authorize Endpoint',
87
+ description: 'OAuth 2.0 Authorize Endpoint provided during the patient standalone launch'
88
+ },
89
+ smart_credentials: {
90
+ name: :asymmetric_smart_credentials
91
+ },
92
+ use_pkce: {
93
+ default: 'true',
94
+ locked: true
95
+ },
96
+ pkce_code_challenge_method: {
97
+ locked: true
98
+ },
99
+ client_auth_type: {
100
+ name: :asymmetric_client_auth_type,
101
+ locked: true,
102
+ default: 'confidential_asymmetric'
103
+ },
104
+ refresh_token: {
105
+ name: :asymmetric_refresh_token
106
+ },
107
+ received_scopes: {
108
+ name: :asymmetric_received_scopes
109
+ },
110
+ client_auth_encryption_method: {
111
+ name: :asymmetric_client_auth_encryption_method,
112
+ locked: false
113
+ }
114
+ },
115
+ outputs: {
116
+ access_token: { name: :asymmetric_access_token },
117
+ code: { name: :asymmetric_code },
118
+ encounter_id: { name: :asymmetric_encounter_id },
119
+ expires_in: { name: :asymmetric_expires_in },
120
+ id_token: { name: :asymmetric_id_token },
121
+ intent: { name: :asymmetric_intent },
122
+ patient_id: { name: :asymmetric_patient_id },
123
+ received_scopes: { name: :asymmetric_received_scopes },
124
+ refresh_token: { name: :asymmetric_refresh_token },
125
+ smart_credentials: { name: :asymmetric_smart_credentials },
126
+ state: { name: :asymmetric_state },
127
+ token_retrieval_time: { name: :asymmetric_token_retrieval_time }
128
+ },
129
+ requests: {
130
+ redirect: { name: :asymmetric_redirect },
131
+ token: { name: :asymmetric_token }
132
+ }
133
+ )
134
+
135
+ input_order :url,
136
+ :asymmetric_client_id,
137
+ :asymmetric_client_secret,
138
+ :asymmetric_requested_scopes,
139
+ :use_pkce,
140
+ :pkce_code_challenge_method,
141
+ :authorization_method,
142
+ :asymmetric_client_auth_type,
143
+ :client_auth_encryption_method
144
+
145
+ group from: :smart_discovery_stu2
146
+
147
+ group from: :smart_standalone_launch_stu2 do
148
+ test from: :g10_patient_context,
149
+ config: {
150
+ inputs: {
151
+ patient_id: { name: :asymmetric_patient_id },
152
+ smart_credentials: { name: :asymmetric_smart_credentials }
153
+ }
154
+ }
155
+
156
+ test do
157
+ title 'OAuth token exchange response contains OpenID Connect id_token'
158
+ description %(
159
+ This test requires that an OpenID Connect id_token is provided to
160
+ demonstrate authentication capabilies for asymmetric clients.
161
+ )
162
+ id :g10_asymmetric_launch_id_token
163
+
164
+ input :id_token,
165
+ name: :asymmetric_id_token,
166
+ locked: true,
167
+ optional: true
168
+
169
+ run do
170
+ assert id_token.present?, 'Token response did not provide an id_token as required.'
171
+ end
172
+ end
173
+ end
174
+
175
+ group from: :g10_token_refresh_stu2 do
176
+ id :g10_smart_asymmetric_token_refresh
177
+
178
+ test from: :g10_patient_context do
179
+ config(
180
+ inputs: {
181
+ patient_id: { name: :asymmetric_patient_id },
182
+ smart_credentials: { name: :asymmetric_smart_credentials }
183
+ },
184
+ options: {
185
+ refresh_test: true
186
+ }
187
+ )
188
+ uses_request :token_refresh
189
+ end
190
+
191
+ test from: :g10_invalid_token_refresh
192
+ end
193
+ end
194
+ end
@@ -4,10 +4,10 @@ module ONCCertificationG10TestKit
4
4
  class SMARTEHRPatientLaunchGroup < SMARTAppLaunch::EHRLaunchGroup
5
5
  title 'EHR Launch with Patient Scopes'
6
6
  description %(
7
- # Background
8
7
  Systems are required to support the `permission-patient` capability as
9
8
  part of the [Clinician Access for EHR Launch Capability
10
9
  Set.](http://hl7.org/fhir/smart-app-launch/1.0.0/conformance/index.html#clinician-access-for-ehr-launch)
10
+ Previous scenarios do not verify this specific combination of capabilies.
11
11
 
12
12
  Additionally, if an application launched from an EHR requests and is
13
13
  granted a clinical scope restricted to a single patient, the EHR SHALL
@@ -19,9 +19,7 @@ module ONCCertificationG10TestKit
19
19
  * Launch URI: `#{SMARTAppLaunch::AppLaunchTest.config.options[:launch_uri]}`
20
20
  * Redirect URI: `#{SMARTAppLaunch::AppRedirectTest.config.options[:redirect_uri]}`
21
21
 
22
- # Test Methodology
23
-
24
- Inferno will attempt an EHR Launch with a clinical scope restricted to a
22
+ In this scenario, Inferno will attempt an EHR Launch with a clinical scope restricted to a
25
23
  single patient and verify that a patient-level scope is granted and a
26
24
  patient id is received.
27
25
 
@@ -4,10 +4,10 @@ module ONCCertificationG10TestKit
4
4
  class SMARTEHRPatientLaunchGroupSTU2 < SMARTAppLaunch::EHRLaunchGroupSTU2
5
5
  title 'EHR Launch with Patient Scopes'
6
6
  description %(
7
- # Background
8
7
  Systems are required to support the `permission-patient` capability as
9
8
  part of the [Clinician Access for EHR Launch Capability
10
9
  Set.](http://hl7.org/fhir/smart-app-launch/STU2/conformance.html#clinician-access-for-ehr-launch)
10
+ Previous scenarios do not verify this specific combination of capabilies.
11
11
 
12
12
  Additionally, if an application launched from an EHR requests and is
13
13
  granted a clinical scope restricted to a single patient, the EHR SHALL
@@ -19,9 +19,7 @@ module ONCCertificationG10TestKit
19
19
  * Launch URI: `#{SMARTAppLaunch::AppLaunchTest.config.options[:launch_uri]}`
20
20
  * Redirect URI: `#{SMARTAppLaunch::AppRedirectTest.config.options[:redirect_uri]}`
21
21
 
22
- # Test Methodology
23
-
24
- Inferno will attempt an EHR Launch with a clinical scope restricted to a
22
+ In this scenario, Inferno will attempt an EHR Launch with a clinical scope restricted to a
25
23
  single patient and verify that a patient-level scope is granted and a
26
24
  patient id is received.
27
25
 
@@ -106,8 +104,7 @@ module ONCCertificationG10TestKit
106
104
  :authorization_method,
107
105
  :use_pkce,
108
106
  :pkce_code_challenge_method,
109
- :client_auth_type,
110
- :client_auth_encryption_method
107
+ :client_auth_type
111
108
 
112
109
  test from: :g10_patient_context,
113
110
  config: {
@@ -123,5 +120,9 @@ module ONCCertificationG10TestKit
123
120
  scope_version: :v2
124
121
  }
125
122
  }
123
+
124
+ children.each do |child|
125
+ child.inputs.delete(:client_auth_encryption_method)
126
+ end
126
127
  end
127
128
  end