/// <summary> /// Initializes a new instance of the <see cref="CostQualityHospital"/> struct. /// </summary> /// <param name="tq">The tq.</param> /// <param name="m">The m.</param> public CostQualityHospital(TempQuality tq, Measure m) : this() { MeasureId = tq.MeasureId; HospitalId = tq.HospitalId.GetValueOrDefault(); CountyId = tq.CountyId.GetValueOrDefault(); RegionId = tq.RegionId.GetValueOrDefault(); ZipCode = tq.ZipCode; HospitalType = tq.HospitalType; Value = ""; NatRating = tq.NatRating; PeerRating = tq.PeerRating; Rate = GetRate(tq, m, HospitalId); }
/// <summary> /// Gets the rate. /// </summary> /// <param name="tq">The tq.</param> /// <param name="m">The m.</param> /// <param name="hospitalId">The hospital identifier.</param> /// <returns></returns> private static string GetRate(TempQuality tq, Measure m, int hospitalId) { if (m.MeasureCode.EqualsAny("IQI 12", "IQI 14")) { return(String.Format("({0})", tq.Col3)); // Col3 = ObservedRate for QI Provider Measures. } var rate = ""; var cqCalculation = (m.MeasureCode.EqualsAnyIgnoreCase("IQI 12_QNTY", "IQI 12_COST")) ? CostQualityReportGenerator.CostQualityCalculator.CQCalculations[CostQualityCalculator.CostQualityCalculatorMeasureType.IQI_12] : (m.MeasureCode.EqualsAnyIgnoreCase("IQI 14_QNTY", "IQI 14_COST")) ? CostQualityReportGenerator.CostQualityCalculator.CQCalculations[CostQualityCalculator.CostQualityCalculatorMeasureType.IQI_14] : null; if (cqCalculation != null && cqCalculation.ContainsKey(hospitalId) && cqCalculation[hospitalId] != null) { rate = m.MeasureCode.EndsWith("_QNTY") ? cqCalculation[hospitalId].MeasureQuantityValue : m.MeasureCode.EndsWith("_COST") ? cqCalculation[hospitalId].MeasureAverageCostValue : ""; } return(String.Format("{0}", rate)); }