UNPKG

emr-types

Version:

Comprehensive TypeScript Types Library for Electronic Medical Record (EMR) Applications - Domain-Driven Design with Zod Validation

97 lines 4.55 kB
/** * EMR Types Library - Main Export File * * This file exports all shared TypeScript types and interfaces * organized by domain-driven design principles. * * @package emr-types * @version 0.1.0 */ // ============================================================================ // DOMAIN LAYER EXPORTS // ============================================================================ // User Domain export * from './domains/user'; // Tenant Domain export * from './domains/tenant'; // Patient Domain export * from './domains/patient'; // Appointment Domain export * from './domains/appointment'; // Medical Record Domain export * from './domains/medical-record'; // Shared Domain export * from './domains/shared'; // ============================================================================ // INFRASTRUCTURE LAYER EXPORTS // ============================================================================ // API Types export * from './infrastructure/api'; // Database Types export * from './infrastructure/database'; // Messaging Types export * from './infrastructure/messaging'; // ============================================================================ // APPLICATION LAYER EXPORTS // ============================================================================ // Service Types export * from './application/services'; // DTO Types export * from './application/dto'; // Validator Types export * from './application/validators'; // ============================================================================ // PRESENTATION LAYER EXPORTS // ============================================================================ // Component Types export * from './presentation/components'; // Hook Types export * from './presentation/hooks'; // Context Types export * from './presentation/context'; // ============================================================================ // SCHEMA & VALIDATION EXPORTS // ============================================================================ // Zod Validation Schemas // Schema exports are handled separately to avoid naming conflicts // export * from './schemas'; // ============================================================================ // UTILITY & HELPER EXPORTS // ============================================================================ // Utility Types - Export specific utilities to avoid conflicts export { validateSchema, safeParse, isValid, transform, validateBatch, validateObject, formatValidationErrors, createErrorMessage, extractFieldErrors, createCustomValidator, createPartialValidator, UserValidation, TenantValidation, PatientValidation, AppointmentValidation, MedicalRecordValidation, SharedValidation } from './utils/validation'; // Form utilities export { FormFieldType, createFormValidator, createFieldValidator, combineFieldValidators, createInitialFormState, isFormValid, isFormDirty, getFieldValue, getFieldError, isFieldTouched, isFieldDirty, isFormField, isValidatedFormField, isFormState, isFormValidationResult } from './utils/form'; // DateTime utilities export { TimePeriod, DayOfWeek as DateTimeDayOfWeek, MonthOfYear, MedicationFrequency, FollowUpFrequency, AgeGroup, PregnancyTrimester, isISODateString, isISODateTimeString, isDateRange, isTimeRange, isBusinessHours, isAppointmentTimeSlot, toISODateString, toISODateTimeString, parseISODateString, parseISODateTimeString, getCurrentISODateString, getCurrentISODateTimeString, calculateAge, calculateDuration, isInBusinessHours, isWorkingDay } from './utils/datetime'; // Type Guards export * from './guards'; // Constants export * from './constants'; // ============================================================================ // LIBRARY METADATA // ============================================================================ /** * Library version information */ export const LIBRARY_VERSION = '0.1.0'; /** * Supported TypeScript version */ export const SUPPORTED_TYPESCRIPT_VERSION = '>=5.0.0'; /** * Library description */ export const LIBRARY_DESCRIPTION = 'Shared TypeScript Types for EMR Monorepo - Domain-Driven Design'; /** * Export library metadata */ export const LIBRARY_METADATA = { version: LIBRARY_VERSION, typescriptVersion: SUPPORTED_TYPESCRIPT_VERSION, description: LIBRARY_DESCRIPTION, domains: ['user', 'tenant', 'patient', 'appointment', 'medical-record'], layers: ['domain', 'infrastructure', 'application', 'presentation'], features: ['type-safety', 'zod-validation', 'domain-driven-design', 'multi-tenant'] }; //# sourceMappingURL=index.js.map