Example #1
0
        /// <summary>
        /// Gets the Medicare lab fee schedules.
        /// </summary>
        /// <param name="medicareLabFeeDataTable">The Medicare lab fee data table.</param>
        /// <param name="providerZip">The provider zip.</param>
        /// <returns></returns>
        private List <MedicareLabFeeSchedule> GetMedicareLabFeeSchedules(DataTable medicareLabFeeDataTable,
                                                                         string providerZip)
        {
            List <MedicareLabFeeSchedule> medicareLabFeeSchedules = new List <MedicareLabFeeSchedule>();

            if (medicareLabFeeDataTable != null && medicareLabFeeDataTable.Rows.Count != 0)
            {
                for (int j = 0; j < medicareLabFeeDataTable.Rows.Count; j++)
                {
                    if (GetStringValue((medicareLabFeeDataTable.Rows[j]["ProviderZip"])).Equals(providerZip))
                    {
                        MedicareLabFeeSchedule medicareLabFeeSchedule = new MedicareLabFeeSchedule
                        {
                            Hcpcs  = GetStringValue((medicareLabFeeDataTable.Rows[j]["HCPCS"])),
                            Amount = GetValue <double>((medicareLabFeeDataTable.Rows[j]["Amount"]), typeof(double)),
                            HcpcsCodeWithModifier =
                                string.Format("{0}{1}",
                                              GetStringValue(medicareLabFeeDataTable.Rows[j]["HCPCS"]).ToTrim(),
                                              GetStringValue(medicareLabFeeDataTable.Rows[j]["HCPCSmods"]).ToTrim()).Trim(),
                        };
                        medicareLabFeeSchedules.Add(medicareLabFeeSchedule);
                    }
                }
            }
            return(medicareLabFeeSchedules);
        }
        public ActionResult GetMedicareLabFeeSchedule(int date, int take, int skip, IEnumerable <Sort> sort,
                                                      Kendo.DynamicLinq.Filter filter, string defaultSortField)
        {
            PageSetting pageSetting = CommonUtil.GetPageSetting(take, skip, sort, filter, defaultSortField,
                                                                Constants.MedicareLabFeeScheduleFields, (long)Enums.ClaimFieldTypes.MedicareLabFeeSchedule);
            UserInfo userInfoViewModel = GetUserInfo();

            if (userInfoViewModel != null && userInfoViewModel.AssignedFacilities != null && userInfoViewModel.AssignedFacilities.Any())
            {
                MedicareLabFeeSchedule mCareLabFeeSchedule = new MedicareLabFeeSchedule
                {
                    Date        = date,
                    PageSetting = pageSetting,
                    UserName    = userInfoViewModel.UserName,
                    FacilityId  = GetCurrentFacilityId()
                };
                MedicareLabFeeScheduleResult medicareLabFeeScheduleResult =
                    PostApiResponse <MedicareLabFeeScheduleResult>(Constants.MedicareLabFeeSchedule,
                                                                   Constants.GetMedicareLabFeeSchedule,
                                                                   mCareLabFeeSchedule);
                if (medicareLabFeeScheduleResult != null)
                {
                    DataSourceResult dataSourceResult = new DataSourceResult
                    {
                        Total = medicareLabFeeScheduleResult.Total,
                        Data  = medicareLabFeeScheduleResult.MedicareLabFeeScheduleList
                    };
                    return(Json(dataSourceResult));
                }
            }
            return(Json(null));
        }
        /// <summary>
        /// Gets the medicare lab fee schedule amount.
        /// </summary>
        /// <param name="medicareLabFeeSchedules">The medicare lab fee schedule list.</param>
        /// <param name="hcpcsCode">The HCPCS code.</param>
        /// <returns></returns>
        private static double?GetAmount(List <MedicareLabFeeSchedule> medicareLabFeeSchedules, string hcpcsCode)
        {
            double?amount = null;

            if (medicareLabFeeSchedules != null && medicareLabFeeSchedules.Any())
            {
                //Find valid medicare lab fee scheduled based on passed HCPCS code
                MedicareLabFeeSchedule medicareLabFeeSchedule =
                    medicareLabFeeSchedules.FirstOrDefault(
                        medicareLabFeeScheduleItem =>
                        (medicareLabFeeScheduleItem.HcpcsCodeWithModifier.Trim()
                         == hcpcsCode));
                if (medicareLabFeeSchedule == null && hcpcsCode.Trim().Length > 5)
                {
                    medicareLabFeeSchedule =
                        medicareLabFeeSchedules.FirstOrDefault(
                            medicareLabFeeScheduleItem =>
                            (medicareLabFeeScheduleItem.HcpcsCodeWithModifier   //if exact hcpcs code does not match than take substring n match exact identifier
                             == hcpcsCode.Trim().Substring(0, 5)));
                }
                if (medicareLabFeeSchedule != null)
                {
                    amount = medicareLabFeeSchedule.Amount;
                }
            }
            return(amount);
        }
        //FIXED-JITEN MAY15 - Use ClaimFieldController GetClaimFieldsByModule action. Pass moduleid from UI. Create module specific master data in DB

        //FIXED-JITEN MAY15 - Use ClaimFieldController GetClaimFieldsByModule action. Pass moduleid from UI. Create module specific master data in DB

        /// <summary>
        /// Gets the name of the m care lab fee schedule table.
        /// </summary>
        /// <returns></returns>
        public JsonResult GetMedicareLabFeeScheduleTableNames(string userText)
        {
            MedicareLabFeeSchedule mCareFeeSchedule = new MedicareLabFeeSchedule
            {
                UserText = userText
            };
            List <MedicareLabFeeSchedule> mCareLabFeeSchedules =
                PostApiResponse <List <MedicareLabFeeSchedule> >(Constants.MedicareLabFeeSchedule,
                                                                 Constants.GetMedicareLabFeeScheduleTableNames, mCareFeeSchedule);

            return(Json(mCareLabFeeSchedules, JsonRequestBehavior.AllowGet));
        }
        /// <summary>
        /// Gets the name of the Medicare Lab Fee Schedule Table.
        /// </summary>
        /// <returns></returns>
        public List <MedicareLabFeeSchedule> GetMedicareLabFeeScheduleTableNames(MedicareLabFeeSchedule mCareFeeSchedule)
        {
            _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetMedicareLabFeeScheduleTableNames");
            _databaseObj.AddInParameter(_databaseCommandObj, "@UserText", DbType.String, mCareFeeSchedule.UserText);
            DataSet medicareLabFeeDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj);

            if (medicareLabFeeDataSet.IsTableDataPopulated(0))
            {
                List <MedicareLabFeeSchedule> mCareLabFeeSchedules = (from DataRow row in medicareLabFeeDataSet.Tables[0].Rows
                                                                      select new MedicareLabFeeSchedule
                {
                    Date = GetValue <int>(row["Date"].ToString(), typeof(int)),
                    Name = GetStringValue(row["TableName"])
                }).ToList();
                return(mCareLabFeeSchedules);
            }
            return(null);
        }
        /// <summary>
        /// Gets the Medicare Lab Fee Schedule table data.
        /// </summary>
        /// <param name="mCareLabFeeSchedule">The Medicare Lab Fee Schedule table.</param>
        /// <returns></returns>
        public MedicareLabFeeScheduleResult GetMedicareLabFeeSchedule(MedicareLabFeeSchedule mCareLabFeeSchedule)
        {
            if (mCareLabFeeSchedule != null)
            {
                //holds the response
                string finalStrXml = string.Empty;
                //Checks for Payers, if payers exists stores it in DB
                if (mCareLabFeeSchedule.PageSetting != null &&
                    mCareLabFeeSchedule.PageSetting.SearchCriteriaList != null &&
                    mCareLabFeeSchedule.PageSetting.SearchCriteriaList.Any())
                {
                    //Serializes list of payers to store it in DB
                    XmlSerializer serializer =
                        new XmlSerializer(mCareLabFeeSchedule.PageSetting.SearchCriteriaList.GetType());
                    StringWriter      stringWriter = new StringWriter();
                    XmlWriterSettings settings     = new XmlWriterSettings {
                        Indent = true, OmitXmlDeclaration = true
                    };
                    XmlWriter xmlWriter             = XmlWriter.Create(stringWriter, settings);
                    XmlSerializerNamespaces emptyNs = new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty });
                    serializer.Serialize(xmlWriter, mCareLabFeeSchedule.PageSetting.SearchCriteriaList, emptyNs);
                    //holds the final payer response
                    finalStrXml = stringWriter.ToString();
                }


                // Initialize the Stored Procedure
                _databaseCommandObj = _databaseObj.GetStoredProcCommand("GetMedicareLabFeeSchedule");
                // Pass parameters to Stored Procedure(i.e., @ParamName), add values for
                _databaseObj.AddInParameter(_databaseCommandObj, "@Date", DbType.Int32, mCareLabFeeSchedule.Date);
                // ReSharper disable once PossibleNullReferenceException
                _databaseObj.AddInParameter(_databaseCommandObj, "@Take", DbType.Int32, mCareLabFeeSchedule.PageSetting.Take);
                _databaseObj.AddInParameter(_databaseCommandObj, "@Skip", DbType.Int32, mCareLabFeeSchedule.PageSetting.Skip);
                _databaseObj.AddInParameter(_databaseCommandObj, "@SortField", DbType.String, mCareLabFeeSchedule.PageSetting.SortField);
                _databaseObj.AddInParameter(_databaseCommandObj, "@SortDirection", DbType.String, mCareLabFeeSchedule.PageSetting.SortDirection);
                _databaseObj.AddInParameter(_databaseCommandObj, "@XmlSearchCriteria", DbType.Xml, finalStrXml);
                _databaseObj.AddInParameter(_databaseCommandObj, "@UserName", DbType.String, mCareLabFeeSchedule.UserName);
                _databaseObj.AddInParameter(_databaseCommandObj, "@FacilityId", DbType.Int32, mCareLabFeeSchedule.FacilityId);

                // Retrieve the results of the Stored Procedure in Dataset
                DataSet medicareLabFeeDataSet = _databaseObj.ExecuteDataSet(_databaseCommandObj);

                if (medicareLabFeeDataSet.IsTableDataPopulated() && medicareLabFeeDataSet.Tables.Count > 1)
                {
                    MedicareLabFeeScheduleResult medicareLabFeeScheduleResult = new MedicareLabFeeScheduleResult
                    {
                        Total = GetValue <int>(medicareLabFeeDataSet.Tables[0].Rows[0][0], typeof(int)),
                        MedicareLabFeeScheduleList = new List <MedicareLabFeeSchedule>()
                    };

                    // Bind Medicare Lab Fee Schedule Data
                    medicareLabFeeScheduleResult.MedicareLabFeeScheduleList =
                        (from DataRow row in medicareLabFeeDataSet.Tables[1].Rows
                         select new MedicareLabFeeSchedule
                    {
                        Hcpcs = GetStringValue(row["HCPCS"]),
                        Carrier = GetStringValue(row["Carrier"]),
                        Amount = GetValue <double>(row["Amount"], typeof(double))
                    }).ToList();
                    return(medicareLabFeeScheduleResult);
                }
            }
            return(null);
        }
 /// <summary>
 /// Gets the m care lab fee schedule table data.
 /// </summary>
 /// <param name="medicareLabFeeSchedule">The m care lab fee schedule table.</param>
 /// <returns></returns>
 public MedicareLabFeeScheduleResult GetMedicareLabFeeSchedule(
     MedicareLabFeeSchedule medicareLabFeeSchedule)
 {
     return(_medicareLabFeeScheduleRepository.GetMedicareLabFeeSchedule(medicareLabFeeSchedule));
 }
 public List <MedicareLabFeeSchedule> GetMedicareLabFeeScheduleTableNames(MedicareLabFeeSchedule mCareFeeSchedule)
 {
     return(_medicareLabFeeScheduleRepository.GetMedicareLabFeeScheduleTableNames(mCareFeeSchedule));
 }
Example #9
0
 public MedicareLabFeeScheduleResult GetMedicareLabFeeSchedule(MedicareLabFeeSchedule mCareLabFeeSchedule)
 {
     return(_medicareLabFeeScheduleLogic.GetMedicareLabFeeSchedule(mCareLabFeeSchedule));
 }
Example #10
0
 public List <MedicareLabFeeSchedule> GetMedicareLabFeeScheduleTableNames(MedicareLabFeeSchedule mCareFeeSchedule)
 {
     return(_medicareLabFeeScheduleLogic.GetMedicareLabFeeScheduleTableNames(mCareFeeSchedule));
 }