emr-types
Version:
Comprehensive TypeScript Types Library for Electronic Medical Record (EMR) Applications - Domain-Driven Design with Zod Validation
97 lines • 4.55 kB
JavaScript
/**
* 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