Equipo autónomo de acompañamiento en habitación de paciente MONITORIZADO

Prueba  de concepto algo parecido a esto.

Comentarios

  • El sistema de control de temperatura esta ya diseñado y en funcionamiento, de momento esta basado en un tfh22 otdh11 es muy facil de adaptar a cualquier otro sensor  en el software. Se esta procediendo a el diseño y conexionado del lector de oxigeno en sangre..
  • El sistema de recepción de datos software para su recepción también esta realizado  y se puede poner a trabajar de forma inmediata en cualquier ordenador PC que este en un Hospital en la sala de control. No se necesita ningún tipo de ruter ni sitema receptor cualquiera de los equipos desplegados puede convertirse en un punto de información de datos al ser conectado a un puerto USB del PC
  • El coste del dispositivo puede rondar los 40 euros encapsulado  en una caja realizada en 3d y con un sensor de temperatura de precisión +-0.5 ºC. Desgraciadamente los sensores de oximetría son realmente caros 25 a 60 euros. Pendiente dilucidad si la monitorización del paciente exige el axiometro pero creo que si. 
  • Reducir la distorsión y el ruido LED para lograr una pulsioximetría precisa

    Parece ser que hay un problema de ruido y la distorsión excesivos en la señal LED.
    https://www.digikey.es/es/articles/reduce-led-noise-and-distortion-for-accurate-pulse-oximetry 
    Habrá que tenerlo en cuenta.

  • El doctor ...  Comentó....  fersandie  y  en esto me estoy centrando......

    fersandie 
    En mi hospital sí contamos con wifi en todo el edificio. Lo que necesitamos monitorizar no es la UCI, allí ya contamos con central de monitorización y diría que eso se cumple en casi todas las UCIs de los hospitales. El tema está en que los pacientes con COVID no todos requieren estar en una UCI, La mayoría están en habitaciones y algunos pueden llegar a perder el conocimiento y no pueden llegar a avisar a la enfermera a través del interfono, de ahí la necesidad de monitorizar. Como he comentado hace un rato debido a saturación de trabajo no he podido seguir con este asunto pero sigue siendo igual de importante por lo menos en nuestro hospital donde cada vez estamos ingresando a más pacientes.El problema es que sólo puedo dedicarme a esto fuera de las horas de trabajo, ya que en horas de trabajo tengo que dedicarme a otras igual de importantes que no se pueden dejar de hacer. Yo intentaré seguir con esto mañana y fin de semana. A ver si conseguimos algo.
    gracias y un saludo    por lo tanto....................
    que pasa cuando una persona pierde el conocimiento?  esto puede ser muy evidente para un doctor pero para un electronico informatico hay que ponerse a leer....

                La pérdida del conocimiento breve (o desmayo) suele ser causada por deshidratación, glucemia baja o presión arterial baja temporal. También puede ser ocasionada por problemas serios en el sistema nervioso o el corazón. El médico determinará si la persona afectada necesita practicarse exámenes.
    Pero creo que este no es el caso sino que el desmayo vendría producido por una falta de oxígeno en sangre esto es así?

    En todo caso si el tema es detectar la inconsciencia de un paciente que está en sala de espera o en una habitación encamado pero consciente, la pérdida de consciencia llevara emparejada si o si un movimiento de cuello bien de arriba a abajo o de forma lateral cuando esté encamado. En electrónica hay unos detectores muy baratos que se llaman inclinómetros con ellos podemos detectar el movimiento de un objeto (cabeza) una serie determinada de grados 15º  30º 45º esto si es muy sencillo de adjuntar a una cinta craneal y disparar una alarma cuando estos detectores fusen accionados. Si algun medico lee esto y me lo puede ratificar estaria agradecido.


  •  El inclinómetro esta probado y a falta de ser tratado por el software del controlador en su reforma integral para pasar a ser llamado SUPERVISORdePACIENTE.
    Y este es el detector de Oxiometria que hoy me ha llegado y que empiezo a integrar en SUPERVISORdePACIENTE
     https://www.sparkfun.com/products/14045  veamos que es capaz de medir. :smile:
     
    https://github.com/sparkfun/SparkFun_MAX3010x_Sensor_Library 

    El sensor de partículas SparkFun MAX30105 es un sensor flexible y potente que permite detectar la distancia, la frecuencia cardíaca, la detección de partículas e incluso el parpadeo de un ojo. El MAX30105 ha sido equipado con tres LED, así como un detector de fotones muy sensible. La idea es pulsar los diferentes LED, luego detectar lo que brilla de nuevo. Según la firma reflejada, es posible detectar diferentes tipos de partículas o materiales (como sangre oxigenada o humo de un incendio).

    El MAX30105 utiliza un LED rojo, un LED verde y un LED IR (infrarrojo) para detección de presencia, trazado de latidos cardíacos y monitoreo de frecuencia cardíaca entre sus múltiples usos, incluida la oximetría de pulso. El MAX30105 está diseñado para operar a 5V y puede comunicarse con microcontroladores de 3.3V y 5V. También hemos escrito una biblioteca Arduino para el MAX30105 Breakout que se encarga de toda la comunicación 2 C, cambio de bits, escritura de registros y lectura de muestras.

      


  •  

    El MAX30105 utiliza un LED rojo, un LED verde y un LED IR (infrarrojo) para detección de presencia, trazado de latidos cardíacos y monitoreo de frecuencia cardíaca entre sus múltiples usos, incluida la oximetría de pulso. El MAX30105 está diseñado para operar a 5V y puede comunicarse con microcontroladores de 3.3V y 5V.  

     +



    Cúales son los valores que se leen del sensor en cuanto a oximetría, usanto las librerias que vienen para ese calculo?. El fabricante entrega una guía de ajuste de las mediciones. Cuál ha sido su experiencia en la medición de oximetría con ese sensor?
  • Pues esta es la pregunta de hoy.. que hay que resolver la librería de SparkFun Electronics trae unos cuantos ejemplos de utilización que mire ayer pero no aclara gran cosa  o mas bien nada sobre metodos de calibración si es necesaria ni nada por el estilo.

    He probado todos ejecutando en una placa arduino 1 antes de proceder a mezclarlo con el resto del sistema y aparentemente funcionan todos los ejemplos Obtengo cosas como esto en el ejemplo1
    10:33:48.864 ->  R[727] IR[593] G[122]
    10:33:48.918 ->  R[742] IR[611] G[140]
    10:33:48.965 ->  R[731] IR[616] G[143]
    10:33:49.018 ->  R[741] IR[613] G[130]
    10:33:49.118 ->  R[743] IR[635] G[153]
    10:33:49.165 ->  R[725] IR[621] G[158]
    10:33:49.219 ->  R[738] IR[618] G[145]
    10:33:49.265 ->  R[725] IR[637] G[167]
    10:33:49.319 ->  R[727] IR[613] G[150]
    10:33:49.419 ->  R[752] IR[631] G[159]
    10:33:49.466 ->  R[726] IR[618] G[174]
    En el ejemplo 8 que creo que es el que hay que darle atención se comenta esto 

      Optical SP02 Detection (SPK Algorithm) using the MAX30105 Breakout
      By: Nathan Seidle @ SparkFun Electronics
      Date: October 19th, 2016
      https://github.com/sparkfun/MAX30105_Breakout
      This demo shows heart rate and SPO2 levels. y yo obtengo resultados como esto

    N aparte: por desgracia mi arduino genera este mensaje ...
    Las variables Globales usan 1851 bytes (90%) de la memoria dinámica, dejando 197 bytes para las variables locales. El máximo es 2048 bytes.
    Poca memoria disponible, se pueden producir problemas de estabilidad.


    Pero aun asi... obtengo esto sin dedo introducido
    10:38:40.993 -> red=1478, ir=1244
    10:38:41.094 -> red=1506, ir=1225
    10:38:41.194 -> red=1511, ir=1253
    10:38:41.294 -> red=1499, ir=1227
    10:38:41.394 -> red=1488, ir=1241
    10:38:41.495 -> red=1478, ir=1233   al cabo de unos segundos 3 o 5


    10:39:25.582 -> red=1508, ir=1221, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:39:25.682 -> red=1489, ir=1231, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:39:25.783 -> red=1503, ir=1202, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:39:25.883 -> red=1518, ir=1244, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:39:25.983 -> red=1510, ir=1222, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0

    y esto otro con el dedo puesto 
    10:42:03.731 -> red=4165, ir=65535, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:42:03.831 -> red=4149, ir=65535, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    10:42:03.932 -> red=4088, ir=65535, HR=-999, HRvalid=0, SPO2=-999, SPO2Valid=0
    estro parecenser medidas no validas pero tambien suelta esto

    10:42:04.279 -> red=4140, ir=65535, HR=60, HRvalid=1, SPO2=47, SPO2Valid=1
    10:42:04.433 -> red=4152, ir=65535, HR=60, HRvalid=1, SPO2=47, SPO2Valid=1
    10:42:04.480 -> red=4154, ir=65535, HR=60, HRvalid=1, SPO2=47, SPO2Valid=1
    10:42:04.634 -> red=4117, ir=65535, HR=60, HRvalid=1, SPO2=47, SPO2Valid=1
    10:42:04.680 -> red=4002, ir=65535, HR=60, HRvalid=1, SPO2=47, SPO2Valid=1
    que si parecen ser medidas validas o eso creo.


    Notas si probais esto tener cuidado con las velocidades unos ejemplos estan a 9600 y otros a 115200
    Creo que el sensor de sensirion no es ninguna broma y entiendo que sparkfun hizo su trabajo pero tengo algunas dudas..
    No he visto ningun sitio en donde diga esto recibe.... tal vez ahora que lo pienso se pueda ver algo en algun video de sparkfun a ver si en sus pantallas se ve que datos da


    No tengo ni idea en que valores se mueve este parametro de HR y SPO
    El programa tambien aclara esto en sus comentarios....
      It is best to attach the sensor to your finger using a rubber band or other tightening
      device. Humans are generally bad at applying constant pressure to a thing. When you
      press your finger against the sensor it varies enough to cause the blood in your
      finger to flow differently which causes the sensor readings to go wonky.
    Así que procuro que el dedo este lo más quieto posible y ahi tengo medidas de HR 150 y PO2 96 .... esta claro que mi pinza para sujetar el lector es una pinza de cortinas.... Bueno todo esto para ir mirando hoy. Si alguien que lea esto sabe os parametros concreotos donde esto deberia fluctuar que lo comente en respuesta a esto estare muy agradecido.





  • tengo medidas de HR 150 y PO2 96 .  FUNDAMENTAL la colocación del dedo y la pinza   según esto obtengo casi siempre PO2 96 97  que estaría acorde con esto que he encontrado
    Según los datos arrojados por la Mayo Clinic, el nivel de oxígeno normales oscilan entre 75 y 100 mm Hg (milímetros de mercurio), siendo entonces considerados como valores bajos los que se encuentran por debajo de los 60 mm Hg. De esta forma, como podemos comprobar, el nivel mínimo de oxígeno en sangre sería de 75 mm Hg.  Y esto otro

    Un articulo de como medir.

    https://es.wikihow.com/medir-nivel-de-oxígeno-en-la-sangre#Medir-el-nivel-de-ox.C3.ADgeno-en-sangre-con-una-prueba-de-pulsioximetr.C3.ADa_sub

    De este articulo se desprende que los oxiometros buenos posiblemente tengan sensotes en un lado de la pinza y detectores en el otro y no hacerlo por reflexión..???????? :(

  • Bien, los valores que se registran usando los ejemplos de esa librería no son los correctos y varian mucho. Hay que realizar un ajuste, que se especifica incluso en la guìa de uso del dispositivo. 

    Acá una mejora al código:
    https://www.instructables.com/id/Pulse-Oximeter-With-Much-Improved-Precision/
  • Bien, los valores que se registran usando los ejemplos de esa librería no son los correctos y varian mucho. Hay que realizar un ajuste, que se especifica incluso en la guìa de uso del dispositivo. 

    Acá una mejora al código:
    https://www.instructables.com/id/Pulse-Oximeter-With-Much-Improved-Precision/
    Gracias por el aporte, puedes indicarme con un link donde esta exactamente esto que comentas 
    Hay que realizar un ajuste, que se especifica incluso en la guìa de uso del dispositivo. 
    Y a que dispositivo concreto se refiere si al max30102 max30105? Gracias.
  • MarcosF dijo:
    Gracias por el aporte, puedes indicarme con un link donde esta exactamente esto que comentas 
    Hay que realizar un ajuste, que se especifica incluso en la guìa de uso del dispositivo. 
    Y a que dispositivo concreto se refiere si al max30102 max30105? Gracias.
    En la página del fabricante hay buena cantidad de información.

    https://www.maximintegrated.com/en/products/interface/sensor-interface/MAX30102.html/tb_tab2

    De todo esto, es importante que comentemos, según pruebas, cúales son las recomentaciones en código y hardware. O si hay otras alternativas para obtener esta medicion.
  • Seguro que hay más alternativas sin explorar, pero yo me voy a centrar en esta al fin y al cabo son los únicos sensores de que dispongo el max30102 (Por cierto GRACIAS a Electrónica Embajadores por su rápida respuesta y entrega) 

    En todo caso como esto es para lanzar alarmas  Tengo un par de preguntas clave.... para médicos que no se contestarme de momento.

    Si alguien pierde el conocimiento a cuanto le baja su pulso cardiaco?

    Cuanto baja la Oximetría?

    En qué porcentajes dentro de un margen satisfactorio de respuesta claro, no vale decirme a 0 cuando el paciente está cao.


  • editado 3 de abril
    Inclinómetro... No se si seria util o no pero a mi me sigue pareciendo que si Asi que aqui va.... Un simple cinturón viejo elástico dos piezas de estas de agarrar cosas de montaña que se encuentran en cualquier lado Lijamos, una gota pegamento fuerte y fusionamos el lector de inclinación soldamos y recubrimos de pegamento de barra tipo hotmelt y conectamos al sensor de oximetría en los cables que quedan libres y al controlador.
      

    video de un par de pruebas
    https://drive.google.com/open?id=1qPMQTHSUUF_M1TqG0PDs4ViXhLfgUUSY

  • Sobre la oximetría..
    Aqui un video interesante   y esclarecedor 
    Utilizar a ser posible el dedo corazón de la mano derecha.
    De no ser posible utilizar el pulgar de la mano derecha como segunda opción.
    En mis imagenes he utilizado el dedo indice de la mano izquierda por motivos de operatividad fotos etc pero aun siendo este los resultados parecen buenos.

    En estas condiciones he obtenido lectura estable durante más de de 10 minutos  con simples oscilaciones entre 97 y 100 máximo está claro que el diseño de la pinza la colocación del sensor así como la inmovilización del dedo con respecto al sensor es fundamental para un correcto funcionamiento del mismo. Esto formaría parte de una optimización posterior que ahora no procede.
    Mis parametros....  dentro del ejemplo 8 anteriormente nombrado en este hilo son los siguientes.
      byte ledBrightness = 60; //Options: 0=Off to 255=50mA  // estaba en 60
      byte sampleAverage = 4; //Options: 1, 2, 4, 8, 16, 32
      byte ledMode = 2; //Options: 1 = Red only, 2 = Red + IR, 3 = Red + IR + Green
      byte sampleRate = 100; //Options: 50, 100, 200, 400, 800, 1000, 1600, 3200
      int pulseWidth = 411; //Options: 69, 118, 215, 411
      int adcRange = 4096; //Options: 2048, 4096, 8192, 16384

    Por lo tanto y visto esto procederé a tomar 4 medidas de oxígeno por minuto y enviare como dato la media de las cuatro al sistema de datos aunque procederé a enviar un alarma si la oximetría cae por debajo de 90 tal y como se comenta en el video Una unica medida por debajo de este umbral disparara el envío de alarma de oximetría.
    Así pues sigo con la programación e integración de  esta medida y el inclinómetro sobre el sistema de control.

    También procederé al envío de una alarma si el ritmo cardiaco baja de 60. Según lo expuesto  anteriormente.
    Nota: Si algun medico lee este post y no lo considera correcto que me desautorice porfavor.
Accede o Regístrate para comentar.