mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage-server
synced 2026-05-18 20:08:19 +00:00
Phase A+B of the alerts overhaul: - New PerformanceFactsProvider exposes agent.idleMinutes (from AgentSession), agent.busyMinutes, agent.totalCallsToday, agent.bookedCallsToday, agent.conversionPercent - Implement EscalateActionHandler (was a stub): persists a PerformanceAlert row, dedupes per agent+type+IST date so a 5-min cron can't spam, updates value if it changes - New PerformanceConsumer: setInterval every 5 min, reads on_schedule rules referencing agent.* facts, evaluates per agent, dispatches escalate actions - Two starter rules in hospital-starter.json: excessive-idle (>60min) and low-conversion (<15% with >10 calls today). NPS deferred — no source signal exists yet - New PerformanceAlertsController: GET /api/supervisor/performance-alerts (active list), POST /:id/dismiss, POST /dismiss-all - Rules engine now injects EscalateActionHandler via DI so the action has access to PlatformGraphqlService for persistence Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
// src/rules-engine/rules-engine.module.ts
|
|
|
|
import { Module } from '@nestjs/common';
|
|
import { PlatformModule } from '../platform/platform.module';
|
|
import { RulesEngineController } from './rules-engine.controller';
|
|
import { RulesEngineService } from './rules-engine.service';
|
|
import { RulesStorageService } from './rules-storage.service';
|
|
import { WorklistConsumer } from './consumers/worklist.consumer';
|
|
import { PerformanceConsumer } from './consumers/performance.consumer';
|
|
import { EscalateActionHandler } from './actions/escalate.action';
|
|
import { PerformanceFactsProvider } from './facts/performance-facts.provider';
|
|
|
|
@Module({
|
|
imports: [PlatformModule],
|
|
controllers: [RulesEngineController],
|
|
providers: [
|
|
RulesEngineService,
|
|
RulesStorageService,
|
|
WorklistConsumer,
|
|
PerformanceConsumer,
|
|
EscalateActionHandler,
|
|
PerformanceFactsProvider,
|
|
],
|
|
exports: [RulesEngineService, RulesStorageService, WorklistConsumer, PerformanceConsumer],
|
|
})
|
|
export class RulesEngineModule {}
|