/* 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])); }
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(); }
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); }
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; } }