Conformance Tools
The following publicly available tools can be used to validate FHIR R5 profiles and instance payloads against this implementation guide.
HL7 FHIR Validator
The official HL7 FHIR Validator is the reference tool for validating FHIR resources against profiles. It is maintained by HL7 and supports all FHIR versions including R5.
| Property | Details |
|---|---|
| Type | Command-line (Java JAR) |
| Supports | JSON, XML, Turtle instance validation; profile conformance; terminology checks |
| Download | https://github.com/hapifhir/org.hl7.fhir.core/releases/latest |
| Documentation | https://confluence.hl7.org/display/FHIR/Using+the+FHIR+Validator |
Basic usage:
Validate against this IG:
Common flags:
| Flag | Purpose |
|---|---|
-version 5.0 |
Target FHIR R5 |
-ig <url-or-package> |
Load an IG or package to resolve profiles |
-profile <canonical-url> |
Validate against a specific profile |
-tx n/a |
Disable terminology server lookups (offline mode) |
-output <file> |
Write results to a file |
Firely Terminal
Firely Terminal is a command-line tool from Firely (the company behind Simplifier.net) for working with FHIR packages and IGs. It wraps the HL7 FHIR Validator and integrates with Simplifier projects.
| Property | Details |
|---|---|
| Type | Command-line (cross-platform) |
| Supports | Package management, profile validation, IG baking, Simplifier project sync |
| Install | dotnet tool install -g Firely.Terminal |
| Documentation | https://docs.fire.ly/projects/Firely-Terminal |
Validate a resource:
Validate all resources in a folder:
Simplifier.net — Built-in Validation
Resources and profiles published on Simplifier.net can be validated directly in the browser using the built-in validator.
| Property | Details |
|---|---|
| Type | Web UI |
| Supports | JSON and XML resource validation against any profile in the Simplifier registry |
| Access | https://simplifier.net (requires free account) |
Steps:
- Navigate to the SGCDI project on Simplifier.net.
- Open a profile or example resource.
- Use the Validate tab to check conformance.
The Simplifier validator also runs automatically on resources uploaded to a project, surfacing errors and warnings in the project dashboard.
HAPI FHIR Validator (Web)
The HAPI FHIR project provides a publicly hosted validation endpoint that can be used to validate resources without installing any local tooling.
| Property | Details |
|---|---|
| Type | REST API / Web UI |
| Supports | FHIR R4 and R5 JSON/XML validation |
| Endpoint | https://hapi.fhir.org/baseR5/$validate |
| Documentation | https://hapifhir.io/hapi-fhir/docs/validation/instance_validator.html |
Example — validate via HTTP POST:
The response is an OperationOutcome resource listing any errors, warnings, or information messages.
Note: The public HAPI endpoint uses the base FHIR R5 specification only. To validate against SGCDI profiles, use the HL7 FHIR Validator or Firely Terminal with the SGCDI IG package loaded.
Comparison
| Tool | Interface | Profile-aware | Offline | Best for |
|---|---|---|---|---|
| HL7 FHIR Validator | CLI | ✅ (via -ig) |
✅ | CI/CD pipelines, authoritative validation |
| Firely Terminal | CLI | ✅ (via Simplifier packages) | ✅ | Simplifier project workflows |
| Simplifier.net | Web UI | ✅ (project profiles) | ❌ | Quick browser-based checks |
| HAPI FHIR (public) | REST / Web | ❌ (base spec only) | ❌ | Structural / base-spec validation |