Beispiel #1
0
        public void SetUp()
        {
            DependencyRegistrar.RegisterDependencies();
            var autoMapperBootstrapper = new AutoMapperBootstrapper();

            autoMapperBootstrapper.Bootstrap();
            _resultCallQueuePollingAgent                  = IoC.Resolve <ICallQueuePollingAgent>();
            _upsellCallQueueService                       = IoC.Resolve <UpsellCallQueueService>();
            _callQueueCustomerHelper                      = IoC.Resolve <CallQueueCustomerHelper>();
            _confirmationCallQueueService                 = IoC.Resolve <ConfirmationCallQueueService>();
            _callQueueRepository                          = IoC.Resolve <ICallQueueRepository>();
            _easiestToConvertCallQueueService             = IoC.Resolve <IEasiestToConvertCallQueueService>();
            _fillEventsCallQueueService                   = IoC.Resolve <IFillEventsCallQueueService>();
            _systemGeneratedCallQueueCriteriaService      = IoC.Resolve <ISystemGeneratedCallQueueCriteriaService>();
            _systemGeneratedCallQueueAssignmentRepository = IoC.Resolve <ISystemGeneratedCallQueueAssignmentRepository>();
            _healthPlanCustomerPollingAgent               = IoC.Resolve <IHealthPlanIncorrectPhoneExportPollingAgent>();
            _rapsUploadFileParserPollingAgent             = IoC.Resolve <IRapsUploadFileParserPollingAgent>();
            // _logger = IoC.Resolve<ILogger>();
        }
Beispiel #2
0
        //private readonly IntervalWorkThread _pollThreadHealthNowResultPdfDownloadPollingAgent;
        //private readonly Timer _timerHealthNowResultPdfDownloadPollingAgent;

        //private readonly IntervalWorkThread _pollThreadWellCareResultPdfDownloadPollingAgent;
        //private readonly Timer _timerWellCareResultPdfDownloadPollingAgent;

        /* IPhysicianPartnerResultPdfDownloadPollingAgent ppResultPdfDownloadPollingAgent, ILogManager logManager,
         *  IPhysicianPartnerAppointmentBookExportPollingAgent ppAppointmentBookExportPollingAgent, IPhysicianPartnerResultExportPollingAgent resultExportPollingAgent, ITestNotPerformedReportPollingAgent testNotPerformedReportPollingAgent,*/
        public ExportService(ISettings settings, ILogManager logManager,
                             IPcpResultPdfDownloadPollingAgent pcpResultPdfDownloadPollingAgent, IPcpAppointmentBookExportPollingAgent pcpAppointmentBookExportPollingAgent, IPcpResultExportPollingAgent pcpResultExportPollingAgent,
                             IWellmedResultPdfDownloadPollingAgent wellmedResultPdfDownloadPollingAgent, IWellmedAppointmentBookExportPollingAgent wellmedAppointmentBookExportPollingAgent,
                             IWellmedResultExportPollingAgent wellmedResultExportPollingAgent, IHcpCaliforniaResultPdfDownloadPollingAgent hcpCaliforniaResultPdfDownloadPollingAgent,
                             IMolinaResultPdfDownloadPollingAgent molinaResultPdfDownloadPollingAgent, IMolinaAppointmentBookExportPollingAgent molinaAppointmentBookExportPollingAgent, IMolinaResultExportPollingAgent molinaResultExportPollingAgent,
                             IUnlockCorporateEventsPollingAgent unlockCorporateEventsPollingAgent, IParseLockedEventFilePollingAgent parseLockedEventFilePollingAgent, ILockCorporateEventPollingAgent lockCorporateEventPollingAgent,
                             IHealthPlanIncorrectPhoneExportPollingAgent healthPlanIncorrectPhoneCustomerPollingAgent, IHealthPlanHomeVisitRequestedCustomerExportPollingAgent homeVisitRequestedCustomerExportPollingAgent,
                             IWellmedWeeklyAppointmentBookExportPollingAgent wellmedWeeklyAppointmentBook, INtspResultPdfDownloadPollingAgent ntspResultPdfDownloadPollingAgent,
                             IHealthPlanOutreachCallReportPollingAgent healthPlanOutreachCallReportPollingAgent, IMartinPointDailyAppointmentBookExportPollingAgent martinPointDailyAppointmentBookExportPollingAgent, IPatientInputFilePollingAgent patientInputFilePollingAgent,
                             IBcbsResultPdfDownloadPollingAgent bcbsResultPdfDownloadPollingAgent, IFloridaBlueResultPdfDownloadPollingAgent floridaBlueResultPdfDownloadPollingAgent,
                             IDiabeticRetinopathyParserlogPollingAgent diabeticRetinopathyParserlogPollingAgent, IHcpCaAppointmentBookExportPollingAgent hcpCaAppointmentBookExportPolling, IParseWellmedLockedEventFilePollingAgent parseWellmedLockedEventFilePollingAgent,
                             IWellmedCatalystAppointmentsBookedExportPollingAgent wellmedTxAppointmentsBookedExportPollingAgent,
                             IGiftCertificateWellmedPollingAgent giftCertificateWellmedPollingAgent
                             )//, IHealthPlanMemberStatusReportPollingAgent healthPlanMemberStatusReportPollingAgent, IHealthNowResultPdfDownloadPollingAgent healthNowResultPdfDownloadPollingAgent, IWellCareResultPdfDownloadPollingAgent wellCareResultPdfDownloadPollingAgent
        {
            InitializeComponent();
            _logger = logManager.GetLogger <ExportService>();


            //_pollThreadPhysicianPartnersPdfDownload = new IntervalWorkThread(ppResultPdfDownloadPollingAgent.PollForPdfDownload);
            //_timerPhysicianPartnersCustomerPdfDownload = new Timer(x => _pollThreadPhysicianPartnersPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime),
            //    new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            //_pollThreadPhysicianPartnersAppointmentBookedReport = new IntervalWorkThread(ppAppointmentBookExportPollingAgent.PollForAppointmentBookExport);
            //_timerPhysicianPartnersCustomerAppointmentBookedReport = new Timer(s => _pollThreadPhysicianPartnersAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
            //    new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            //_pollThreadPhysicianPartnersResultExport = new IntervalWorkThread(resultExportPollingAgent.PollForResultExport);
            //_timerPhysicianPartnersResultExport = new Timer(s => _pollThreadPhysicianPartnersResultExport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultReportDownloadTime),
            //    new TimeSpan(0, settings.PhysicianPartnerResultReportDownloadInterval, 0, 0));

            _pollThreadPcpResultPdfDownload        = new IntervalWorkThread(pcpResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerPcpResultPdfDownloadPollingAgent = new Timer(x => _pollThreadPcpResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime),
                                                               new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            _pollThreadPcpAppointmentBookedReport    = new IntervalWorkThread(pcpAppointmentBookExportPollingAgent.PollForAppointmentBookExport);
            _timerPcpCustomerAppointmentBookedReport = new Timer(s => _pollThreadPcpAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
                                                                 new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            _pollThreadPcpResultExport = new IntervalWorkThread(pcpResultExportPollingAgent.PollForResultExport);
            _timerPcpResultExport      = new Timer(s => _pollThreadPcpResultExport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultReportDownloadTime),
                                                   new TimeSpan(0, settings.PhysicianPartnerResultReportDownloadInterval, 0, 0));


            //wellmed - results export
            _pollThreadWellmedResultPdfDownload        = new IntervalWorkThread(wellmedResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerWellmedResultPdfDownloadPollingAgent = new Timer(x => _pollThreadWellmedResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime),
                                                                   new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));


            _pollThreadWellmedAppointmentBookedReport    = new IntervalWorkThread(wellmedAppointmentBookExportPollingAgent.PollForAppointmentBookExport);
            _timerWellmedCustomerAppointmentBookedReport = new Timer(s => _pollThreadWellmedAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
                                                                     new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            _pollThreadWellmedResultExport = new IntervalWorkThread(wellmedResultExportPollingAgent.PollForResultExport);
            _timerWellmedResultExport      = new Timer(s => _pollThreadWellmedResultExport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultReportDownloadTime),
                                                       new TimeSpan(0, settings.PhysicianPartnerResultReportDownloadInterval, 0, 0));


            //hcpCalifornia - results Pdf
            _pollThreadHcpCaliforniaResultPdfDownload        = new IntervalWorkThread(hcpCaliforniaResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerHcpCaliforniaResultPdfDownloadPollingAgent = new Timer(x => _pollThreadHcpCaliforniaResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime),
                                                                         new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            //molina sftp Service

            _pollThreadMolinaResultPdfDownload        = new IntervalWorkThread(molinaResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerMolinaResultPdfDownloadPollingAgent = new Timer(x => _pollThreadMolinaResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime),
                                                                  new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            _pollThreadMolinaAppointmentBookedReport    = new IntervalWorkThread(molinaAppointmentBookExportPollingAgent.PollForAppointmentBookExport);
            _timerMolinaCustomerAppointmentBookedReport = new Timer(s => _pollThreadMolinaAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
                                                                    new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            _pollThreadMolinaResultExport = new IntervalWorkThread(molinaResultExportPollingAgent.PollForResultExport);
            _timerMolinaResultExport      = new Timer(s => _pollThreadMolinaResultExport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultReportDownloadTime),
                                                      new TimeSpan(0, settings.PhysicianPartnerResultReportDownloadInterval, 0, 0));

            //lock-Unlock Corporate Events
            _pollThreadLockCorporateEventPollingAgent = new IntervalWorkThread(lockCorporateEventPollingAgent.PollForLockCorporateEvent);
            _timerLockCorporateEventPollingAgent      = new Timer(x => _pollThreadLockCorporateEventPollingAgent.Trigger(), new object(), GetDueTime(settings.LockCorporateEventScheduleTime), new TimeSpan(0, settings.LockCorporateEventScheduleInterval, 0, 0));

            _pollThreadParseLockedEventFilePollingAgent = new IntervalWorkThread(parseLockedEventFilePollingAgent.PollForParseLockedEventFiles);

            _timerParseLockedEventFile = new Timer(x => _pollThreadParseLockedEventFilePollingAgent.Trigger(), new object(), GetDueTime(settings.WellmedParseLockedEventScheduleTime), new TimeSpan(0, settings.WellmedParseLockedEventIntervalHours, 0, 0));

            _pollThreadUnlockCorporateEvents = new IntervalWorkThread(unlockCorporateEventsPollingAgent.PollForUnlockCorporateEvents);
            _timerUnlockCorporateEvents      = new Timer(x => _pollThreadUnlockCorporateEvents.Trigger(), new object(), GetDueTime(settings.UnlockCorporateEventsScheduleTime), new TimeSpan(0, settings.UnlockCorporateEventsScheduleInterval, 0, 0));

            _pollHealthPlanIncorrectPhoneCustomerPollingAgent  = new IntervalWorkThread(healthPlanIncorrectPhoneCustomerPollingAgent.PollForCustomerExport);
            _timerHealthPlanIncorrectPhoneCustomerPollingAgent = new Timer(x => _pollHealthPlanIncorrectPhoneCustomerPollingAgent.Trigger(), new object(), GetDueTime(settings.HealthPlanIncorrectPhoneExportScheduleTime), new TimeSpan(0, settings.HealthPlanCustomerListExportScheduleInterval, 0, 0));

            _pollhomeVisitRequestedCustomerExportPollingAgent  = new IntervalWorkThread(homeVisitRequestedCustomerExportPollingAgent.PollForCustomerExport);
            _timerhomeVisitRequestedCustomerExportPollingAgent = new Timer(x => _pollhomeVisitRequestedCustomerExportPollingAgent.Trigger(), new object(), GetDueTime(settings.HealthPlanHomeVisitRequestedExportScheduleTime), new TimeSpan(0, settings.HealthPlanCustomerListExportScheduleInterval, 0, 0));

            //wellmed weekly appointment report
            _pollThreadWellmedWeeklyAppointmentBookedReport    = new IntervalWorkThread(wellmedWeeklyAppointmentBook.PollForAppointmentBookExport);
            _timerWellmedWeeklyCustomerAppointmentBookedReport = new Timer(s => _pollThreadWellmedWeeklyAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.WellmedWeeklyAppointmentBookedReportTime),
                                                                           new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            //Ntsp - result PDF export
            _pollThreadNtspResultPdfDownload        = new IntervalWorkThread(ntspResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerNtspResultPdfDownloadPollingAgent = new Timer(x => _pollThreadNtspResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime), new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            //As per mail by Marissa Jensen on Sep 14, 2016, No testperformed report would be sent to healthplan sftp.
            //_pollThreadTestNotPerformedReport = new IntervalWorkThread(testNotPerformedReportPollingAgent.PollForTestNotPerformed);
            //_timerThreadTestNotPerformedReport = new Timer(x => _pollThreadTestNotPerformedReport.Trigger(), new object(), GetDueTime(settings.HealthPlanTestNotPerformedExportScheduleTime), new TimeSpan(0, settings.HealthPlanTestNotPerformedExportScheduleInterval, 0, 0));

            //Outreach Report
            _pollThreadHealthPlanOutreachCallReport  = new IntervalWorkThread(healthPlanOutreachCallReportPollingAgent.PollForOutreachReport);
            _timerThreadHealthPlanOutreachCallReport = new Timer(x => _pollThreadHealthPlanOutreachCallReport.Trigger(), new object(), GetDueTime(settings.HealthPlanOutreachReportExportScheduleTime), new TimeSpan(0, settings.HealthPlanOutreachReportExportScheduleInterval, 0, 0));

            //Martin Point Daily Appointment Report
            _pollThreadMartinPointDailyAppointmentBookedReport  = new IntervalWorkThread(martinPointDailyAppointmentBookExportPollingAgent.PollForAppointmentBookExport);
            _timerThreadMartinPointDailyAppointmentBookedReport = new Timer(x => _pollThreadMartinPointDailyAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.MartinPointAppointmentBookedReportScheduleTime), new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            //Patient Input file Report
            _pollThreadPatientInputFileReport  = new IntervalWorkThread(patientInputFilePollingAgent.PollForPatientInputFiles);
            _timerThreadPatientInputFileReport = new Timer(x => _pollThreadPatientInputFileReport.Trigger(), new object(), GetDueTime(settings.PatientInputFileScheduleTime), new TimeSpan(0, settings.PatientInputFileScheduleInterval, 0, 0));

            //BCBS - result PDF export
            _pollThreadBcbsResultPdfDownload        = new IntervalWorkThread(bcbsResultPdfDownloadPollingAgent.PollForPdfDownload);
            _timerBcbsResultPdfDownloadPollingAgent = new Timer(x => _pollThreadBcbsResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime), new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));


            ////BCBS HealthPlan Member Status Report
            //_pollThreadHealthPlanMemberStatusReportPollingAgent = new IntervalWorkThread(healthPlanMemberStatusReportPollingAgent.PollForMemberStatusReport);
            //_timerHealthPlanMemberStatusReportPollingAgent = new Timer(x => _pollThreadHealthPlanMemberStatusReportPollingAgent.Trigger(), new object(), GetDueTime(settings.HealthPlanMemberStatusReportScheduleTime), new TimeSpan(0, settings.HealthPlanMemberStatusReportScheduleInterval, 0, 0));

            //Florida Blue - result PDF export
            //_pollThreadFloridaBlueResultPdfDownload = new IntervalWorkThread(floridaBlueResultPdfDownloadPollingAgent.PollForPdfDownload);
            //_timerFloridaBlueResultPdfDownloadPollingAgent = new Timer(x => _pollThreadFloridaBlueResultPdfDownload.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime), new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));

            //Diabetic RetinopathyParser log
            _pollThreadDiabeticRetinopathyParserlogPollingAgent    = new IntervalWorkThread(diabeticRetinopathyParserlogPollingAgent.PollForDiabeticRetinopathyParserlog);
            _timerDiabeticRetinopathyParserlogDownloadPollingAgent = new Timer(x => _pollThreadDiabeticRetinopathyParserlogPollingAgent.Trigger(), new object(), GetDueTime(settings.DiabeticRetinopathylogSchedule), new TimeSpan(0, settings.DiabeticRetinopathylogInterval, 0, 0));


            ////HealthNow Result Pdf
            //_pollThreadHealthNowResultPdfDownloadPollingAgent = new IntervalWorkThread(healthNowResultPdfDownloadPollingAgent.PollForPdfDownload);
            //_timerHealthNowResultPdfDownloadPollingAgent = new Timer(x => _pollThreadHealthNowResultPdfDownloadPollingAgent.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime), new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));


            ////HealthNow Result Pdf
            //_pollThreadWellCareResultPdfDownloadPollingAgent = new IntervalWorkThread(wellCareResultPdfDownloadPollingAgent.PollForPdfDownload);
            //_timerWellCareResultPdfDownloadPollingAgent = new Timer(x => _pollThreadWellCareResultPdfDownloadPollingAgent.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerResultPdfDownloadTime), new TimeSpan(0, settings.PhysicianPartnerResultPdfDownloadInterval, 0, 0));


            _pollThreadWellmedTxAppointmentBookedReport    = new IntervalWorkThread(wellmedTxAppointmentsBookedExportPollingAgent.PollForAppointmentBookExport);
            _timerWellmedTxCustomerAppointmentBookedReport = new Timer(s => _pollThreadWellmedTxAppointmentBookedReport.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
                                                                       new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));


            //Hcp Ca Custom Appointment Booked Report
            _pollThreadHcpCaAppointmentBookedPollingAgent = new IntervalWorkThread(hcpCaAppointmentBookExportPolling.PollForAppointmentBookExport);
            _timerHcpCaAppointmentBookedPollingAgent      = new Timer(s => _pollThreadHcpCaAppointmentBookedPollingAgent.Trigger(), new object(), GetDueTime(settings.PhysicianPartnerAppointmentBookedReportDownloadTime),
                                                                      new TimeSpan(0, settings.PhysicianPartnerAppointmentBookedReportDownloadInterval, 0, 0));

            _pollThreadParseWellmedLockedEventFilePollingAgent = new IntervalWorkThread(parseWellmedLockedEventFilePollingAgent.PollForParseLockedEventFiles);
            _timerParseWellmedLockedEventFile = new Timer(x => _pollThreadParseWellmedLockedEventFilePollingAgent.Trigger(), new object(), GetDueTime(settings.WellmedParseLockedEventScheduleTime), new TimeSpan(0, settings.WellmedParseLockedEventIntervalHours, 0, 0));

            //Wellmed  - Gift Certificate Wellmed
            _pollThreadGiftCertificateWellmedPollingAgent = new IntervalWorkThread(giftCertificateWellmedPollingAgent.PollGiftCertificateWellmedReport);
            _timerGiftCertificateWellmedPollingAgent      = new Timer(x => _pollThreadGiftCertificateWellmedPollingAgent.Trigger(), new object(), GetDueTime(settings.WellmedGiftCertificateScheduleTime), new TimeSpan(0, settings.WellmedGiftCertificateIntervalHours, 0, 0));
        }