@fhir-toolkit/yafv
v1.1.2
Published
Yet Another FHIR Validator - FHIR validator with FHIRPath, terminology, and profile support
Maintainers
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 R5Usage
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 *.jsonFeatures
- 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|informationcode: Issue type codediagnostics: Human-readable descriptionexpression: FHIRPath to the element
Related Packages
- @fhir-toolkit/r4-specs - R4 specifications
- @fhir-toolkit/r4b-specs - R4B specifications
- @fhir-toolkit/r5-specs - R5 specifications
License
MIT
