Pass Inferno tests with Aidbox
This functionality is available starting from version 2411.\ The FHIR Schema Validator Engine should be enabled.
Aidbox successfully passes the Inferno SMART App Launch Test Kit STU1.
Prerequisites
Aidbox must be publicly available from the Internet in order to Inferno could reach Aidbox and run tests.\ \ • Run Aidbox on Aidbox Portal\ • Run Aidbox Run Aidbox locally
Once you have your Aidbox instance up and running you need to upload necessary resources for Inferno:
Patient's data
Test patient data for Inferno test is available on Google Storage and maintained by Health Samurai team. You can upload it with /$load
endpoint:
POST /$load
content-type: application/json
accept: application/json
{
"source": "https://storage.googleapis.com/aidbox-public/smartbox/rows.ndjson.gz"
}
User resource, associated with the patient record
PUT /User/test-user
content-type: application/json
accept: application/json
{
"email": "example@mail.com",
"password": "password",
"name": {
"givenName": "Amy",
"familyName": "Shaw"
},
"active": true,
"fhirUser": {
"id": "test-pt-1",
"resourceType": "Patient"
},
"id": "test-user"
}
Now you can login to Aidbox as a patient with example@mail.com / password
.
Client resource for smart launch flows and Access Policy&x20;
PUT /
content-type: application/json
accept: application/json
[
{
"id": "inferno-patient-smart-app",
"resourceType": "Client",
"type": "smart-app",
"active": true,
"grant_types": [
"authorization_code",
"basic"
],
"auth": {
"authorization_code": {
"pkce": true,
"redirect_uri": "https://inferno.healthit.gov/suites/custom/smart/redirect",
"refresh_token": true,
"token_format": "jwt",
"access_token_expiration": 300
}
},
"smart": {
"launch_uri": "https://inferno.healthit.gov/suites/custom/smart/launch"
},
"secret": "verysecret"
},
{
"id": "inferno-client-allow",
"link": [
{
"id": "inferno-patient-smart-app",
"resourceType": "Client"
}
],
"engine": "allow",
"resourceType": "AccessPolicy"
}
]
Create Inferno test session
To create Inferno test session follow the link and click on Create Test Session
button. Make sure that SMART App Launch STU1
Test Suite has been selected.
Run Inferno tests one by one
1. Standalone Launch
- Click the
Standalone Launch
link in the left sidebar - 2. Click the
Run tests
button - 3. Provide required parameters for tests
- * FHIR Endpoint:
[aidbox-url]/fhir
- * Standalone Client ID:
inferno-patient-smart-app
- * Proof Key for Code Exchange (PKCE):
Enabled
- 4. Click the
Submit
button
Once you run tests, follow the Inferno instructions:
- Follow the link
- Login as a patient user
example@mail.com / password
- Allow requested scopes
2. EHR Launch
Before running this step you need to have launch URI. To get it use get-launch-uri
endpoint. You can run this request from Aidbox REST console or any HTTP client:
POST /rpc
content-type: application/json
accept: application/json
authorization: Basic aW5mZXJuby1wYXRpZW50LXNtYXJ0LWFwcDp2ZXJ5c2VjcmV0
{
"method": "aidbox.smart/get-launch-uri",
"params": {
"user": "test-user",
// change to your Aidbox URL
"iss": "<aidbox-url>/fhir",
"client": "inferno-patient-smart-app",
"ctx": {
"patient": "test-pt-1"
}
}
}
Copy uri
value from the response.
- Click the
Standalone Launch
link in the left sidebar - 2. Click the
Run tests
button - 3. Provide required parameters for tests
- * FHIR Endpoint:
[aidbox-url]/fhir
- * EHR Launch Client ID:
inferno-patient-smart-app
- * Proof Key for Code Exchange (PKCE):
Enabled
- 4. Click the
Submit
button - 5. Run launch URI copied before in the browser.
Once you perform launch URI, follow the Inferno instructions:
- Follow the link
- Allow requested scopes