Beispiel #1
0
        /* Resultado utilizando percentiles
         * public Resultado Resultado
         * {
         *  get { return _resultado; }
         *  private set
         *  {
         *      _resultado = value;
         *      PercentilSearch.Deserialize();
         *      if ( this.Paciente == null ) return;
         *      var resultado = (Resultado_AS)_resultado;
         *      var result_SA = (Resultado_AS)_resultado;
         *      ChR_Errores = new List<Ar_ChartingResult>();
         *      ChR_Tiempos = new List<Ar_ChartingResult>();
         *      // filas - los parámetros, columnas - los bloques
         *      PercentilesXbloque = new string[7, 6];
         *      for ( int i = 0; i < resultado.Aciertos.Length; i++ )
         *      {
         *          double iaBloque = FunctionLibrary.AttentionProfit(
         *                      resultado.Aciertos[i],
         *                      resultado.Aciertos_Extrannos[i],
         *                      resultado.Equivocaciones[i],
         *                      resultado.Omisiones[i] );
         *          PercentilesXbloque[i, 0] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.IA, i + 1, Paciente.Edad, iaBloque, Paciente.Sexo));
         *          PercentilesXbloque[i, 1] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Aciertos, i + 1, Paciente.Edad, resultado.Aciertos[i], Paciente.Sexo));
         *          PercentilesXbloque[i, 2] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Omisiones, i + 1, Paciente.Edad, resultado.Omisiones[i], Paciente.Sexo));
         *          PercentilesXbloque[i, 3] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Comisiones, i + 1, Paciente.Edad, resultado.Equivocaciones[i], Paciente.Sexo));
         *          PercentilesXbloque[i, 4] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.TR, i + 1, Paciente.Edad, resultado.MediasTR[i], Paciente.Sexo));
         *          PercentilesXbloque[i, 5] = Function_Library.ShowDouble(PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.DS_TR, i + 1, Paciente.Edad, resultado.DesiacionesTR[i], Paciente.Sexo));
         *      }
         *
         *      float ia_total = FunctionLibrary.AttentionProfit(result_SA.Aciertos.Sum(),
         *                                               result_SA.Aciertos_Extrannos.Sum(),
         *                                               result_SA.Equivocaciones.Sum(),
         *                                               result_SA.Omisiones.Sum() );
         *      ChR_Percentiles = new List<Ar_ChartingResult>();
         *      Parametros = new[]
         *      {
         *          PDF_Resources.EP_IA_Total,
         *          PDF_Resources.EP_Aciertos,
         *          PDF_Resources.EP_Omisiones,
         *          PDF_Resources.EP_Comisiones,
         *          PDF_Resources.EP_TR,
         *          PDF_Resources.EP_Error_TR
         *      };
         *
         *      var indices = new double[resultado.Aciertos.Length];
         *      for ( int bloque = 0; bloque < resultado.Aciertos.Length; bloque++ )
         *      {
         *          float ia = FunctionLibrary.AttentionProfit(resultado.Aciertos[bloque],
         *                                                   resultado.Aciertos_Extrannos[bloque],
         *                                                   resultado.Equivocaciones[bloque],
         *                                                   resultado.Omisiones[bloque] );
         *          var ch_result1 = new Ar_ChartingResult
         *          (
         *              string.Format( PDF_Resources.BloqueGraphicAxisLabelFormat, bloque+1 ),
         *              PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Comisiones, bloque + 1, Paciente.Edad, resultado.Equivocaciones[bloque], Paciente.Sexo),
         *              PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Omisiones, bloque + 1, Paciente.Edad, resultado.Omisiones[bloque], Paciente.Sexo),
         *              PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.IA, bloque + 1, Paciente.Edad, ia, Paciente.Sexo)
         *          );
         *          var ch_result2 = new Ar_ChartingResult
         *          (
         *              string.Format( PDF_Resources.BloqueGraphicAxisLabelFormat, bloque+1 ),
         *              PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.TR, bloque + 1, Paciente.Edad, resultado.MediasTR[bloque], Paciente.Sexo),
         *              PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.DS_TR, bloque + 1, Paciente.Edad, resultado.DesiacionesTR[bloque], Paciente.Sexo)
         *          );
         *          indices[bloque] = ia;
         *          ChR_Errores.Add( ch_result1 );
         *          ChR_Tiempos.Add( ch_result2 );
         *      }
         *      this.ValoresGenerales = new[]
         *      {
         *          Function_Library.ShowDouble( ia_total ),
         *          result_SA.Aciertos.Sum().ToString(),
         *          result_SA.Omisiones.Sum().ToString(),
         *          result_SA.Equivocaciones.Sum().ToString(),
         *          Function_Library.ShowDouble(result_SA.Media),
         *          Function_Library.ShowDouble(Math.Sqrt(result_SA.Desviacion))
         *      };
         *      this.PercentilesGenerales = new[]
         *      {
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.IA, Paciente.Edad, ia_total, Paciente.Sexo),
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Aciertos, Paciente.Edad, result_SA.Aciertos.Sum(), Paciente.Sexo),
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Omisiones, Paciente.Edad, result_SA.Omisiones.Sum(), Paciente.Sexo),
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.Comisiones, Paciente.Edad, result_SA.Equivocaciones.Sum(), Paciente.Sexo),
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.TR, Paciente.Edad, result_SA.Media, Paciente.Sexo),
         *          PercentilSearch.Percentil(result_SA.TipoAtencion, result_SA.TipoPrueba, AS_TestParameter.DS_TR, Paciente.Edad, result_SA.Desviacion, Paciente.Sexo)
         *      };
         *      STR_PercentilesGenerales = new string[PercentilesGenerales.Length];
         *      for ( int i = 0; i < PercentilesGenerales.Length; i++ )
         *      {
         *          var ch_result = new Ar_ChartingResult
         *          (
         *              this.Parametros[i],
         *              PercentilesGenerales[i]
         *          );
         *          ChR_Percentiles.Add( ch_result );
         *          STR_PercentilesGenerales[i] = Function_Library.ShowDouble( PercentilesGenerales[i] );
         *      }
         *
         *      SetOrientaciones(result_SA);
         *  }
         * }
         */

        private double IA_Bloque(int bloque, Resultado_AS resultado)
        {
            return(FunctionLibrary.AttentionProfit(resultado.Aciertos[bloque],
                                                   resultado.Aciertos_Extrannos[bloque],
                                                   resultado.Equivocaciones[bloque],
                                                   resultado.Omisiones[bloque]));
        }
Beispiel #2
0
        protected InformacionGeneral(Paciente paciente, Resultado_AS resultado)
        {
            this.resultado = resultado;
            this.paciente  = paciente;
            this.ia_total  = FunctionLibrary.AttentionProfit(resultado.Aciertos.Sum(),
                                                             resultado.Aciertos_Extrannos.Sum(),
                                                             resultado.Equivocaciones.Sum(),
                                                             resultado.Omisiones.Sum());
            this.md_bloques = new MD_ByBlock();
            md_bloques.LoadBlock(FunctionLibrary.GetTopBlocks(paciente.Edad) + 1, paciente);

            this.zNotationAciertos = StatFunctionLibrary.ZNotation(resultado.Aciertos.Sum(),
                                                                   md_bloques.Aciertos.Media,
                                                                   md_bloques.Aciertos.Desviacion);
            this.zNotationComisiones = StatFunctionLibrary.ZNotation(resultado.Equivocaciones.Sum(),
                                                                     md_bloques.Comisiones.Media,
                                                                     md_bloques.Comisiones.Desviacion);
            Parametros = new[]
            {
                PDF_Resources.EP_IA_Total,
                PDF_Resources.EP_Aciertos,
                PDF_Resources.EP_Omisiones,
                PDF_Resources.EP_Comisiones,
                PDF_Resources.EP_TR,
                PDF_Resources.EP_Error_TR,
                PDF_Resources.EP_Sensibilidad,
                PDF_Resources.EP_Criterio
            };
            this.Init();
        }
Beispiel #3
0
 protected override void FillData(DataRow r)
 {
     this.Codigo_Paciente           = r[CodigoPacienteColumnName].ToString();
     this.Fecha                     = (DateTime)r[FechaColumnName];
     this.Bloque                    = (int)r[BloqueColumnName];
     this.Aciertos                  = (int)r[AciertosColumnName];
     this.Aciertos_Extrannos        = (int)r[AciertosEXTColumnName];
     this.Equivocaciones            = (int)r[EquivocacionesColumnName];
     this.Omisiones                 = (int)r[OmisionesColumnName];
     this.Media_TiempoReaccion      = (double)r[MediaTRColumnName];
     this.Desviacion_TiempoReaccion = (double)r[DesviacionTRColumnName];
     this.CoeficienteAtencion       = FunctionLibrary.AttentionProfit(this.Aciertos, this.Aciertos_Extrannos, this.Equivocaciones, this.Omisiones);
 }
Beispiel #4
0
        protected override void FillData(DataRow r)
        {
            this.Codigo_Paciente      = r[Paciente.CodigoPacienteColumnName].ToString();
            this.Sexo                 = r[Paciente.SexoColumnName].ToString();
            this.FechaNacimiento      = (DateTime)r[Paciente.Fecha_NacimientoColumnName];
            this.Aplicador            = r[Paciente.AplicadorColumnName].ToString();
            this.Lugar                = r[Paciente.LugarColumnName].ToString();
            this.Fecha                = (DateTime)r[string.Format("{0}.{1}", _ResASC.TableName, _ResASC.FechaColumnName)];
            this.Desviacion           = (double)r[_ResASC.DesviacionColumnName];
            this.Media                = (double)r[_ResASC.MediaColumnName];
            this.TipoPrueba           = (TypeOf_AS_Test)((byte)r[_ResASC.TipoPruebaColumnName]);
            this.Total_Aciertos       = (int)r[_ResASC.TotalAciertosColumnName];
            this.Total_Aciertos_Ext   = (int)r[_ResASC.TotalAciertosEXTColumnName];
            this.Total_Omisiones      = (int)r[_ResASC.TotalOmisionesColumnName];
            this.Total_Equivocaciones = (int)r[_ResASC.TotalEquivocacionesColumnName];
            this.Completo             = (bool)r[_ResASC.CompletoColumnName];

            int TOP = FunctionLibrary.GetTopBlocks(this.Edad);

            Aciertos                  = new int[7];
            Aciertos_Extrannos        = new int[7];
            Equivocaciones            = new int[7];
            Omisiones                 = new int[7];
            Media_TiempoReaccion      = new double[7];
            Desviacion_TiempoReaccion = new double[7];
            CoeficienteAtencion       = new float[7];

            for (int i = 0; i < 7; i++)
            {
                Aciertos[i]                  = (i < TOP)? (int)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.AciertosColumnName)] : 0;
                Aciertos_Extrannos[i]        = (i < TOP)?  (int)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.AciertosEXTColumnName)] : 0;
                Equivocaciones[i]            = (i < TOP)?  (int)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.EquivocacionesColumnName)] : 0;
                Omisiones[i]                 = (i < TOP)?  (int)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.OmisionesColumnName)] : 0;
                Media_TiempoReaccion[i]      = (i < TOP)?  (double)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.MediaTRColumnName)] : 0;
                Desviacion_TiempoReaccion[i] = (i < TOP)?  (double)r[string.Format("{0}_{1}.{2}", IndicadoresASC.TableName, i + 1, IndicadoresASC.DesviacionTRColumnName)] : 0;
                CoeficienteAtencion[i]       = (i < TOP)?  FunctionLibrary.AttentionProfit(Aciertos[i],
                                                                                           Aciertos_Extrannos[i],
                                                                                           Equivocaciones[i],
                                                                                           Omisiones[i]) : 0;
            }
        }