47 lines
1.2 KiB
TypeScript
47 lines
1.2 KiB
TypeScript
|
|
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[];
|
||
|
|
}
|