Пример #1
0
        public void GetMedicareLabFeeScheduleTest()
        {
            // Arrange
            var mockMedicareLabFeeScheduleRepository = new Mock <IMedicareLabFeeScheduleRepository>();
            MedicareLabFeeScheduleResult medicareLabFeeScheduleResult = new MedicareLabFeeScheduleResult
            {
                Total = 22578,
                MedicareLabFeeScheduleList =
                    new List <MedicareLabFeeSchedule>
                {
                    new MedicareLabFeeSchedule {
                        Amount = 20, Carrier = "12456", HCPCS = "85420"
                    },
                    new MedicareLabFeeSchedule {
                        Amount = 12, Carrier = "12456", HCPCS = "8542"
                    }
                }
            };

            mockMedicareLabFeeScheduleRepository.Setup(f => f.GetMedicareLabFeeSchedule(It.IsAny <MedicareLabFeeSchedule>())).Returns(medicareLabFeeScheduleResult);
            MedicareLabFeeScheduleLogic target = new MedicareLabFeeScheduleLogic(mockMedicareLabFeeScheduleRepository.Object);

            // Act
            MedicareLabFeeScheduleResult actual = target.GetMedicareLabFeeSchedule(null);

            // Assert
            Assert.AreEqual(medicareLabFeeScheduleResult, actual);
        }
        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));
        }
Пример #3
0
        public void GetMedicareLabFeeSchedule()
        {
            var repository = new Mock <IMedicareLabFeeScheduleRepository>();
            MedicareLabFeeScheduleResult result = new MedicareLabFeeScheduleResult();

            repository.Setup(f => f.GetMedicareLabFeeSchedule(It.IsAny <MedicareLabFeeSchedule>())).Returns(result);
            MedicareLabFeeScheduleLogic  target = new MedicareLabFeeScheduleLogic(repository.Object);
            MedicareLabFeeScheduleResult actual = target.GetMedicareLabFeeSchedule(new MedicareLabFeeSchedule());

            Assert.AreEqual(result, actual);
        }
        /// <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);
        }