public FaxTelephoneNumber GetFaxNumbers(string careProviderIDs) { FaxTelephoneNumber faxTelephoneNumber = new FaxTelephoneNumber(); string faxNumber = string.Empty; int count = 0; try { using (IDbConnection db = new SqlConnection(ConfigurationValues.GreenwayConnection)) { string query = "select count(CareProvView.CareProviderId)" + " from CareProvView" + " inner JOIN CareProviderDetails" + " on CareProviderDetails.CareProviderID = CareProvView.CareProviderID" + " where CareProviderDetails.CareProviderID IN (" + careProviderIDs + ")"; count = db.Query<int>(query).Single(); //return faxTelephoneNumber; } } catch (Exception er) { Utility.LogErrors(ConfigurationValues.ErrorLogPath, er.ToString()); faxTelephoneNumber.AddressLine1 = string.Empty; faxTelephoneNumber.AddressLine2 = string.Empty; faxTelephoneNumber.City = string.Empty; faxTelephoneNumber.CredentialsDescription = string.Empty; faxTelephoneNumber.FaxNumber = string.Empty; faxTelephoneNumber.FullName = string.Empty; faxTelephoneNumber.Name = string.Empty; faxTelephoneNumber.PostalCode = string.Empty; faxTelephoneNumber.State = string.Empty; return faxTelephoneNumber; } if (count > 0) { try { using (IDbConnection db = new SqlConnection(ConfigurationValues.GreenwayConnection)) { string query = "select CareProvView.CareProviderId as ProviderID, CareProvView.FirstName + ' ' + CareProvView.LastName as Name," + " CareProvView.resAddressLine1 as AddressLine1, CareProvView.resAddressLine2 as AddressLine2," + " CareProvView.resCity as City , CareProvView.resState as State,CareProvView.resZip as PostalCode," + " CareProvView.FaxNumber,CareProvView.CredentialsDescription,CareProviderDetails.FullName as FullName " + " from CareProvView" + " inner JOIN CareProviderDetails" + " on CareProviderDetails.CareProviderID = CareProvView.CareProviderID" + " where CareProviderDetails.CareProviderID IN (" + careProviderIDs + ")"; faxTelephoneNumber = db.Query<FaxTelephoneNumber>(query).Single(); return faxTelephoneNumber; } } catch (Exception er) { Utility.LogErrors(ConfigurationValues.ErrorLogPath, er.ToString()); faxTelephoneNumber.AddressLine1 = string.Empty; faxTelephoneNumber.AddressLine2 = string.Empty; faxTelephoneNumber.City = string.Empty; faxTelephoneNumber.CredentialsDescription = string.Empty; faxTelephoneNumber.FaxNumber = string.Empty; faxTelephoneNumber.FullName = string.Empty; faxTelephoneNumber.Name = string.Empty; faxTelephoneNumber.PostalCode = string.Empty; faxTelephoneNumber.State = string.Empty; return faxTelephoneNumber; } } else { faxTelephoneNumber.AddressLine1 = string.Empty; faxTelephoneNumber.AddressLine2 = string.Empty; faxTelephoneNumber.City = string.Empty; faxTelephoneNumber.CredentialsDescription = string.Empty; faxTelephoneNumber.FaxNumber = string.Empty; faxTelephoneNumber.FullName = string.Empty; faxTelephoneNumber.Name = string.Empty; faxTelephoneNumber.PostalCode = string.Empty; faxTelephoneNumber.State = string.Empty; return faxTelephoneNumber; } }
private void RunAutomatedFaxesForConnecticutOrtho() { faxRepository = new FaxRepository(); createLetters = new AutomatedFaxBL.Letters.CreateLetters(); documentsList = faxRepository.GetListOfDocumentssToSendViaFax(); faxRepository.InsertSignedDocumentsFromGreenway(documentsList); faxTelephoneNumberList = new List<FaxTelephoneNumber>(); faxTelephoneNumber = new FaxTelephoneNumber(); sendFaxesReporting = new SendFaxesReporting(); string faxPathWithCoverLetterAndNote = string.Empty; for (int i = 0; i < documentsList.Count; i++) { if (documentsList[i].Proccess == "Y") { if (faxRepository.CheckToSeeIfProviderThatSignedDocumentIsCareProvider(documentsList[i].CareProviderID, documentsList[i].SignerID)) { if (GetDocumentFromGreenway(documentsList[i].DocumentID)) { sendFaxesReporting = new SendFaxesReporting(); faxRepository.InsertAllSignedNotes(documentsList[i]); sendFaxesReporting = new SendFaxesReporting(); sendFaxesReporting.DocumentID = documentsList[i].DocumentID; sendFaxesReporting.CareProviderID = documentsList[i].CareProviderID; sendFaxesReporting.CareProviderName = documentsList[i].CareProviderName; sendFaxesReporting.PatientID = documentsList[i].PatientID; sendFaxesReporting.PatientName = documentsList[i].PatientName; sendFaxesReporting.PrimaryCareProviderID = documentsList[i].PrimaryCareProviderID; sendFaxesReporting.PrimaryCareProvider = documentsList[i].PrimaryCareProvider; sendFaxesReporting.ReferringCareProviderID = documentsList[i].ReferringCareProviderID; sendFaxesReporting.ReferringCareProvider = documentsList[i].ReferringCareProvider; faxTelephoneNumber = faxRepository.GetFaxNumbers(documentsList[i].PrimaryCareProviderID.ToString()); if (documentsList[i].PrimaryCareProviderID > 0) { if (faxTelephoneNumber.FaxNumber.Length > 0 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID) == false) { faxPathWithCoverLetterAndNote = string.Empty; if (documentsList[i].DocTypeName == "History and Physical") { faxPathWithCoverLetterAndNote = createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); } else if (documentsList[i].DocTypeName == "Progress Note") { string newDocumentName = Guid.NewGuid().ToString() + ".pdf"; faxPathWithCoverLetterAndNote = ConfigurationValues.FinalFaxPath + newDocumentName; File.Copy(ConfigurationValues.CreatePdfPath, ConfigurationValues.FinalFaxPath + newDocumentName); } if (Utility.GetPDFPageCount(faxPathWithCoverLetterAndNote) < 15) { sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareFaxSent = "Y"; sendFaxesReporting.PrimaryCareReason = "Approved Provider and has fax number"; OperationResult operationResult = CreateFaxRecord(documentsList[i].CareProviderName, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), faxTelephoneNumber.Name, faxPathWithCoverLetterAndNote); sendFaxesReporting.PrimaryCareSendID = int.Parse(operationResult.MessageList[0]); if (operationResult.Success) { AutomatedFaxBL.Multitech.SendFaxMultitech sendFax = new AutomatedFaxBL.Multitech.SendFaxMultitech(); faxTelephoneNumber.FaxNumber = faxTelephoneNumber.FaxNumber.Replace("(", "") .Replace(")", "") .Replace("-", "") .Replace(" ", ""); sendFax.SendTheFax(documentsList[i].PatientName, faxPathWithCoverLetterAndNote, faxTelephoneNumber.Name, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), operationResult.MessageList[0], ""); } } else { sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = "Number of pages greater than 14"; } } else { whyFaxWasNotSent = string.Empty; if (faxTelephoneNumber.FaxNumber.Length < 1 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "No Fax Number for Provider and Primary Care Provider is in the Practice"; } else if (faxTelephoneNumber.FaxNumber.Length < 1) { whyFaxWasNotSent = "No Fax Number for Provider"; } else if (faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "Primary Care Provider is in the Practice"; } sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = whyFaxWasNotSent; } } else { sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = "No Primary Care Provider"; } faxTelephoneNumber = faxRepository.GetFaxNumbers(documentsList[i].ReferringCareProviderID.ToString()); if (documentsList[i].ReferringCareProviderID == documentsList[i].PrimaryCareProviderID) { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "Primary Care Provider and Referring Care Provider are the same"; } else if (documentsList[i].ReferringCareProviderID > 0) { if (faxTelephoneNumber.FaxNumber.Length > 0 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID) == false) { faxPathWithCoverLetterAndNote = string.Empty; if (documentsList[i].DocTypeName == "History and Physical") { faxPathWithCoverLetterAndNote = createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); } else if (documentsList[i].DocTypeName == "Progress Note") { string newDocumentName = Guid.NewGuid().ToString() + ".pdf"; faxPathWithCoverLetterAndNote = ConfigurationValues.FinalFaxPath + newDocumentName; File.Copy(ConfigurationValues.CreatePdfPath, ConfigurationValues.FinalFaxPath + newDocumentName); } if (Utility.GetPDFPageCount(faxPathWithCoverLetterAndNote) < 15) { sendFaxesReporting.ReferringCareFaxSent = "Y"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "Approved Provider and has fax number"; OperationResult operationResult = CreateFaxRecord(documentsList[i].CareProviderName, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), faxTelephoneNumber.Name, faxPathWithCoverLetterAndNote); sendFaxesReporting.ReferringCareSendID = int.Parse(operationResult.MessageList[0]); if (operationResult.Success) { AutomatedFaxBL.Multitech.SendFaxMultitech sendFax = new AutomatedFaxBL.Multitech.SendFaxMultitech(); faxTelephoneNumber.FaxNumber = faxTelephoneNumber.FaxNumber.Replace("(", "") .Replace(")", "") .Replace("-", "") .Replace(" ", ""); sendFax.SendTheFax(documentsList[i].PatientName, faxPathWithCoverLetterAndNote, faxTelephoneNumber.Name, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), operationResult.MessageList[0], ""); } } else { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "Number of pages greater than 14"; } } else { whyFaxWasNotSent = string.Empty; if (faxTelephoneNumber.FaxNumber.Length < 1 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "No Fax Number for Provider and Referring Care Provider is in the Practice"; } else if (faxTelephoneNumber.FaxNumber.Length < 1) { whyFaxWasNotSent = "No Fax Number for Provider"; } else if (faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "Referring Care Provider is in the Practice"; } sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = whyFaxWasNotSent; } } else { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "No Referring Care Provider"; } SendFaxesReporting sendFaxesReporting2 = sendFaxesReporting; faxRepository.AddReportingRecord(sendFaxesReporting); } } else { //Care Provider who signed note is not Care Provider of record for visit faxRepository.InsertAllSignedNotes(documentsList[i]); sendFaxesReporting = new SendFaxesReporting(); sendFaxesReporting.DocumentID = documentsList[i].DocumentID; sendFaxesReporting.CareProviderID = documentsList[i].CareProviderID; sendFaxesReporting.CareProviderName = documentsList[i].CareProviderName; sendFaxesReporting.PatientID = documentsList[i].PatientID; sendFaxesReporting.PatientName = documentsList[i].PatientName; sendFaxesReporting.PrimaryCareProviderID = documentsList[i].PrimaryCareProviderID; sendFaxesReporting.PrimaryCareProvider = documentsList[i].PrimaryCareProvider; sendFaxesReporting.ReferringCareProviderID = documentsList[i].ReferringCareProviderID; sendFaxesReporting.ReferringCareProvider = documentsList[i].ReferringCareProvider; sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = string.Empty; sendFaxesReporting.PrimaryCareReason = "Care Provider who signed note is not Care Provider of record for visit"; sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = string.Empty; sendFaxesReporting.ReferringCareReason = "Care Provider who signed note is not Care Provider of record for visit"; faxRepository.AddReportingRecord(sendFaxesReporting); //Do nothing for this record } } else { //Document not set to Y to process //Either the document had already been sent //or it has been signed more than one time on the same day by the same provider faxRepository.InsertAllSignedNotes(documentsList[i]); sendFaxesReporting = new SendFaxesReporting(); sendFaxesReporting.DocumentID = documentsList[i].DocumentID; sendFaxesReporting.CareProviderID = documentsList[i].CareProviderID; sendFaxesReporting.CareProviderName = documentsList[i].CareProviderName; sendFaxesReporting.PatientID = documentsList[i].PatientID; sendFaxesReporting.PatientName = documentsList[i].PatientName; sendFaxesReporting.PrimaryCareProviderID = documentsList[i].PrimaryCareProviderID; sendFaxesReporting.PrimaryCareProvider = documentsList[i].PrimaryCareProvider; sendFaxesReporting.ReferringCareProviderID = documentsList[i].ReferringCareProviderID; sendFaxesReporting.ReferringCareProvider = documentsList[i].ReferringCareProvider; sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = string.Empty; sendFaxesReporting.PrimaryCareReason = "Either document has already been sent or duplicate signature on the same day"; sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = string.Empty; sendFaxesReporting.ReferringCareReason = "Either document has already been sent or duplicate signature on the same day"; faxRepository.AddReportingRecord(sendFaxesReporting); } System.Threading.Thread.Sleep(20000); } System.Threading.Thread.Sleep(30000); for (int i = 0; i <= 3; i++) { try { Console.WriteLine(DateTime.Now.ToShortTimeString()); faxRepository.UpdateCompletionTimes(); faxRepository.UpdateStatusOfSentFaxes(); System.Threading.Thread.Sleep(300000); Console.WriteLine(DateTime.Now.ToShortTimeString()); } catch (Exception er) { Logging.LogErrors(ConfigurationValues.ErrorLogPath, er.ToString()); } } }
public string CreateLetterToPutInFrontOfNote(FaxTelephoneNumber faxTelephoneNumber, SignedDocument document) { Correspondence letter = new Correspondence(); letter.TodaysDate = DateTime.Now.ToLongDateString(); letter.MessageFrom = "A patient communications update from the office of " + document.CareProviderName; if (string.IsNullOrEmpty(faxTelephoneNumber.AddressLine1)) { faxTelephoneNumber.AddressLine1 = string.Empty; } if (string.IsNullOrEmpty(faxTelephoneNumber.AddressLine2)) { faxTelephoneNumber.AddressLine2 = string.Empty; } if (string.IsNullOrEmpty(faxTelephoneNumber.City)) { faxTelephoneNumber.City = string.Empty; } else { faxTelephoneNumber.City = faxTelephoneNumber.City + ", "; } if (string.IsNullOrEmpty(faxTelephoneNumber.State)) { faxTelephoneNumber.State = string.Empty; } else { faxTelephoneNumber.State = faxTelephoneNumber.State + " "; } if (string.IsNullOrEmpty(faxTelephoneNumber.PostalCode)) { faxTelephoneNumber.PostalCode = string.Empty; } if (faxTelephoneNumber.AddressLine2.Length > 0) { letter.HeaderText = faxTelephoneNumber.Name + Environment.NewLine + faxTelephoneNumber.AddressLine1 + Environment.NewLine + faxTelephoneNumber.AddressLine2 + Environment.NewLine + faxTelephoneNumber.City + faxTelephoneNumber.State + faxTelephoneNumber.PostalCode; } else { string[] credential = faxTelephoneNumber.FullName.Split(' '); faxTelephoneNumber.Name = credential[1] + " " + credential[0] + " " + credential[credential.Length - 1]; letter.HeaderText = credential[1] + " " + credential[0] + " " + credential[credential.Length - 1] + Environment.NewLine + faxTelephoneNumber.AddressLine1 + Environment.NewLine + faxTelephoneNumber.City + faxTelephoneNumber.State + faxTelephoneNumber.PostalCode; } letter.BodyText = "I saw your patient " + document.PatientName + " at your request in consultation regarding the patient’s orthopedic problem. " + " Thank you for your kind referral." + Environment.NewLine + Environment.NewLine + "I’ve enclosed a copy of our office notes which includes " + "the diagnosis and treatment plan. I will continue to keep you updated in the future with " + "regard to our patient’s progress . Please let me know if I can answer any further questions " + "regarding our patient’s care." + Environment.NewLine + Environment.NewLine + Environment.NewLine + "All the Best," + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + Environment.NewLine + document.CareProviderName + Environment.NewLine + Environment.NewLine + "Enclosure" ; AutomatedFaxReports.Letter report1 = new AutomatedFaxReports.Letter(letter); Telerik.Reporting.Processing.ReportProcessor reportProcessor = new Telerik.Reporting.Processing.ReportProcessor(); Telerik.Reporting.InstanceReportSource instanceReportSource = new Telerik.Reporting.InstanceReportSource(); instanceReportSource.ReportDocument = report1; Telerik.Reporting.Processing.RenderingResult result = reportProcessor.RenderReport("PDF", instanceReportSource, null); using (var pdfStream = new MemoryStream(result.DocumentBytes)) using (var reportFile = new FileStream(ConfigurationValues.CorrespondensePath, FileMode.Create)) { pdfStream.CopyTo(reportFile); } PdfFileEditor pdfEditor = new PdfFileEditor(); string newDocumentName = Guid.NewGuid().ToString() + ".pdf"; //ConfigurationValues.FinalFaxPath = ConfigurationValues.FinalFaxPath + Guid.NewGuid().ToString() + ".pdf"; pdfEditor.Concatenate(ConfigurationValues.CorrespondensePath, ConfigurationValues.CreatePdfPath, ConfigurationValues.FinalFaxPath + newDocumentName); return ConfigurationValues.FinalFaxPath + newDocumentName; }
private void RunAutomatedFaxesForConnecticutOrtho() { faxRepository = new FaxRepository(); createLetters = new AutomatedFaxBL.Letters.CreateLetters(); // //ResendFaxesThatHaveFailed(); PeformActionOnFaxesThatHaveFailedThreeTimes(); documentsList = faxRepository.GetListOfDocumentssToSendViaFax(faxRepository.GetListOfCarProviderIDs(), faxRepository.GetLocationsList()); faxTelephoneNumberList = new List<FaxTelephoneNumber>(); faxTelephoneNumber = new FaxTelephoneNumber(); sendFaxesReporting = new SendFaxesReporting(); string faxPathWithCoverLetterAndNote = string.Empty; for (int i = 0; i < documentsList.Count; i++) { if (documentsList[i].Proccess == "Y") { if (faxRepository.CheckToSeeIfProviderThatSignedDocumentIsCareProvider(documentsList[i].CareProviderID, documentsList[i].SignerID)) { if (GetDocumentFromGreenway(documentsList[i].DocumentID)) { sendFaxesReporting = new SendFaxesReporting(); faxRepository.InsertAllSignedNotes(documentsList[i]); sendFaxesReporting = new SendFaxesReporting(); sendFaxesReporting.DocumentID = documentsList[i].DocumentID; sendFaxesReporting.CareProviderID = documentsList[i].CareProviderID; sendFaxesReporting.CareProviderName = documentsList[i].CareProviderName; sendFaxesReporting.PatientID = documentsList[i].PatientID; sendFaxesReporting.PatientName = documentsList[i].PatientName; sendFaxesReporting.PrimaryCareProviderID = documentsList[i].PrimaryCareProviderID; sendFaxesReporting.PrimaryCareProvider = documentsList[i].PrimaryCareProvider; sendFaxesReporting.ReferringCareProviderID = documentsList[i].ReferringCareProviderID; sendFaxesReporting.ReferringCareProvider = documentsList[i].ReferringCareProvider; faxTelephoneNumber = faxRepository.GetFaxNumbers(documentsList[i].PrimaryCareProviderID.ToString()); if (documentsList[i].PrimaryCareProviderID > 0) { if (faxTelephoneNumber.FaxNumber.Length > 0 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID) == false) { faxPathWithCoverLetterAndNote = string.Empty; if (documentsList[i].DocTypeName == "History and Physical") { faxPathWithCoverLetterAndNote = createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); } else if (documentsList[i].DocTypeName == "Progress Note") { string newDocumentName = Guid.NewGuid().ToString() + ".pdf"; faxPathWithCoverLetterAndNote = ConfigurationValues.FinalFaxPath + newDocumentName; File.Copy(ConfigurationValues.CreatePdfPath, ConfigurationValues.FinalFaxPath + newDocumentName); // ConfigurationValues.FinalFaxPath + newDocumentName } if (Utility.GetPageCount(faxPathWithCoverLetterAndNote) < 15) { sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareFaxSent = "Y"; sendFaxesReporting.PrimaryCareReason = "Approved Provider and has fax number"; OperationResult operationResult = CreateFaxRecord(documentsList[i].CareProviderName, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), faxTelephoneNumber.Name, faxPathWithCoverLetterAndNote); sendFaxesReporting.PrimaryCareSendID = int.Parse(operationResult.MessageList[0]); if (operationResult.Success) { AutomatedFaxBL.Multitech.SendFaxMultitech sendFax = new AutomatedFaxBL.Multitech.SendFaxMultitech(); faxTelephoneNumber.FaxNumber = faxTelephoneNumber.FaxNumber.Replace("(", "") .Replace(")", "") .Replace("-", "") .Replace(" ", ""); sendFax.SendTheFax(documentsList[i].PatientName, faxPathWithCoverLetterAndNote, faxTelephoneNumber.Name, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), operationResult.MessageList[0], ""); } } else { sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = "Number of pages greater than 14"; } }// end else { whyFaxWasNotSent = string.Empty; if (faxTelephoneNumber.FaxNumber.Length < 1 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "No Fax Number for Provider and Primary Care Provider is in the Practice"; } else if (faxTelephoneNumber.FaxNumber.Length < 1) { whyFaxWasNotSent = "No Fax Number for Provider"; } else if (faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "Primary Care Provider is in the Practice"; } sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = whyFaxWasNotSent; } } else { sendFaxesReporting.PrimaryCareFaxSent = "N"; sendFaxesReporting.PrimaryCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.PrimaryCareReason = "No Primary Care Provider"; } faxTelephoneNumber = faxRepository.GetFaxNumbers(documentsList[i].ReferringCareProviderID.ToString()); if (documentsList[i].ReferringCareProviderID == documentsList[i].PrimaryCareProviderID) { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "No Delivery Requested"; } else if (documentsList[i].ReferringCareProviderID > 0) { if (faxTelephoneNumber.FaxNumber.Length > 0 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID) == false) { faxPathWithCoverLetterAndNote = string.Empty; if (documentsList[i].DocTypeName == "History and Physical") { faxPathWithCoverLetterAndNote = createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); } else if (documentsList[i].DocTypeName == "Progress Note") { string newDocumentName = Guid.NewGuid().ToString() + ".pdf"; faxPathWithCoverLetterAndNote = ConfigurationValues.FinalFaxPath + newDocumentName; File.Copy(ConfigurationValues.CreatePdfPath, ConfigurationValues.FinalFaxPath + newDocumentName); } //faxPathWithCoverLetterAndNote = createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); if (Utility.GetPageCount(faxPathWithCoverLetterAndNote) < 15) { //createLetters.CreateLetterToPutInFrontOfNote(faxTelephoneNumber, documentsList[i]); sendFaxesReporting.ReferringCareFaxSent = "Y"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "Approved Provider and has fax number"; OperationResult operationResult = CreateFaxRecord(documentsList[i].CareProviderName, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), faxTelephoneNumber.Name, faxPathWithCoverLetterAndNote); sendFaxesReporting.ReferringCareSendID = int.Parse(operationResult.MessageList[0]); if (operationResult.Success) { AutomatedFaxBL.Multitech.SendFaxMultitech sendFax = new AutomatedFaxBL.Multitech.SendFaxMultitech(); faxTelephoneNumber.FaxNumber = faxTelephoneNumber.FaxNumber.Replace("(", "") .Replace(")", "") .Replace("-", "") .Replace(" ", ""); sendFax.SendTheFax(documentsList[i].PatientName, faxPathWithCoverLetterAndNote, faxTelephoneNumber.Name, faxRepository.UpdatedFaxNumber(faxTelephoneNumber.FaxNumber), operationResult.MessageList[0], ""); } } else { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "Number of pages greater than 14"; } }// end else { whyFaxWasNotSent = string.Empty; if (faxTelephoneNumber.FaxNumber.Length < 1 && faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "No Fax Number for Provider and Referring Care Provider is in the Practice"; } else if (faxTelephoneNumber.FaxNumber.Length < 1) { whyFaxWasNotSent = "No Fax Number for Provider"; } else if (faxRepository.CheckToseeIfProviderWorksForPractice(faxTelephoneNumber.ProviderID)) { whyFaxWasNotSent = "Referring Care Provider is in the Practice"; } sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = whyFaxWasNotSent; } } else { sendFaxesReporting.ReferringCareFaxSent = "N"; sendFaxesReporting.ReferringCareFaxNumber = faxTelephoneNumber.FaxNumber; sendFaxesReporting.ReferringCareReason = "No Referring Care Provider"; } SendFaxesReporting sendFaxesReporting2 = sendFaxesReporting; faxRepository.AddReportingRecord(sendFaxesReporting); } } else { //Care Provider who signed note is not Care Provider of record for visit } } else { //Document not have a Yes to process } System.Threading.Thread.Sleep(30000); } System.Threading.Thread.Sleep(30000); //} // faxRepository.UpdateCompletionTimes(); // faxRepository.UpdateStatusOfSentFaxes(); }