Categorías
Dentistas Informática Médica

Ciencia de Datos en Salud

La ciencia de datos es el campo que utiliza métodos, algoritmos y procesos para extraer información desde fuentes de datos. Aquí se unifican los leer más

Categorías
Informática Médica Pacientes

Prediciendo las Atenciones de Urgencia en Chile

Predicción de Atenciones de Urgencia por Causas Respiratorias en Chile

La predicción es la ciencia de estimar situaciones de incertidumbre, donde en este caso lograremos predecir el futuro utilizando datos de series temporales anteriores.

Los datos que utilizaremos datos del Departamento de Estadísticas e información en salud del Ministerio de Salud de Chile, estos datos están libremente disponibles en el sitio web del Departamento. Utilizaremos datos desde el año 2017 para predecir el mes de Marzo y Abril del año 2020.

El caso de estudio que analizaremos son los casos totales de Chile para atenciones de urgencia respiratoria.

Además de la biblioteca Prophet utilizaremos Pandas para manejar el conjunto de datos y Matplotlib para la visualización.

Importamos las bibliotecas necesarias:

import pandas as pd
from fbprophet import Prophet
import matplotlib.pyplot as plt

Primero cargaremos el conjunto de datos en memoria:

df = pd.read_csv('2017-today.csv', sep=';')

Convertimos la fecha del punto de datos en un objeto Datetime de Pandas y el valor en un Integer:

df['ds']
leer más

Categorías
Dentistas

Nomenclatura Dentaria Zsigmondy Palmer

Esta nomenclatura recibe su nombre desde los Dentistas Adolf Zsigmondy y Corydon Palmer y codifica los dientes mediante 2 caracteres, como la nomenclatura leer más

Categorías
Dentistas

Nomenclatura Dentaria FDI

La nomenclatura FDI recibe su nombre desde la Federación Dental Internacional y utiliza para la codificación dentaria códigos de 2 dígitos, donde leer más

Categorías
Dentistas

Nomenclatura Dentaria Chilena o ADA Modificada

La nomenclacura Chilena o ADA Modificada recibe su nombre debido a su amplio uso en Chile y por ser una modificación de la leer más

Categorías
Dentistas

Nomenclatura Dentaria ADA

La nomenclacura ADA recibe su nombre por la Asociación Dental Americana y utiliza para la codificación dentaria todos los números entre el 1 y el leer más

Categorías
Informática Médica Pacientes

Visualizando la Lista de Espera Chilena

Accede a la plataforma de visualización.

La falta de estructura en los textos clínicos dificulta la extracción e integración de la información, leer más

Categorías
Dentistas Informática Médica

Generador Automático de Diagnósticos

Puedes probar el generador acá.

La narrativa médica es un tema muy estudiado en estos momentos dado el gran advenimiento de la Inteligencia Artificial en la sociedad en general.

Lograr entender cuál es el significado de una narrativa médica es el objetivo principal del Procesamiento de Lenguaje Natural en Medicina, si llegamos a una perfecta representación sistematizada de la información que escriben los profesionales de la salud en las distintas fuentes de datos clínicos, muchos problemas podrían solucionarse en el área de la salud, desde la justa priorización de un paciente dentro de la temida lista de espera hasta la correcta distribución de recursos dentro de un establecimiento de salud.

La narrativa médica o mejor dicho el lenguaje en general no tiene una distribución al azar, sino que podemos encontrar patrones fácilmente de manera casi intuitiva, por ejemplo al explorar diagnósticos nos encontramos con que la palabra caries en la mayoría de los casos está acompañada de palabras que definen más específicamente el diagnóstico, las cuales tienen una distribución predecible, por ejemplo:

Es muy probable que encontremos los siguientes grupos de 2 palabras (bigramas) con mucha frecuencia:

  • caries dentinaria
  • caries penetrante

Pero que nos encontremos con una frecuencia casi nula los bigramas:

  • caries cerebral
  • caries pulmonar

Esto quiere decir que dada una palabra de entrada podemos predecir qué palabras le seguirían con mayor probabilidad.

Uno de los métodos que podemos utilizar para modelar este comportamiento son las Cadenas de Markov, en donde establecemos una matriz de probabilidades en donde como filas tenemos cada una de las palabras de nuestro vocabulario y cada uno de los valores de esta fila nos dice con qué probabilidad aparece una siguiente palabra.

Este modelamiento tiene una desventaja, porque sólo podemos predecir la siguiente palabra dado una única palabra anterior, olvidándonos de todo lo que hayamos escrito antes.

Para modelar el lenguaje utilizado en los diagósticos, se extrajeron las frecuencias de todos los bigramas posibles dentro de alrededor de 2 millones de diagnósticos médicos, el desarrollo del modelo se realizó en Python y el código para poder entrenar tus propios modelos o probar el modelo generado con los 2 millones de diagnósticos se encuentra libre pero los datos de entrenamiento no se encuentran disponibles debido a temas bioéticos.

Ejemplo

synthesizer = src.utils.DiagnosticGenerator( # Clase para construir el Generador de diagnósticos.
     markov_matrix_file
leer más

Categorías
Informática Médica

Obtener la Edad de un Individuo desde su RUT

Aplicación web para conocer la edad de una persona y su fecha de nacimiento con su RUT: RUT a Edad y Fecha de Nacimiento

Intuitívamente se sabe que existe una relación entre la edad de una persona y el número correlativo de su RUT, en donde personas que cuentan con una mayor edad, suelen tener un número correlativo de RUT bajo. Para poder probar esta hipótesis se utilizará un método de aprendizaje estadístico básico que nos permitirá inferir la relación existente entre el número correlativo del RUT de la Persona y su edad.

RUT

El Rol Único Nacional, conocido también por el acrónimo RUT, es el número identificatorio único e irrepetible que posee todo chileno, residente o no en Chile, y todo extranjero que permanezca, temporal o definitivamente, con una visa distinta a la visa de turista en dicho país.

El RUT se otorga siguiendo un orden correlativo, por lo tanto es muy posible que una persona con un RUT menor sea de mayor edad, dado que la mayor parte de los RUT proviene de inscripciones de nacimiento.

El RUT consta de dos partes separadas por un guion: el número correlativo y el dígito verificador o DV. El DV consta de un dígito que va del 0 (cero) al 9 (nueve) y la letra K, que se obtiene a partir del correlativo mediante el cómputo de un algoritmo.

Regresión

La Regresión es un conjunto de procesos estadísticos para estimar relaciones entre variables. La regresión nos ayuda a entender cómo cambia una variable en función de otra variable, junto con entender la fuerza de relación entre ellas.

Datos

Se realizaron búsquedas en Google para encontrar documentos que contuvieran los términos edad y rut, estos documentos fueron procesados y se consolidaron todos en un archivo separado por comas.

Método

Se utilizó el lenguaje de programación python bajo los siguientes módulos:

  • Pandas: Biblioteca para el manejo y estructuración de datos.
  • Numpy: Biblioteca para la realización de cálculos vectoriales.
  • Seaborn: Visualización de los resultados.
  • Scipy: Conjunto de pruebas y modelos estadísticos.
  • Math: Módulo de cálculos matemáticos.
  • Datetime: Módulo para interactuar con fechas.
import pandas as pd
import numpy as np
import seaborn as sns
import scipy
import math
import datetime as dt

Se importan los datos y se determinan los tipos de variable.

datos = pd.read_csv("rut.csv",
leer más

Categorías
Dentistas

Segmentación 3D de Incisivo Central con Calcificación Pulpar

Cone-Beam de Incisivo con Pulpolito

La generación de modelos tridimensionales desde conjuntos de datos de tomografías computarizadas Cone-Beam (CBCT) nos permite entender de mejor manera la anatomía humana.

En este artículo mostraré paso a paso cómo generar un modelo 3D de la anatomía interna de un incisivo central superior con una calcificación pulpar, esto nos permitirá conocer cómo se comporta la pulpa frente a la existencia de un pulpolito.

Conjunto de Datos de la CBCT

Esta es un subconjunto recortado de los cortes tomograficos de una CBCT. Hasta este instante los datos siguen siendo bidimensionales y necesito interpretarlos como un volumen.

Generación del Modelo 3D

Primero debo determinar la región de interés (ROI) en las 3 dimensiones del espacio, la cual utilizaré para la generación del modelo tridimensional.

Después de delimitar la ROI se establece la Speed Image, que es una segmentación preliminar en base a umbrales de densidad ósea, las zonas azules son las regiones que no se van a segmentar.

Ahora se sitúan círculos (esferas volumétricamente) dentro de las zonas que deseamos segmentar, esferas las cuales posteriormente se deformarán automáticamente adoptando la forma de la zona a segmentar (Active Contour Segmentation).

Como ven, la visualización 3D son una serie de esferas situadas donde nosotros quisimos.

Echamos a andar el programa y las esferas comienzan a deformarse para adoptar la forma de diente.

El programa terminó de realizar la Active Contour Segmentation y el diente ya se segmentó.

Realizamos los mismos pasos anteriores para segmentar la pulpa del diente (en rojo) y también se puede observar el diente ya segmentado (Blanco).

Aquí se observan las 3 estructuras de interés, los tejidos duros del diente, la pulpa y el pulpolito. Es curioso observar cómo la pulpa rodea la calcificación pulpar del canal radicular.

Aspecto final de nuestro diente ya con todas las estructuras segmentadas.

Importamos nuestro modelo tridimensional en un software de edición de modelos tridimensionales y realizamos un suavizado de superficie.

Hemos terminado y en la imagen anterior se puede apreciar el aspecto final de nuestro Biomodelo Tridimensional.