Skip to content
Elsa Perelli edited this page Oct 23, 2024 · 31 revisions

Introduction

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.

Environment setup

Local installation

To develop tests for Inferno locally on your machine, perform the following steps to setup Inferno locally:

  1. Install Docker Desktop.
  2. 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.
  3. Run ./setup.sh in the template repository to retrieve the necessary docker images and create a database.
  4. Build your tests in the lib folder.
  5. Run ./run.sh to build your tests and run Inferno.
  6. Navigate to http://localhost in your browser.
  7. Additional information can be found in the "Instructions" section of the inferno-template README.md file.

Tutorial Steps

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.

  1. Add bearer_token user input
  2. Create a new search test
  3. Add implementation guide package
  4. Using Ruby to automate repetitive tests
  5. Messages and Result Status
  6. 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:

Inferno Screenshot

Note: This image is the result of running the test kit against the Inferno Reference with Patient 85.

Resources

Reference servers to test against

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:

Additional public test servers are listed on the HL7 Confluence Public Test Servers Page