FHIR Validator

About the tool

This tool allows you to validate FHIR resources against the FHIR specification. Multiple versions of the FHIR standard are supported.

Demo

The FHIR resource to validate.
The version of the FHIR specification to use for validation.
Please be patient. The validation process may take a while.
Validation result
Press the Validate button to see the result.

What is FHIR?

FHIR (Fast Healthcare Interoperability Resources) is a widely adopted standard for exchanging healthcare information electronically. FHIR-enabled interoperability, in turn, reduces the cost and complexity of integrating healthcare systems and applications.

In FHIR, every clinical concept is represented as a distinct resource with a set of attributes and relationships. In addition to resources, FHIR uses profiles (which further refine resources for specific use cases) and extensions (which allow customization without breaking compatibility with the core standard).

What is FHIR validation?

To see if a FHIR resource is valid, you need to check if it adheres to the standard's rules and any additional constraints imposed by profiles and implementation guides. This involves checking the structure of the resource, the cardinality, value domains, and terminology bindings of properties, and conformance to other constraints such as profiles and business rules.

Validation is an important step in the development of FHIR-based systems and applications as it ensures interoperability and data quality.

Motivation

FHIR is a complex standard, and there are multiple aspects to consider when validating FHIR resources. It can take time to fully understand the standard and its conformance checking mechanisms.

I went deep into the specifics of conformance checking in FHIR early on to also see how it measures up to other standards. In the process, I started working on this tool which allowed me to learn the ins and outs of actually executing the validation.

I've also tried to make this tool as simple and easy to use as possible, and hope that it can save you time and effort when working with and validating FHIR resources.

Implementing the FHIR Validator

Validating FHIR resources is a non-trivial task. Thankfully, FHIR comes with a reference implementation of a validator to support this. The brains of that implementation (the core validation logic) sit in the org.hl7.fhir.validation.ValidationEngine class in the HAPI FHIR library.

This validator uses the same engine as the reference implementation. I'm looking to add support for validating against custom profiles and terminology servers in the future.

See also

Execute the $validate operation against a FHIR endpoint.
FHIR, data validation
Test CQL against FHIR resources.
CQL, FHIR
Test SMART on FHIR app flows online.
SMART on FHIR, FHIR
Query FHIR stores using GraphQL.
FHIR, GraphQL
Test CDS Hooks online.
CDS Hooks, FHIR
Generate snapshots for FHIR StructureDefinitions.
FHIR
Browse the FHIR resource model.
FHIR, data models
Author and debug FHIR Mapping Language files.
FHIR Mapping Language, FHIR
Query FHIR terminology services online.
FHIR, terminologies
Query FHIR servers using HFQL online.
HFQL, FHIR
Convert FHIR Mapping Language into StructureMap resources.
FHIR Mapping Language, FHIR
The list of FHIR-compliant servers for working with code systems, value sets, and concept maps.
FHIR, terminologies

Made by Anton Vasetenkov.

If you want to say hi, you can reach me on LinkedIn or via email. If you like my work, you can support me by buying me a coffee.