Skip to content

Isapre Service

Orchestrator · Remuneraciones

ServiceSaludContratos

IsapreService administra el catálogo de instituciones de salud previsional y los contratos de salud asociados a contratos laborales. Incluye modalidades de salud usadas por payroll para calcular cotización legal, adicional pactado y consolidación posterior en imposiciones.

PiezaRuta
Servicesrc/domain/isapre/IsapreService.ts
Repositorysrc/domain/isapre/IsapreRepository.ts
Routesrc/routes/remuneraciones/isapre.ts
Route contratossrc/routes/remuneraciones/isapre_contracts.ts
Tablasremuneraciones.isapre, remuneraciones.contrato_isapre
MétodoUso
findAll(tenantDb)Lista instituciones de salud.
findById(tenantDb, id)Obtiene institución por identificador.
MétodoUso
findContractsByContrato(tenantDb, contratoId)Lista contratos de salud asociados a un contrato laboral.
findContractById(tenantDb, id)Obtiene contrato de salud específico.
findContractVigente(tenantDb, contratoId, year?, month?)Resuelve contrato vigente para el periodo.
listContracts(tenantDb, limit, activeOnly)Lista contratos de salud.
createContract(tenantDb, userId, data)Crea contrato de salud con auditoría de usuario.
updateContract(tenantDb, userId, id, data)Actualiza contrato de salud.
deleteContract(tenantDb, id)Elimina o desactiva según regla vigente.
ReglaMotivo
contrato_id obligatorioEl plan de salud debe pertenecer a una relación laboral.
isapre_id obligatorioEvita contratos sin institución.
vigente_desde obligatorioPermite resolver plan por periodo.
plan_uf >= 0Evita valores negativos en cálculo.
import { IsapreService } from '@/domain/isapre/IsapreService';
await IsapreService.createContract('tenant_db', 'user-123', {
contrato_id: 'contrato-uuid',
isapre_id: 'isapre-uuid',
vigente_desde: '2026-05-01',
plan_uf: 3.5
});
const vigente = await IsapreService.findContractVigente(
'tenant_db',
'contrato-uuid',
2026,
5
);