UNPKG

emr-types

Version:

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

60 lines 3.59 kB
export * from './entities/Patient'; export * from './value-objects/PatientId'; export * from './enums/PatientStatus'; export * from './events/PatientDomainEvent'; import type { Patient, PatientProfile, MedicalHistory } from './entities/Patient'; export type { Patient, PatientProfile, MedicalHistory, EmergencyContact, Allergy, ChronicCondition, CurrentMedication, InsuranceInfo, BillingInfo, PaymentMethod, PrivacySettings, ConsentRecord, PatientPreferences, Child, Guardian, FamilyHistoryItem, PastMedicalCondition, PastSurgery, PastHospitalization, CurrentSymptom, VitalSigns, MedicationHistoryItem, MedicationAllergy, Immunization, LabResult, ImagingResult, SocialHistory, CommunicationPreferences, AppointmentPreferences, ReminderPreferences, PaymentPlan, CreatePatientRequest, UpdatePatientRequest, PatientSearchFilters, PatientSearchResult, PatientStatistics } from './entities/Patient'; export type { PatientId, PatientIdFactory, PatientIdValidator, PatientIdUtils, isPatientId, isValidPatientIdString, PATIENT_ID_FORMATS, DEFAULT_PATIENT_ID_FORMAT, PatientIdExamples } from './value-objects/PatientId'; export { PatientStatus, PatientStatusCategories, PatientStatusPriority, PatientStatusDescriptions, PatientStatusUtils, isPatientStatus, isStatusInCategory, DEFAULT_PATIENT_STATUS, PATIENT_STATUS_TRANSITIONS, PatientStatusExamples } from './enums/PatientStatus'; export type { PatientDomainEvent, PatientRegisteredEvent, PatientUpdatedEvent, PatientStatusChangedEvent, PatientAssignedToDoctorEvent, PatientDischargedEvent, PatientTransferredEvent, PatientMedicalHistoryUpdatedEvent, PatientInsuranceUpdatedEvent, PatientBillingUpdatedEvent, PatientPrivacySettingsUpdatedEvent, PatientConsentRecordedEvent, PatientPreferencesUpdatedEvent, PatientEmergencyContactUpdatedEvent, PatientVitalSignsRecordedEvent, PatientMedicationPrescribedEvent, PatientMedicationDiscontinuedEvent, PatientAllergyRecordedEvent, PatientImmunizationRecordedEvent, PatientLabResultRecordedEvent, PatientImagingResultRecordedEvent, PatientEvent, PatientEventFactory, isPatientRegisteredEvent, isPatientUpdatedEvent, isPatientStatusChangedEvent, isPatientDomainEvent } from './events/PatientDomainEvent'; /** * Patient domain utilities for common operations */ export declare const PatientDomainUtils: { /** * Calculate patient age from date of birth */ calculateAge(dateOfBirth: Date): number; /** * Calculate BMI from height and weight */ calculateBMI(height: number, weight: number): number; /** * Get BMI category */ getBMICategory(bmi: number): string; /** * Format patient name */ formatPatientName(firstName: string, lastName: string, middleName?: string): string; /** * Generate patient code */ generatePatientCode(tenantId: string, sequence: number): string; /** * Validate patient data */ validatePatientData(patient: { firstName: string; lastName: string; dateOfBirth: Date; email?: string; phoneNumber?: string; }): { isValid: boolean; errors: string[]; }; }; /** * Type guard to check if a value is a Patient entity */ export declare function isPatient(value: unknown): value is Patient; /** * Type guard to check if a value is a PatientProfile */ export declare function isPatientProfile(value: unknown): value is PatientProfile; /** * Type guard to check if a value is a MedicalHistory */ export declare function isMedicalHistory(value: unknown): value is MedicalHistory; //# sourceMappingURL=index.d.ts.map