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