/// <summary> /// RTFs the preview. /// </summary> /// <param name="letterTemplateViewModel">The letter template view model.</param> /// <param name="reportVirtualPath">The report virtual path.</param> /// <returns></returns> public static string[] RtfPreview(LetterTemplateViewModel letterTemplateViewModel, string reportVirtualPath) { AppealLetter letterReportContainer = new AppealLetter { LetterTemplaterText = letterTemplateViewModel.TemplateText, AppealLetterClaims = new List <AppealLetterClaim>(), IsPreview = true }; //Create default letter data / claim data AppealLetterClaim appealLetterClaim = new AppealLetterClaim { BillDate = LetterBillDate, BillType = LetterBillType, ContractName = LetterContractName, Drg = LetterDrg, ExpectedAllowed = LetterExpectedAllowed, Ftn = LetterFtn, MedRecNumber = LetterMedRecNumber, PrimaryGroupNumber = PrimaryGroupNumber, SecondaryGroupNumber = SecondaryGroupNumber, TertiaryGroupNumber = TertiaryGroupNumber, PrimaryMemberId = PrimaryMemberId, SecondaryMemberId = SecondaryMemberId, TertiaryMemberId = TertiaryMemberId, Npi = LetterNpi, PatientAccountNumber = LetterPatientAccountNumber, PatientDob = LetterPatientDateOfBirth, PatientFirstName = LetterPatientFirstName, PatientLastName = LetterPatientLastName, PatientMiddleName = LetterPatientMiddleName, PatientResponsibility = LetterPatientResponsibility, PayerName = LetterPayerName, ProviderName = LetterProviderName, RemitCheckDate = LetterRemitCheckDate, RemitPayment = LetterRemitPayment, StatementFrom = LetterStatementFrom, StatementThru = LetterStatementThru, ClaimTotal = LetterClaimTotal, Icn = LetterIcn, Los = LetterLos, Age = LetterAge }; letterReportContainer.AppealLetterClaims.Add(appealLetterClaim); string[] test = GetExportedFileName(letterReportContainer, reportVirtualPath, Constants.AppealLetterPreviewFileBaseName); return(test); }
/// <summary> /// Replaces the claim data. /// </summary> /// <param name="templateText">The template text.</param> /// <param name="appealLetterClaim">The appeal letter claim.</param> /// <returns></returns> private static string ReplaceClaimData(string templateText, AppealLetterClaim appealLetterClaim) { //Creating Field and Value pair for ClaimData Dictionary <string, string> claimColumns = new Dictionary <string, string> { { Constants.BillDate, appealLetterClaim.BillDate.HasValue ? (appealLetterClaim.BillDate.Value.ToString("MM/dd/yyyy") == "01/01/1900" ? string.Empty : appealLetterClaim.BillDate.Value.ToString("MM/dd/yyyy")) : string.Empty }, { Constants.BillType, appealLetterClaim.BillType }, { Constants.ContractName, appealLetterClaim.ContractName }, { Constants.Drg, appealLetterClaim.Drg }, { Constants.ExpectedAllowed, appealLetterClaim.ExpectedAllowed.HasValue ? "$" + appealLetterClaim.ExpectedAllowed.Value.ToString("0.00") : string.Empty }, { Constants.Ftn, appealLetterClaim.Ftn }, { Constants.PrimaryGroupNumber, appealLetterClaim.PrimaryGroupNumber }, { Constants.SecondaryGroupNumber, appealLetterClaim.SecondaryGroupNumber }, { Constants.TertiaryGroupNumber, appealLetterClaim.TertiaryGroupNumber }, { Constants.PrimaryMemberId, appealLetterClaim.PrimaryMemberId }, //{Constants.SecondaryMemberId, appealLetterClaim.SecondaryMemberId}, //{Constants.TertiaryMemberId, appealLetterClaim.TertiaryMemberId}, { Constants.MedRecNumber, appealLetterClaim.MedRecNumber }, { Constants.Npi, appealLetterClaim.Npi }, { Constants.PatientAccountNumber, appealLetterClaim.PatientAccountNumber }, { Constants.PatientDob, appealLetterClaim.PatientDob.HasValue ? (appealLetterClaim.PatientDob.Value.ToString("MM/dd/yyyy") == "01/01/1900" ? string.Empty : appealLetterClaim.PatientDob.Value.ToString("MM/dd/yyyy")) : string.Empty }, { Constants.PatientFirstName, appealLetterClaim.PatientFirstName }, { Constants.PatientLastName, appealLetterClaim.PatientLastName }, { Constants.PatientMiddleName, appealLetterClaim.PatientMiddleName }, { Constants.PatientResponsibility, appealLetterClaim.PatientResponsibility.HasValue ? "$" + appealLetterClaim.PatientResponsibility.Value.ToString("0.00") : string.Empty }, { Constants.PayerName, appealLetterClaim.PayerName }, { Constants.ProviderName, appealLetterClaim.ProviderName }, { Constants.RemitCheckDate, appealLetterClaim.RemitCheckDate.HasValue ? (appealLetterClaim.RemitCheckDate.Value.ToString("MM/dd/yyyy") == "01/01/1900" ? string.Empty : appealLetterClaim.RemitCheckDate.Value.ToString("MM/dd/yyyy")) : string.Empty }, { Constants.RemitPayment, appealLetterClaim.RemitPayment.HasValue ? "$" + appealLetterClaim.RemitPayment.Value.ToString("0.00") : string.Empty }, { Constants.StatementFrom, appealLetterClaim.StatementFrom.HasValue ? (appealLetterClaim.StatementFrom.Value.ToString("MM/dd/yyyy") == "01/01/1900" ? string.Empty : appealLetterClaim.StatementFrom.Value.ToString("MM/dd/yyyy")) : string.Empty }, { Constants.StatementThru, appealLetterClaim.StatementThru.HasValue ? (appealLetterClaim.StatementThru.Value.ToString("MM/dd/yyyy") == "01/01/1900" ? string.Empty : appealLetterClaim.StatementThru.Value.ToString("MM/dd/yyyy")) : string.Empty }, { Constants.ClaimTotal, appealLetterClaim.ClaimTotal.HasValue ? "$" + appealLetterClaim.ClaimTotal.Value.ToString("0.00") : string.Empty }, { Constants.CurrentDate, DateTime.Now.ToString("MM/dd/yyyy") }, { Constants.Icn, appealLetterClaim.Icn }, { Constants.Los, Convert.ToString(appealLetterClaim.Los) }, { Constants.Age, Convert.ToString(appealLetterClaim.Age) } }; //Replace claim data in template text string templateClaimText = claimColumns.Aggregate(templateText, (result, s) => result.Replace(s.Key, s.Value)); return(templateClaimText); }