- Docker & Docker Compose
- npm
This section describes how to prepare Aidbox for running Inferno tests
Copy .env.tpl file to .env and fill in your AIDBOX_LICENSE_ID and AIDBOX_LICENSE_KEY.
Run
make smart-on-fhir-setupto initialize Aidbox, load the data neccessary for tests, and start it.
Forward your Aidbox instance to the internet. You can use services like ngrok or localhost.run.
Open the Aidbox console and do a request in the REST Console to get a launch URI:
POST /rpc
content-type: test/yaml
accept: text/yaml
method: aidbox.smart/get-launch-uri
params:
user:
id: inferno-patient-user
resourceType: User
iss: https://your-aidbox-domain/smart
client:
id: inferno-client
resourceType: ClientYou'll get a response like
result:
uri: https://inferno.healthit.gov/community/oauth2/static/launch?iss=https://your-aidbox-domain/smart&launch=some-jwt-token
launch: some-jwt-token
iss: https://your-aidbox-domain/smart
launch-uri: https://inferno.healthit.gov/inferno/oauth2/static/launchthe .result.uri field is the launch URI you'll need to follow when Inferno asks to launch app.
Use client: inferno-client and secret: inferno-secret.
Before running limited app test you have to revoke grant provided on previous test run. Go to http://your-aidbox-domain/auth/grants and revoke all grants.
Once you started Limited App test, inferno will redirect you to a consent form, you have to provide there next scope launch/patient openid fhirUser offline_access patient/Condition.read patient/Patient.read patient/Observation.read.
Use the launch URI when inferno asks to launch the application.
Follow the Inferno ONC Program setup section but replace inferno-client with inferno-community-client.
Touchstone doesn't have local version so one needs to have a special domain name to make it possible Touchstone sends its requests.
Write down your domain name to the AIDBOX_BASE_URL variable. Somehow like this.
AIDBOX_BASE_URL=https://touchstone.example.com:8888make plannet-setupWhen Aidbox starts one should forward all the traffic from the 8888 port of the domain to the Adibox instance.
So Touchstone gets access to the tested Aidbox.
Example, Touchstone client configuration
auth:
authorization_code:
audience:
- https://touchstone.example.com:8888/smart
# `audience` must be equal to the `AIDBOX_BASE_URL` with `/smart` suffix
redirect_uri: https://touchstone.aegis.net/touchstone/oauth2/authcode/redirect
refresh_token: true
access_token_expiration: 300
secret: touchstone-secret
grant_types:
- code
- basic
id: touchstone-client
resourceType: ClientGo to Touchstone, run tests and get you green badges :)
This section describes how to prepare SHART on FHIR and US Core IG Aidbox conformancy.
Copy .env.tpl file to .env then populate variables:
AIDBOX_LICENSE_IDandAIDBOX_LICENSE_KEYAIDBOX_CREATED_AT_URLwithhttp://example.com/createdatvalueAIDBOX_COMPLIANCEwithenabledvalueAIDBOX_BASE_URLwith value like thishttps://aidbox.example.com. No suffix like/smartshould be provided
make smart-on-fhir-setup
to initialize Aidbox, load the data neccessary for tests. Aidbox is started and ready for use.