JSPM

@fhir-toolkit/yafv

1.2.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 49
  • Score
    100M100P100Q72159F
  • License MIT

Yet Another FHIR Validator - FHIR validator with FHIRPath, terminology, and profile support

Package Exports

  • @fhir-toolkit/yafv

Readme

@fhir-toolkit/yafv

Yet Another FHIR Validator - A comprehensive FHIR validator with FHIRPath, terminology, and profile support.

Installation

npm install @fhir-toolkit/yafv

# Install specs for your FHIR version (at least one required)
npm install @fhir-toolkit/r4-specs   # For R4
npm install @fhir-toolkit/r4b-specs  # For R4B
npm install @fhir-toolkit/r5-specs   # For R5

Usage

Basic Validation

import { FhirValidator } from '@fhir-toolkit/yafv';
import { specsPath } from '@fhir-toolkit/r4-specs';

const validator = new FhirValidator({
  fhirVersion: 'R4',
  specsPath: specsPath
});

const patient = {
  resourceType: 'Patient',
  id: '123',
  name: [{ given: ['John'], family: 'Doe' }]
};

const result = await validator.validate(patient);

if (result.valid) {
  console.log('Resource is valid!');
} else {
  console.log('Validation errors:', result.issues);
}

Profile Validation

const result = await validator.validate(patient, {
  profile: 'http://hl7.org/fhir/StructureDefinition/Patient'
});

With Implementation Guide

const validator = new FhirValidator({
  fhirVersion: 'R4',
  specsPath: specsPath,
  implementationGuides: ['/path/to/ig/package']
});

CLI Usage

# Validate a file
npx fhir-validate --version R4 patient.json

# Validate against a profile
npx fhir-validate --version R4 --profile http://example.org/Profile patient.json

# Validate multiple files
npx fhir-validate --version R4 *.json

Features

  • Multi-version support (R4, R4B, R5)
  • FHIRPath constraint evaluation
  • Terminology validation (ValueSets, CodeSystems)
  • Profile/StructureDefinition validation
  • Slicing validation
  • Extension validation
  • Reference validation
  • Implementation Guide support
  • CLI tool included

Validation Output

interface ValidationResult {
  valid: boolean;
  issues: OperationOutcomeIssue[];
}

Each issue contains:

  • severity: error | warning | information
  • code: Issue type code
  • diagnostics: Human-readable description
  • expression: FHIRPath to the element

License

MIT