Example #1
0
 public void GetServiceLineGroupDetails(IServiceGroupDetailsViewmodel vm)
 {
     GetDiagDetails(vm);
     GetProcedureDetails(vm);
 }
Example #2
0
        private void GetProcedureDetails(IServiceGroupDetailsViewmodel vm)
        {
            Stopwatch sw = new Stopwatch();
            sw.Start();
            try
            {
                using (var connection = GetConnection())
                {
                    //Setup the SQL command object
                    SqlCommand cmd = new SqlCommand("IRM.spServiceLineExplorerGetProcedureDetails", connection);

                    cmd.CommandType = CommandType.StoredProcedure;

                    cmd.Parameters.AddWithValue("@GroupID", vm.Idx);

                    //Add date range params
                    cmd.Parameters.AddWithValue("@StartDate", vm.StartDate);
                    cmd.Parameters.AddWithValue("@EndDate", vm.EndDate);

                    var EncounterTypesfilterTempTable = BuildFilterParameter(vm.EncounterTypesList, vm.EncounterTypesIDlist);
                    var ClientOrganizationfilterTempTable = BuildFilterParameter(vm.OrganizationList, vm.ClientOrganizationIDList);

                    SqlParameter tvparam = cmd.Parameters.AddWithValue("@EncounterTypeFilterList", EncounterTypesfilterTempTable);
                    tvparam.SqlDbType = SqlDbType.Structured;

                    tvparam = cmd.Parameters.AddWithValue("@ClientOrganizationFilterList", ClientOrganizationfilterTempTable);
                    tvparam.SqlDbType = SqlDbType.Structured;

                    // execute query, consume results, etc. here
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        vm.ProcedureDetailsResults.Clear();
                        while (reader.Read())
                        {
                            string ID = reader.FieldToString("ProcedureCode");
                            string description = reader.FieldToString("Description");
                            int totalEncounters = reader.FieldToInt("Encounters");
                            decimal totalCharged = reader.FieldToDecimal("Charged");
                            decimal totalPayments = reader.FieldToDecimal("Payments");
                            decimal totalCost = reader.FieldToDecimal("TotalCost");
                            decimal Profit = reader.FieldToDecimal("Profit");

                            var values = new ServiceLineExplorerResults()
                            {
                                Idx = ID,
                                Description = description,
                                TotalCount = totalEncounters,
                                TotalCharged = totalCharged,
                                Totalpayments = totalPayments,
                                TotalCost = totalCost,
                                TotalProfit = Profit
                            };
                            vm.ProcedureDetailsResults.Add(values);
                        }
                    }
                }
            }
            finally
            {
                sw.Stop();
                LoggerHelper.RecordTiming(System.Reflection.MethodBase.GetCurrentMethod().Name, sw, log);
                log.DebugFormat("{0} rows returned.", vm.ProcedureDetailsResults.Count);
            }
        }