FHIR Conformance Testing

The base FHIR Specification defines what a valid implementation of FHIR can be. Implementation Guides build on the base specification to define a set of additional rules. The FHIR community provides a set of testing services so that implementers can test whether their implementation conforms to the base specification, or to any published implementation guide. This page serves as a registry of these services. Conformance testing maybe applied in 3 different ways:
  • Validate the resources that are exchanged. This is the easiest way to test, because resources can easily be extracted and sent (e.g. by email). For this reason, most testing services focus on the resource content. However this does not test the behavior of the system that implements or uses the data exchange.
  • Testing servers. In this approach, a set of known inputs are provided to the server, and then tests are applied to the server responses to test that the server's response is correct. When specified carefully, this can be a very effective way to test server behavior.
  • Testing clients. A human user - or a special application test harness - exercises the client carefully, and tests are applied to the client requests, and known inputs returned, and application behavior tested. These are the most difficult tests to automate.

Resource Validation

Server Testing

FHIR includes a TestScript resource that represents a set of actions and tests to be carried out on a server. The following services use the TestScript resource and other knowledge to test servers: The U.S. Office of the National Coordinator for Health Information Technology has developed the Inferno Framework, which is a rigorous and extensible testing development framework for FHIR.

Client Testing

AEGIS Touchstone can also perform TestScript-based testing of FHIR clients.