-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the Inferno Test Kit Authoring tutorial! This is a walkthrough of useful functionality provided by the Inferno Framework to help test writers develop and package Inferno Test Suites, which can be used to evaluate conformance of FHIR systems to applicable FHIR Implementation Guides or other criteria.
This tutorial is designed to demonstrate commonly used capabilities by the Inferno Framework step-by-step, with
the goal of writing a basic set of tests for servers of the US Core Implementation Guide v3.1.1. You can either start at the beginning and work through each step, or skip to the steps you are interested in. Each step includes an independent branch
in the inferno-tutorial GitHub repository for easy navigation.
For general documentation about using Inferno Framework to create your own tests, visit the Inferno Framework documentation.
To develop tests for Inferno locally on your machine, perform the following steps to setup Inferno locally:
- Install Docker Desktop.
- Clone the inferno-template repository. You could also either clone this repository directly or click the green “Use this template” button to create your own repository based on this one.
- Run
./setup.sh
in the template repository to retrieve the necessary docker images and create a database. - Build your tests in the
lib
folder. - Run
./run.sh
to build your tests and run Inferno. - Navigate to
http://localhost
in your browser. - Additional information can be found in the "Instructions" section of the inferno-template README.md file.
The tutorial is broken into the following steps, which build on one-another. Each step has an associated branch
in this repository; for example step-2
and step-2-solution
.
- Add
bearer_token
user input - Create a new search test
- Add implementation guide package
- Using Ruby to automate repetitive tests
- Messages and Result Status
- Importing tests
By the end of the tutorial, you will have a working set of patient
search tests for all relevant US Core resources, integrated with optional SMART App Launch tests imported from another test kit:
Note: This image is the result of running the test kit against the Inferno Reference with Patient 85
.
Since we are writing tests for servers, it is helpful to have reference servers to develop tests against. Some commonly used reference servers, loaded with data, include:
-
Inferno Standardized API Demonstration Server: https://inferno.healthit.gov/reference-server/r4. This server is protected by a simple mock OAuth2.0 implementation, which can be bypassed by using
SAMPLE_TOKEN
bearer token. Use patient85
or355
. - HAPI Public Server: https://hapi.fhir.org/r4
Additional public test servers are listed on the HL7 Confluence Public Test Servers Page