예제 #1
0
        private Task <IEnumerable <IncidenciaModulo> > GetIncidenciasModulos(decimal idPaciente)
        {
            IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
            IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

            return(Task.Run(() => plantillasService.GetIncidenciasModulos(PlantillaSelected, idPaciente, selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin, TipoFechaCreacion ? 1 : 0)));
        }
예제 #2
0
        private Task <IEnumerable <Paciente> > GetPacientesPlantilla()
        {
            IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
            IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

            return(Task.Run(() => plantillasService.GetPacientesPlantilla(PlantillaSelected, selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin, TipoFechaCreacion ? 1 : 0)));
        }
예제 #3
0
        private async void MostrarListadoPacientesDiagnosticados(decimal?indicador)
        {
            try
            {
                IsBusyLoadingIndicadores = true;

                IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
                IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

                var pacientes = await Task.Run(() => indicadoresService.GetPacientesDiagnosticados(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin, indicador.Value));

                var resp = modalDialogHelper.ShowModalDialog("Estadisticas.PacientesDiagnosticados",
                                                             0,
                                                             0,
                                                             System.Windows.ResizeMode.NoResize,
                                                             System.Windows.SizeToContent.WidthAndHeight,
                                                             pacientes);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                IsBusyLoadingIndicadores = false;
            }
        }
예제 #4
0
        private async void ObtenerPlantillas()
        {
            try
            {
                IsBusyLoadingPlantillas = true;

                IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
                IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

                var plantillasFromService = await Task.Run(() => plantillasService.GetPlantillas(selectedProfesionalsIds,
                                                                                                 selectedAreasIds,
                                                                                                 FechaInicio,
                                                                                                 FechaFin,
                                                                                                 (TipoFechaCreacion) ? (TipoFecha.Creacion) : (TipoFecha.UltimaModificacion)));

                if (!plantillasFromService.HasElements())
                {
                    Plantillas        = null;
                    PlantillaSelected = 0;
                    Plantilla         = null;
                    PlantillaPlana    = null;
                    return;
                }

                Plantillas = new ObservableCollection <PlantillaEstadistica>(plantillasFromService.OrderBy(p => p.Descripcion));

                if (Plantillas.HasElements())
                {
                    PlantillaSelected = Plantillas.FirstOrDefault().Codigo;
                    Plantilla         = await Task.Run(() => plantillasService.GetPlantilla(PlantillaSelected));

                    PlantillaPlana = PlantillaPlana.AplanarPlantilla(Plantilla);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                IsBusyLoadingPlantillas = false;
            }
        }
예제 #5
0
        private async void OnIndicadorPacientes(object data)
        {
            try
            {
                IsBusyLoadingIndicadores = true;

                IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
                IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

                var indicadoresMisPacientes = await Task.Run(() => indicadoresService.GetIndicadoresPacientes(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));

                // var indicadores = await Task.Run(() => indicadoresService.GetIndicadoresPacientesAtendidos(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));


                if (indicadoresMisPacientes != null)
                {
                    MisPacientes = new ObservableCollection <IndicadorItem>(new IndicadorItem[] {
                        new IndicadorItem()
                        {
                            Indicador = "Atendidos", Valor = (int)indicadoresMisPacientes.Atendidos
                        },
                        new IndicadorItem()
                        {
                            Indicador = "Etiquetados", Valor = (int)indicadoresMisPacientes.Etiquetados
                        }
                    });
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                IsBusyLoadingIndicadores = false;
            }
        }
예제 #6
0
        private async void BuscarIndicadores()
        {
            try
            {
                IsBusyLoadingIndicadores = true;

                IEnumerable <decimal> selectedAreasIds        = SelectedAreas.Select(x => x.ID);
                IEnumerable <decimal> selectedProfesionalsIds = SelectedProfesionales.Select(x => x.ID);

                var taskIndicadoresMisPacientes     = Task.Run(() => indicadoresService.GetIndicadoresPacientes(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));
                var taskIndicadoresCanalesVirtuales = Task.Run(() => indicadoresService.GetIndicadoresCanalesVirtuales(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));
                var taskIndicadoresIndicaciones     = Task.Run(() => indicadoresService.GetIndicadores(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));
                var taskIndicadoresDiagnosticos     = Task.Run(() => indicadoresService.GetIndicadoresDiagnostico(selectedProfesionalsIds, selectedAreasIds, FechaInicio, FechaFin));

                var indicadoresMisPacientes = await taskIndicadoresMisPacientes;
                MisPacientes = new ObservableCollection <IndicadorItem>(
                    new IndicadorItem[] {
                    new IndicadorItem()
                    {
                        Indicador = "Atendidos", Valor = (int)indicadoresMisPacientes.Atendidos
                    },
                    new IndicadorItem()
                    {
                        Indicador = "Etiquetados", Valor = (int)indicadoresMisPacientes.Etiquetados
                    }
                });

                var indicadoresCanalesVirtuales = await taskIndicadoresCanalesVirtuales;
                CanalesVirtuales = new ObservableCollection <IndicadorItem>(
                    new IndicadorItem[] {
                    new IndicadorItem()
                    {
                        Indicador = "Total Mensajes", Valor = (int)indicadoresCanalesVirtuales.TotalMensajes, ValorAuxiliar = indicadoresCanalesVirtuales.TotalMensajesRespuesta
                    },
                    new IndicadorItem()
                    {
                        Indicador = "CRM", Valor = (int)indicadoresCanalesVirtuales.CRM, ValorAuxiliar = indicadoresCanalesVirtuales.CRMRespuesta
                    },
                    new IndicadorItem()
                    {
                        Indicador = "RCE", Valor = (int)indicadoresCanalesVirtuales.RCE, ValorAuxiliar = indicadoresCanalesVirtuales.RCERespuesta
                    },
                    new IndicadorItem()
                    {
                        Indicador = "Portal Pacientes", Valor = (int)indicadoresCanalesVirtuales.PortalPacientes, ValorAuxiliar = indicadoresCanalesVirtuales.PortalPacientesRespuesta
                    }
                });

                var indicadoresIndicaciones = await taskIndicadoresIndicaciones;
                Indicaciones = new ObservableCollection <IndicadorItem>(
                    new IndicadorItem[] {
                    new IndicadorItem()
                    {
                        Indicador = "Farmacológicas", Valor = (int)indicadoresIndicaciones.Farmacologia
                    },
                    new IndicadorItem()
                    {
                        Indicador = "Imagenología", Valor = (int)indicadoresIndicaciones.Imagenologia
                    },
                    new IndicadorItem()
                    {
                        Indicador = "Laboratorio", Valor = (int)indicadoresIndicaciones.Laboratorio
                    }
                });

                var indicadoresDiagnosticos = await taskIndicadoresDiagnosticos;
                Diagnosticos = new ObservableCollection <IndicadorItem>(indicadoresDiagnosticos.Enum().Select(
                                                                            i => new IndicadorItem
                {
                    Indicador     = i.Nombre,
                    Valor         = (int)i.Numero,
                    ValorAuxiliar = i.Id
                }));
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ha ocurrido un error: " + ex.Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            finally
            {
                IsBusyLoadingIndicadores = false;
            }
        }