/// <summary> /// prepares list of date type variables required for the report.if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of date type variables required for the report</returns> private static IEnumerable <string> GetDateTypeRowValuesAfterLos(ClaimDataViewModel claimData) { return(new[] { // Gets the BillDateValue. claimData.BillDateValue, claimData.ClaimDateValue, claimData.LastFiledDateValue }); }
/// <summary> /// prepares list of double(amount) variables required for the report. if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of double(amount) variables required for the report</returns> private static IEnumerable <double?> GetAmountRowValues(ClaimDataViewModel claimData) { return(new[] { claimData.ClaimTotal, claimData.AdjudicatedValue, claimData.ActualPayment, claimData.PatientResponsibility, claimData.RemitAllowedAmt, claimData.RemitNonCovered, claimData.CalculatedAdjustment, claimData.ActualAdjustment, claimData.ContractualVariance, claimData.PaymentVariance }); }
/// <summary> /// prepares list of date type variables required for the report.if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of date type variables required for the report</returns> private static IEnumerable <string> GetDateTypeRowValues(ClaimDataViewModel claimData) { return(new[] { // Gets the Adjudication DateTime based on client TimeZone on Download of Excel Sheet. Convert.ToDateTime(claimData.AdjudicatedDateValue).ToString("MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture), claimData.CheckDate, claimData.CheckNumber, claimData.StatementFromValue, claimData.StatementThruValue }); }
/// <summary> /// prepares list of string variables required for the report. if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of strings type variables required for variance report</returns> private static IEnumerable <string> GetStringRowValuesFromNpiToMrn(ClaimDataViewModel claimData) { return(new[] { claimData.Npi, claimData.ClaimType, claimData.PayerSequence, claimData.BillType, claimData.Drg, claimData.PriIcddCode, claimData.PriIcdpCode, claimData.PriPayerName.Replace(Constants.Comma, Constants.SemiColon), claimData.SecPayerName.Replace(Constants.Comma, Constants.SemiColon), claimData.TerPayerName.Replace(Constants.Comma, Constants.SemiColon), claimData.IsRemitLinked, claimData.ClaimStat, claimData.ClaimLink, claimData.LinkedRemitId, claimData.DischargeStatus, claimData.CustomField1, claimData.CustomField2, claimData.CustomField3, claimData.CustomField4, claimData.CustomField5, claimData.CustomField6, claimData.MemberId, claimData.Icn, claimData.Mrn, Convert.ToString(claimData.InsuredsGroupNumber) }); }
/// <summary> /// prepares list of integer type variables required for the report.if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of integer type variables required for the report</returns> private static string GetLosRowValues(ClaimDataViewModel claimData) { // Gets the Los. return(claimData.Los); }
/// <summary> /// prepares integer type variables required for the report.if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of integer type variables required for the report</returns> private static string GetAgeRowValues(ClaimDataViewModel claimData) { // Gets the Age. return(claimData.Age); }
/// <summary> /// prepares list of string variables required for the report. if position of fields are altered, client header also should be altered /// </summary> /// <param name="claimData">claim related data</param> /// <returns>list of strings type variables required for variance report</returns> private static IEnumerable <string> GetStringRowValuesFromClaimIdToPatientAccountNumber(ClaimDataViewModel claimData) { return(new[] { claimData.ClaimId.ToString(CultureInfo.InvariantCulture), claimData.AdjudicatedContractName == null?null:claimData.AdjudicatedContractName.ToString(CultureInfo.InvariantCulture), claimData.IsReviewed?Constants.ReviewedOptionYes:Constants.ReviewedOptionNo, claimData.SsiNumber.ToString(), claimData.PatientAccountNumber }); }
/// <summary> /// GetRowValues From ClaimData Based on Column name /// </summary> /// <param name="columnName"></param> /// <param name="claimData"></param> /// <returns></returns> private static string GetRowValuesFromClaimData(string columnName, ClaimDataViewModel claimData) { string rowValue = string.Empty, fieldName = string.Empty; switch (columnName) { case Constants.ClaimId: rowValue = claimData.ClaimId.ToString(CultureInfo.InvariantCulture); break; case Constants.IsReviewed: rowValue = claimData.IsReviewed ? Constants.ReviewedOptionYes : Constants.ReviewedOptionNo; break; case Constants.PropertyPriPayerName: rowValue = claimData.PriPayerName.Replace(Constants.Comma, Constants.SemiColon); break; case Constants.SecPayerName: rowValue = claimData.SecPayerName.Replace(Constants.Comma, Constants.SemiColon); break; case Constants.TerPayerName: rowValue = claimData.TerPayerName.Replace(Constants.Comma, Constants.SemiColon); break; } //Setting Database column name to Property Name switch (columnName) { case Constants.ClaimId: fieldName = Constants.ClaimIdValue; break; case Constants.ClaimStatus: fieldName = Constants.ClaimStat; break; case Constants.SsiNumberWithCaps: fieldName = Constants.SsiNumber; break; case Constants.NpiCaps: fieldName = Constants.PropertyNpi; break; case Constants.DrgWithCaps: fieldName = Constants.PropertyDrg; break; case Constants.PriIcddCodeCaps: fieldName = Constants.PriIcddCode; break; case Constants.PriIcdPCodeCaps: fieldName = Constants.PriIcdpCode; break; case Constants.MemberIdCaps: fieldName = Constants.MemberId; break; case Constants.IcnWithCaps: fieldName = Constants.PropertyIcn; break; case Constants.MrnWithCaps: fieldName = Constants.PropertyMrn; break; case Constants.AdjudicatedDate: fieldName = Constants.AdjudicatedDateValue; break; case Constants.PropertyStatementFrom: fieldName = Constants.StatementFromValue; break; case Constants.PropertyStatementThru: fieldName = Constants.StatementThruValue; break; case Constants.LosWithCaps: fieldName = Constants.PropertyLos; break; case Constants.PropertyBillDate: fieldName = Constants.BillDateValue; break; case Constants.ClaimDate: fieldName = Constants.ClaimDateValue; break; case Constants.LastFiledDate: fieldName = Constants.LastFiledDateValue; break; case Constants.ExpectedContractualAdjustment: fieldName = Constants.CalculatedAdjustment; break; case Constants.ActualContractualAdjustment: fieldName = Constants.ActualAdjustment; break; case Constants.PropertyLinkedRemitId: fieldName = Constants.LinkedRemitId; break; } if (rowValue.IsNullOrWhiteSpace()) { string claimColumnName = fieldName == string.Empty ? columnName : fieldName; object value = (claimColumnName == Constants.AdjudicatedDateValue) ? Convert.ToDateTime(claimData.AdjudicatedDateValue).ToString("MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture) : GetPropertyValue(claimData, claimColumnName); if (IsAmountColumn(claimColumnName)) { rowValue = value != null?decimal.Parse(value.ToString()).ToString("C2") : string.Empty; } else { rowValue = value != null?value.ToString() : string.Empty; } } return(rowValue); }