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:

java -jar validator_cli.jar -version 5.0 -ig

Validate against this IG:

java -jar validator_cli.jar payload.json -version 5.0 -ig https://simplifier.net/packages/synapxe.sgcdi/

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:

fhir validate payload.json --profile https://fhir.synapxe.sg/StructureDefinition/

Validate all resources in a folder:

fhir validate ./examples/ --recurse

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:

  1. Navigate to the SGCDI project on Simplifier.net.
  2. Open a profile or example resource.
  3. 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:

POST https://hapi.fhir.org/baseR5/$validate Content-Type: application/fhir+json { "resourceType": "Patient", ... }

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