mirror of
https://dev.azure.com/globalhealthx/EMR/_git/helix-engage
synced 2026-04-11 18:28:15 +00:00
Indian names, ₹ currency, healthcare campaign context for Helix Engage. Includes factories.ts with nextId/randomFrom/daysAgo/createMockLead helpers, 50 leads across all statuses, 5 campaigns (3 active/1 paused/1 completed), 12 ads on active campaigns, 15 lead activities, 8 follow-ups, 5 WhatsApp templates, and 3 agents. All cross-references are internally consistent. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
148 lines
4.8 KiB
TypeScript
148 lines
4.8 KiB
TypeScript
import type { FollowUp } from '@/types/entities';
|
|
import { daysAgo } from './factories';
|
|
|
|
// daysFromNow helper for future dates
|
|
function daysFromNow(n: number): string {
|
|
const d = new Date();
|
|
d.setDate(d.getDate() + n);
|
|
// Set to business hours (10 AM IST)
|
|
d.setHours(10, 0, 0, 0);
|
|
return d.toISOString();
|
|
}
|
|
|
|
function today(hour: number = 14): string {
|
|
const d = new Date();
|
|
d.setHours(hour, 0, 0, 0);
|
|
return d.toISOString();
|
|
}
|
|
|
|
export const mockFollowUps: FollowUp[] = [
|
|
// 1 OVERDUE
|
|
{
|
|
id: 'followup-1',
|
|
createdAt: daysAgo(3),
|
|
followUpType: 'CALLBACK',
|
|
followUpStatus: 'OVERDUE',
|
|
scheduledAt: daysAgo(1),
|
|
completedAt: null,
|
|
priority: 'HIGH',
|
|
assignedAgent: 'Suresh P.',
|
|
patientId: 'lead-qualified-2',
|
|
callId: null,
|
|
patientName: 'Priya Sharma',
|
|
patientPhone: '+919845123456',
|
|
description: 'Patient requested callback after reviewing IVF package brochure. Had questions about donor egg options and financing.',
|
|
},
|
|
|
|
// 3 PENDING
|
|
{
|
|
id: 'followup-2',
|
|
createdAt: daysAgo(1),
|
|
followUpType: 'CALLBACK',
|
|
followUpStatus: 'PENDING',
|
|
scheduledAt: today(11),
|
|
completedAt: null,
|
|
priority: 'URGENT',
|
|
assignedAgent: 'Rekha S.',
|
|
patientId: 'lead-appt-1',
|
|
callId: null,
|
|
patientName: 'Ananya Nair',
|
|
patientPhone: '+918867234567',
|
|
description: 'Confirm appointment for IVF consultation tomorrow at 11 AM. Remind patient to bring previous fertility test reports.',
|
|
},
|
|
{
|
|
id: 'followup-3',
|
|
createdAt: daysAgo(2),
|
|
followUpType: 'APPOINTMENT_REMINDER',
|
|
followUpStatus: 'PENDING',
|
|
scheduledAt: today(15),
|
|
completedAt: null,
|
|
priority: 'HIGH',
|
|
assignedAgent: 'Meena K.',
|
|
patientId: 'lead-appt-3',
|
|
callId: null,
|
|
patientName: 'Sunita Reddy',
|
|
patientPhone: '+919901345678',
|
|
description: 'Send Women\'s Day Checkup appointment reminder via WhatsApp. Appointment is tomorrow at 9 AM.',
|
|
},
|
|
{
|
|
id: 'followup-4',
|
|
createdAt: daysAgo(1),
|
|
followUpType: 'MARKETING',
|
|
followUpStatus: 'PENDING',
|
|
scheduledAt: daysFromNow(1),
|
|
completedAt: null,
|
|
priority: 'NORMAL',
|
|
assignedAgent: 'Suresh P.',
|
|
patientId: 'lead-contacted-5',
|
|
callId: null,
|
|
patientName: 'Deepika Iyer',
|
|
patientPhone: '+917678456789',
|
|
description: 'Follow up on Cervical Screening campaign interest. Patient was busy during first call and asked to be called back next day.',
|
|
},
|
|
|
|
// 2 COMPLETED
|
|
{
|
|
id: 'followup-5',
|
|
createdAt: daysAgo(5),
|
|
followUpType: 'CALLBACK',
|
|
followUpStatus: 'COMPLETED',
|
|
scheduledAt: daysAgo(3),
|
|
completedAt: daysAgo(3),
|
|
priority: 'HIGH',
|
|
assignedAgent: 'Rekha S.',
|
|
patientId: 'lead-converted-1',
|
|
callId: null,
|
|
patientName: 'Lakshmi Patel',
|
|
patientPhone: '+919876543210',
|
|
description: 'Post-appointment follow-up call. Patient confirmed satisfaction with IVF consultation. Proceeding with treatment plan.',
|
|
},
|
|
{
|
|
id: 'followup-6',
|
|
createdAt: daysAgo(8),
|
|
followUpType: 'POST_VISIT',
|
|
followUpStatus: 'COMPLETED',
|
|
scheduledAt: daysAgo(6),
|
|
completedAt: daysAgo(6),
|
|
priority: 'NORMAL',
|
|
assignedAgent: 'Meena K.',
|
|
patientId: 'lead-converted-3',
|
|
callId: null,
|
|
patientName: 'Usha Mehta',
|
|
patientPhone: '+917890567890',
|
|
description: 'Post-visit satisfaction call for Senior Health Package. Patient very happy with service. Referred two friends.',
|
|
},
|
|
|
|
// 2 CANCELLED
|
|
{
|
|
id: 'followup-7',
|
|
createdAt: daysAgo(4),
|
|
followUpType: 'CALLBACK',
|
|
followUpStatus: 'CANCELLED',
|
|
scheduledAt: daysAgo(2),
|
|
completedAt: null,
|
|
priority: 'NORMAL',
|
|
assignedAgent: 'Suresh P.',
|
|
patientId: 'lead-contacted-7',
|
|
callId: null,
|
|
patientName: 'Ramesh Gupta',
|
|
patientPhone: '+918765234567',
|
|
description: 'Callback cancelled — patient informed via WhatsApp that they are travelling and will reach out when available.',
|
|
},
|
|
{
|
|
id: 'followup-8',
|
|
createdAt: daysAgo(6),
|
|
followUpType: 'MARKETING',
|
|
followUpStatus: 'CANCELLED',
|
|
scheduledAt: daysAgo(3),
|
|
completedAt: null,
|
|
priority: 'LOW',
|
|
assignedAgent: 'Rekha S.',
|
|
patientId: 'lead-contacted-9',
|
|
callId: null,
|
|
patientName: 'Mohan Verma',
|
|
patientPhone: '+919123456789',
|
|
description: 'Diabetes Awareness Camp follow-up cancelled — patient opted out of marketing communications.',
|
|
},
|
|
];
|