UNPKG

emr-types

Version:

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

135 lines 3.67 kB
/** * User Role Enums * * Predefined user roles for EMR system */ /** * System User Roles * * Core roles for EMR system functionality */ export declare enum UserRole { SYSTEM_ADMIN = "system_admin", TENANT_ADMIN = "tenant_admin", SUPER_ADMIN = "super_admin", DOCTOR = "doctor", NURSE = "nurse", SPECIALIST = "specialist", RESIDENT = "resident", INTERN = "intern", RECEPTIONIST = "receptionist", MEDICAL_ASSISTANT = "medical_assistant", LAB_TECHNICIAN = "lab_technician", PHARMACIST = "pharmacist", ADMINISTRATOR = "administrator", BILLING_SPECIALIST = "billing_specialist", IT_SUPPORT = "it_support", HR_MANAGER = "hr_manager", PATIENT = "patient", GUARDIAN = "guardian", FAMILY_MEMBER = "family_member", CONSULTANT = "consultant", VENDOR = "vendor", INSURANCE_PROVIDER = "insurance_provider" } /** * User Role Categories */ export declare enum UserRoleCategory { SYSTEM = "system", MEDICAL = "medical", SUPPORT = "support", ADMINISTRATIVE = "administrative", PATIENT = "patient", EXTERNAL = "external" } /** * User Role Priority Levels */ export declare enum UserRolePriority { CRITICAL = "critical", HIGH = "high", MEDIUM = "medium", LOW = "low", MINIMAL = "minimal" } /** * User Role Permissions */ export declare enum UserPermission { SYSTEM_ACCESS = "system_access", TENANT_MANAGEMENT = "tenant_management", USER_MANAGEMENT = "user_management", ROLE_MANAGEMENT = "role_management", PATIENT_READ = "patient_read", PATIENT_CREATE = "patient_create", PATIENT_UPDATE = "patient_update", PATIENT_DELETE = "patient_delete", PATIENT_SEARCH = "patient_search", MEDICAL_RECORD_READ = "medical_record_read", MEDICAL_RECORD_CREATE = "medical_record_create", MEDICAL_RECORD_UPDATE = "medical_record_update", MEDICAL_RECORD_DELETE = "medical_record_delete", APPOINTMENT_READ = "appointment_read", APPOINTMENT_CREATE = "appointment_create", APPOINTMENT_UPDATE = "appointment_update", APPOINTMENT_DELETE = "appointment_delete", APPOINTMENT_SCHEDULE = "appointment_schedule", BILLING_READ = "billing_read", BILLING_CREATE = "billing_create", BILLING_UPDATE = "billing_update", BILLING_DELETE = "billing_delete", REPORT_READ = "report_read", REPORT_CREATE = "report_create", REPORT_EXPORT = "report_export", SETTINGS_READ = "settings_read", SETTINGS_UPDATE = "settings_update", AUDIT_READ = "audit_read", AUDIT_EXPORT = "audit_export" } /** * User Role Utilities */ export declare const UserRoleUtils: { /** * Get role category */ getCategory(role: UserRole): UserRoleCategory; /** * Get role priority */ getPriority(role: UserRole): UserRolePriority; /** * Get default permissions for role */ getDefaultPermissions(role: UserRole): UserPermission[]; /** * Check if role is system role */ isSystemRole(role: UserRole): boolean; /** * Check if role is medical role */ isMedicalRole(role: UserRole): boolean; /** * Check if role is administrative role */ isAdministrativeRole(role: UserRole): boolean; /** * Check if role is patient role */ isPatientRole(role: UserRole): boolean; /** * Check if role has high priority */ isHighPriority(role: UserRole): boolean; /** * Get role display name */ getDisplayName(role: UserRole): string; /** * Get role description */ getDescription(role: UserRole): string; }; //# sourceMappingURL=UserRole.d.ts.map