/// <summary> /// Variances the claim report. /// </summary> /// <param name="nodeId">The node unique identifier.</param> /// <param name="datetype">The datetype.</param> /// <param name="startDate">The start date.</param> /// <param name="endDate">The end date.</param> /// <param name="criteria">The criteria.</param> /// <param name="reportType">Type of the report.</param> /// <param name="fileType">type of file. Either pdf or excel</param> /// <param name="currentDateTime"></param> /// <returns></returns> public ActionResult VarianceReport(long?nodeId, int?datetype, DateTime?startDate, DateTime?endDate, string criteria, int reportType, int fileType, string currentDateTime) { string fileName; Enums.DownloadFileType reportFormat = fileType == 1 ? Enums.DownloadFileType.Pdf : Enums.DownloadFileType.Xls; //If the Report Type is Claim Level and report format is PDF if (reportType == Constants.One && fileType == Constants.One) { ClaimAdjudicationReport claimAdjudicationReport = new ClaimAdjudicationReport { ModelId = nodeId, NodeId = nodeId, DateType = Convert.ToInt32(datetype), StartDate = Convert.ToDateTime(startDate), EndDate = Convert.ToDateTime(endDate), ClaimSearchCriteria = criteria, FacilityId = GetCurrentFacilityId(), //Added RequestedUserID and RequestedUserName with reference to HIPAA logging feature RequestedUserId = string.IsNullOrEmpty(GetCurrentUserName()) ? Guid.Empty.ToString() : GetUserKey(), RequestedUserName = GetCurrentUserName(), CommandTimeoutForClaimAdjudication = Convert.ToInt32(GlobalConfigVariable.CommandTimeoutForClaimAdjudication), MaxLinesForPdfReport = GlobalConfigVariable.MaxRecordLimitForTelericReport, }; ClaimAdjudicationReport claimAdjudicationReportDetails = PostApiResponse <ClaimAdjudicationReport>(Constants.ClaimAdjudicationReport, Constants.GetClaimAdjudicationReport, claimAdjudicationReport); ClaimAdjudicationReportViewModel adjudicationList = Mapper.Map <ClaimAdjudicationReport, ClaimAdjudicationReportViewModel>( claimAdjudicationReportDetails); // Gets the current CST time. adjudicationList.CurrentDateTime = Utilities.GetLocalTimeString(currentDateTime); adjudicationList.LoggedInUser = GetCurrentUserName(); fileName = new ClaimAdjudicationReportUtil().GetExportedFileName(adjudicationList, Enums.DownloadFileType.Pdf, GlobalConfigVariable.ReportsFilePath, currentDateTime); } else { VarianceReport varianceReport = new VarianceReport { NodeId = nodeId, DateType = datetype, StartDate = Convert.ToDateTime(startDate), EndDate = Convert.ToDateTime(endDate), ClaimSearchCriteria = criteria, ReportLevel = reportType, FacilityId = GetCurrentFacilityId(), RequestedUserId = string.IsNullOrEmpty(GetCurrentUserName()) ? Guid.Empty.ToString() : GetUserKey(), RequestedUserName = GetCurrentUserName(), FileType = fileType, MaxLinesForPdfReport = GlobalConfigVariable.MaxRecordLimitForTelericReport }; //Added RequestedUserID and RequestedUserName with reference to HIPAA logging feature VarianceReport varianceReportInfo = PostApiResponse <VarianceReport>(Constants.VarianceReport, Constants.GetVarianceReport, varianceReport); VarianceReportViewModel varianceReportlist = Mapper.Map <VarianceReport, VarianceReportViewModel>(varianceReportInfo); varianceReportlist.LoggedInUser = GetCurrentUserName(); // Gets the local time zone. varianceReportlist.CurrentDateTime = Utilities.GetLocalTimeString(currentDateTime); fileName = new VarianceReportUtil().GetExportedFileName(reportType, reportFormat, varianceReportlist, GlobalConfigVariable.ReportsFilePath, currentDateTime); } return(Json(new { fileName, reportFormat }, JsonRequestBehavior.AllowGet)); }
/// <summary> /// Gets the selected claim. /// </summary> /// <param name="claimAdjudicationReport">The claim adjudication report.</param> /// <returns></returns> public ClaimAdjudicationReport GetSelectedClaim(ClaimAdjudicationReport claimAdjudicationReport) { return(_adjudicationReportRepository.GetSelectedClaim(claimAdjudicationReport, GlobalConfigVariable.MaxRecordLimitForExcelReport)); }
public ClaimAdjudicationReport GetSelectedClaim(ClaimAdjudicationReport claimAdjudicationReport) { return(_adjudicationReportLogic.GetSelectedClaim(claimAdjudicationReport)); }
public ClaimAdjudicationReport GetOpenClaimColumnNamesBasedOnUserId(ClaimAdjudicationReport data) { return(_adjudicationReportLogic.GetOpenClaimColumnNamesBasedOnUserId(data)); }
public ClaimAdjudicationReport GetClaimAdjudicationReport(ClaimAdjudicationReport claimAdjudicationReport) { return(_adjudicationReportLogic.GetClaimAdjudicationReport(claimAdjudicationReport)); }
/// <summary> /// Set claim columns /// </summary> /// <param name="claimDataRow"></param> /// <param name="claimAdjudicationReport"></param> /// <param name="claimDataList"></param> private static void SetClaimColumns(DataRow claimDataRow, ClaimAdjudicationReport claimAdjudicationReport, List <EvaluateableClaim> claimDataList) { EvaluateableClaim claimData = new EvaluateableClaim { PatientAccountNumber = SetColumnData(claimDataRow, "PatientAccountNumber", string.Empty), AdjudicatedDateValue = SetDateColumnValue(claimDataRow, "AdjudicatedDate", claimAdjudicationReport.CurrentDateTime), Ssinumber = IsColumnExists(claimDataRow, "SSINumber") ? GetValue <int?>(claimDataRow["SSINumber"], typeof(int)) : null, ClaimType = SetColumnData(claimDataRow, "ClaimType", string.Empty), ClaimState = SetColumnData(claimDataRow, "ClaimState", string.Empty), PayerSequence = IsColumnExists(claimDataRow, "PayerSequence") ? GetValue <int?>(claimDataRow["PayerSequence"], typeof(int)) : null, ClaimTotal = IsColumnExists(claimDataRow, "ClaimTotal") ? GetValue <double?>(claimDataRow["ClaimTotal"], typeof(double)) : null, StatementFromValue = SetDateColumn(claimDataRow, "StatementFrom"), StatementThruValue = SetDateColumn(claimDataRow, "StatementThru"), ClaimDateValue = SetDateColumn(claimDataRow, "ClaimDate"), BillDateValue = SetDateColumn(claimDataRow, "BillDate"), LastFiledDateValue = SetDateColumn(claimDataRow, "LastFiledDate"), BillType = SetColumnData(claimDataRow, "BillType", null), Drg = SetColumnData(claimDataRow, "DRG", null), PriIcdpCode = SetColumnData(claimDataRow, "PriICDPCode", null), PriIcddCode = SetColumnData(claimDataRow, "PriICDDCode", null), PriPayerName = SetColumnData(claimDataRow, "PriPayerName", null), SecPayerName = SetColumnData(claimDataRow, "SecPayerName", null), TerPayerName = SetColumnData(claimDataRow, "TerPayerName", null), IsRemitLinked = SetColumnData(claimDataRow, "IsRemitLinked", null), ClaimStat = SetColumnData(claimDataRow, "ClaimStatus", null), AdjudicatedValue = IsColumnExists(claimDataRow, "AdjudicatedValue") ? GetValue <double?>(claimDataRow["AdjudicatedValue"], typeof(double)) : null, ActualPayment = IsColumnExists(claimDataRow, "ActualPayment") ? GetValue <double?>(claimDataRow["ActualPayment"], typeof(double)) : null, PatientResponsibility = IsColumnExists(claimDataRow, "PatientResponsibility") ? GetValue <double?>(claimDataRow["PatientResponsibility"], typeof(double)) : null, RemitAllowedAmt = IsColumnExists(claimDataRow, "RemitAllowedAmt") ? GetValue <double?>(claimDataRow["RemitAllowedAmt"], typeof(double)) : null, RemitNonCovered = IsColumnExists(claimDataRow, "RemitNonCovered") ? GetValue <double?>(claimDataRow["RemitNonCovered"], typeof(double)) : null, Icn = SetColumnData(claimDataRow, "ICN", null), ClaimLink = IsColumnExists(claimDataRow, "ClaimLink") ? GetValue <long?>(claimDataRow["ClaimLink"], typeof(long)) : null, LinkedRemitId = SetColumnData(claimDataRow, "LinkedRemitID", null), ClaimId = IsColumnExists(claimDataRow, "ClaimId") ? DBNull.Value == claimDataRow["ClaimId"] ? 0 : GetValue <long>(claimDataRow["ClaimId"], typeof(long)) : 0, ContractualVariance = IsColumnExists(claimDataRow, "ContractualVariance") ? GetValue <double?>(claimDataRow["ContractualVariance"], typeof(double)) : null, PaymentVariance = IsColumnExists(claimDataRow, "PaymentVariance") ? GetValue <double?>(claimDataRow["PaymentVariance"], typeof(double)) : null, ActualAdjustment = IsColumnExists(claimDataRow, "ActualContractualAdjustment") ? GetValue <double?>(claimDataRow["ActualContractualAdjustment"], typeof(double)) : null, CalculatedAdjustment = IsColumnExists(claimDataRow, "ExpectedContractualAdjustment") ? GetValue <double?>(claimDataRow["ExpectedContractualAdjustment"], typeof(double)) : null, DischargeStatus = SetColumnData(claimDataRow, "DischargeStatus", null), CustomField1 = SetColumnData(claimDataRow, "CustomField1", null), CustomField2 = SetColumnData(claimDataRow, "CustomField2", null), CustomField3 = SetColumnData(claimDataRow, "CustomField3", null), CustomField4 = SetColumnData(claimDataRow, "CustomField4", null), CustomField5 = SetColumnData(claimDataRow, "CustomField5", null), CustomField6 = SetColumnData(claimDataRow, "CustomField6", null), Npi = SetColumnData(claimDataRow, "NPI", null), MemberId = SetColumnData(claimDataRow, "MemberID", null), Mrn = SetColumnData(claimDataRow, "MRN", null), IsReviewed = IsColumnExists(claimDataRow, "IsReviewed") && GetValue <bool>(claimDataRow["IsReviewed"], typeof(bool)), IsAllReviewed = IsColumnExists(claimDataRow, "IsAllReviewed") && GetValue <bool>(claimDataRow["IsAllReviewed"], typeof(bool)), Los = IsColumnExists(claimDataRow, "Los") ? GetValue <int>(claimDataRow["Los"], typeof(int)) : 0, Age = IsColumnExists(claimDataRow, "Age") ? GetValue <byte>(claimDataRow["Age"], typeof(byte)) : default(byte), CheckDate = SetDateColumn(claimDataRow, "CheckDate"), CheckNumber = IsColumnExists(claimDataRow, "CheckNumber") ? GetValue <string>(claimDataRow["CheckNumber"], typeof(string)) : default(string), AdjudicatedContractName = IsColumnExists(claimDataRow, "AdjudicatedContractName") ? GetStringValue(claimDataRow["AdjudicatedContractName"]) : null, InsuredsGroupNumber = IsColumnExists(claimDataRow, "InsuredsGroupNumber") ? GetStringValue(claimDataRow["InsuredsGroupNumber"]) : null }; claimDataList.Add(claimData); }
/// <summary> /// Gets all claim adjudication. /// </summary> /// <param name="claimAdjudicationReport">The claim adjudication report.</param> /// <returns> /// ClaimAdjudicationReport. /// </returns> public ClaimAdjudicationReport GetClaimAdjudicationReport(ClaimAdjudicationReport claimAdjudicationReport) { ClaimAdjudicationReport claimAdjudicationReportList = new ClaimAdjudicationReport { ClaimAdjudicationReports = new List <ClaimAdjudicationReport>() }; if (claimAdjudicationReport != null) { // Initialize the Stored Procedure _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetClaimAdjudicationReport"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _databaseObj.AddInParameter(_databaseCommandObj, "@ModelID", DbType.Int64, claimAdjudicationReport.NodeId); _databaseObj.AddInParameter(_databaseCommandObj, "@DateType", DbType.Int32, claimAdjudicationReport.DateType); _databaseObj.AddInParameter(_databaseCommandObj, "@DateFrom", DbType.DateTime, claimAdjudicationReport.StartDate); _databaseObj.AddInParameter(_databaseCommandObj, "@DateTo", DbType.DateTime, claimAdjudicationReport.EndDate); _databaseObj.AddInParameter(_databaseCommandObj, "@SelectCriteria", DbType.String, claimAdjudicationReport.ClaimSearchCriteria); _databaseObj.AddInParameter(_databaseCommandObj, "@PageSize", DbType.Int32, claimAdjudicationReport.PageSize); _databaseObj.AddInParameter(_databaseCommandObj, "@PageIndex", DbType.Int32, claimAdjudicationReport.PageIndex); //Added RequestedUserID and RequestedUserName with reference to HIPAA logging feature _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserID", DbType.String, claimAdjudicationReport.RequestedUserId); _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserName", DbType.String, claimAdjudicationReport.RequestedUserName); _databaseObj.AddInParameter(_databaseCommandObj, "@MaxRecordLimit", DbType.Int32, claimAdjudicationReport.MaxLinesForPdfReport); // Retrieve the results of the Stored Procedure in Data table===================================================================== _databaseCommandObj.CommandTimeout = claimAdjudicationReport.CommandTimeoutForClaimAdjudication; //============================================================================ DataSet claimAdjudicationReportResult = _databaseObj.ExecuteDataSet(_databaseCommandObj); if (claimAdjudicationReportResult.IsTableDataPopulated(0)) { if (claimAdjudicationReportResult.Tables.Count == 2) { ClaimAdjudicationReport reportInfoCrossedThreshold = new ClaimAdjudicationReport { ReportThreshold = -1 }; return(reportInfoCrossedThreshold); } if (claimAdjudicationReportResult.Tables.Count >= 6) { DataTable claimAdjudicationReportData = claimAdjudicationReportResult.Tables[6]; List <Contract> contracts = new List <Contract>(); //Set Columns SetColumnsValues(claimAdjudicationReportList, claimAdjudicationReportData, claimAdjudicationReportResult); DataTable varianceSummaryDataTable = claimAdjudicationReportResult.Tables[7]; contracts.AddRange(varianceSummaryDataTable.Rows.Cast <object>().Select((t, indexCount) => new Contract { ContractName = GetStringValue(varianceSummaryDataTable.Rows[indexCount]["ContractName"]), ClaimCount = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["ClaimCount"] ? 0 : Convert.ToInt64(varianceSummaryDataTable.Rows[indexCount]["ClaimCount"].ToString()), TotalClaimCharges = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["ClaimTotalCharges"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["ClaimTotalCharges"].ToString()), 2), CalculatedAllowed = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["CalculatedAllowed"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["CalculatedAllowed"].ToString()), 2), PatientResponsibility = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["PatientResponsibility"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["PatientResponsibility"].ToString()), 2), ActualPayment = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["ActualPmt"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["ActualPmt"].ToString()), 2), PaymentVariance = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["PaymentVariance"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["PaymentVariance"].ToString()), 2), CalculatedAdjustment = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["CalculatedAdj"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["CalculatedAdj"].ToString()), 2), ActualAdjustment = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["ActulAdj"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["ActulAdj"].ToString()), 2), ContractualVariance = DBNull.Value == varianceSummaryDataTable.Rows[indexCount]["ContractualVariance"] ? (double?)null : Math.Round(double.Parse(varianceSummaryDataTable.Rows[indexCount]["ContractualVariance"].ToString()), 2) })); Contract unadjudicatedContract = contracts.FirstOrDefault(a => a.ContractName == "Un-adjudicated"); //Removes the unadjudicated contract from the list and add tto the bottom if (unadjudicatedContract != null) { contracts.Remove(unadjudicatedContract); contracts.Add(unadjudicatedContract); } claimAdjudicationReportList.Contracts = contracts; claimAdjudicationReportList.ClaimsAdjudicated = GetClaimsAdjudicated(claimAdjudicationReportResult.Tables[1]); //FIXED-OCT15 -- Read 2, C2, "-" from Constant claimAdjudicationReportList.PaymentsLinked = GetPaymentsLinked(claimAdjudicationReportResult.Tables[2]); claimAdjudicationReportList.ClaimCharges = GetClaimCharges(claimAdjudicationReportResult.Tables[3]); claimAdjudicationReportList.ClaimVariances = GetClaimVariances(claimAdjudicationReportResult.Tables[4]); claimAdjudicationReportList.VarianceRanges = GetVarianceRanges(claimAdjudicationReportResult.Tables[5]); // ReSharper disable once ConditionIsAlwaysTrueOrFalse if (claimAdjudicationReportData != null && claimAdjudicationReportData.Rows != null && claimAdjudicationReportData.Rows.Count > 0) { claimAdjudicationReportList.FacilityName = GetStringValue(claimAdjudicationReportData.Rows[0]["FacilityName"]); claimAdjudicationReportList.TotalRecords = GetValue <int>(claimAdjudicationReportResult.Tables[0].Rows[0]["TotalClaims"], typeof(int)); } } } } return(claimAdjudicationReportList); }
/// <summary> /// Get claims by request name from procedure GetClaimsByRequestName /// </summary> /// <param name="claimAdjudicationReport"></param> /// <param name="maxRecordLimitForExcelReport"></param> /// <returns></returns> private DataSet GetClaimsByRequestName(ClaimAdjudicationReport claimAdjudicationReport, int maxRecordLimitForExcelReport) { string filterSetting = string.Empty; //Checks for Payers, if payers exists stores it in DB if (claimAdjudicationReport.PageSetting != null && claimAdjudicationReport.PageSetting.SearchCriteriaList != null && claimAdjudicationReport.PageSetting.SearchCriteriaList.Any()) { filterSetting = claimAdjudicationReport.XmlSerialize(); } // Initialize the Stored Procedure _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetClaimsByRequestName"); // Pass parameters to Stored Procedure(i.e., @ParamName), add values for _databaseObj.AddInParameter(_databaseCommandObj, "@SelectCriteria ", DbType.String, claimAdjudicationReport.ClaimSearchCriteria); _databaseObj.AddInParameter(_databaseCommandObj, "@ModelId", DbType.Int64, claimAdjudicationReport.ModelId); _databaseObj.AddInParameter(_databaseCommandObj, "@DateType", DbType.Int32, claimAdjudicationReport.DateType); _databaseObj.AddInParameter(_databaseCommandObj, "@StartDate", DbType.DateTime, claimAdjudicationReport.StartDate); _databaseObj.AddInParameter(_databaseCommandObj, "@EndDate", DbType.DateTime, claimAdjudicationReport.EndDate); _databaseObj.AddInParameter(_databaseCommandObj, "@MaxRecordLimit", DbType.Int32, maxRecordLimitForExcelReport); _databaseObj.AddInParameter(_databaseCommandObj, "@IsSelectClaims", DbType.Boolean, claimAdjudicationReport.IsSelectClaims); //Added RequestedUserID and RequestedUserName with reference to HIPAA logging feature _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserID", DbType.String, claimAdjudicationReport.RequestedUserId); _databaseObj.AddInParameter(_databaseCommandObj, "@RequestedUserName", DbType.String, claimAdjudicationReport.RequestedUserName); _databaseObj.AddInParameter(_databaseCommandObj, "@UserId", DbType.Int32, claimAdjudicationReport.UserId); _databaseObj.AddInParameter(_databaseCommandObj, "@Take", DbType.Int32, claimAdjudicationReport.PageSetting != null ? claimAdjudicationReport.PageSetting.Take : 50); _databaseObj.AddInParameter(_databaseCommandObj, "@Skip", DbType.Int32, claimAdjudicationReport.PageSetting != null ? claimAdjudicationReport.PageSetting.Skip : 0); _databaseObj.AddInParameter(_databaseCommandObj, "@SortField", DbType.String, claimAdjudicationReport.PageSetting != null ? claimAdjudicationReport.PageSetting.SortField : string.Empty); _databaseObj.AddInParameter(_databaseCommandObj, "@SortDirection", DbType.String, claimAdjudicationReport.PageSetting != null ? claimAdjudicationReport.PageSetting.SortDirection : string.Empty); _databaseObj.AddInParameter(_databaseCommandObj, "@FilterSearchCriteria", DbType.Xml, filterSetting); // Retrieve the results of the Stored Procedure in Datatable _databaseCommandObj.CommandTimeout = claimAdjudicationReport.CommandTimeoutForClaimAdjudication; DataSet claimAdjudicationReportDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj); return(claimAdjudicationReportDataSet); }
/// <summary> /// Set Columns Values /// </summary> /// <param name="claimAdjudicationReportList"></param> /// <param name="claimAdjudicationReportData"></param> /// <param name="claimAdjudicationReportResult"></param> private static void SetColumnsValues(ClaimAdjudicationReport claimAdjudicationReportList, DataTable claimAdjudicationReportData, DataSet claimAdjudicationReportResult) { TextInfo textInfo = new CultureInfo("en-US", false).TextInfo; claimAdjudicationReportList.ClaimAdjudicationReports.AddRange( claimAdjudicationReportData.Rows.Cast <object>() .Select((t, indexCount) => new ClaimAdjudicationReport { NodeId = GetValue <long>(claimAdjudicationReportData.Rows[indexCount]["ModelID"], typeof(long)), ModelId = GetValue <long>(claimAdjudicationReportData.Rows[indexCount]["ModelID"], typeof(long)), ClaimIdentity = GetValue <long>(claimAdjudicationReportData.Rows[indexCount]["ClaimId"], typeof(long)), ClaimId = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["ClaimId"]), PatientAccountNumber = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["PatAcctNum"]), ContractId = GetValue <long>(claimAdjudicationReportData.Rows[indexCount]["ContractID"], typeof(long)), ClaimContractName = GetStringValue(claimAdjudicationReportResult.Tables[6].Rows[indexCount]["ContractName"]), PayerName = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["PriPayerName"] ? string.Empty : textInfo.ToTitleCase( claimAdjudicationReportData.Rows[indexCount]["PriPayerName"] .ToString()), BillType = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["BillType"]), Drg = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["DRG"]), ServiceLine = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ClaimServiceLineID"] ? null : claimAdjudicationReportData.Rows[indexCount]["ClaimServiceLineID"] .ToString(), Los = GetValue <int>(claimAdjudicationReportData.Rows[indexCount]["LOS"], typeof(int)), StatementFrom = GetValue <DateTime>(claimAdjudicationReportData.Rows[indexCount]["StatementFrom"], typeof(DateTime)), StatementThrough = GetValue <DateTime>(claimAdjudicationReportData.Rows[indexCount]["StatementThru"], typeof(DateTime)), ClaimTotal = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ClaimTotalCharges"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["ClaimTotalCharges" ].ToString()), 2), CalculatedAdjustment = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["CalculatedAdj"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["CalculatedAdj"] .ToString()), 2), ActualPayment = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ActualPmt"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["ActualPmt"] .ToString()), 2), Reimbursement = GetValue <double?>(claimAdjudicationReportData.Rows[indexCount]["ReimbursementAmount"], typeof(double)), RevCode = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["RevCode"]), HcpcsCode = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["HCPCSCode"]), ServiceFromDate = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ServiceFromDate"] ? new DateTime() : GetValue <DateTime>(claimAdjudicationReportData.Rows[indexCount]["ServiceFromDate"], typeof(DateTime)), ServiceThruDate = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ServiceThruDate"] ? new DateTime() : GetValue <DateTime>(claimAdjudicationReportData.Rows[indexCount]["ServiceThruDate"], typeof(DateTime)), ServUnits = GetValue <int?>(claimAdjudicationReportData.Rows[indexCount]["Units"], typeof(int)), ServiceType = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["ServiceType"]), CodeSelection = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["CodeSelection"] ? string.Empty : Convert.ToString( claimAdjudicationReportData.Rows[indexCount]["CodeSelection"]) .Replace(Environment.NewLine, string.Empty), Payment = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["PaymentType"] ? string.Empty : Convert.ToString( claimAdjudicationReportData.Rows[indexCount]["PaymentType"]) .Replace(Environment.NewLine, string.Empty), AdjudicationStatus = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["AdjudicationStatus"]), IsClaimChargeData = GetValue <bool>(claimAdjudicationReportData.Rows[indexCount]["IsClaimChargeData"], typeof(bool)), IsFormulaError = GetValue <bool>(claimAdjudicationReportData.Rows[indexCount]["IsFormulaError"], typeof(bool)), PatientResponsibility = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["PatientResponsibility"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["PatientResponsibility"] .ToString()), 2), MedicareSequesterAmount = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["MedicareSequesterAmount"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["MedicareSequesterAmount"] .ToString()), 3), ContractServiceTypeId = GetValue <long>(claimAdjudicationReportData.Rows[indexCount]["ContractServiceTypeID"], typeof(long)), HcpcsModifier = Regex.Replace( GetStringValue(claimAdjudicationReportData.Rows[indexCount]["HCPCSModifier"]), Constants.HcpcsModifierPattern, Constants.WhiteSpace), PlaceOfService = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["PlaceOfService"]), ClaimType = GetStringValue(claimAdjudicationReportData.Rows[indexCount]["ClaimType"]), ActualAdjustment = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ActulAdj"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["ActulAdj"] .ToString()), 2), ContractualVariance = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["ContractualVariance"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["ContractualVariance"] .ToString()), 2), PaymentVariance = DBNull.Value == claimAdjudicationReportData.Rows[indexCount]["PaymentVariance"] ? (double?)null : Math.Round( double.Parse( claimAdjudicationReportData.Rows[indexCount]["PaymentVariance"] .ToString()), 2) })); }