/** * FHIR Version Compatibility Validator * * Validates resources for R5/R6 compatibility: * - Deprecated element detection with migration hints * - New R5/R6 element requirements * - Breaking changes between FHIR versions * - FHIR version detection from resource structure * * Helps developers migrate resources between FHIR versions. */ import type { ValidationIssue } from '../types'; export type FHIRVersion = 'R4' | 'R4B' | 'R5' | 'R6'; export interface VersionCompatibilityConfig { /** Target FHIR version to validate against */ targetVersion: FHIRVersion; /** Report deprecated elements */ reportDeprecated: boolean; /** Report new required elements */ reportNewRequired: boolean; /** Report renamed elements */ reportRenamed: boolean; } export interface DeprecatedElement { resourceType: string; path: string; deprecatedIn: FHIRVersion; removedIn?: FHIRVersion; replacement?: string; migrationHint: string; } export interface RenamedElement { resourceType: string; oldPath: string; newPath: string; changedIn: FHIRVersion; } export declare class VersionCompatibilityValidator { private config; constructor(config?: Partial); /** * Set target FHIR version */ setTargetVersion(version: FHIRVersion): void; /** * Validate resource for version compatibility */ validate(resource: any): ValidationIssue[]; /** * Check for deprecated elements in resource */ private checkDeprecatedElements; /** * Check for elements that need renaming */ private checkRenamedElements; /** * Check for new required elements that are missing */ private checkNewRequiredElements; /** * Check if element is deprecated for current target version */ private isDeprecatedForVersion; /** * Compare FHIR versions (returns -1, 0, or 1) */ private versionCompare; /** * Get value at path in object */ private getValueAtPath; /** * Detect FHIR version from resource structure */ detectVersion(resource: any): { detected: FHIRVersion; confidence: 'high' | 'medium' | 'low'; hints: string[]; }; } export declare const versionCompatibilityValidator: VersionCompatibilityValidator; //# sourceMappingURL=version-compatibility-validator.d.ts.map