/** * OperationOutcome Converter * * Converts Records' internal ValidationIssue[] to HL7 FHIR OperationOutcome * resources. This is the output-boundary converter for HL7 conformance — * internal types remain unchanged. * * Reference: https://www.hl7.org/fhir/operationoutcome.html * Issue-type ValueSet: https://www.hl7.org/fhir/valueset-issue-type.html */ import type { ValidationIssue } from '../types'; export { mapToHl7IssueType, normalizeToHl7Severity } from './operation-outcome-issue-mapping'; export interface FhirOperationOutcome { resourceType: 'OperationOutcome'; issue: FhirOperationOutcomeIssue[]; } export interface FhirOperationOutcomeIssue { severity: 'fatal' | 'error' | 'warning' | 'information'; code: string; details?: { coding?: Array<{ system: string; code: string; display?: string; }>; text?: string; }; diagnostics?: string; location?: string[]; expression?: string[]; } /** * Convert a single ValidationIssue to an HL7 OperationOutcome.issue entry. */ export declare function issueToOperationOutcomeIssue(issue: ValidationIssue): FhirOperationOutcomeIssue; /** * Convert Records ValidationIssue[] to a FHIR OperationOutcome resource. * * This is the main entry point for HL7-conformant output. The resulting * OperationOutcome can be: * - Returned from a $validate endpoint * - Diffed against fhir-test-cases java baseline * - Consumed by HL7 tooling (IG Publisher, Inferno, etc.) */ export declare function toOperationOutcome(issues: ValidationIssue[]): FhirOperationOutcome; /** * Convert a FHIR OperationOutcome back to ValidationIssue[]. * Inverse of toOperationOutcome() — used for parsing external validator output. */ export declare function fromOperationOutcome(outcome: FhirOperationOutcome): ValidationIssue[]; /** * Convert a DetailedValidationResult (from the service layer) to OperationOutcome. * * Accepts any object with an `issues` array of ValidationIssue-compatible items. * This decouples from the concrete type to avoid import-chain issues between * the schema and service layer DetailedValidationResult variants. */ export declare function detailedResultToOperationOutcome(result: { issues?: Array>; }): FhirOperationOutcome; //# sourceMappingURL=operation-outcome-converter.d.ts.map