MedVertical

Use cases

CI/CD Quality Gate

Your CI tests code quality. Records tests data quality. Add FHIR validation to your pipeline as a repeatable gate.

For: IG authors, FHIR dev teams, health-tech engineers, AI agent builders

The problem

Your pipeline validates code. Who validates the data?

You have unit tests, integration tests, linting, type checks — all running on every pull request. But the FHIR data your application produces or consumes? No gate. A mapping change silently breaks conformance. A profile update introduces new constraints that your test data doesn't cover. You find out in production.

IG authors face the same gap: profile changes are published without regression tests against real data. Constraint errors only surface in downstream implementations — weeks or months after the IG release.

And increasingly, AI agents generate FHIR resources at scale — automated mapping pipelines, Claude for Healthcare workflows, MCP-based agents. Without a validation gate, AI-generated output reaches production unchecked.

FHIR data without quality gates is untested code.

How Records solves it

A conformance gate in your pipeline — red/green on every PR.

Development environment overview — CI/CD integration context with validation status

Records treats data quality like code quality. Your CI pipeline already runs unit tests, linting, and type checks. Records adds FHIR conformance as another gate: structural validation, profile conformance, terminology binding checks, reference integrity, invariant evaluation, custom rules, metadata validation, and anomaly detection — the 8 validation aspects — run on every PR. The engine is pure TypeScript — no JVM, no Java cold start, and designed for low startup overhead. It runs anywhere Node.js runs: CI runners, Docker, edge environments.

Validation run history — 13 runs triggered by CI pipeline, mix of Pass and Warn statuses with baseline marker

Every PR triggers a validation run. The run history tracks conformance across all PRs — pass, warn, or fail. Baseline markers show the reference point for delta comparison.

For IG authors: Records validates your implementation guide against a test corpus on every pull request. Profile changes are regression-tested against real data before publication. Constraint errors surface in the PR, not in downstream implementations weeks later. The same validation workflow is planned for an MCP server so AI-assisted FHIR development can get validation feedback without leaving the authoring workflow.

When a check fails, drill into issues grouped by validation aspect — structural, profile, terminology, metadata — to find the root cause.

Issues overview — grouped by validation aspect with count badges
Issue selected — affected resources panel with triage action

Select an issue to see affected resources and field-level errors. Create triage actions directly from the investigation view.

Pure TypeScript — no JVM

No Java runtime and no Java cold start. Designed for CI runners, Docker, and edge environments.

8 validation aspects

Structural, profile, terminology, reference, invariant, custom rules, metadata, anomaly — all configurable per project.

PR-level delta

Every PR is compared against the test baseline. New conformance errors block the merge. Resolved errors are tracked.

AI agent integration

Planned MCP server integration gives AI agents that generate FHIR validation feedback in the same workflow.

How to integrate

Add FHIR validation to your CI pipeline as a single CLI step.

Pull Request
CI Pipeline
Lint
Test
Records
Type Check
Merge

GitHub Actions

# .github/workflows/fhir-validation.yml
- name: FHIR Validation Gate
  run: npx @records-fhir/cli validate \
    --server=$TEST_FHIR \
    --ig=<project-IG>

IG Author (local corpus)

records validate \
  --ig=./ \
  --corpus=./test-corpus/ \
  --baseline=latest

What gets pinned

PinPurpose
ig_packagesProfile versions pinned per branch
validator_versionSame engine across all PR runs
thresholds_appliedPass/fail criteria consistent across PRs
environment_labelSeparates PR test runs from staging/production

Run via npx — no global installation required. Works with GitHub Actions, GitLab CI, Azure Pipelines, or any CI system that runs Node.js. No server-side deployment required for the CI gate — the CLI connects to your test FHIR server directly.

What you get

PR conformance gate

Red/green check blocks non-conformant changes before merge.

Pure TypeScript — no JVM

No Java runtime and no Java cold start. Runs in CI environments with Node.js.

Root-cause drill-down

From PR check to specific resources and field-level errors.

Per-environment baselines

Delta on every PR against test baseline, on every deploy against target.

MCP server for AI agents

Planned Model Context Protocol integration for AI agents that generate FHIR.

IG regression testing

Validate your IG against a defect corpus on every PR. Catch constraint errors before publication.

Data quality deserves the same rigor as code quality

Your pipeline gates code changes. Why not data changes?

Without RecordsWith Records CI gate
FHIR conformance testingManual, after deploymentAutomated, on every PR
Regression detectionerrors found in productionDelta against baseline on every PR
Time to integrateDays/weeks of custom scriptingOne CI step via npx
IG authoring feedbackWeeks (downstream implementers report)Minutes (PR check fails)
Evidence trailPer-PR validation report with reproducibility
AI agent validationNot supportedPlanned MCP integration for AI-generated FHIR

Frequently asked questions

The CLI workflow is a single CI step: npx @records-fhir/cli validate --server=$TEST_FHIR --ig=<project-IG>. No separate server deployment is required for basic file validation; full baseline and evidence workflows connect to a Records instance.

The CLI can run standalone for basic validation. For delta comparison, baseline tracking, and evidence reports, it connects to a Records instance (SaaS or self-hosted).

Yes. Use --ig=./ to point at your local IG directory and --corpus=./test-corpus/ to validate against a set of test resources. This is how IG authors use Records for regression testing.

The CLI workflow is designed for any CI system that runs Node.js: GitHub Actions, GitLab CI, Azure Pipelines, Jenkins, CircleCI, and Bitbucket Pipelines.

Records produces a pass/fail signal as a CI check result. Whether that check is required to pass before merge is configured in your CI system's branch protection rules — Records does not impose policy.

Talk to us about CI/CD validation.

Share your context, question, or integration idea. We'll help you identify the right next step.