FHIR Schema Validator
While all validation features work correctly, we're still integrating FHIR Schema validator into Aidbox.
Test FHIR Schema Validator on public demo page.
This new validation engine is set to replace the existing Zen Schema Validator and AidboxProfile validator. \ \ The primary objectives for this new validator are enhanced performance, easy configuration, and straightforward interaction. Internally, the new validator utilizes the FHIR Schema for the validation process. We believe that it has the potential to become a community standard, and we are actively working towards this goal. \ \ Building on our past experiences, we've simplified the interaction process with the validation module. If you wish to use the StructureDefinition resource as a source of truth, simply POST it.
FHIR Schema
FHIR Schema is a format designed to simplify the implementation and validation of FHIR resources. It is heavily inspired by the design of JSON Schema and introduces a more developer-friendly representation of FHIR StructureDefinitions.
Key features of FHIR Schema include:
- _Simplified Structure_\
- FHIR Schema represents FHIR resources and their elements in a more straightforward and intuitive manner compared to FHIR StructureDefinition. Each element is represented as a property of the resource with its type specified directly. This representation is similar to how data structures are typically defined in programming languages.
- _Nested Elements_\
- FHIR Schema provides a clear and simple way to represent and validate nested elements in FHIR resources. This is a key requirement for many healthcare data use cases.
- _Firstclass Arrays_\
- Identify and label arrays. Most nonXML implementations distinguish between arrays and singular elements, so it's beneficial to precalculate this distinction.
- _Clear Implementation Semantics_\
- FHIR Schema offers clear semantics for implementing FHIR validation rules. This clarity can make it easier for developers to create robust and reliable FHIR implementations.
- _Source of metadata_\
- This is essential for FHIRPath, CQL, and codegeneration.
In summary, FHIR Schema is a format that aims to make FHIR more accessible and easier to work with for developers, potentially leading to improved interoperability of healthcare systems.
Validator Features
Comparison of features with previous validation engines
Feature | FHIR Schema | Zen Schema | JSON Schema |
---|---|---|---|
Invariants | true | false | false |
Forbidden elements (max 0) | true | false | false |
Required elements | true | true | true |
Constants | true | true | false |
Union types | true | false | false |
Empty values check | true | false | false |
Primitive types | true | true | true |
Slicing | true | true | false |
Ordered slicing | true | false | false |
Default slice | true | false | false |
Type slicing | true | false | false |
Binding slicing | true | false | false |
Target slicing | true | false | false |
Re-slicing | true | false | false |
Terminology bindings | true | true | false |
Extensions validation | true | false | false |
Underscore properties | true | false | false |
References | true | true | true |
Recursive schemas | true | true | true |
Error on null s* | true | false | false |
Error on nulls
Starting from Release Notesrelease when using a FHIR schema validation engine Aidbox throws errors when posting values that containnull
s. This behavior is FHIR compliant. \ \ When using Zen schema and JSON schema Aidbox automatically strips null
values.
Useful pages
Setup ⚙️ | setup.md | |||
Supported IGs 📦 | supported-implementation-guides.md | |||
Upload FHIR IG to Aidbox ⬆️ | upload-fhir-implementation-guide |