onc_certification_g10_test_kit 7.1.0 → 7.2.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 (54) hide show
  1. checksums.yaml +4 -4
  2. data/config/presets/g10_reference_server_preset.json +708 -532
  3. data/lib/onc_certification_g10_test_kit/bulk_data_authorization.rb +73 -67
  4. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu1.rb +1 -2
  5. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_cancel_stu2.rb +7 -1
  6. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_parameters.rb +1 -1
  7. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_stu1.rb +10 -2
  8. data/lib/onc_certification_g10_test_kit/bulk_data_group_export_validation.rb +6 -2
  9. data/lib/onc_certification_g10_test_kit/bulk_export_validation_tester.rb +4 -0
  10. data/lib/onc_certification_g10_test_kit/configuration_checker.rb +1 -1
  11. data/lib/onc_certification_g10_test_kit/encounter_context_test.rb +3 -3
  12. data/lib/onc_certification_g10_test_kit/export_kick_off_performer.rb +7 -3
  13. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu1.rb +0 -4
  14. data/lib/onc_certification_g10_test_kit/multi_patient_api_stu2.rb +8 -4
  15. data/lib/onc_certification_g10_test_kit/patient_context_test.rb +3 -3
  16. data/lib/onc_certification_g10_test_kit/restricted_resource_type_access_group.rb +3 -10
  17. data/lib/onc_certification_g10_test_kit/scope_constants.rb +52 -0
  18. data/lib/onc_certification_g10_test_kit/short_id_map.yml +11 -20
  19. data/lib/onc_certification_g10_test_kit/single_patient_api_group.rb +4 -4
  20. data/lib/onc_certification_g10_test_kit/single_patient_us_core_4_api_group.rb +4 -4
  21. data/lib/onc_certification_g10_test_kit/single_patient_us_core_5_api_group.rb +4 -4
  22. data/lib/onc_certification_g10_test_kit/single_patient_us_core_6_api_group.rb +4 -4
  23. data/lib/onc_certification_g10_test_kit/single_patient_us_core_7_api_group.rb +4 -4
  24. data/lib/onc_certification_g10_test_kit/smart_app_launch_invalid_aud_group.rb +107 -64
  25. data/lib/onc_certification_g10_test_kit/smart_asymmetric_launch_group.rb +41 -88
  26. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group.rb +31 -41
  27. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2.rb +30 -52
  28. data/lib/onc_certification_g10_test_kit/smart_ehr_patient_launch_group_stu2_2.rb +32 -53
  29. data/lib/onc_certification_g10_test_kit/smart_ehr_practitioner_app_group.rb +99 -142
  30. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group.rb +16 -54
  31. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_group_stu2_2.rb +16 -54
  32. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group.rb +16 -54
  33. data/lib/onc_certification_g10_test_kit/smart_fine_grained_scopes_us_core_7_group_stu2_2.rb +16 -54
  34. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_group.rb +29 -64
  35. data/lib/onc_certification_g10_test_kit/smart_granular_scope_selection_test.rb +4 -3
  36. data/lib/onc_certification_g10_test_kit/smart_invalid_pkce_group.rb +39 -83
  37. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group.rb +42 -86
  38. data/lib/onc_certification_g10_test_kit/smart_invalid_token_group_stu2.rb +50 -88
  39. data/lib/onc_certification_g10_test_kit/smart_invalid_token_refresh_test.rb +9 -6
  40. data/lib/onc_certification_g10_test_kit/smart_limited_app_group.rb +86 -278
  41. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group.rb +30 -57
  42. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2.rb +34 -73
  43. data/lib/onc_certification_g10_test_kit/smart_public_standalone_launch_group_stu2_2.rb +34 -73
  44. data/lib/onc_certification_g10_test_kit/smart_scopes_test.rb +6 -1
  45. data/lib/onc_certification_g10_test_kit/smart_standalone_patient_app_group.rb +88 -116
  46. data/lib/onc_certification_g10_test_kit/smart_v1_scopes_group.rb +60 -114
  47. data/lib/onc_certification_g10_test_kit/tasks/generate_matrix.rb +2 -11
  48. data/lib/onc_certification_g10_test_kit/token_introspection_group.rb +12 -25
  49. data/lib/onc_certification_g10_test_kit/token_introspection_group_stu2_2.rb +12 -14
  50. data/lib/onc_certification_g10_test_kit/token_revocation_group.rb +44 -33
  51. data/lib/onc_certification_g10_test_kit/unrestricted_resource_type_access_group.rb +3 -3
  52. data/lib/onc_certification_g10_test_kit/version.rb +2 -2
  53. data/lib/onc_certification_g10_test_kit.rb +104 -40
  54. metadata +9 -8
@@ -1,27 +1,19 @@
1
1
  {
2
- "title": "Inferno Reference Server",
2
+ "title": "Inferno Reference Server Preset",
3
3
  "id": "g10-reference-server",
4
4
  "test_suite_id": "g10_certification",
5
5
  "inputs": [
6
6
  {
7
7
  "name": "url",
8
- "type": "text",
9
- "title": "Standalone FHIR Endpoint",
10
- "description": "URL of the FHIR endpoint used by standalone applications",
11
- "value": "https://inferno.healthit.gov/reference-server/r4"
12
- },
13
- {
14
- "name": "standalone_client_id",
15
- "type": "text",
16
- "title": "Standalone Client ID",
17
- "description": "Client ID provided during registration of Inferno as a standalone application",
18
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
8
+ "value": "https://inferno.healthit.gov/reference-server/r4",
9
+ "_title": "FHIR Endpoint",
10
+ "_description": "URL of the FHIR endpoint used by SMART applications",
11
+ "_type": "text"
19
12
  },
20
13
  {
21
- "name": "standalone_requested_scopes",
22
- "type": "textarea",
23
- "title": "Standalone Scope",
24
- "description": "OAuth 2.0 scope provided by system to enable all required functionality",
14
+ "name": "standalone_smart_auth_info",
15
+ "_title": "Standalone Launch Credentials",
16
+ "_type": "auth_info",
25
17
  "value_for_options": [
26
18
  {
27
19
  "options": [
@@ -34,7 +26,12 @@
34
26
  "value": "smart_app_launch_1"
35
27
  }
36
28
  ],
37
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
29
+ "value": {
30
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
31
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
32
+ "pkce_support": "disabled",
33
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
34
+ }
38
35
  },
39
36
  {
40
37
  "options": [
@@ -47,20 +44,12 @@
47
44
  "value": "smart_app_launch_1"
48
45
  }
49
46
  ],
50
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
51
- },
52
- {
53
- "options": [
54
- {
55
- "name": "us_core_version",
56
- "value": "us_core_5"
57
- },
58
- {
59
- "name": "smart_app_launch_version",
60
- "value": "smart_app_launch_1"
61
- }
62
- ],
63
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read"
47
+ "value": {
48
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
49
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
50
+ "pkce_support": "disabled",
51
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
52
+ }
64
53
  },
65
54
  {
66
55
  "options": [
@@ -73,7 +62,12 @@
73
62
  "value": "smart_app_launch_1"
74
63
  }
75
64
  ],
76
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
65
+ "value": {
66
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
67
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
68
+ "pkce_support": "disabled",
69
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
70
+ }
77
71
  },
78
72
  {
79
73
  "options": [
@@ -86,7 +80,12 @@
86
80
  "value": "smart_app_launch_1"
87
81
  }
88
82
  ],
89
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
83
+ "value": {
84
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
85
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
86
+ "pkce_support": "disabled",
87
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
88
+ }
90
89
  },
91
90
  {
92
91
  "options": [
@@ -99,7 +98,11 @@
99
98
  "value": "smart_app_launch_2"
100
99
  }
101
100
  ],
102
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
101
+ "value": {
102
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
103
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
104
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
105
+ }
103
106
  },
104
107
  {
105
108
  "options": [
@@ -112,7 +115,11 @@
112
115
  "value": "smart_app_launch_2_2"
113
116
  }
114
117
  ],
115
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
118
+ "value": {
119
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
120
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
121
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
122
+ }
116
123
  },
117
124
  {
118
125
  "options": [
@@ -125,7 +132,11 @@
125
132
  "value": "smart_app_launch_2"
126
133
  }
127
134
  ],
128
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
135
+ "value": {
136
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
137
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
138
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
139
+ }
129
140
  },
130
141
  {
131
142
  "options": [
@@ -138,33 +149,11 @@
138
149
  "value": "smart_app_launch_2_2"
139
150
  }
140
151
  ],
141
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
142
- },
143
- {
144
- "options": [
145
- {
146
- "name": "us_core_version",
147
- "value": "us_core_5"
148
- },
149
- {
150
- "name": "smart_app_launch_version",
151
- "value": "smart_app_launch_2"
152
- }
153
- ],
154
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
155
- },
156
- {
157
- "options": [
158
- {
159
- "name": "us_core_version",
160
- "value": "us_core_5"
161
- },
162
- {
163
- "name": "smart_app_launch_version",
164
- "value": "smart_app_launch_2_2"
165
- }
166
- ],
167
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
152
+ "value": {
153
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
154
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
155
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
156
+ }
168
157
  },
169
158
  {
170
159
  "options": [
@@ -177,7 +166,11 @@
177
166
  "value": "smart_app_launch_2"
178
167
  }
179
168
  ],
180
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
169
+ "value": {
170
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
171
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
172
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
173
+ }
181
174
  },
182
175
  {
183
176
  "options": [
@@ -190,7 +183,11 @@
190
183
  "value": "smart_app_launch_2_2"
191
184
  }
192
185
  ],
193
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
186
+ "value": {
187
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
188
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
189
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
190
+ }
194
191
  },
195
192
  {
196
193
  "options": [
@@ -203,7 +200,11 @@
203
200
  "value": "smart_app_launch_2"
204
201
  }
205
202
  ],
206
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
203
+ "value": {
204
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
205
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
206
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
207
+ }
207
208
  },
208
209
  {
209
210
  "options": [
@@ -216,30 +217,25 @@
216
217
  "value": "smart_app_launch_2_2"
217
218
  }
218
219
  ],
219
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
220
+ "value": {
221
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
222
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
223
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
224
+ }
220
225
  }
221
226
  ]
222
227
  },
223
- {
224
- "name": "standalone_client_secret",
225
- "type": "text",
226
- "title": "Standalone Client Secret",
227
- "description": "Client Secret provided during registration of Inferno as a standalone application",
228
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
229
- },
230
228
  {
231
229
  "name": "expected_resources",
232
- "type": "text",
233
- "value": null
234
- },
235
- {
236
- "name": "ehr_client_id",
237
- "type": "text",
238
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
230
+ "value": "patient, condition, observation",
231
+ "_title": "expected resource grant for limited access launch",
232
+ "_description": "the user will only grant access to the following resources during authorization.",
233
+ "_type": "text"
239
234
  },
240
235
  {
241
- "name": "ehr_requested_scopes",
242
- "type": "text",
236
+ "name": "ehr_smart_auth_info",
237
+ "_title": "EHR Launch Credentials",
238
+ "_type": "auth_info",
243
239
  "value_for_options": [
244
240
  {
245
241
  "options": [
@@ -252,7 +248,12 @@
252
248
  "value": "smart_app_launch_1"
253
249
  }
254
250
  ],
255
- "value": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read"
251
+ "value": {
252
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
253
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
254
+ "pkce_support": "disabled",
255
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read"
256
+ }
256
257
  },
257
258
  {
258
259
  "options": [
@@ -265,20 +266,12 @@
265
266
  "value": "smart_app_launch_1"
266
267
  }
267
268
  ],
268
- "value": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read"
269
- },
270
- {
271
- "options": [
272
- {
273
- "name": "us_core_version",
274
- "value": "us_core_5"
275
- },
276
- {
277
- "name": "smart_app_launch_version",
278
- "value": "smart_app_launch_1"
279
- }
280
- ],
281
- "value": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Media.read user/Medication.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read user/QuestionnaireResponse.read user/RelatedPerson.read user/ServiceRequest.read"
269
+ "value": {
270
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
271
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
272
+ "pkce_support": "disabled",
273
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read"
274
+ }
282
275
  },
283
276
  {
284
277
  "options": [
@@ -291,7 +284,12 @@
291
284
  "value": "smart_app_launch_1"
292
285
  }
293
286
  ],
294
- "value": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Coverage.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationDispense.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read user/QuestionnaireResponse.read user/RelatedPerson.read user/ServiceRequest.read user/Specimen.read"
287
+ "value": {
288
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
289
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
290
+ "pkce_support": "disabled",
291
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Coverage.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Medication.read user/MedicationDispense.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read user/QuestionnaireResponse.read user/RelatedPerson.read user/ServiceRequest.read user/Specimen.read"
292
+ }
295
293
  },
296
294
  {
297
295
  "options": [
@@ -304,7 +302,12 @@
304
302
  "value": "smart_app_launch_1"
305
303
  }
306
304
  ],
307
- "value": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Coverage.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Media.read user/Medication.read user/MedicationDispense.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read user/QuestionnaireResponse.read user/RelatedPerson.read user/ServiceRequest.read user/Specimen.read"
305
+ "value": {
306
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
307
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
308
+ "pkce_support": "disabled",
309
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.read user/AllergyIntolerance.read user/CarePlan.read user/CareTeam.read user/Condition.read user/Coverage.read user/Device.read user/DiagnosticReport.read user/DocumentReference.read user/Encounter.read user/Goal.read user/Immunization.read user/Location.read user/Media.read user/Medication.read user/MedicationDispense.read user/MedicationRequest.read user/Observation.read user/Organization.read user/Practitioner.read user/PractitionerRole.read user/Procedure.read user/Provenance.read user/QuestionnaireResponse.read user/RelatedPerson.read user/ServiceRequest.read user/Specimen.read"
310
+ }
308
311
  },
309
312
  {
310
313
  "options": [
@@ -317,7 +320,11 @@
317
320
  "value": "smart_app_launch_2"
318
321
  }
319
322
  ],
320
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
323
+ "value": {
324
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
325
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
326
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
327
+ }
321
328
  },
322
329
  {
323
330
  "options": [
@@ -330,7 +337,11 @@
330
337
  "value": "smart_app_launch_2_2"
331
338
  }
332
339
  ],
333
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
340
+ "value": {
341
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
342
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
343
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
344
+ }
334
345
  },
335
346
  {
336
347
  "options": [
@@ -343,7 +354,11 @@
343
354
  "value": "smart_app_launch_2"
344
355
  }
345
356
  ],
346
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
357
+ "value": {
358
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
359
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
360
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
361
+ }
347
362
  },
348
363
  {
349
364
  "options": [
@@ -356,33 +371,11 @@
356
371
  "value": "smart_app_launch_2_2"
357
372
  }
358
373
  ],
359
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
360
- },
361
- {
362
- "options": [
363
- {
364
- "name": "us_core_version",
365
- "value": "us_core_5"
366
- },
367
- {
368
- "name": "smart_app_launch_version",
369
- "value": "smart_app_launch_2"
370
- }
371
- ],
372
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs"
373
- },
374
- {
375
- "options": [
376
- {
377
- "name": "us_core_version",
378
- "value": "us_core_5"
379
- },
380
- {
381
- "name": "smart_app_launch_version",
382
- "value": "smart_app_launch_2_2"
383
- }
384
- ],
385
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs"
374
+ "value": {
375
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
376
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
377
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs"
378
+ }
386
379
  },
387
380
  {
388
381
  "options": [
@@ -395,7 +388,11 @@
395
388
  "value": "smart_app_launch_2"
396
389
  }
397
390
  ],
398
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
391
+ "value": {
392
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
393
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
394
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
395
+ }
399
396
  },
400
397
  {
401
398
  "options": [
@@ -408,7 +405,11 @@
408
405
  "value": "smart_app_launch_2_2"
409
406
  }
410
407
  ],
411
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
408
+ "value": {
409
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
410
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
411
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
412
+ }
412
413
  },
413
414
  {
414
415
  "options": [
@@ -421,7 +422,11 @@
421
422
  "value": "smart_app_launch_2"
422
423
  }
423
424
  ],
424
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
425
+ "value": {
426
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
427
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
428
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
429
+ }
425
430
  },
426
431
  {
427
432
  "options": [
@@ -434,51 +439,80 @@
434
439
  "value": "smart_app_launch_2_2"
435
440
  }
436
441
  ],
437
- "value": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
442
+ "value": {
443
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
444
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
445
+ "requested_scopes": "launch openid fhirUser offline_access user/Patient.rs user/AllergyIntolerance.rs user/CarePlan.rs user/CareTeam.rs user/Condition.rs user/Coverage.rs user/Device.rs user/DiagnosticReport.rs user/DocumentReference.rs user/Encounter.rs user/Goal.rs user/Immunization.rs user/Location.rs user/Media.rs user/Medication.rs user/MedicationDispense.rs user/MedicationRequest.rs user/Observation.rs user/Organization.rs user/Practitioner.rs user/PractitionerRole.rs user/Procedure.rs user/Provenance.rs user/QuestionnaireResponse.rs user/RelatedPerson.rs user/ServiceRequest.rs user/ServiceRequest.rs user/Specimen.rs"
446
+ }
438
447
  }
439
448
  ]
440
449
  },
441
- {
442
- "name": "ehr_client_secret",
443
- "type": "text",
444
- "optional": false,
445
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
446
- },
447
450
  {
448
451
  "name": "additional_patient_ids",
449
- "type": "text",
450
- "title": "Additional Patient IDs",
451
- "description": "Comma separated list of Patient IDs that together with the Patient ID from the SMART App Launch contain all MUST SUPPORT elements.",
452
- "value": "85,355"
452
+ "value": "85,355",
453
+ "_title": "Additional Patient IDs",
454
+ "_description": "Comma separated list of Patient IDs that together with the Patient\nID from the SMART App Launch contain all MUST SUPPORT elements.\n",
455
+ "_type": "text",
456
+ "_optional": true
453
457
  },
454
458
  {
455
459
  "name": "implantable_device_codes",
456
- "type": "text",
457
- "title": "Implantable Device Type Code",
458
- "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",
459
- "optional": true,
460
- "value": null
460
+ "value": null,
461
+ "_title": "Implantable Device Type Code",
462
+ "_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",
463
+ "_type": "text",
464
+ "_optional": true
465
+ },
466
+ {
467
+ "name": "bulk_server_url",
468
+ "value": "https://inferno.healthit.gov/reference-server/r4",
469
+ "_title": "Bulk Data FHIR URL",
470
+ "_description": "The URL of the Bulk FHIR server.",
471
+ "_type": "text"
461
472
  },
462
473
  {
463
- "name": "bulk_token_endpoint",
464
- "type": "text",
465
- "title": "Backend Services Token Endpoint",
466
- "description": "The OAuth 2.0 Token Endpoint used by the Backend Services specification\n to provide bearer tokens.",
467
- "value": "https://inferno.healthit.gov/reference-server/oauth/token"
474
+ "name": "group_id",
475
+ "value": "1a",
476
+ "_title": "Group ID",
477
+ "_description": "The Group ID associated with the group of patients to be exported.",
478
+ "_type": "text"
468
479
  },
469
480
  {
470
- "name": "bulk_client_id",
471
- "type": "text",
472
- "title": "Bulk Data Client ID",
473
- "description": "Client ID provided at registration to the Inferno application.",
474
- "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
481
+ "name": "bulk_patient_ids_in_group",
482
+ "value": "85,355",
483
+ "_title": "Patient IDs in exported Group",
484
+ "_description": "Comma separated list of every Patient ID that is in the specified Group. This information is provided by\nthe system under test to verify that data returned matches expectations. Leave blank to not verify Group\ninclusion.\n",
485
+ "_type": "text",
486
+ "_optional": true
475
487
  },
476
488
  {
477
- "name": "bulk_scope",
478
- "type": "text",
479
- "title": "Bulk Data Scopes",
480
- "description": "Bulk Data Scopes provided at registration to the Inferno application.",
481
- "value": "system/*.read",
489
+ "name": "bulk_device_types_in_group",
490
+ "value": null,
491
+ "_title": "Implantable Device Type Codes in exported Group",
492
+ "_description": "Comma separated list of every Implantable Device type that is in the specified Group. This information is\nprovided by the system under test to verify that data returned matches expectations. Leave blank to verify\nall Device resources against the Implantable Device profile.\n",
493
+ "_type": "text",
494
+ "_optional": true
495
+ },
496
+ {
497
+ "name": "lines_to_validate",
498
+ "value": null,
499
+ "_title": "Limit validation to a maximum resource count",
500
+ "_description": "To validate all, leave blank.",
501
+ "_type": "text",
502
+ "_optional": true
503
+ },
504
+ {
505
+ "name": "bulk_timeout",
506
+ "value": 180,
507
+ "_title": "Export Times Out after (1-600)",
508
+ "_description": "While testing, Inferno waits for the server to complete the exporting task. If the calculated totalTime is\ngreater than the timeout value specified here, Inferno bulk client stops testing. Please enter an integer\nfor the maximum wait time in seconds. If timeout is less than 1, Inferno uses default value 180. If the\n timeout is greater than 600 (10 minutes), Inferno uses the maximum value 600.\n",
509
+ "_type": "text"
510
+ },
511
+ {
512
+ "name": "bulk_smart_auth_info",
513
+ "value": null,
514
+ "_title": "Multi-Patient API Credentials",
515
+ "_type": "auth_info",
482
516
  "value_for_options": [
483
517
  {
484
518
  "options": [
@@ -487,7 +521,11 @@
487
521
  "value": "smart_app_launch_1"
488
522
  }
489
523
  ],
490
- "value": "system/*.read"
524
+ "value": {
525
+ "requested_scopes": "system/*.read",
526
+ "token_url": "https://inferno.healthit.gov/reference-server/oauth/token",
527
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
528
+ }
491
529
  },
492
530
  {
493
531
  "options": [
@@ -496,7 +534,11 @@
496
534
  "value": "smart_app_launch_2"
497
535
  }
498
536
  ],
499
- "value": "system/*.r"
537
+ "value": {
538
+ "requested_scopes": "system/*.r",
539
+ "token_url": "https://inferno.healthit.gov/reference-server/oauth/token",
540
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
541
+ }
500
542
  },
501
543
  {
502
544
  "options": [
@@ -505,85 +547,25 @@
505
547
  "value": "smart_app_launch_2_2"
506
548
  }
507
549
  ],
508
- "value": "system/*.r"
550
+ "value": {
551
+ "requested_scopes": "system/*.r",
552
+ "token_url": "https://inferno.healthit.gov/reference-server/oauth/token",
553
+ "client_id": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6InJlZ2lzdHJhdGlvbi10b2tlbiJ9.eyJqd2tzX3VybCI6Imh0dHA6Ly8xMC4xNS4yNTIuNzMvaW5mZXJuby8ud2VsbC1rbm93bi9qd2tzLmpzb24iLCJhY2Nlc3NUb2tlbnNFeHBpcmVJbiI6MTUsImlhdCI6MTU5NzQxMzE5NX0.q4v4Msc74kN506KTZ0q_minyapJw0gwlT6M_uiL73S4"
554
+ }
509
555
  }
510
556
  ]
511
557
  },
512
558
  {
513
- "name": "bulk_encryption_method",
514
- "type": "radio",
515
- "title": "Encryption Method",
516
- "description": "The server is required to suport either ES384 or RS384 encryption methods\n for JWT signature verification. Select which method to use.",
517
- "options": {
518
- "list_options": [
519
- {
520
- "label": "ES384",
521
- "value": "ES384"
522
- },
523
- {
524
- "label": "RS384",
525
- "value": "RS384"
526
- }
527
- ]
528
- },
529
- "value": "ES384"
530
- },
531
- {
532
- "name": "bulk_server_url",
533
- "type": "text",
534
- "title": "Bulk Data FHIR URL",
535
- "description": "The URL of the Bulk FHIR server.",
536
- "value": "https://inferno.healthit.gov/reference-server/r4"
537
- },
538
- {
539
- "name": "group_id",
540
- "type": "text",
541
- "title": "Group ID",
542
- "description": "The Group ID associated with the group of patients to be exported.",
543
- "value": "1a"
544
- },
545
- {
546
- "name": "bulk_timeout",
547
- "type": "text",
548
- "title": "Export Times Out after (1-600)",
549
- "description": "While testing, Inferno waits for the server to complete the exporting task.\n If the calculated totalTime is greater than the timeout value specified here,\n Inferno bulk client stops testing. Please enter an integer for the maximum wait time in seconds.\n If timeout is less than 1, Inferno uses default value 180.\n If the timeout is greater than 600 (10 minutes), Inferno uses the maximum value 600.",
550
- "value": 180
551
- },
552
- {
553
- "name": "lines_to_validate",
554
- "type": "text",
555
- "title": "Limit validation to a maximum resource count",
556
- "description": "To validate all, leave blank.",
557
- "optional": true,
558
- "value": null
559
- },
560
- {
561
- "name": "bulk_patient_ids_in_group",
562
- "type": "text",
563
- "title": "Patient IDs in exported Group",
564
- "description": "Comma separated list of every Patient ID that is in the specified Group. This information is\n provided by the system under test to verify that data returned matches expectations. Leave blank to not\n verify Group inclusion.",
565
- "value": "85, 355"
566
- },
567
- {
568
- "name": "bulk_device_types_in_group",
569
- "type": "text",
570
- "title": "Implantable Device Type Codes in exported Group",
571
- "description": "Comma separated list of every Implantable Device type that is in the specified Group. This\n information is provided by the system under test to verify that data returned matches expectations. Leave\n blank to verify all Device resources against the Implantable Device profile.",
572
- "optional": true,
573
- "value": null
574
- },
575
- {
576
- "name": "public_client_id",
577
- "type": "text",
578
- "title": "Standalone Client ID",
579
- "description": "Client ID provided during registration of Inferno as a standalone application",
580
- "value": "SAMPLE_PUBLIC_CLIENT_ID"
559
+ "name": "since_timestamp",
560
+ "value": "2025-01-20T12:40:38-05:00",
561
+ "_title": "Timestamp for _since parameter",
562
+ "_description": "A timestamp formatted as a FHIR instant which will be used to test the server's support for the `_since` query parameter",
563
+ "_type": "text"
581
564
  },
582
565
  {
583
- "name": "public_requested_scopes",
584
- "type": "textarea",
585
- "title": "Standalone Scope",
586
- "description": "OAuth 2.0 scope provided by system to enable all required functionality",
566
+ "name": "public_smart_auth_info",
567
+ "_title": "Public Launch Credentials",
568
+ "_type": "auth_info",
587
569
  "value_for_options": [
588
570
  {
589
571
  "options": [
@@ -596,7 +578,11 @@
596
578
  "value": "smart_app_launch_1"
597
579
  }
598
580
  ],
599
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
581
+ "value": {
582
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
583
+ "pkce_support": "disabled",
584
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
585
+ }
600
586
  },
601
587
  {
602
588
  "options": [
@@ -609,46 +595,61 @@
609
595
  "value": "smart_app_launch_1"
610
596
  }
611
597
  ],
612
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
598
+ "value": {
599
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
600
+ "pkce_support": "disabled",
601
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read"
602
+ }
613
603
  },
614
604
  {
615
605
  "options": [
616
606
  {
617
607
  "name": "us_core_version",
618
- "value": "us_core_5"
608
+ "value": "us_core_6"
619
609
  },
620
610
  {
621
611
  "name": "smart_app_launch_version",
622
612
  "value": "smart_app_launch_1"
623
613
  }
624
614
  ],
625
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read"
615
+ "value": {
616
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
617
+ "pkce_support": "disabled",
618
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
619
+ }
626
620
  },
627
621
  {
628
622
  "options": [
629
623
  {
630
624
  "name": "us_core_version",
631
- "value": "us_core_6"
625
+ "value": "us_core_7"
632
626
  },
633
627
  {
634
628
  "name": "smart_app_launch_version",
635
629
  "value": "smart_app_launch_1"
636
630
  }
637
631
  ],
638
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
632
+ "value": {
633
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
634
+ "pkce_support": "disabled",
635
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
636
+ }
639
637
  },
640
638
  {
641
639
  "options": [
642
640
  {
643
641
  "name": "us_core_version",
644
- "value": "us_core_7"
642
+ "value": "us_core_3"
645
643
  },
646
644
  {
647
645
  "name": "smart_app_launch_version",
648
- "value": "smart_app_launch_1"
646
+ "value": "smart_app_launch_2"
649
647
  }
650
648
  ],
651
- "value": "launch/patient openid fhirUser offline_access patient/Patient.read patient/AllergyIntolerance.read patient/CarePlan.read patient/CareTeam.read patient/Condition.read patient/Coverage.read patient/Device.read patient/DiagnosticReport.read patient/DocumentReference.read patient/Encounter.read patient/Goal.read patient/Immunization.read patient/Location.read patient/Media.read patient/Medication.read patient/MedicationDispense.read patient/MedicationRequest.read patient/Observation.read patient/Organization.read patient/Practitioner.read patient/PractitionerRole.read patient/Procedure.read patient/Provenance.read patient/QuestionnaireResponse.read patient/RelatedPerson.read patient/ServiceRequest.read patient/Specimen.read"
649
+ "value": {
650
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
651
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
652
+ }
652
653
  },
653
654
  {
654
655
  "options": [
@@ -656,77 +657,275 @@
656
657
  "name": "us_core_version",
657
658
  "value": "us_core_3"
658
659
  },
660
+ {
661
+ "name": "smart_app_launch_version",
662
+ "value": "smart_app_launch_2_2"
663
+ }
664
+ ],
665
+ "value": {
666
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
667
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
668
+ }
669
+ },
670
+ {
671
+ "options": [
672
+ {
673
+ "name": "us_core_version",
674
+ "value": "us_core_4"
675
+ },
659
676
  {
660
677
  "name": "smart_app_launch_version",
661
678
  "value": "smart_app_launch_2"
662
679
  }
663
680
  ],
664
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
681
+ "value": {
682
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
683
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
684
+ }
665
685
  },
666
686
  {
667
687
  "options": [
668
688
  {
669
689
  "name": "us_core_version",
670
- "value": "us_core_3"
690
+ "value": "us_core_4"
671
691
  },
672
692
  {
673
693
  "name": "smart_app_launch_version",
674
694
  "value": "smart_app_launch_2_2"
675
695
  }
676
696
  ],
677
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
697
+ "value": {
698
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
699
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
700
+ }
678
701
  },
679
702
  {
680
703
  "options": [
681
704
  {
682
705
  "name": "us_core_version",
683
- "value": "us_core_4"
706
+ "value": "us_core_6"
707
+ },
708
+ {
709
+ "name": "smart_app_launch_version",
710
+ "value": "smart_app_launch_2"
711
+ }
712
+ ],
713
+ "value": {
714
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
715
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
716
+ }
717
+ },
718
+ {
719
+ "options": [
720
+ {
721
+ "name": "us_core_version",
722
+ "value": "us_core_6"
723
+ },
724
+ {
725
+ "name": "smart_app_launch_version",
726
+ "value": "smart_app_launch_2_2"
727
+ }
728
+ ],
729
+ "value": {
730
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
731
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
732
+ }
733
+ },
734
+ {
735
+ "options": [
736
+ {
737
+ "name": "us_core_version",
738
+ "value": "us_core_7"
684
739
  },
685
740
  {
686
741
  "name": "smart_app_launch_version",
687
742
  "value": "smart_app_launch_2"
688
743
  }
689
744
  ],
690
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
745
+ "value": {
746
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
747
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
748
+ }
749
+ },
750
+ {
751
+ "options": [
752
+ {
753
+ "name": "us_core_version",
754
+ "value": "us_core_7"
755
+ },
756
+ {
757
+ "name": "smart_app_launch_version",
758
+ "value": "smart_app_launch_2_2"
759
+ }
760
+ ],
761
+ "value": {
762
+ "client_id": "SAMPLE_PUBLIC_CLIENT_ID",
763
+ "requested_scopes": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
764
+ }
765
+ }
766
+ ]
767
+ },
768
+ {
769
+ "name": "token_revocation_attestation",
770
+ "value": "true",
771
+ "_title": "The Health IT developer demonstrated a patient's request for revoking the tokens provided during the patient standalone launch within the last hour",
772
+ "_type": "radio",
773
+ "_options": {
774
+ "list_options": [
775
+ {
776
+ "label": "Yes",
777
+ "value": "true"
778
+ },
779
+ {
780
+ "label": "No",
781
+ "value": "false"
782
+ }
783
+ ]
784
+ }
785
+ },
786
+ {
787
+ "name": "token_revocation_notes",
788
+ "value": null,
789
+ "_title": "Notes, if applicable:",
790
+ "_type": "textarea",
791
+ "_optional": true
792
+ },
793
+ {
794
+ "name": "ehr_patient_smart_auth_info",
795
+ "_title": "EHR Launch with Patient Scopes Credentials",
796
+ "_type": "auth_info",
797
+ "value_for_options": [
798
+ {
799
+ "options": [
800
+ {
801
+ "name": "us_core_version",
802
+ "value": "us_core_3"
803
+ },
804
+ {
805
+ "name": "smart_app_launch_version",
806
+ "value": "smart_app_launch_1"
807
+ }
808
+ ],
809
+ "value": {
810
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
811
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
812
+ "pkce_support": "disabled"
813
+ }
691
814
  },
692
815
  {
693
816
  "options": [
694
817
  {
695
818
  "name": "us_core_version",
696
819
  "value": "us_core_4"
820
+ },
821
+ {
822
+ "name": "smart_app_launch_version",
823
+ "value": "smart_app_launch_1"
824
+ }
825
+ ],
826
+ "value": {
827
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
828
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
829
+ "pkce_support": "disabled"
830
+ }
831
+ },
832
+ {
833
+ "options": [
834
+ {
835
+ "name": "us_core_version",
836
+ "value": "us_core_6"
837
+ },
838
+ {
839
+ "name": "smart_app_launch_version",
840
+ "value": "smart_app_launch_1"
841
+ }
842
+ ],
843
+ "value": {
844
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
845
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
846
+ "pkce_support": "disabled"
847
+ }
848
+ },
849
+ {
850
+ "options": [
851
+ {
852
+ "name": "us_core_version",
853
+ "value": "us_core_7"
854
+ },
855
+ {
856
+ "name": "smart_app_launch_version",
857
+ "value": "smart_app_launch_1"
858
+ }
859
+ ],
860
+ "value": {
861
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
862
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
863
+ "pkce_support": "disabled"
864
+ }
865
+ },
866
+ {
867
+ "options": [
868
+ {
869
+ "name": "us_core_version",
870
+ "value": "us_core_3"
871
+ },
872
+ {
873
+ "name": "smart_app_launch_version",
874
+ "value": "smart_app_launch_2"
875
+ }
876
+ ],
877
+ "value": {
878
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
879
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
880
+ }
881
+ },
882
+ {
883
+ "options": [
884
+ {
885
+ "name": "us_core_version",
886
+ "value": "us_core_3"
697
887
  },
698
888
  {
699
889
  "name": "smart_app_launch_version",
700
890
  "value": "smart_app_launch_2_2"
701
891
  }
702
892
  ],
703
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs"
893
+ "value": {
894
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
895
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
896
+ }
704
897
  },
705
898
  {
706
899
  "options": [
707
900
  {
708
901
  "name": "us_core_version",
709
- "value": "us_core_5"
902
+ "value": "us_core_4"
710
903
  },
711
904
  {
712
905
  "name": "smart_app_launch_version",
713
906
  "value": "smart_app_launch_2"
714
907
  }
715
908
  ],
716
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
909
+ "value": {
910
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
911
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
912
+ }
717
913
  },
718
914
  {
719
915
  "options": [
720
916
  {
721
917
  "name": "us_core_version",
722
- "value": "us_core_5"
918
+ "value": "us_core_4"
723
919
  },
724
920
  {
725
921
  "name": "smart_app_launch_version",
726
922
  "value": "smart_app_launch_2_2"
727
923
  }
728
924
  ],
729
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs"
925
+ "value": {
926
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
927
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
928
+ }
730
929
  },
731
930
  {
732
931
  "options": [
@@ -739,7 +938,10 @@
739
938
  "value": "smart_app_launch_2"
740
939
  }
741
940
  ],
742
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
941
+ "value": {
942
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
943
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
944
+ }
743
945
  },
744
946
  {
745
947
  "options": [
@@ -752,7 +954,10 @@
752
954
  "value": "smart_app_launch_2_2"
753
955
  }
754
956
  ],
755
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
957
+ "value": {
958
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
959
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
960
+ }
756
961
  },
757
962
  {
758
963
  "options": [
@@ -765,7 +970,10 @@
765
970
  "value": "smart_app_launch_2"
766
971
  }
767
972
  ],
768
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
973
+ "value": {
974
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
975
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
976
+ }
769
977
  },
770
978
  {
771
979
  "options": [
@@ -778,82 +986,82 @@
778
986
  "value": "smart_app_launch_2_2"
779
987
  }
780
988
  ],
781
- "value": "launch/patient openid fhirUser offline_access patient/Patient.rs patient/AllergyIntolerance.rs patient/CarePlan.rs patient/CareTeam.rs patient/Condition.rs patient/Coverage.rs patient/Device.rs patient/DiagnosticReport.rs patient/DocumentReference.rs patient/Encounter.rs patient/Goal.rs patient/Immunization.rs patient/Location.rs patient/Media.rs patient/Medication.rs patient/MedicationDispense.rs patient/MedicationRequest.rs patient/Observation.rs patient/Organization.rs patient/Practitioner.rs patient/PractitionerRole.rs patient/Procedure.rs patient/Provenance.rs patient/QuestionnaireResponse.rs patient/RelatedPerson.rs patient/ServiceRequest.rs patient/Specimen.rs"
989
+ "value": {
990
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
991
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
992
+ }
782
993
  }
783
994
  ]
784
995
  },
785
996
  {
786
- "name": "public_client_secret",
787
- "type": "text",
788
- "optional": true,
789
- "title": "Standalone Client Secret",
790
- "description": "Client Secret provided during registration of Inferno as a standalone application",
791
- "locked": true,
792
- "value": null
997
+ "name": "custom_authorization_header",
998
+ "value": null,
999
+ "_title": "Custom HTTP Headers for Introspection Request",
1000
+ "_description": "\n Add custom headers for the introspection request by adding each header's name and value with a new line\n between each header.\n Ex:\n <Header 1 Name>: <Value 1>\n ",
1001
+ "_type": "textarea",
1002
+ "_optional": true
793
1003
  },
794
1004
  {
795
- "name": "ehr_patient_client_id",
796
- "type": "text",
797
- "title": "EHR Launch Client ID",
798
- "description": "Client ID provided during registration of Inferno as an EHR launch application",
799
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID"
1005
+ "name": "optional_introspection_request_params",
1006
+ "value": null,
1007
+ "_title": "Additional Introspection Request Parameters",
1008
+ "_description": "\n Any additional parameters to append to the request body, separated by &. Example: 'param1=abc&param2=def'\n ",
1009
+ "_type": "textarea",
1010
+ "_optional": true
800
1011
  },
801
1012
  {
802
- "name": "ehr_patient_client_secret",
803
- "type": "text",
804
- "title": "EHR Launch Client Secret",
805
- "description": "Client Secret provided during registration of Inferno as an EHR launch application",
806
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
1013
+ "name": "asymmetric_smart_auth_info",
1014
+ "_title": "Asymmetric Launch Credentials",
1015
+ "_type": "auth_info",
1016
+ "value": {
1017
+ "client_id": "SAMPLE_ASYMMETRIC_CLIENT_ID"
1018
+ }
807
1019
  },
808
1020
  {
809
- "name": "granular_scope_selection_client_auth_type",
810
- "value": "confidential_symmetric",
811
- "_title": "Client Authentication Method",
812
- "_type": "radio",
813
- "_options": {
814
- "list_options": [
815
- {
816
- "label": "Public",
817
- "value": "public"
818
- },
819
- {
820
- "label": "Confidential Symmetric",
821
- "value": "confidential_symmetric"
822
- },
823
- {
824
- "label": "Confidential Asymmetric",
825
- "value": "confidential_asymmetric"
826
- }
827
- ]
1021
+ "name": "v1_smart_auth_info",
1022
+ "_title": "Launch with v1 Scopes Credentials",
1023
+ "_type": "auth_info",
1024
+ "value": {
1025
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
1026
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
828
1027
  }
829
1028
  },
830
1029
  {
831
- "name": "granular_scope_selection_v2_client_id",
832
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
833
- "_title": "Granular Scope Selection w/v2 Scopes Client ID",
834
- "_description": "Client ID provided during registration of Inferno as a standalone application",
835
- "_type": "text"
1030
+ "name": "granular_scopes_1_auth_info",
1031
+ "_title": "Granular Scopes 1 Credentials",
1032
+ "_type": "auth_info",
1033
+ "value": {
1034
+ "auth_type": "symmetric",
1035
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
1036
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
1037
+ }
836
1038
  },
837
1039
  {
838
- "name": "granular_scope_selection_v2_requested_scopes",
839
- "value": "launch/patient openid fhirUser offline_access patient/Condition.rs patient/Observation.rs patient/Patient.rs",
840
- "_title": "Granular Scope Selection v2 Scopes",
841
- "_description": "OAuth 2.0 scope provided by system to enable all required functionality",
842
- "_type": "textarea"
1040
+ "name": "granular_scopes_2_auth_info",
1041
+ "_title": "Granular Scopes 2 Credentials",
1042
+ "_type": "auth_info",
1043
+ "value": {
1044
+ "auth_type": "symmetric",
1045
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
1046
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
1047
+ }
843
1048
  },
844
1049
  {
845
- "name": "granular_scope_selection_v2_client_secret",
846
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
847
- "_title": "Granular Scope Selection w/v2 Scopes Client Secret",
848
- "_description": "Client Secret provided during registration of Inferno as a standalone application. Only for clients using confidential symmetric authentication.",
849
- "_type": "text",
850
- "_optional": true
1050
+ "name": "granular_scopes_selection_smart_auth_info",
1051
+ "_title": "Granular Scope Selection Credentials",
1052
+ "_type": "auth_info",
1053
+ "value": {
1054
+ "auth_type": "symmetric",
1055
+ "client_id": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
1056
+ "client_secret": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET"
1057
+ }
851
1058
  },
852
1059
  {
853
- "name": "token_revocation_attestation",
854
- "type": "radio",
855
- "title": "The HealthIT developer demonstrated a patient request for revoking the tokens provided during the patient standalone launch within the last hour",
856
- "options": {
1060
+ "name": "single_patient_registration_supported",
1061
+ "value": "true",
1062
+ "_title": "Health IT Module demonstrated support for application registration for single patients.",
1063
+ "_type": "radio",
1064
+ "_options": {
857
1065
  "list_options": [
858
1066
  {
859
1067
  "label": "Yes",
@@ -864,134 +1072,96 @@
864
1072
  "value": "false"
865
1073
  }
866
1074
  ]
867
- },
868
- "value": "false"
1075
+ }
869
1076
  },
870
1077
  {
871
- "name": "token_revocation_notes",
872
- "type": "textarea",
873
- "title": "Notes, if applicable:",
874
- "optional": true,
875
- "value": null
1078
+ "name": "single_patient_registration_notes",
1079
+ "value": null,
1080
+ "_title": "Notes, if applicable:",
1081
+ "_type": "textarea",
1082
+ "_optional": true
876
1083
  },
877
1084
  {
878
- "name": "token_introspection_auth_type",
879
- "value": "confidential_symmetric",
880
- "_title": "Client Authentication Method",
1085
+ "name": "multiple_patient_registration_supported",
1086
+ "value": "true",
1087
+ "_title": "Health IT Module demonstrated support for application registration for multiple patients.",
881
1088
  "_type": "radio",
882
1089
  "_options": {
883
1090
  "list_options": [
884
1091
  {
885
- "label": "Public",
886
- "value": "public"
887
- },
888
- {
889
- "label": "Confidential Symmetric",
890
- "value": "confidential_symmetric"
1092
+ "label": "Yes",
1093
+ "value": "true"
891
1094
  },
892
1095
  {
893
- "label": "Confidential Asymmetric",
894
- "value": "confidential_asymmetric"
1096
+ "label": "No",
1097
+ "value": "false"
895
1098
  }
896
1099
  ]
897
1100
  }
898
1101
  },
899
1102
  {
900
- "name": "asymmetric_client_id",
901
- "value": "SAMPLE_ASYMMETRIC_CLIENT_ID",
902
- "_title": "Asymmetric Launch Client ID",
903
- "_description": "Client ID provided during registration of Inferno as a standalone application",
904
- "_type": "text"
905
- },
906
- {
907
- "name": "granular_scopes1_client_id",
908
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
909
- "_title": "Granular Scopes Group 1 Client ID",
910
- "_description": "Client ID provided during registration of Inferno as a standalone application",
911
- "_type": "text"
912
- },
913
- {
914
- "name": "requested_scopes_group1",
915
- "value": "launch/patient openid fhirUser offline_access patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|encounter-diagnosis patient/Condition.rs?category=http://hl7.org/fhir/us/core/CodeSystem/condition-category|health-concern patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|laboratory patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|social-history",
916
- "_title": "Granular Scopes Group 1 Scopes",
917
- "_description": "OAuth 2.0 scope provided by system to enable all required functionality",
918
- "_type": "textarea"
1103
+ "name": "multiple_patient_registration_notes",
1104
+ "value": null,
1105
+ "_title": "Notes, if applicable:",
1106
+ "_type": "textarea",
1107
+ "_optional": true
919
1108
  },
920
1109
  {
921
- "name": "granular_scopes_authorization_method",
922
- "value": "get",
923
- "_title": "Granular Scopes Authorization Request Method",
1110
+ "name": "resource_authorization_gui_supported",
1111
+ "value": "true",
1112
+ "_title": "Health IT Module demonstrated a graphical user interface for user to authorize FHIR resources.",
924
1113
  "_type": "radio",
925
1114
  "_options": {
926
1115
  "list_options": [
927
1116
  {
928
- "label": "GET",
929
- "value": "get"
1117
+ "label": "Yes",
1118
+ "value": "true"
930
1119
  },
931
1120
  {
932
- "label": "POST",
933
- "value": "post"
1121
+ "label": "No",
1122
+ "value": "false"
934
1123
  }
935
1124
  ]
936
1125
  }
937
1126
  },
938
1127
  {
939
- "name": "granular_scopes_client_auth_type",
940
- "value": "confidential_symmetric",
941
- "_title": "Granular Scopes Client Authentication Type",
1128
+ "name": "resource_authorization_gui_notes",
1129
+ "value": null,
1130
+ "_title": "Notes, if applicable:",
1131
+ "_type": "textarea",
1132
+ "_optional": true
1133
+ },
1134
+ {
1135
+ "name": "offline_access_notification_supported",
1136
+ "value": "true",
1137
+ "_title": "Health IT Module informed patient when \"offline_access\" scope is being granted during authorization.",
942
1138
  "_type": "radio",
943
1139
  "_options": {
944
1140
  "list_options": [
945
1141
  {
946
- "label": "Public",
947
- "value": "public"
948
- },
949
- {
950
- "label": "Confidential Symmetric",
951
- "value": "confidential_symmetric"
1142
+ "label": "Yes",
1143
+ "value": "true"
952
1144
  },
953
1145
  {
954
- "label": "Confidential Asymmetric",
955
- "value": "confidential_asymmetric"
1146
+ "label": "No",
1147
+ "value": "false"
956
1148
  }
957
1149
  ]
958
1150
  }
959
1151
  },
960
1152
  {
961
- "name": "granular_scopes1_client_secret",
962
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
963
- "_title": "Granular Scopes Group 1 Client Secret",
964
- "_description": "Client Secret provided during registration of Inferno as a standalone application. Only for clients using confidential symmetric authentication.",
965
- "_type": "text",
966
- "_optional": true
967
- },
968
- {
969
- "name": "granular_scopes2_client_id",
970
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_ID",
971
- "_title": "Granular Scopes Group 2 Client ID",
972
- "_description": "Client ID provided during registration of Inferno as a standalone application",
973
- "_type": "text"
974
- },
975
- {
976
- "name": "requested_scopes_group2",
977
- "value": "launch/patient openid fhirUser offline_access patient/Condition.rs?category=http://terminology.hl7.org/CodeSystem/condition-category|problem-list-item patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|vital-signs patient/Observation.rs?category=http://terminology.hl7.org/CodeSystem/observation-category|survey patient/Observation.rs?category=http://hl7.org/fhir/us/core/CodeSystem/us-core-category|sdoh",
978
- "_title": "Granular Scopes Group 2 Scopes",
979
- "_description": "OAuth 2.0 scope provided by system to enable all required functionality",
980
- "_type": "textarea"
981
- },
982
- {
983
- "name": "granular_scopes2_client_secret",
984
- "value": "SAMPLE_CONFIDENTIAL_CLIENT_SECRET",
985
- "_title": "Granular Scopes Group 2 Client Secret",
986
- "_description": "Client Secret provided during registration of Inferno as a standalone application. Only for clients using confidential symmetric authentication.",
987
- "_type": "text",
1153
+ "name": "offline_access_notification_notes",
1154
+ "value": null,
1155
+ "_title": "Notes, if applicable:",
1156
+ "_type": "textarea",
988
1157
  "_optional": true
989
1158
  },
990
1159
  {
991
- "name": "single_patient_registration_supported",
992
- "type": "radio",
993
- "title": "Health IT Module demonstrated support for application registration for single patients.",
994
- "options": {
1160
+ "name": "refresh_token_period_attestation",
1161
+ "value": "true",
1162
+ "_title": "Health IT Module attested that it is capable of issuing refresh tokens that are valid for a period of no shorter than three months.",
1163
+ "_type": "radio",
1164
+ "_options": {
995
1165
  "list_options": [
996
1166
  {
997
1167
  "label": "Yes",
@@ -1002,21 +1172,21 @@
1002
1172
  "value": "false"
1003
1173
  }
1004
1174
  ]
1005
- },
1006
- "value": "false"
1175
+ }
1007
1176
  },
1008
1177
  {
1009
- "name": "single_patient_registration_notes",
1010
- "type": "textarea",
1011
- "title": "Notes, if applicable:",
1012
- "optional": true,
1013
- "value": null
1178
+ "name": "refresh_token_period_notes",
1179
+ "value": null,
1180
+ "_title": "Notes, if applicable:",
1181
+ "_type": "textarea",
1182
+ "_optional": true
1014
1183
  },
1015
1184
  {
1016
- "name": "multiple_patient_registration_supported",
1017
- "type": "radio",
1018
- "title": "Health IT Module demonstrated support for application registration for multiple patients.",
1019
- "options": {
1185
+ "name": "token_validation_support",
1186
+ "value": "true",
1187
+ "_title": "Health IT developer demonstrated the ability of the Health IT Module / authorization server to validate token it has issued.",
1188
+ "_type": "radio",
1189
+ "_options": {
1020
1190
  "list_options": [
1021
1191
  {
1022
1192
  "label": "Yes",
@@ -1027,21 +1197,21 @@
1027
1197
  "value": "false"
1028
1198
  }
1029
1199
  ]
1030
- },
1031
- "value": "false"
1200
+ }
1032
1201
  },
1033
1202
  {
1034
- "name": "multiple_patient_registration_notes",
1035
- "type": "textarea",
1036
- "title": "Notes, if applicable:",
1037
- "optional": true,
1038
- "value": null
1203
+ "name": "token_validation_notes",
1204
+ "value": null,
1205
+ "_title": "Notes, if applicable:",
1206
+ "_type": "textarea",
1207
+ "_optional": true
1039
1208
  },
1040
1209
  {
1041
- "name": "resource_authorization_gui_supported",
1042
- "type": "radio",
1043
- "title": "Health IT Module demonstrated a graphical user interface for user to authorize FHIR resources.",
1044
- "options": {
1210
+ "name": "information_accuracy_attestation",
1211
+ "value": "true",
1212
+ "_title": "Tester verifies that all information is accurate and without omission.",
1213
+ "_type": "radio",
1214
+ "_options": {
1045
1215
  "list_options": [
1046
1216
  {
1047
1217
  "label": "Yes",
@@ -1052,21 +1222,21 @@
1052
1222
  "value": "false"
1053
1223
  }
1054
1224
  ]
1055
- },
1056
- "value": "false"
1225
+ }
1057
1226
  },
1058
1227
  {
1059
- "name": "resource_authorization_gui_notes",
1060
- "type": "textarea",
1061
- "title": "Notes, if applicable:",
1062
- "optional": true,
1063
- "value": null
1228
+ "name": "information_accuracy_notes",
1229
+ "value": null,
1230
+ "_title": "Notes, if applicable:",
1231
+ "_type": "textarea",
1232
+ "_optional": true
1064
1233
  },
1065
1234
  {
1066
- "name": "offline_access_notification_supported",
1067
- "type": "radio",
1068
- "title": "Health IT Module informed patient when \"offline_access\" scope is being granted during authorization.",
1069
- "options": {
1235
+ "name": "multi_patient_scopes_attestation",
1236
+ "value": "true",
1237
+ "_title": "Information returned no greater than scopes pre-authorized for multi-patient queries.",
1238
+ "_type": "radio",
1239
+ "_options": {
1070
1240
  "list_options": [
1071
1241
  {
1072
1242
  "label": "Yes",
@@ -1077,21 +1247,21 @@
1077
1247
  "value": "false"
1078
1248
  }
1079
1249
  ]
1080
- },
1081
- "value": "false"
1250
+ }
1082
1251
  },
1083
1252
  {
1084
- "name": "offline_access_notification_notes",
1085
- "type": "textarea",
1086
- "title": "Notes, if applicable:",
1087
- "optional": true,
1088
- "value": null
1253
+ "name": "multi_patient_scopes_notes",
1254
+ "value": null,
1255
+ "_title": "Notes, if applicable:",
1256
+ "_type": "textarea",
1257
+ "_optional": true
1089
1258
  },
1090
1259
  {
1091
- "name": "refresh_token_period_attestation",
1092
- "type": "radio",
1093
- "title": "Health IT Module attested that refresh tokens are valid for a period of no shorter than three months.",
1094
- "options": {
1260
+ "name": "developer_documentation_attestation",
1261
+ "value": "true",
1262
+ "_title": "Health IT developer demonstrated the documentation is available at a publicly accessible URL.",
1263
+ "_type": "radio",
1264
+ "_options": {
1095
1265
  "list_options": [
1096
1266
  {
1097
1267
  "label": "Yes",
@@ -1102,21 +1272,21 @@
1102
1272
  "value": "false"
1103
1273
  }
1104
1274
  ]
1105
- },
1106
- "value": "false"
1275
+ }
1107
1276
  },
1108
1277
  {
1109
- "name": "refresh_token_period_notes",
1110
- "type": "textarea",
1111
- "title": "Notes, if applicable:",
1112
- "optional": true,
1113
- "value": null
1278
+ "name": "developer_documentation_notes",
1279
+ "value": null,
1280
+ "_title": "Notes, if applicable:",
1281
+ "_type": "textarea",
1282
+ "_optional": true
1114
1283
  },
1115
1284
  {
1116
- "name": "token_validation_support",
1117
- "type": "radio",
1118
- "title": "Health IT developer demonstrated the ability of the Health IT Module / authorization server to validate token it has issued.",
1119
- "options": {
1285
+ "name": "jwks_cache_attestation",
1286
+ "value": "true",
1287
+ "_title": "Health IT developer confirms the Health IT Module does not cache the JWK Set received via a TLS-protected URL for longer than the cache-control header indicates.",
1288
+ "_type": "radio",
1289
+ "_options": {
1120
1290
  "list_options": [
1121
1291
  {
1122
1292
  "label": "Yes",
@@ -1127,21 +1297,21 @@
1127
1297
  "value": "false"
1128
1298
  }
1129
1299
  ]
1130
- },
1131
- "value": "false"
1300
+ }
1132
1301
  },
1133
1302
  {
1134
- "name": "token_validation_notes",
1135
- "type": "textarea",
1136
- "title": "Notes, if applicable:",
1137
- "optional": true,
1138
- "value": null
1303
+ "name": "jwks_cache_notes",
1304
+ "value": null,
1305
+ "_title": "Notes, if applicable:",
1306
+ "_type": "textarea",
1307
+ "_optional": true
1139
1308
  },
1140
1309
  {
1141
- "name": "information_accuracy_attestation",
1142
- "type": "radio",
1143
- "title": "Tester verifies that all information is accurate and without omission.",
1144
- "options": {
1310
+ "name": "patient_suffix_attestation",
1311
+ "value": "true",
1312
+ "_title": "Health IT developer demonstrates support for the Patient Demographics Suffix USCDI v1 element.",
1313
+ "_type": "radio",
1314
+ "_options": {
1145
1315
  "list_options": [
1146
1316
  {
1147
1317
  "label": "Yes",
@@ -1152,21 +1322,21 @@
1152
1322
  "value": "false"
1153
1323
  }
1154
1324
  ]
1155
- },
1156
- "value": "false"
1325
+ }
1157
1326
  },
1158
1327
  {
1159
- "name": "information_accuracy_notes",
1160
- "type": "textarea",
1161
- "title": "Notes, if applicable:",
1162
- "optional": true,
1163
- "value": null
1328
+ "name": "patient_suffix_notes",
1329
+ "value": null,
1330
+ "_title": "Notes, if applicable:",
1331
+ "_type": "textarea",
1332
+ "_optional": true
1164
1333
  },
1165
1334
  {
1166
- "name": "multi_patient_scopes_attestation",
1167
- "type": "radio",
1168
- "title": "Information returned no greater than scopes pre-authorized for multi-patient queries.",
1169
- "options": {
1335
+ "name": "native_refresh_attestation",
1336
+ "value": "true",
1337
+ "_title": "Health IT developer demonstrates support for issuing refresh tokens to native applications.",
1338
+ "_type": "radio",
1339
+ "_options": {
1170
1340
  "list_options": [
1171
1341
  {
1172
1342
  "label": "Yes",
@@ -1177,21 +1347,21 @@
1177
1347
  "value": "false"
1178
1348
  }
1179
1349
  ]
1180
- },
1181
- "value": "false"
1350
+ }
1182
1351
  },
1183
1352
  {
1184
- "name": "multi_patient_scopes_notes",
1185
- "type": "textarea",
1186
- "title": "Notes, if applicable:",
1187
- "optional": true,
1188
- "value": null
1353
+ "name": "native_refresh_notes",
1354
+ "value": null,
1355
+ "_title": "Notes, if applicable:",
1356
+ "_type": "textarea",
1357
+ "_optional": true
1189
1358
  },
1190
1359
  {
1191
- "name": "developer_documentation_attestation",
1192
- "type": "radio",
1193
- "title": "Health IT developer demonstrated the documentation is available at a publicly accessible URL.",
1194
- "options": {
1360
+ "name": "public_url_attestation",
1361
+ "value": "true",
1362
+ "_title": "Health IT developer demonstrates the public location of its certified API technology service base URLs",
1363
+ "_type": "radio",
1364
+ "_options": {
1195
1365
  "list_options": [
1196
1366
  {
1197
1367
  "label": "Yes",
@@ -1202,21 +1372,28 @@
1202
1372
  "value": "false"
1203
1373
  }
1204
1374
  ]
1205
- },
1206
- "value": "false"
1375
+ }
1207
1376
  },
1208
1377
  {
1209
- "name": "developer_documentation_notes",
1210
- "type": "textarea",
1211
- "title": "Notes, if applicable:",
1212
- "optional": true,
1213
- "value": null
1378
+ "name": "public_url_attestation_notes",
1379
+ "value": null,
1380
+ "_title": "Notes, if applicable:",
1381
+ "_type": "textarea",
1382
+ "_optional": true
1214
1383
  },
1215
1384
  {
1216
- "name": "jwks_cache_attestation",
1217
- "type": "radio",
1218
- "title": "Health IT developer confirms the Health IT module does not cache the JWK Set received via a TLS-protected URL for longer than the cache-control header indicates.",
1219
- "options": {
1385
+ "name": "tls_version_attestation_notes",
1386
+ "value": null,
1387
+ "_title": "Document how TLS version 1.2 or above is enforced, if required:",
1388
+ "_type": "textarea",
1389
+ "_optional": true
1390
+ },
1391
+ {
1392
+ "name": "refresh_token_refresh_attestation",
1393
+ "value": "true",
1394
+ "_title": "Health IT developer attested that the Health IT Module is capable of issuing refresh tokens valid for a new period of no shorter than three months without requiring re-authentication and re-authorization when a valid refresh token is supplied by the application.",
1395
+ "_type": "radio",
1396
+ "_options": {
1220
1397
  "list_options": [
1221
1398
  {
1222
1399
  "label": "Yes",
@@ -1227,21 +1404,21 @@
1227
1404
  "value": "false"
1228
1405
  }
1229
1406
  ]
1230
- },
1231
- "value": "false"
1407
+ }
1232
1408
  },
1233
1409
  {
1234
- "name": "jwks_cache_notes",
1235
- "type": "textarea",
1236
- "title": "Notes, if applicable:",
1237
- "optional": true,
1238
- "value": null
1410
+ "name": "refresh_token_refresh_notes",
1411
+ "value": null,
1412
+ "_title": "Notes, if applicable:",
1413
+ "_type": "textarea",
1414
+ "_optional": true
1239
1415
  },
1240
1416
  {
1241
- "name": "patient_suffix_attestation",
1242
- "type": "radio",
1243
- "title": "Health IT developer demonstrates support for the Patient Demographics Suffix USCDI v1 element.",
1244
- "options": {
1417
+ "name": "bulk_v2_since_attestation",
1418
+ "value": "true",
1419
+ "_title": "Health IT developer attested that the Health IT Module meets the requirements for supporting the `_since` parameter for bulk data exports.",
1420
+ "_type": "radio",
1421
+ "_options": {
1245
1422
  "list_options": [
1246
1423
  {
1247
1424
  "label": "Yes",
@@ -1252,21 +1429,21 @@
1252
1429
  "value": "false"
1253
1430
  }
1254
1431
  ]
1255
- },
1256
- "value": "false"
1432
+ }
1257
1433
  },
1258
1434
  {
1259
- "name": "patient_suffix_notes",
1260
- "type": "textarea",
1261
- "title": "Notes, if applicable:",
1262
- "optional": true,
1263
- "value": null
1435
+ "name": "bulk_v2_since_attestation_notes",
1436
+ "value": null,
1437
+ "_title": "Notes, if applicable:",
1438
+ "_type": "textarea",
1439
+ "_optional": true
1264
1440
  },
1265
1441
  {
1266
- "name": "native_refresh_attestation",
1267
- "type": "radio",
1268
- "title": "Health IT developer demonstrates support for issuing refresh tokens to native applications.",
1269
- "options": {
1442
+ "name": "clinical_test_scope_attestation",
1443
+ "value": "true",
1444
+ "_title": "Health IT developer attested that the Health IT Module supports granting a sub resource scope for Clinical Test Observations.",
1445
+ "_type": "radio",
1446
+ "_options": {
1270
1447
  "list_options": [
1271
1448
  {
1272
1449
  "label": "Yes",
@@ -1277,15 +1454,14 @@
1277
1454
  "value": "false"
1278
1455
  }
1279
1456
  ]
1280
- },
1281
- "value": "false"
1457
+ }
1282
1458
  },
1283
1459
  {
1284
- "name": "native_refresh_notes",
1285
- "type": "textarea",
1286
- "title": "Notes, if applicable:",
1287
- "optional": true,
1288
- "value": null
1460
+ "name": "clinical_test_scope_attestation_notes",
1461
+ "value": null,
1462
+ "_title": "Notes, if applicable:",
1463
+ "_type": "textarea",
1464
+ "_optional": true
1289
1465
  }
1290
1466
  ]
1291
1467
  }