You are here

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

  • Schema: The FHIR specification provides schema for XML, JSON, and RDF (turtle). These are able to validate the content is structurally correct against the specification
  • FHIR Validator: The FHIR community provides a validator for testing resources - see Validating Resources. This can validate that the terminology content of the resource is correct, and validate it against Implementation Guides
  • (coming): Beyond what the FHIR validator can check, offers a manual validation service. In this service, FHIR experts will manually examine a resource and ensure that the content is valid against the rules that only a human can test

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:

Client Testing

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

To add additional testing services to this list, email the FHIR Product Director.