Example #1
0
        /// <summary>
        /// Guarda el hisotirial clinico de un paciente
        /// </summary>
        /// <param name="entHistorialClinico"></param>
        /// <returns></returns>
        public IMDResponse <bool> BSaveHistorialClinico(EntHistorialClinico entHistorialClinico)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.BSaveHistorialClinico);

            logger.Info(IMDSerialize.Serialize(67823458583671, $"Inicia {metodo}(EntHistorialClinico entHistorialClinico)", entHistorialClinico));

            try
            {
                if (entHistorialClinico == null)
                {
                    response.Code    = -65766123898345;
                    response.Message = "No se ingresó información del historial clínico.";
                    return(response);
                }

                //Guardar el historila clínico de la consulta actual
                IMDResponse <bool> resSaveHistorial = datConsulta.DSaveHistorialMedico(
                    entHistorialClinico.iIdConsulta,
                    entHistorialClinico.iIdUsuarioMod,
                    entHistorialClinico.sSintomas,
                    entHistorialClinico.sDiagnostico,
                    entHistorialClinico.sTratamiento,
                    entHistorialClinico.fPeso,
                    entHistorialClinico.fAltura,
                    entHistorialClinico.sAlergias,
                    entHistorialClinico.sComentarios);

                if (resSaveHistorial.Code != 0)
                {
                    return(resSaveHistorial);
                }

                response.Code    = 0;
                response.Message = "El historial clínico se guardó correctamente.";
                response.Result  = true;
            }
            catch (Exception ex)
            {
                response.Code    = 67823458584448;
                response.Message = "Ocurrió un error inesperado al guardar el historial clínico del paciente.";

                logger.Error(IMDSerialize.Serialize(67823458584448, $"Error en {metodo}(EntHistorialClinico entHistorialClinico): {ex.Message}", entHistorialClinico, ex, response));
            }
            return(response);
        }
Example #2
0
        public IMDResponse <bool> CSaveHistorialClinico([FromBody] EntHistorialClinico entHistorialClinico)
        {
            IMDResponse <bool> response = new IMDResponse <bool>();

            string metodo = nameof(this.CSaveHistorialClinico);

            logger.Info(IMDSerialize.Serialize(67823458585225, $"Inicia {metodo}([FromBody]EntHistorialClinico entHistorialClinico)", entHistorialClinico));

            try
            {
                BusConsulta busConsulta = new BusConsulta();
                response = busConsulta.BSaveHistorialClinico(entHistorialClinico);
            }
            catch (Exception ex)
            {
                response.Code    = 67823458586002;
                response.Message = "Ocurrió un error inesperado en el servicio al guardar el historial clínico del paciente.";

                logger.Error(IMDSerialize.Serialize(67823458586002, $"Error en {metodo}([FromBody]EntHistorialClinico entHistorialClinico): {ex.Message}", entHistorialClinico, ex, response));
            }
            return(response);
        }
Example #3
0
        /// <summary>
        /// Obtiene el historial clínico del paciente
        /// </summary>
        /// <param name="piIdHistorialClinico"></param>
        /// <param name="piIdConsulta"></param>
        /// <param name="piIdPaciente"></param>
        /// <param name="piIdColaborador"></param>
        /// <param name="piIdFolio"></param>
        /// <param name="psIdTipoDoctor"></param>
        /// <returns></returns>
        public IMDResponse <List <EntHistorialClinico> > BGetHistorialMedico(int?piIdHistorialClinico = null, int?piIdConsulta = null, int?piIdPaciente = null, int?piIdColaborador = null, int?piIdFolio = null, string psIdTipoDoctor = null)
        {
            IMDResponse <List <EntHistorialClinico> > response = new IMDResponse <List <EntHistorialClinico> >();

            string metodo = nameof(this.BGetHistorialMedico);

            logger.Info(IMDSerialize.Serialize(67823458524619, $"Inicia {metodo}(int? piIdHistorialClinico = null, int? piIdConsulta = null, int? piIdPaciente = null, int? piIdColaborador = null, int? piIdFolio = null)", piIdHistorialClinico, piIdConsulta, piIdPaciente, piIdColaborador, piIdFolio));

            try
            {
                IMDResponse <DataTable> resGetHistorialClinico = datConsulta.DGetHistorialMedico(piIdHistorialClinico, piIdConsulta, piIdPaciente, piIdColaborador, piIdFolio, psIdTipoDoctor);
                if (resGetHistorialClinico.Code != 0)
                {
                    return(resGetHistorialClinico.GetResponse <List <EntHistorialClinico> >());
                }

                List <EntHistorialClinico> lstHistorial = new List <EntHistorialClinico>();

                foreach (DataRow drHistorial in resGetHistorialClinico.Result.Rows)
                {
                    IMDDataRow dr = new IMDDataRow(drHistorial);

                    EntHistorialClinico entHistorialClinico = new EntHistorialClinico
                    {
                        dtFechaCreacion       = dr.ConvertTo <DateTime?>("dtFechaCreacion"),
                        dtFechaConsultaFin    = dr.ConvertTo <DateTime?>("dtFechaConsultaFin"),
                        dtFechaConsultaInicio = dr.ConvertTo <DateTime?>("dtFechaConsultaInicio"),
                        fAltura             = dr.ConvertTo <double>("fAltura"),
                        fPeso               = dr.ConvertTo <double>("fPeso"),
                        iIdConsulta         = dr.ConvertTo <int>("iIdConsulta"),
                        iIdHistorialClinico = dr.ConvertTo <int>("iIdHistorialClinico"),
                        sAlergias           = dr.ConvertTo <string>("sAlergias"),
                        sComentarios        = dr.ConvertTo <string>("sComentarios"),
                        sDiagnostico        = dr.ConvertTo <string>("sDiagnostico"),
                        sFechaCreacion      = string.Empty,
                        sSintomas           = dr.ConvertTo <string>("sSintomas"),
                        sTratamiento        = dr.ConvertTo <string>("sTratamiento"),
                    };

                    entHistorialClinico.sFechaCreacion       = entHistorialClinico.dtFechaCreacion?.ToString("ddd dd/MM/yyyy hh:mm tt");
                    entHistorialClinico.sFechaConsultaInicio = entHistorialClinico.dtFechaConsultaInicio?.ToString("ddd dd/MM/yyyy hh:mm tt");
                    entHistorialClinico.sFechaConsultaFin    = entHistorialClinico.dtFechaConsultaFin?.ToString("ddd dd/MM/yyyy hh:mm tt");

                    //Calcular la duración de la consulta
                    TimeSpan?dff = entHistorialClinico.dtFechaConsultaFin - entHistorialClinico.dtFechaConsultaInicio;

                    entHistorialClinico.sDuracionConsulta = dff?.ToString(@"hh\:mm\:ss");

                    lstHistorial.Add(entHistorialClinico);
                }

                response.Code    = 0;
                response.Message = "Se ha consultado el historial clínico.";
                response.Result  = lstHistorial;
            }
            catch (Exception ex)
            {
                response.Code    = 67823458525396;
                response.Message = "Ocurrió un error inesperado al consultar el historial clínico.";

                logger.Error(IMDSerialize.Serialize(67823458525396, $"Error en {metodo}(int? piIdHistorialClinico = null, int? piIdConsulta = null, int? piIdPaciente = null, int? piIdColaborador = null, int? piIdFolio = null): {ex.Message}", piIdHistorialClinico, piIdConsulta, piIdPaciente, piIdColaborador, piIdFolio, ex, response));
            }
            return(response);
        }