Key Concepts
Inferno Core
Inferno Core is the primary library of Inferno, which testers can use to build Inferno Test Kits. It provides the main logic of Inferno, as well as a command line interface (CLI), a web interface for executing tests, and integration with data persistence layers and third-party party validators. Conceptually, Inferno Core is similar to Ruby on Rails or React + create-react-app.
Inferno DSL
The Inferno DSL is a Domain Specific Language (DSL) that test writers use to define the tests in an Inferno Test Kit. The DSL provides built-in functionality that is useful in testing FHIR APIs, such as a FHIR client and built-in assertion libraries. See Writing Tests for more information.
Inferno Test Kit
An Inferno Test Kit is a distributable set of tests and tools built and packaged using Inferno to help testers evaluate the conformance of a system to base FHIR specification requirements, relevant FHIR Implementation Guides, and any additional requirements. Test Kits are primarily composed of one or more Test Suites, but may include other tools such as FHIR resource validators or reference implementations.
Inferno Template
The Inferno Template is a template for writing Inferno Test Kits. See Template Layout for more information.
Inferno Test Suite
An Inferno Test Suite is an executable set of tests provided within an Inferno Test Kit that allows testers to evaluate the conformance of a system. They can import tests from other Test Kits. Each Test Suite also defines how to interpret failures at the test level and in aggregate. For example, a Test Suite may define that a conformant system will pass all provided tests, or that the system may fail some tests.
Validators
Validators are tools that validate the correctness of a piece of data against a set of rules defined within a context. Inferno tests typically fetch data and validate the response using a validator, for example the FHIR Profile Validator or the FHIR Terminology Validator. Inferno performs FHIR Resource Validation using the the HL7® FHIR Java Validator.
Depending on the nature of the tests, using a validator is not always required. Some tests may simply need to confirm the presence of a response, or the absence of an error. Inferno Test Kits support using custom or third-party validators, if necessary. See FHIR Resource Validation for more information.
Reference Implementations
Reference implementations are example servers that implement all requirements from a specification (e.g. FHIR) and demonstrates “correct” behavior. They can be useful to develop tests against or to help interact with third-party solutions. For example, Inferno has a Reference Server for US Core and the Inferno ONC (g)(10) certification tests.
Inferno Deployment
An Inferno Deployment is a web host running one or more Inferno Test Kits. An example is the https://inferno.healthit.gov website. An individual Test Kit can also be run as an Inferno Deployment on users’ local machines without any additional configuration. See Using Test Kits: Getting Started for more information. An Inferno Deployment includes a web interface as well as a RESTful API to enable third-party integration.
Inferno Architecture Diagram
You can view an Inferno Architecture Diagram (PDF 1.1 MB) which summarizes the components of Inferno Framework and includes a glossary of terms.
Suggest an improvement
Want to make an change? Contribute an edit for this page on the Inferno Framework GitHub repository.