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

47 lines
1.2 KiB
TypeScript
Raw Normal View History

export interface Drug {
nombre: string;
filas: { label: string; valor: string }[];
formula?: string;
}
export interface ProtocolStep {
tipo: 'checklist' | 'decision' | 'tecnica' | 'info';
titulo: string;
descripcion?: string;
items?: string[];
urgencia?: 'critica';
badge?: string;
parametros?: { label: string; valor: string; destacado?: boolean }[];
si?: string;
no?: string;
imagen?: string;
video?: string;
}
export interface ProtocolPhase extends Omit<ProtocolStep, 'titulo'> {
id: string | number;
nombre: string;
icono?: string;
pregunta?: string;
ramas?: { condicion: string; destino: string | number }[];
}
export interface ClinicalProtocol {
id: string; // Slug único
titulo: string;
subtitulo?: string;
categoria: string;
urgencia: 'critica' | 'alta' | 'media' | 'baja';
version: string;
descripcion?: string;
fuente?: string;
actualizado?: string;
alertas?: { tipo: 'warning' | 'danger' | 'info'; texto: string }[];
grupos_edad?: { id: string; label: string; sublabel?: string }[];
parametros_por_grupo?: Record<string, Record<string, string>>;
pasos?: ProtocolStep[];
fases?: ProtocolPhase[];
farmacos?: Drug[];
equipamiento?: string[];
}