codigo0/backend/src/domain/entities/MedicalReview.ts

30 lines
851 B
TypeScript
Raw Normal View History

/**
* MedicalReview Entity
* Domain Layer - Entidad inmutable de dominio
*/
export type ReviewerRole = 'reviewer' | 'validator';
export type ReviewStatus = 'pending' | 'approved' | 'rejected';
export interface ReviewComment {
readonly id: string;
readonly section: string;
readonly comment: string;
readonly type: 'suggestion' | 'correction' | 'question' | 'approval';
readonly severity: 'low' | 'medium' | 'high' | 'critical';
readonly createdAt: Date;
}
export interface MedicalReview {
readonly id: string;
readonly contentId: string;
readonly reviewerId: string;
readonly reviewerName: string;
readonly reviewerRole: ReviewerRole;
readonly status: ReviewStatus;
readonly comments: readonly ReviewComment[];
readonly clinicalSources: readonly string[];
readonly validatedAt?: Date;
readonly createdAt: Date;
}