public void SetUp() { DependencyRegistrar.RegisterDependencies(); IoC.Resolve <IAutoMapperBootstrapper>().Bootstrap(); _eventMetricService = IoC.Resolve <IEventMetricsService>(); _dailyPatientRecapReportPollingAgent = IoC.Resolve <IDailyPatientRecapReportPollingAgent>(); }
public ReportingService(ILogManager logManager, ITestPerformedReportPollingAgent testPerformedReportPollingAgent, ISettings settings, IDailyPatientRecapReportPollingAgent dailyPatientRecapReportPollingAgent, IBcbsMiTestPerformedReportPollingAgent bcbsMiTestPerformedReportPolling, IBcbsMiIncorrectPhoneExportPollingAgent bcbsMiIncorrectPhoneExportPollingAgent, IBcbsMiPcpResultMailedReportPollingAgent bcbsMiPcpResultMailedReportPollingAgent, IBcbsMemberResultMailedReportPollingAgent bcbsMemberResultMailedReportPollingAgent, IWellCarePcpSummaryLogReportPollingAgent wellCarePcpSummaryLogReportPollingAgent, IWellCarePcpSummaryLogEasyChoiceReportPollingAgent wellCarePcpSummaryLogEasyChoiceReportPollingAgent, IAnthemHomeVisitRequestedCustomerExportPollingAgent anthemHomeVisitRequestedExport, IAnthemIncorrectPhoneNumberPollingAgent anthemIncorrectPhoneNumberExport, IHealthPlanGiftCertificateReportPollingAgent healthPlanGiftCertificateReportPollingAgent, //IHourlyAppointmentBookedReportPollingAgent hourlyAppointmentBookedReportPollingAgent, //IHourlyOutreachCallReportPollingAgent hourlyOutreachCallReportPollingAgent, IDailyVolumeReportPollingAgent dailyVolumeReportPollingAgent, IEventScheduleReportPollingAgent eventScheduleReportPollingAgent, IMailRoundCustomersReportPollingAgent mailRoundCustomersReportPollingAgent, IBiWeeklyMicroAlbuminFobtPollingAgent biWeeklyMicroAlbuminFobtPollingAgent, INonTargetableReportPollingAgent nonTargetableReportPollingAgent, IPotentialPcpChangePollingAgent potentialPcpChangePollingAgent, IHousecallOutreachCallReportPollingAgent housecallOutreachCallReportPollingAgent, IHouseCallHafResultExportPollingAgent houseCallHafResultExportPollingAgent, IWellmedMemberStatusReportPollingAgent wellmedMemberStatusReportPollingAgent, IUniversalMemberPollingAgent universalMemberPollingAgent, IUniversalProviderPollingAgent universalProviderPollingAgent, ISendConsentDataPollingAgent sendConsentDataPollingAgent, IGmsExcludedCustomerPollingAgent gmsExcludedCustomerPollingAgent) { InitializeComponent(); _pollThreadTestPerformedReportPolling = new IntervalWorkThread(testPerformedReportPollingAgent.PollForTestPerformedReports); _timerTestPerformedReportPolling = new Timer(x => _pollThreadTestPerformedReportPolling.Trigger(), new object(), GetDueTime(settings.TestPerformReportScheduleTime), new TimeSpan(0, settings.TestPerformReportInterval, 0, 0)); _pollThreaDailyPatientRecapReportPollingAgent = new IntervalWorkThread(dailyPatientRecapReportPollingAgent.PollForDailyPatientRecapReport); _timerDailyPatientRecapReportPollingAgent = new Timer(x => _pollThreaDailyPatientRecapReportPollingAgent.Trigger(), new object(), GetDueTime(settings.DailyPatientRecapReportScheduleTime), new TimeSpan(0, settings.DailyPatientRecapReportInterval, 0, 0)); _pollThreadBcbsMiServiceReportPollingAgent = new IntervalWorkThread(bcbsMiTestPerformedReportPolling.PollforCustomTestPerformedReport); _timerBcbsMiServiceReportPollingAgent = new Timer(x => _pollThreadBcbsMiServiceReportPollingAgent.Trigger(), new object(), GetDueTime(settings.BcbsMiServiceReportScheduleTime), new TimeSpan(0, settings.BcbsMiServiceReportIntervalHours, 0, 0)); //Bcbs Mi Incorrect Phone Export _pollThreadBcbsMiIncorrectPhoneExport = new IntervalWorkThread(bcbsMiIncorrectPhoneExportPollingAgent.PollForExport); _timerBcbsMiIncorrectPhoneExport = new Timer(x => _pollThreadBcbsMiIncorrectPhoneExport.Trigger(), new object(), GetDueTime(settings.IncorrectPhoneExportDownloadTime), new TimeSpan(1, 0, 0, 0)); //Bcbs Mi Home Visit Request Export //_pollThreadBcbsMiHomeVisitRequestExport = new IntervalWorkThread(bcbsMiHomeVisitRequestExportPollingAgent.PollForExport); //_timerBcbsMiHomeVisitRequestExport = new Timer(x => _pollThreadBcbsMiHomeVisitRequestExport.Trigger(), new object(), GetDueTime(settings.HomeVisitExportDownloadTime), new TimeSpan(1, 0, 0, 0)); //Bcbs Mi Pcp Result Mailed Report Export _pollThreadBcbsMiPcpResultMailedReportExport = new IntervalWorkThread(bcbsMiPcpResultMailedReportPollingAgent.PollForPcpReultMailedReportExport); _timerBcbsMiBcbsMiPcpResultMailedReportExport = new Timer(x => _pollThreadBcbsMiPcpResultMailedReportExport.Trigger(), new object(), GetDueTime(settings.BcbsMiPcpResultMailedReportScheduleTime), new TimeSpan(0, settings.BcbsMiPcpResultMailedReportIntervalHours, 0, 0)); //Bcbs Mi Member Result Mailed Report Export _pollThreadBcbsMiMemberResultMailedReportExport = new IntervalWorkThread(bcbsMemberResultMailedReportPollingAgent.PollforMemberResultMailedReport); _timerBcbsMiBcbsMiMemberResultMailedReportExport = new Timer(x => _pollThreadBcbsMiMemberResultMailedReportExport.Trigger(), new object(), GetDueTime(settings.BcbsMiMemberResultMailedReportScheduleTime), new TimeSpan(0, settings.BcbsMiMemberResultMailedReportIntervalHours, 0, 0)); //WellCare Pcp Summary Log Report Export _pollThreadWellCarePcpSummaryLogReportExport = new IntervalWorkThread(wellCarePcpSummaryLogReportPollingAgent.PollForPcpLogSummaryReportExport); _timerWellCarePcpSummaryLogReportExport = new Timer(x => _pollThreadWellCarePcpSummaryLogReportExport.Trigger(), new object(), GetDueTime(settings.WellCarePcpSummaryLogReportScheduleTime), new TimeSpan(0, settings.WellCarePcpSummaryLogReportIntervalHours, 0, 0)); //WellCare Pcp Summary Log Easy Choice Report Export _pollThreadWellCarePcpSummaryLogEasyChoiceReportExport = new IntervalWorkThread(wellCarePcpSummaryLogEasyChoiceReportPollingAgent.PollForPcpLogSummaryReportExport); _timerWellCarePcpSummaryLogEasyChoiceReportExport = new Timer(x => _pollThreadWellCarePcpSummaryLogEasyChoiceReportExport.Trigger(), new object(), GetDueTime(settings.WellCarePcpSummaryLogReportScheduleTime), new TimeSpan(0, settings.WellCarePcpSummaryLogReportIntervalHours, 0, 0)); //WellCare Pcp Summary Log Easy Choice Report Export _pollThreadHealthPlanGiftCertificateReportExport = new IntervalWorkThread(healthPlanGiftCertificateReportPollingAgent.PollForReportGeneration); _timerHealthPlanGiftCertificateReportExport = new Timer(x => _pollThreadHealthPlanGiftCertificateReportExport.Trigger(), new object(), GetDueTime(settings.GiftCertificateReportScheduleTime), new TimeSpan(1, 0, 0, 0)); //Anthem Home Visit Report Export _pollThreadAnthemHomeVisitReportExport = new IntervalWorkThread(anthemHomeVisitRequestedExport.PollForCustomerExport); _timerAnthemHomeVisitReportExport = new Timer(x => _pollThreadAnthemHomeVisitReportExport.Trigger(), new object(), GetDueTime(settings.HealthPlanHomeVisitRequestedExportScheduleTime), new TimeSpan(0, settings.HealthPlanCustomerListExportScheduleInterval, 0, 0)); //Anthem Incorrect Phone Number Report Export _pollThreadAnthemIncorrectPhoneNumberReportExport = new IntervalWorkThread(anthemIncorrectPhoneNumberExport.PollForCustomerExport); _timerAnthemIncorrectPhoneNumberReportExport = new Timer(x => _pollThreadAnthemIncorrectPhoneNumberReportExport.Trigger(), new object(), GetDueTime(settings.HealthPlanIncorrectPhoneExportScheduleTime), new TimeSpan(0, settings.HealthPlanCustomerListExportScheduleInterval, 0, 0)); //Hourly Appointment Booked Report Export //_pollThreadHourlyAppointmentBookedReportExport = new IntervalWorkThread(hourlyAppointmentBookedReportPollingAgent.PollForHourlyReport); //_timerHourlyAppointmentBookedReportExport = new Timer(x => _pollThreadHourlyAppointmentBookedReportExport.Trigger(), new object(), GetDueTimeMinute(settings.HourlyAppointmentBookedScheduleTime), new TimeSpan(0, 0, settings.HourlyAppointmentBookedIntervalHours, 0)); //Hourly Outreach Call Report Export //_pollThreadHourlyOutreachCallReportExport = new IntervalWorkThread(hourlyOutreachCallReportPollingAgent.PollForHourlyOutreachCallReport); //_timerHourlyOutreachCallReportExport = new Timer(x => _pollThreadHourlyOutreachCallReportExport.Trigger(), new object(), GetDueTimeMinute(settings.HourlyOutreachCallReportScheduleTime), new TimeSpan(0, 0, settings.HourlyOutreachCallReportIntervalHours, 0)); _pollThreadDailyVolumeReportExport = new IntervalWorkThread(dailyVolumeReportPollingAgent.PollForDailyVolumeReport); _timerDailyVolumeReportExport = new Timer(x => _pollThreadDailyVolumeReportExport.Trigger(), new object(), GetDueTimeMinute(settings.DailyVolumeReportScheduleTime), new TimeSpan(0, settings.DailyVolumeReportIntervalInHour, 0, 0)); //GMS Event List Report Export //_pollThreadGmsEventListExport = new IntervalWorkThread(eventListGmsPollingAgent.PollForEventList); //_timerGmsEventListExport = new Timer(x => _pollThreadGmsEventListExport.Trigger(), new object(), GetDueTimeMinute(settings.GmsEventReportScheduleTime), new TimeSpan(0, 0, settings.GmsEventReportIntervalMinutes, 0)); //GMS Customer List Report Export //_pollThreadGmsCustomerListExport = new IntervalWorkThread(gmsCallQueueCustomerReportPollingAgent.PollForReportGeneration); //_timerGmsCustomerListExport = new Timer(x => _pollThreadGmsCustomerListExport.Trigger(), new object(), GetDueTime(settings.GmsCustomerReportScheduleTime), new TimeSpan(0, settings.GmsCustomerReportIntervalHours, 0, 0)); //Event Schedule Report Export _pollThreadEventScheduleReportExport = new IntervalWorkThread(eventScheduleReportPollingAgent.PollForEventScheduleReort); _timerEventScheduleReportExport = new Timer(x => _pollThreadEventScheduleReportExport.Trigger(), new object(), GetDueTime(settings.EventScheduleAccountScheduleTime), new TimeSpan(0, settings.EventScheduleAccountInterval, 0, 0)); //Matrix Report Export _pollThreadMailRoundCustomersReport = new IntervalWorkThread(mailRoundCustomersReportPollingAgent.PollMailRoundCustomersReport); _timerMailRoundCustomersReport = new Timer(x => _pollThreadMailRoundCustomersReport.Trigger(), new object(), GetDueTime(settings.MailRoundCustomersReportScheduleTime), new TimeSpan(0, settings.MailRoundCustomersReportIntervalHours, 0, 0)); //GMS Call Parsing //_pollThreadGmsCallParsing = new IntervalWorkThread(gmsCallParserPollingAgent.PollForCallParsing); //_timerGmsCallParsing = new Timer(x => _pollThreadGmsCallParsing.Trigger(), new object(), GetDueTime(settings.GmsDialerFileParsingScheduleTime), new TimeSpan(0, settings.GmsDialerFileParsingIntervalHours, 0, 0)); //BiWeekly MicroAlbumin and Fobt Report WELLMED _pollThreadBiWeeklyMicroAlbuminFobtReport = new IntervalWorkThread(biWeeklyMicroAlbuminFobtPollingAgent.PollForBiWeeklyMicroAlbuminFobt); _timerBiWeeklyMicroAlbuminFobt = new Timer(x => _pollThreadBiWeeklyMicroAlbuminFobtReport.Trigger(), new object(), GetDueTime(settings.BiWeeklyMicroAlbuminFobtScheduleTime), new TimeSpan(0, settings.BiWeeklyMicroAlbuminFobtIntervalHours, 0, 0)); //Non Targetable Report WELLMED _pollThreadNonTargetableReport = new IntervalWorkThread(nonTargetableReportPollingAgent.PollForNonTargetableCustomer); _timerNonTargetable = new Timer(x => _pollThreadNonTargetableReport.Trigger(), new object(), GetDueTime(settings.NonTargetableReportScheduleTime), new TimeSpan(0, settings.NonTargetableReportIntervalHours, 0, 0)); //Potential Pcp Change Report WELLMED _pollThreadPotentialPcpChangeReport = new IntervalWorkThread(potentialPcpChangePollingAgent.PollForPotentialPcpChange); _timerPotentialPcpChange = new Timer(x => _pollThreadPotentialPcpChangeReport.Trigger(), new object(), GetDueTime(settings.PcpChangeReportScheduleTime), new TimeSpan(0, settings.PcpChangeReportIntervalHours, 0, 0)); //Housecall outreach report _pollThreadHousecallOutreachReport = new IntervalWorkThread(housecallOutreachCallReportPollingAgent.PollForOutreachReport); _timerHousecallOutreachReport = new Timer(x => _pollThreadHousecallOutreachReport.Trigger(), new object(), GetDueTime(settings.HousecallOutreachReportExportScheduleTime), new TimeSpan(0, settings.HousecallOutreachReportExportScheduleInterval, 0, 0)); //HouseCall HAF Result Export _pollThreadHouseCallHafResultExport = new IntervalWorkThread(houseCallHafResultExportPollingAgent.PollForResultExport); _timerHouseCallHafResultExport = new Timer(s => _pollThreadHouseCallHafResultExport.Trigger(), new object(), GetDueTime(settings.HousecallHafResultReportDownloadTime), new TimeSpan(0, settings.HousecallHafResultReportDownloadInterval, 0, 0)); //Wellmed Member Status Report _pollThreadWellmedMemberStatusReport = new IntervalWorkThread(wellmedMemberStatusReportPollingAgent.PollForMemberStatusReport); _timerWellmedMemberStatusReport = new Timer(s => _pollThreadWellmedMemberStatusReport.Trigger(), new object(), GetDueTime(settings.WellmedMemberStatusReportScheduleTime), new TimeSpan(0, settings.WellmedMemberStatusReportScheduleInterval, 0, 0)); //Universal Member Report _pollThreadUniversalMemberReport = new IntervalWorkThread(universalMemberPollingAgent.PollforUniversalMembers); _timerUniversalMemberReport = new Timer(x => _pollThreadUniversalMemberReport.Trigger(), new object(), GetDueTime(settings.UniversalMemberReportScheduleTime), new TimeSpan(0, settings.UniversalMemberReportInterval, 0, 0)); //Universal Provider Report _pollThreadUniversalProviderReport = new IntervalWorkThread(universalProviderPollingAgent.PollforUniversalProviders); _timerUniversalProviderReport = new Timer(x => _pollThreadUniversalProviderReport.Trigger(), new object(), GetDueTime(settings.UniversalProviderReportScheduleTime), new TimeSpan(0, settings.UniversalProviderReportInterval, 0, 0)); //Customer Consent Data Report _pollThreadCustomerConsentDataReport = new IntervalWorkThread(sendConsentDataPollingAgent.PollForSendConsentData); _timerCustomerConsentDataReport = new Timer(x => _pollThreadCustomerConsentDataReport.Trigger(), new object(), GetDueTime(settings.CustomerConsentDataReportScheduleTime), new TimeSpan(0, settings.CustomerConsentDataReportInterval, 0, 0)); //_pollThreadGmsExcludedCustomerReport = new IntervalWorkThread(gmsExcludedCustomerPollingAgent.PollForReport); //_timerGmsExcludedCustomeReport = new Timer(s => _pollThreadGmsExcludedCustomerReport.Trigger(), new object(), GetDueTime(settings.GmsExcludeCustomerReportDownloadTime), new TimeSpan(0, settings.GmsExcludeReportDownloadCustomerIntervalInHours, 0, 0)); _logger = logManager.GetLogger("Reporting Service"); }