Developers · Validation engine
Embed FHIR validation in TypeScript.
Use the Apache-2.0 engine directly in Node.js, CI, GitHub Actions, or your own TypeScript backend.
Available now · v0.6.2 · Apache-2.0
Smallest useful example
Validate one resource in process.
Pass the resource, profile, and FHIR release explicitly. The engine returns findings to your application; it does not hide them behind a hosted API.
Install the engine
import { recordsValidator } from '@records-fhir/validator';const issues = await recordsValidator.validateRequest({ resource: { resourceType: 'Patient', id: 'example' }, profileUrl: 'http://hl7.org/fhir/StructureDefinition/Patient', fhirVersion: 'R4',});Expected contract
What comes back
A normalized list of validation findings that your service can render, store, or turn into its own gate decision.
| Runtime | Node.js / TypeScript, no JVM and no Records server required |
|---|---|
| Inputs | Resource, FHIR release, profile and configured terminology context |
| Output | Deterministic findings returned to the calling application |
Built for one clear integration job
The surface stays small; Records carries the wider operational loop when you need it.
In-process API
Validate FHIR resources without a Records server or Java runtime.
Eight validation aspects
Structure, profiles, terminology, references, invariants, custom rules, metadata, and anomaly signals.
Version-aware packages
Load core definitions and pinned implementation-guide packages for the release you are validating.
Scope
The boundary
Know what this surface owns before you put it into a workflow.
What remains outside this surface
The engine returns deterministic findings. Records adds connected servers, run history, baselines, comparisons, governance, and evidence reports.