ES3054982T3 - Intelligent image segmentation prior to optical character recognition (ocr) - Google Patents
Intelligent image segmentation prior to optical character recognition (ocr)Info
- Publication number
- ES3054982T3 ES3054982T3 ES20719037T ES20719037T ES3054982T3 ES 3054982 T3 ES3054982 T3 ES 3054982T3 ES 20719037 T ES20719037 T ES 20719037T ES 20719037 T ES20719037 T ES 20719037T ES 3054982 T3 ES3054982 T3 ES 3054982T3
- Authority
- ES
- Spain
- Prior art keywords
- text
- medical device
- coordinates
- image
- predefined
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/2163—Partitioning the feature space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/19007—Matching; Proximity measures
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H30/00—ICT specially adapted for the handling or processing of medical images
- G16H30/40—ICT specially adapted for the handling or processing of medical images for processing medical images, e.g. editing
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H40/00—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
- G16H40/60—ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Epidemiology (AREA)
- Biomedical Technology (AREA)
- Public Health (AREA)
- Primary Health Care (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Nuclear Medicine, Radiotherapy & Molecular Imaging (AREA)
- Radiology & Medical Imaging (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Measuring And Recording Apparatus For Diagnosis (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Apparatus For Radiation Diagnosis (AREA)
- Character Input (AREA)
- Processing Or Creating Images (AREA)
- Infusion, Injection, And Reservoir Apparatuses (AREA)
Abstract
Un sistema y un método de monitorización de dispositivos médicos extraen información de las imágenes de pantalla de los controladores de dispositivos médicos con una sola invocación del proceso de OCR por imagen, a pesar de que la información crítica aparece en diferentes ubicaciones de la pantalla, según el controlador del dispositivo médico que se procese. Por ejemplo, diferentes versiones de software de los controladores de dispositivos médicos podrían mostrar el mismo tipo de información en diferentes ubicaciones de la pantalla. Se crean copias de la información crítica de la pantalla, una copia de cada ubicación de la pantalla, en una imagen de mosaico, que luego se procesa mediante OCR para generar resultados de texto. El texto se extrae selectivamente de los resultados de texto de OCR, según el contenido de un campo selector en la imagen de pantalla, como el número de versión del software o el identificador del modelo de bomba cardíaca. (Traducción automática con Google Translate, sin valor legal)
Description
[0001] DESCRIPCIÓN
[0002] Segmentación de imágenes inteligente previa al reconocimiento óptico de caracteres (OCR) REFERENCIA CRUZADA A SOLICITUDES RELACIONADAS
[0003] Esta solicitud reivindica el beneficio de la solicitud de Patente US16/360,270, presentada el 21 de marzo de 2019, titulada "Intelligent Image Segmentation Before Optical Character Recognition (OCR)", a todos los efectos.
[0004] ESTADO DE LA TÉCNICA ANTERIOR SECTOR TÉCNICO
[0005] La presente invención se refiere a monitorizar remotamente dispositivos médicos y, más particularmente, a segmentar de forma inteligente una imagen de una pantalla mostrada por un controlador de dispositivo médico antes de que el reconocimiento óptico de caracteres (OCR, Optical Character Recognition) procese la imagen.
[0006] TÉCNICA RELACIONADA
[0007] Muchos dispositivos médicos, tales como algunas bombas de sangre intravasculares, por ejemplo, la bomba cardíaca Impella<®>2.5 disponible en Abiomed, Inc., Danvers, Massachusetts, están conectados a controladores de dispositivos médicos externos que recogen y muestran datos operativos sobre los dispositivos médicos, tales como el nivel de la señal cardíaca, la temperatura de la batería, la velocidad del flujo sanguíneo y la integridad de los tubos. Un controlador de dispositivo médico a modo de ejemplo está disponible en Abiomed, Inc. bajo el nombre comercial Automated Impella Controller<®>. Los controladores de dispositivos médicos emiten alarmas cuando los valores de datos operativos caen más allá de los valores o intervalos predeterminados, por ejemplo, si se detecta una fuga o pérdida de succión. Estos controladores de dispositivos médicos incluyen pantallas de visualización de vídeo como interfaces humanas, en las que se muestran los datos operativos y/o las alarmas.
[0008] Para facilitar la monitorización remota por el personal médico con el fin de garantizar la eficacia y la seguridad del paciente, algunos de dichos controladores de dispositivos médicos pueden estar acoplados a través de redes informáticas, a menudo incluyendo segmentos inalámbricos, a servidores centrales, a los que pueden acceder las estaciones de monitorización. Las estaciones de monitorización pueden mostrar datos operativos en tiempo real y/o alarmas en pantallas de visualización para su visualización por el personal médico.
[0009] Los servidores solicitan y reciben imágenes del contenido mostrado en las pantallas de los controladores de dispositivos médicos. Algunos servidores utilizan tecnología de reconocimiento óptico de caracteres (OCR) para analizar las imágenes y extraer información textual, tal como el número de serie de la bomba cardíaca, la velocidad del flujo sanguíneo, el texto del mensaje de advertencia y similares. Para reducir los errores de OCR, algunos servidores enmascaran partes de las imágenes en pantalla que contienen texto o gráficos irrelevantes que pueden confundir a un motor de OCR.
[0010] Sin embargo, diferentes controladores de dispositivos médicos pueden mostrar el mismo tipo de información, por ejemplo, la velocidad del flujo sanguíneo, en diferentes ubicaciones en sus respectivas pantallas, por ejemplo, dependiendo de qué versión de software ejecutan los controladores de dispositivos médicos, o dependiendo de qué tipo de bomba cardíaca está conectada al controlador de dispositivo médico. Esta ambigüedad en la ubicación en pantalla hace difícil o imposible enmascarar eficazmente las partes apropiadas de las imágenes en pantalla antes del OCR. Por consiguiente, los servidores pueden utilizar varias máscaras y llevar a cabo un proceso de OCR con cada máscara, y a continuación elegir un resultado de OCR. Sin embargo, el procesamiento de OCR es costoso y lento. Los proveedores preferirían que los servidores llevaran a cabo solo un proceso de OCR por imagen en pantalla. Por desgracia, los servidores no son clarividentes y, por lo tanto, no pueden determinar de antemano qué máscara utilizar.
[0011] Se puede encontrar más técnica anterior, por ejemplo, en la Patente JP 2014241089.
[0012] CARACTERÍSTICAS DE LAS REALIZACIONES
[0013] Según la invención, se da a conocer un sistema de monitorización de dispositivos médicos que comprende las características de la reivindicación 1, un procedimiento de monitorización de un dispositivo médico que comprende las características de la reivindicación 7 y un medio no transitorio legible por ordenador que comprende las características de la reivindicación 13. Una realización de la presente invención da a conocer un sistema de monitorización de dispositivos médicos. El sistema incluye un servidor. El servidor está configurado para solicitar y recibir automáticamente "imágenes recibidas". El servidor está configurado para solicitar y recibir las imágenes recibidas a través de una red informática. El servidor está configurado para
solicitar y recibir las imágenes recibidas de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos. Cada imagen recibida contiene el contenido mostrado en una pantalla de un controlador de dispositivo médico. La pluralidad de controladores de dispositivos médicos incluye una pluralidad de primeros controladores de dispositivos médicos y una pluralidad de segundos controladores de dispositivos médicos. Por ejemplo, los primeros controladores de dispositivos médicos pueden ejecutar software de una versión particular, y los segundos controladores de dispositivos médicos pueden ejecutar software de una versión diferente. En otro ejemplo, diferentes tipos de dispositivos médicos están conectados, respectivamente, a los primeros y los segundos controladores de dispositivos médicos.
[0014] Cada primer controlador de dispositivo médico está configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla. Cada segundo controlador de dispositivo médico está configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla. En otras palabras, los primeros y los segundos controladores de dispositivos médicos muestran cierta información, tal como una velocidad del flujo sanguíneo mínima (la "primera información") en diferentes ubicaciones en sus respectivas pantallas. Esta diferencia en las ubicaciones en pantalla se puede deber a la diferencia en la versión de software o a los diferentes tipos de dispositivos médicos conectados a los primeros y los segundos controladores de dispositivos médicos.
[0015] Para cada imagen recibida, el servidor está configurado para generar automáticamente una imagen en mosaico. Con el fin de generar la imagen en mosaico, el servidor está configurado para copiar una primera región de origen de la imagen recibida en una región de destino predefinida en unas terceras coordenadas en la imagen en mosaico. La primera región de origen abarca las primeras coordenadas de pantalla de la imagen recibida. El servidor también está configurado para copiar una segunda región de origen de la imagen recibida en una región de destino predefinida en unas cuartas coordenadas en la imagen en mosaico. Las cuartas coordenadas son diferentes de las terceras coordenadas. La segunda región de origen abarca las segundas coordenadas de pantalla de la imagen recibida. El servidor está configurado, además, para copiar una pluralidad de regiones de origen adicionales de la imagen recibida en regiones de destino predefinidas adicionales respectivas en la imagen en mosaico.
[0016] Después de que se genere la imagen en mosaico, el servidor está configurado para que se aplique automáticamente reconocimiento óptico de caracteres a la imagen en mosaico en una única llamada de servicio para producir resultados de texto.
[0017] El servidor también está configurado para extraer automáticamente un resultado de texto de selector de los resultados de texto. El resultado de texto de selector corresponde a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico. El servidor está configurado para comparar el resultado de texto de selector con el primer texto predefinido. Si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, el servidor está configurado para extraer un resultado de texto seleccionado de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las terceras coordenadas en la imagen en mosaico. De lo contrario, el servidor está configurado para extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico. El servidor está configurado para proporcionar el resultado de texto seleccionado.
[0018] Así pues, aunque los controladores de dispositivos médicos pueden mostrar la misma información en diferentes ubicaciones en pantalla, el servidor es capaz de seleccionar los resultados de OCR de una de las ubicaciones en pantalla apropiada, basándose en el contenido de otro campo en la pantalla, sin tener que llevar a cabo dos procesos de OCR.
[0019] En cualquier realización, el servidor puede estar configurado, si se encuentra que el resultado de texto de selector no coincide con el primer texto predefinido, para comparar automáticamente el resultado de texto de selector con el segundo texto predefinido. El segundo texto predefinido es diferente del primer texto predefinido. Si se encuentra que el resultado de texto de selector coincide con el segundo texto predefinido, el servidor puede estar configurado para extraer automáticamente el resultado de texto seleccionado de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico.
[0020] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un número de versión de software ejecutado por el controlador de dispositivo médico.
[0021] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un identificador de un dispositivo médico acoplado al controlador de dispositivo médico.
[0022] En cualquier realización, el identificador del dispositivo médico puede incluir un número de serie.
[0023] En cualquier realización, el identificador del dispositivo médico puede incluir un código de tipo.
[0024] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un identificador de una característica opcional instalada en el controlador de dispositivo médico.
[0025] En cualquier realización, la región de destino predefinida en las terceras coordenadas en la imagen en mosaico puede ser mayor que la primera región de origen. Para copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas, el servidor puede estar configurado para ampliar la primera región de origen de modo que llene la región de destino predefinida en las terceras coordenadas. En cualquier realización, para copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas, el servidor puede estar configurado para convertir cada píxel de color de la primera región de origen en un píxel blanco en la región de destino predefinida en las terceras coordenadas.
[0026] Otra realización de la presente invención da a conocer un procedimiento de monitorización de un dispositivo médico. El procedimiento incluye solicitar y recibir imágenes recibidas. Las imágenes solicitadas se solicitan y reciben a través de una red informática. Las imágenes recibidas se solicitan y reciben de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos. Cada imagen recibida incluye el contenido mostrado en una pantalla del controlador de dispositivo médico. La pluralidad de controladores de dispositivos médicos incluye una pluralidad de primeros controladores de dispositivos médicos y una pluralidad de segundos controladores de dispositivos médicos. Cada primer controlador de dispositivo médico está configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla, y cada segundo controlador de dispositivo médico está configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla.
[0027] Para cada imagen recibida, el procedimiento incluye generar una imagen en mosaico. Generar la imagen en mosaico incluye copiar una primera región de origen, que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en las terceras coordenadas en la imagen en mosaico. Una segunda región de origen, que abarca las segundas coordenadas de pantalla de la imagen recibida, se copia en una región de destino predefinida en las cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico. Una pluralidad de regiones de origen adicionales de la imagen recibida se copia en regiones de destino predefinidas adicionales respectivas en la imagen en mosaico. Después de generar la imagen en mosaico, se aplica reconocimiento óptico de caracteres a la imagen en mosaico en una única llamada de servicio para producir resultados de texto. De los resultados de texto se extrae un resultado de texto de selector. El resultado de texto de selector corresponde a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico. El resultado de texto de selector se compara con el primer texto predefinido.
[0028] Si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, un resultado de texto seleccionado se extrae de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las terceras coordenadas en la imagen en mosaico. De lo contrario, el resultado de texto seleccionado se extrae de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico. A continuación, se proporciona el resultado de texto seleccionado.
[0029] En cualquier realización, extraer de otro modo el resultado de texto seleccionado puede incluir comparar el resultado de texto de selector con un segundo texto predefinido. El segundo texto predefinido puede ser diferente del primer texto predefinido. Si se encuentra que el resultado de texto de selector coincide con el segundo texto predefinido, el resultado de texto seleccionado se puede extraer de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico.
[0030] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un número de versión de software ejecutado por el controlador de dispositivo médico.
[0031] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un identificador de un dispositivo médico acoplado al controlador de dispositivo médico.
[0032] En cualquier realización, el identificador del dispositivo médico puede incluir un número de serie.
[0033] En cualquier realización, el identificador del dispositivo médico puede incluir un código de tipo.
[0034] En cualquier realización, la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico puede corresponder a una región de origen adicional que contiene un identificador de una característica opcional instalada en el controlador de dispositivo médico.
[0035] En cualquier realización, la región de destino predefinida en las terceras coordenadas en la imagen en mosaico puede ser mayor que la primera región de origen. Copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas puede incluir ampliar la primera región de origen de modo que llene la región de destino predefinida en las terceras coordenadas.
[0036] En cualquier realización, copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas puede incluir convertir cada píxel de color de la primera región de origen en un píxel blanco en la región de destino predefinida en las terceras coordenadas.
[0037] Otra realización más de la presente invención da a conocer un medio no transitorio legible por ordenador codificado con instrucciones. Cuando se ejecutan mediante un procesador, las instrucciones establecen procesos para llevar a cabo un procedimiento implementado por ordenador de monitorización de un dispositivo médico. Los procesos incluyen un proceso configurado para solicitar y recibir, a través de una red informática, de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos, imágenes recibidas del contenido mostrado en una pantalla del controlador de dispositivo médico. La pluralidad de controladores de dispositivos médicos incluye una pluralidad de primeros controladores de dispositivos médicos, cada uno de ellos configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla, y una pluralidad de segundos controladores de dispositivos médicos, cada uno de ellos configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla.
[0038] Los procesos también incluyen un proceso configurado para, para cada imagen recibida, generar una imagen en mosaico. El proceso está configurado para copiar una primera región de origen, que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en las terceras coordenadas en la imagen en mosaico. El proceso también está configurado para copiar una segunda región de origen, que abarca las segundas coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en unas cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico. El proceso está configurado, además, para copiar una pluralidad de regiones de origen adicionales de la imagen recibida en regiones de destino predefinidas adicionales respectivas en la imagen en mosaico.
[0039] Los procesos incluyen, además, un proceso configurado para, después de generar la imagen en mosaico, hacer que se aplique reconocimiento óptico de caracteres a la imagen en mosaico en una única llamada de servicio para producir resultados de texto.
[0040] Los procesos incluyen un proceso configurado para extraer un resultado de texto de selector de los resultados de texto. El resultado de texto de selector corresponde a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico. Los procesos incluyen un proceso configurado para comparar el resultado de texto de selector con el primer texto predefinido.
[0041] Los procesos incluyen un proceso configurado para, si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, extraer un resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las terceras coordenadas en la imagen en mosaico, de lo contrario, extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las cuartas coordenadas en la imagen en mosaico.
[0042] Los procesos también incluyen un proceso configurado para proporcionar el resultado de texto seleccionado. BREVE DESCRIPCIÓN DE LOS DIBUJOS
[0043] La invención se comprenderá más completamente haciendo referencia a la siguiente descripción detallada de realizaciones específicas junto con los dibujos, en los cuales:
[0044] La figura 1 es una vista en perspectiva de un controlador de dispositivo médico convencional a modo de ejemplo y un dispositivo médico convencional a modo de ejemplo, en este ejemplo una bomba cardíaca, acoplado al controlador de dispositivo médico, según la técnica anterior.
[0045] La figura 2 muestra contenido en pantalla de visualización hipotético a modo de ejemplo que se puede mostrar en una pantalla del controlador de dispositivo médico de la figura 1, según la técnica anterior.
[0046] La figura 3 ilustra esquemáticamente las etapas para procesar una imagen en pantalla de visualización, tal como el contenido en pantalla de visualización hipotético de la figura 2, según una realización que no forma parte de la invención reivindicada.
[0047] La figura 4 muestra otro contenido en pantalla de visualización hipotético a modo de ejemplo que se puede mostrar en una pantalla de otro controlador de dispositivo médico, por ejemplo, un controlador de dispositivo médico que ejecuta una versión de software diferente del controlador de dispositivo médico que generó el contenido en pantalla mostrado en la figura 2, según la técnica anterior.
[0048] La figura 5 ilustra esquemáticamente las etapas para procesar una imagen en pantalla de visualización, tal como el contenido en pantalla de visualización hipotético de la figura 2 o el contenido en pantalla de visualización hipotético de la figura 4, a pesar de las diferencias entre los contenidos en pantalla de visualización hipotéticos de las figuras 2 y 4, según una realización de la presente invención.
[0049] La figura 6 es un diagrama de bloques esquemático de los principales componentes de un sistema de monitorización de dispositivos médicos para recopilar, almacenar y recuperar datos operativos de y sobre una pluralidad de controladores de dispositivos médicos, incluyendo un servidor que lleva a cabo las etapas de procesamiento mostradas en la figura 5, según una realización de la presente invención.
[0050] La figura 7 es un diagrama de bloques esquemático de un servidor de la figura 6, según una realización de la presente invención.
[0051] La figura 8 es un diagrama de flujo que ilustra esquemáticamente un procedimiento de monitorización de un dispositivo médico, tal como un procedimiento llevado a cabo por el servidor de las figuras 6 y 7, según una realización de la presente invención.
[0052] La figura 9 es un diagrama de flujo que ilustra esquemáticamente los detalles de una operación (selección de un resultado de texto, basada en un resultado de texto adicional) del diagrama de flujo de la figura 8, según una realización de la presente invención.
[0053] La figura 10 es un diagrama de flujo que ilustra esquemáticamente operaciones llevadas a cabo por un blanqueador de píxeles de color opcional del servidor de las figuras 6 y 7, según una realización de la presente invención.
[0054] DESCRIPCIÓN DETALLADA DE REALIZACIONES ESPECÍFICAS
[0055] Las realizaciones de la presente invención dan a conocer un sistema y un procedimiento de monitorización de dispositivos médicos que extraen información de imágenes en pantalla de controladores de dispositivos médicos, con una única invocación de proceso de OCR por imagen en pantalla, a pesar de que la información crítica aparezca en diferentes ubicaciones en pantalla, dependiendo de qué imagen en pantalla del controlador de dispositivo médico se procese.
[0056] La figura 1 es una vista en perspectiva de un controlador de dispositivo médico convencional a modo de ejemplo 100 y un dispositivo médico convencional a modo de ejemplo 102, en este ejemplo una bomba cardíaca, acoplado al controlador de dispositivo médico 100. En el ejemplo mostrado en la figura 1, el controlador de dispositivo médico 100 es un Automated Impella Controller<®>de Abiomed, Inc., Danvers, Massachusetts, y la bomba cardíaca 102 es una bomba cardíaca Impella<®>2.5, también disponible en Abiomed, Inc. aunque puede utilizarse cualquier controlador de dispositivo médico adecuado. En algunos casos, el dispositivo médico y su controlador de dispositivo médico asociado están combinados. Dicha combinación se denomina en la presente memoria simplemente controlador de dispositivo médico.
[0057] El controlador de dispositivo médico 100 incluye una pantalla de visualización 104, en la que el controlador de dispositivo médico 100 muestra datos operativos sobre los dispositivos médicos, tales como el nivel de la señal cardíaca, la temperatura de la batería, la velocidad del flujo sanguíneo y la integridad de los tubos. Tal como se analiza con más detalle en la presente memoria, el controlador de dispositivo médico 100 puede estar conectado a una red informática y, por lo tanto, enviar imágenes del contenido mostrado en la pantalla 104 a un servidor remoto (no mostrado).
[0058] La figura 2 muestra contenido en pantalla de visualización hipotético a modo de ejemplo 200 que se puede mostrar en la pantalla 104 del controlador de dispositivo médico 100 de la figura 1. Por ejemplo, el contenido en pantalla de visualización puede incluir un tipo 202 de bomba cardíaca ("Impella 5.0"), un número de serie de la bomba cardíaca ("120703") 204, uno o varios mensajes de advertencia/error/informativos 206, una señal de colocación 207, un ajuste de velocidad (rendimiento) de la bomba cardíaca actual ("P-0") 208, un valor 210 de corriente del motor de la bomba cardíaca, una velocidad del flujo sanguíneo actual 212 y velocidades del flujo sanguíneo mínima y máxima 213. El contenido 200 en pantalla de visualización habitualmente está pixelado.
[0059] La figura 3 ilustra esquemáticamente las etapas para procesar una imagen 300 en pantalla de visualización, tal como el contenido en pantalla de visualización hipotético 200 de la figura 2. Aunque la figura 3 es un diagrama esquemático, partes de la figura 3, como una imagen 300 en pantalla, muestran ubicaciones y tamaños aproximados de ciertos elementos, como la región de origen 306 de tipo de bomba cardíaca y los gráficos 318 y 320, coherentes con el contenido en pantalla de visualización hipotético a modo de ejemplo 200 mostrado en la figura 2.
[0060] Como se ha mencionado, para reducir los errores de OCR, algunos servidores enmascaran partes de las imágenes 200, 300 en pantalla que contienen texto o gráficos irrelevantes que pueden confundir a un motor de OCR 302. Por ejemplo, el contenido en pantalla de visualización hipotético 200 (figura 2) incluye gráficos 214 y 216, así como leyendas, como "Flujo de Impella" 218 que, si se incluyen en una entrada al motor de OCR 302, podrían causar o contribuir a errores de OCR.
[0061] Para evitar estos errores, se genera una imagen en mosaico 304 a partir únicamente de partes predeterminadas de la imagen 300 en pantalla de visualización. La imagen en mosaico 304 puede, aunque no necesariamente, tener las mismas dimensiones, en píxeles, que la imagen 300 en pantalla de visualización. En este ejemplo, tres regiones de origen 306, 308 y 310 de la imagen 300 en pantalla de visualización se copian en las regiones de destino predefinidas respectivas 312, 314 y 316, respectivamente, de la imagen en mosaico 304. Sin embargo, cualquier número de regiones de origen de la imagen 300 en pantalla de visualización se puede copiar en la imagen en mosaico 304.
[0062] Cada región de origen 306 a 310 se puede identificar mediante las coordenadas de pantalla correspondientes. Tal como se utiliza en la presente memoria, el término "coordenadas de pantalla", o simplemente "coordenadas", significa información que identifica una posición y un tamaño de una región de una imagen, es decir, un espacio completo donde se muestra o localiza información dentro de una imagen. La región puede ser rectangular, aunque no necesariamente. Las coordenadas pueden incluir, por ejemplo, las posiciones en píxeles x e y de una esquina inferior izquierda de la región, así como la altura y la anchura de la región en píxeles. Se pueden utilizar otras unidades de medida y otras fórmulas adecuadas, siempre que identifiquen la posición y la extensión de la región. Así pues, campos de anchura diferente tienen coordenadas diferentes, incluso aunque ambos campos comiencen en las mismas ubicaciones x e y.
[0063] Las regiones de destino 312 a 316 pueden, aunque no necesariamente, tener las mismas coordenadas que sus regiones de origen correspondientes respectivas 306 a 310. Es decir, las regiones de destino 312 a 316 pueden, pero no necesariamente, tener las mismas posiciones iniciales y/o tamaños que sus regiones de origen correspondientes respectivas 306 a 310. En algunas realizaciones, una o varias de las regiones de destino 312 a 316 es mayor que la región de origen correspondiente respectiva 306 a 310.
[0064] En este caso, el servidor puede ampliar la región de origen 312 a 316, de modo que el resultado ampliado llene la región de destino correspondiente 312 a 316. Ampliaciones a modo de ejemplo incluyen, de forma no limitativa, ampliaciones 1,1x, 1,5x, 2x y 3x. Dicha ampliación puede disminuir la probabilidad de error de OCR.
[0065] En algunas realizaciones, el servidor cambia el color de los píxeles a medida que los píxeles se copian de una región de origen 306 a 310 a una región de destino 312 a 316. Por ejemplo, el servidor puede convertir píxeles de color en píxeles blancos para aumentar el contraste y, por lo tanto, reducir los errores de OCR. El servidor puede convertir a blanco los píxeles cuya luminosidad total, por ejemplo, determinada por la suma de los valores rojo, azul y verde de un píxel, supere un valor umbral, y el servidor puede convertir a negro todos los píxeles restantes.
[0066] Las partes irrelevantes de la imagen 300 en pantalla de visualización, como los gráficos 318 y 320 (correspondientes a los gráficos 214 y 216 de la figura 2), no se copian en la imagen en mosaico 304. Las coordenadas de pantalla de las regiones de origen 306 a 310 deben seleccionarse para evitar texto y/o gráficos que, si se incluyen, puedan confundir al motor de OCR 302 o hacer que el motor de OCR 302 incluya texto espurio en la salida del motor de OCR 302. El resto de la imagen en mosaico 304 se deja en blanco. Una vez que se ha generado la imagen en mosaico 304, la imagen en mosaico 304 se pasa al motor de OCR 302 para su conversión a texto. Un servidor puede incluir el motor de OCR 304, o el servidor puede invocar un motor de OCR externo, como el motor de OCR Google Cloud Vision API proporcionado por Google (Alphabet, Inc., Mountain View, California). El motor de OCR 302 devuelve resultados 321 de texto, representados por Texto1 322, Texto2 324 y Texto3 326 correspondientes, respectivamente, a las regiones de destino 312 a 316. Un servidor extrae Texto1 322, Texto2 324 y Texto3 326 de los resultados 321 de texto.
[0067] Opcionalmente, los resultados 321 de texto, o partes de los mismos, tales como Texto1, Texto2 y/o Texto3322 a 326, se pueden validar utilizando reglas predefinidas, como "el número de serie de la bomba
tiene que ser numérico, entre cinco y siete dígitos". Dicha validación puede evitar que algunos errores de OCR corrompan las visualizaciones posteriores, etc. También opcionalmente, los resultados 321 de texto, o partes de los mismos 322 a 326, se pueden limpiar según procedimientos predefinidos, tales como "eliminar espacios iniciales y finales en los mensajes de error". Estas reglas y procedimientos predefinidos pueden estar almacenados en un archivo de configuración, que se describe con más detalle en la presente memoria. Tal como se ha mencionado, diferentes controladores 100 de dispositivos médicos (figura 1) pueden mostrar el mismo tipo de información, por ejemplo, la velocidad del flujo sanguíneo, en diferentes ubicaciones en sus respectivas pantallas 104, por ejemplo, dependiendo de qué versión de software ejecutan los controladores de dispositivos médicos, o dependiendo de qué tipo de bomba cardíaca 102 está conectada al controlador de dispositivo médico 100. La figura 4 muestra otro contenido en pantalla de visualización hipotético a modo de ejemplo 400 que se puede mostrar en la pantalla 104 de otro controlador de dispositivo médico 100, por ejemplo, un controlador de dispositivo médico 100 que ejecuta una versión de software diferente del controlador de dispositivo médico que generó el contenido 200 en pantalla (figura 2), o al que está conectado un tipo diferente de bomba cardíaca 102, tal como una bomba cardíaca Impella<®>CP de Abiomed, Inc.
[0068] En el contenido en pantalla de visualización hipotético a modo de ejemplo 400, se puede ver que el tipo 402 de bomba cardíaca ("Impella CP") es diferente del tipo 202 de bomba cardíaca correspondiente mostrado en el contenido 200 en pantalla (figura 2), indicando que un tipo diferente de bomba cardíaca está conectado al controlador de dispositivo médico que generó el contenido 400 en pantalla de visualización. El número de serie de la bomba cardíaca se muestra en 404. Como se puede ver comparando las figuras 4 y 2, parte de la información en el contenido 400 en pantalla se muestra en ubicaciones respectivas diferentes de la información correspondiente en el contenido 200 en pantalla. Por ejemplo, la señal de colocación 407, la corriente del motor 410 y la velocidad del flujo sanguíneo actual, mínima y máxima 412 y 413 están, cada una, en coordenadas de pantalla (posiciones y/o tamaños) de la misma información 207, 210, 212 y 213, respectivamente, en el contenido 200 en pantalla (figura 2).
[0069] Evidentemente, esta diferencia en las coordenadas de pantalla plantea problemas para un único servidor que recibe imágenes en pantalla de ambos controladores de dispositivos médicos e intenta enmascarar las partes relevantes de la pantalla de la manera analizada con respecto a la figura 3. Simplemente definir una región de origen que sea lo suficientemente grande como para abarcar ambas versiones de la pantalla fallaría, porque una región de origen tan grande, por ejemplo, la región de origen 420, abarcaría texto extraño ("(mmHg)") en el contenido 400 en pantalla.
[0070] Las realizaciones de la presente invención resuelven este problema, tal como se ilustra esquemáticamente en la figura 5. Aunque la figura 5 es un diagrama esquemático, partes de la figura 5, como una imagen 300 en pantalla, muestran ubicaciones y tamaños aproximados de ciertos elementos, como el tipo 306 de bomba cardíaca y los gráficos 318 y 320, coherentes con los contenidos en pantalla de visualización hipotéticos a modo de ejemplo 200 y 400 mostrados en la figuras 2 y 4. La figura 5 ilustra esquemáticamente las etapas para procesar la imagen 300 en pantalla de visualización, como el contenido en pantalla de visualización hipotético 200 de la figura 2 o el contenido en pantalla de visualización hipotético 400 de la figura 4, a pesar de las diferencias entre los contenidos en pantalla de visualización hipotéticos 200 y 400.
[0071] Las realizaciones de la presente invención resuelven el problema haciendo una copia de cada región de origen que aparece en diferentes coordenadas de pantalla en las respectivas pantallas 104 de diferentes controladores 100 de dispositivos médicos. Cada una de estas copias es procesada por un motor de OCR 302, produciendo potencialmente múltiples resultados de texto, por ejemplo, Texto5 502 y Texto6504. Después de que la imagen en mosaico 506 sea procesada por el motor de OCR 302, se selecciona uno de los resultados de texto Texto5 502 o Texto6 504, basándose en el controlador de dispositivo médico 100 que haya generado la imagen 300 en pantalla. Qué controlador de dispositivo médico 100 generó la imagen en pantalla se puede determinar, por ejemplo, mediante un número 508 de versión de software mostrado en la pantalla 104 y procesado por el motor de OCR 302, tal como se describe en detalle a continuación.
[0072] Continuando con los contenidos en pantalla de visualización hipotéticos de ejemplo 200 y 400, y tal como se ha mencionado, la señal de colocación 207 (figura 2) aparece en coordenadas de pantalla en el contenido 200 en pantalla de visualización diferentes de la señal de colocación 407 (figura 4) en el contenido 400 en pantalla de visualización. Tal como se muestra en la figura 5, la señal de colocación 207 (de la figura 2) aparece en una región de origen 510, mientras que la señal de colocación 407 (de la figura 4) aparece en una región de origen 512. La región de origen 512 solapa con la región de origen 512. Cada una de estas regiones de origen 510 y 512 se copia en una región de destino predefinida distinta 514 y 516, respectivamente, en la imagen en mosaico 506. Idealmente, las regiones de destino 514 y 516 no solapan. De manera similar, la velocidad del flujo sanguíneo actual 212 (figura 2) aparece en coordenadas de pantalla diferentes en el contenido 200 en pantalla de visualización que la velocidad del flujo sanguíneo actual 412 (figura 4) en el contenido 400 en pantalla de visualización. Tal como se muestra en la figura 5, la velocidad
del flujo sanguíneo actual 212 (de la figura 2) aparece en una región de origen 310, tal como lo hace en la figura 3, mientras que la velocidad del flujo sanguíneo actual 412 (de la figura 4) aparece en una región de origen 518. Cada una de estas regiones de origen 310 y 518 se copia en una región de destino distinta 520 y 522, respectivamente, en la imagen en mosaico 506. Idealmente, las regiones de destino 520 y 522 no solapan.
[0073] La región de origen 310 solapa con la región de origen 518. Sin embargo, no se requiere el solapamiento de las dos regiones de origen. Otros textos y/o gráficos, próximos a una o ambas de las regiones de origen 310 y/o 518, se pueden evitar copiando las regiones de origen 310 y 518 en las regiones de destino distintas 520 y 522.
[0074] Las regiones de origen que no plantean problemas para el motor de OCR 302 se copian, cada una, en una sola región de destino respectiva. Por ejemplo, si el tipo 202 de bomba cardíaca (figura 2) ocupa las mismas coordenadas de pantalla que el tipo 404 de bomba cardíaca (figura 4), una región de origen que abarca el texto de tipo de bomba cardíaca en la pantalla 104 se copia en una única región de destino 526 en la imagen en mosaico 506. Incluso si el tipo 202 de bomba cardíaca (figura 2) no ocupa las mismas coordenadas de pantalla que el tipo 404 de bomba cardíaca (figura 4), pero una única región de origen más grande puede abarcar ambos campos de tipo 202 y 404 de bomba cardíaca, sin arriesgarse a errores de OCR, la región de origen más grande se puede copiar en una única región de destino.
[0075] De manera similar, si un número de versión de software ocupa las mismas coordenadas de pantalla en ambos contenidos en pantalla de visualización hipotéticos 200 y 400, o una región de origen más grande puede abarcar ambos números de versión de software sin arriesgarse a errores de OCR, la región de origen 508 se puede copiar a una única región de destino 528.
[0076] Las coordenadas de las diversas regiones de origen 310, 508, 510, 512, 518 y 524, y las coordenadas de las diversas regiones de destino 514, 516, 520, 522, 526 y 528, se pueden almacenar en el archivo de configuración, en lugar de codificarse de forma fija, para facilitar la adición y el ajuste de estos valores, por ejemplo, en respuesta a cambios en el software ejecutado por los controladores 100 de dispositivos médicos. Una vez que se ha generado la imagen en mosaico 504, la imagen en mosaico 504 se pasa al motor de OCR 302 para su conversión a texto. El motor de OCR 302 devuelve resultados 530 de texto, representados por Texto1 532, Texto2 534, Texto3 536, Texto4 538, Texto5 502 y Texto6 504 correspondientes, respectivamente, a las regiones de destino 514, 516, 528, 526, 520 y 522, tal como se ha analizado en la presente memoria, con respecto a la figura 3. Un servidor extrae Texto1532, Texto2534, ..., Texto6504 de los resultados 530 de texto.
[0077] Asumiendo que las diferencias entre los contenidos en pantalla de visualización hipotéticos 200 y 400 son atribuibles a la versión de software que está siendo ejecutada por los respectivos controladores 100 de dispositivos médicos que generaron los contenidos 200 y 400 en pantalla, un servidor extrae Texto3536 de los resultados 530 de texto. Texto3 536 contiene un reconocimiento óptico de caracteres del número de versión del software que aparece en la pantalla 104, por ejemplo, como se indica en 220 (figura 2). Un selector 540 selecciona Texto5502 o Texto6504, dependiendo del valor de Texto3536, es decir, la versión de software. Por ejemplo, el selector 540 puede comparar Texto3536 con posibles valores de la versión de software y, a continuación, elegir Texto5502 o Texto6504, dependiendo de cuál de los posibles valores de la versión de software coincide con el valor real de la versión de software Texto3536. Así pues, Texto3536 sirve como una entrada 542 para el selector 540. El texto elegido por el selector 540 se proporciona como una salida 544 del selector 540.
[0078] El texto seleccionado 544 puede entonces ser procesado por otro componente, tal como un comparador que compara el valor con valores mínimo y máximo predeterminados y emite una alarma si el valor actual está fuera de un intervalo definido por los valores mínimo y máximo.
[0079] De manera similar, el selector 540 selecciona entre Texto1 532 y Texto2 534, que corresponden a las regiones de destino 514 y 516, respectivamente. Aunque en el ejemplo de la figura 5 se describe una selección entre solo dos opciones, más de dos tipos de controladores 100 de dispositivos médicos pueden enviar imágenes 300 en pantalla. En este caso, cada una de algunas de las regiones de origen 310, 508 a 512, 518 y 524 se puede copiar en tres, cuatro o más regiones de destino distintas en la imagen en mosaico 506, según sea necesario para evitar ambigüedades en el reconocimiento óptico de caracteres. En el ejemplo anterior, el número de versión de software que está siendo ejecutado por el controlador de dispositivo médico 100 se utiliza para seleccionar entre regiones de destino duplicadas 520 y 522 y regiones de destino duplicadas 514 y 516. Sin embargo, en otros casos, se puede utilizar otra información que se puede extraer de la imagen de visualización 300 para proporcionar la entrada 542 para el selector 540. Por ejemplo, si es apropiado, el tipo 202 de bomba cardíaca (figura 2), que está abarcado por la región de
origen 524 y la región de destino 526, y corresponde a Texto4538, se puede utilizar como la entrada 542 para el selector 540.
[0080] Preferentemente, el texto u otro indicador de la imagen 300 en pantalla que se utiliza para obtener la entrada 542 para el selector 540 está presente en las mismas coordenadas de pantalla en cada pantalla 104 de los diversos controladores 100 de dispositivos médicos. Sin embargo, al igual que con el número de versión de software, el texto u otro indicador puede estar ubicado en diferentes coordenadas en las pantallas 104 de diferentes controladores 100 de dispositivos médicos, tal como se ejemplifica mediante los contenidos en pantalla de visualización hipotéticos 200 (figura 2) y 400 (figura 4). En algunos casos, la región de origen utilizada para accionar el selector 540, por ejemplo, la región de origen 508, no necesita abarcar todas las ubicaciones en pantalla posibles donde se puede mostrar el texto u otro indicador, siempre y cuando el selector 540 reciba suficiente entrada 542 para hacer una elección.
[0081] Por ejemplo, si la región de origen 508 abarca la versión de software 220 (figura 2) en el contenido en pantalla de visualización hipotético 200, pero no la versión de software 422 (figura 4) en el contenido en pantalla de visualización hipotético 400, el selector 540 puede elegir Texto5 502 si Texto3 536 contiene "X7.1" (el número de versión de software mostrado en el contenido en pantalla de visualización hipotético 200), y el selector 540 puede elegir Texto6504 si Texto3536 no contiene "X7.1" En otras palabras, el selector 540 puede elegir por defecto una opción predeterminada, tal como Texto3536, si la entrada 542 no coincide con ningún valor predeterminado.
[0082] Aunque en este ejemplo solo se utiliza la región de destino 528 para accionar el selector 540, la entrada 542 para el selector 540 puede incluir texto de cualquier combinación de regiones de destino 514, 516, 520, 522, 526 y 528. Por ejemplo, si el número de versión de software es mayor que un valor particular, y la bomba cardíaca es un modelo particular, se puede utilizar el valor de OCR obtenido de una región de destino, mientras que, si el número de versión de software es menor o igual que el valor determinado, se puede utilizar el valor de OCR obtenido de una región de destino diferente. Asimismo, el proceso de decisión llevado a cabo por el selector 540 puede implicar varias etapas. Por ejemplo, si el dispositivo médico es un modelo de bomba cardíaca particular, se puede utilizar el número de versión de software para realizar la selección, pero si el dispositivo médico es otro modelo de bomba cardíaca particular, se puede utilizar el número de serie de la bomba cardíaca para realizar la selección.
[0083] Ejemplos de texto u otro indicador de la imagen 300 en pantalla que se pueden utilizar para obtener la entrada 542 para el selector 540 incluyen: versión de software, versión de hardware, identificador de modelo de la bomba cardíaca, número de serie de la bomba cardíaca, una indicación de una característica o componente opcional presente o instalado en la bomba cardíaca o en el controlador de dispositivo médico, una indicación de una opción seleccionada por un usuario o administrador (por ejemplo, para personalizar la forma en que se muestra la información en la pantalla 104), y combinaciones de los mismos.
[0084] La figura 6 es un diagrama de bloques esquemático de los principales componentes de un sistema de monitorización 600 de dispositivos médicos para recopilar, almacenar y recuperar datos operativos de y sobre una pluralidad de controladores 100 de dispositivos médicos. Por simplicidad, en la figura 6 solo se muestran controladores 100 de dispositivos médicos, y no dispositivos médicos por separado. Aunque se muestran tres controladores 100 de dispositivos médicos, se pueden utilizar otros números de controladores 100 de dispositivos médicos. Cada controlador de dispositivo médico 100 se puede conectar a una red informática 602, opcionalmente a través de un módulo de enlace remoto 604. Cada controlador de dispositivo médico 100 está configurado para capturar automáticamente de forma repetida información de estado sobre el dispositivo médico conectado al mismo y mostrar la información de estado en una pantalla de visualización 104 (figura 1). Tal como se ha mencionado, las figuras 2 y 4 muestran contenidos en pantalla de visualización hipotéticos respectivos 200 y 400 que se pueden mostrar en la pantalla 104 de cualquier controlador 100 de dispositivo médico determinado.
[0085] Un servidor 606 está configurado para solicitar y recibir automáticamente, de forma periódica u ocasional, una imagen del contenido mostrado en la pantalla 104 de cada controlador de dispositivo médico 100, habitualmente aproximadamente cada 20 segundos. La solicitud y la imagen se envían a través de la red informática 602. La imagen se puede enviar en uno o varios mensajes codificados como una trama de vídeo o una secuencia de tramas de vídeo. La o las tramas de vídeo pueden, por ejemplo, contener copias pixeladas de imágenes mostradas en las pantallas de visualización 104 de los controladores 100 de dispositivos médicos.
[0086] El servidor 606 está configurado para procesar las tramas (imágenes) recibidas, tal como se describe con respecto a las figuras 2 a 5. Tal como se ha mencionado, las reglas de validación, los procedimientos de limpieza y las coordenadas de las diversas regiones de origen 310, 508, 510, 512, 518 y 524, y las coordenadas de las diversas regiones de destino 514, 516, 520, 522, 526 y 528, se pueden almacenar en un archivo de configuración 607. El servidor 606 se puede comunicar con un motor de OCR externo (no mostrado) a través de la red informática 602. A continuación, el servidor 606 puede utilizar el texto
reconocido, y, en algunos casos, seleccionado, para determinar automáticamente números de serie u otros identificadores de los controladores 100 de dispositivos médicos, parámetros de funcionamiento de los controladores 100 de dispositivos médicos, si uno de los controladores 100 de dispositivos médicos ha emitido una alarma, etc.
[0087] Un almacén de datos 608 está configurado para almacenar uno o varios archivos multimedia, y, en particular, tramas (imágenes), tales como vídeo MP4 u otros tipos adecuados de archivos multimedia, y el servidor 606 está configurado para almacenar automáticamente las tramas (imágenes) recibidas en el almacén de datos 608. El almacén de datos 608 graba las imágenes en pantalla recibidas por el servidor 606 para su posterior reproducción, tal como en respuesta a solicitudes de una de varias estaciones de monitorización 610. El almacén de datos 608 está configurado para proporcionar una parte solicitada del archivo multimedia almacenado en respuesta a una solicitud de provisión. De este modo, el almacén de datos 608 soporta la reproducción de la información de estado del controlador de dispositivo médico 100. Por ejemplo, el almacén de datos 608 puede proporcionar una o varias tramas (imágenes) de vídeo almacenadas en el archivo multimedia, para su visualización a un usuario.
[0088] El servidor 606 también puede estar configurado para proporcionar información de estado sobre uno o varios de los controladores 100 de dispositivos médicos a una de las estaciones de monitorización 610, basándose en imágenes recibidas por el servidor 606 en tiempo real y/o basándose en información histórica mantenida en el almacén de datos 608.
[0089] La figura 7 es un diagrama de bloques esquemático del servidor 606 de la figura 6. El servidor 606 incluye un generador 700 de imágenes en mosaico configurado para generar la imagen en mosaico 506 (figura 5). El generador 700 de imágenes en mosaico incluye un copiador 704 de primeras regiones de origen, un copiador 706 de segundas regiones de origen y un copiador 708 de regiones de origen adicionales. Aunque los copiadores 704 a 708 de regiones de origen primeras, segundas y adicionales se muestran como componentes separados, algunos de, o todos estos copiadores 704 a 708 pueden compartir código u otros componentes.
[0090] Para cada elemento de información que aparece en diferentes coordenadas de pantalla en los contenidos en pantalla de visualización hipotéticos 200 y 400 y que podría causar un error de OCR si se extrajera de la imagen 300 en pantalla (figura 5) como una única región de origen, el copiador de primeras regiones de origen está configurado para copiar una de las regiones de origen, abarcada por unas primeras coordenadas de pantalla, en la imagen 300 en pantalla a una región de destino predefinida en unas terceras coordenadas en la imagen en mosaico 506, tal como se analiza en la presente memoria. De manera similar, el copiador de segundas regiones de origen está configurado para copiar la otra región de origen, abarcada por las segundas coordenadas de pantalla, en la imagen 300 en pantalla, en una región de destino predefinida en unas cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico 506, tal como se analiza en la presente memoria.
[0091] Ejemplos de dichas regiones de origen incluyen las regiones de origen 310 y 518 de velocidad del flujo sanguíneo actual, que se copian a las regiones de destino 520 y 522, respectivamente, y las regiones de origen de señal de colocación 510 y 512, que se copian a las regiones de destino 514 y 516, respectivamente.
[0092] El copiador 708 de regiones de origen adicionales está configurado para copiar regiones de origen de la imagen 300 en pantalla que no causarían errores de OCR en la imagen en mosaico 506, tal como analiza en la presente memoria. El copiador 708 de regiones de origen adicionales está configurado para copiar una pluralidad de regiones de origen adicionales de la imagen 300 en pantalla en regiones de destino predefinidas adicionales respectivas en la imagen en mosaico 506. Ejemplos de dichas regiones de origen incluyen la región 524 de origen de tipo de bomba y la región de origen de número 508 de versión de software, que se copian en las regiones de destino 526 y 528, respectivamente.
[0093] Tal como se ha mencionado, el servidor 606 puede incluir un motor de OCR, o el servidor 606 puede hacer llamadas de servicio a un motor de OCR externo. Ambas realizaciones están representadas por el motor de OCR 302 en las figuras 5 y 7. Después de que se genere la imagen en mosaico 506, el motor de OCR analiza la imagen en mosaico 506 y devuelve los resultados 530 de texto.
[0094] Un extractor 710 de texto está configurado para extraer un primer resultado 712 de texto de los resultados 530 de texto. El primer resultado 712 de texto corresponde a las terceras coordenadas en la imagen en mosaico 506. Por ejemplo, el primer resultado 712 de texto puede corresponder a la región de origen 310 de velocidad del flujo sanguíneo actual y a la región de destino correspondiente 520.
[0095] El extractor 710 de texto también está configurado para extraer un segundo resultado 714 de texto de los resultados 530 de texto. El segundo resultado 714 de texto corresponde a las cuartas coordenadas en la
imagen en mosaico 506. Por ejemplo, el segundo resultado 714 de texto puede corresponder a la región de origen 518 de velocidad del flujo sanguíneo actual y a la región de destino correspondiente 522.
[0096] El extractor 710 de texto está configurado, además, para extraer, por lo menos, un resultado 716 de texto adicional de los resultados 530 de texto. El, por lo menos, un resultado 716 de texto adicional corresponde a la, por lo menos, una región de destino predefinida adicional en la imagen en mosaico 506. Por ejemplo, el, por lo menos, un resultado 716 de texto adicional puede corresponder a la región 524 de origen de tipo de bomba, que corresponde a la región de destino 526, y/o el, por lo menos, un resultado 716 de texto adicional puede corresponder a la región de origen de número 508 de versión de software, que corresponde a la región de destino 528.
[0097] Un selector 540 de texto elige entre el primer o el segundo resultados 712 o 714 de texto, basándose en el resultado 716 de texto adicional. Por ejemplo, el selector 540 de texto puede elegir el primer o el segundo resultados 712 o 714 de texto, basándose en la versión de software, o basándose en el tipo de bomba cardíaca. El selector 540 de texto proporciona el texto elegido (seleccionado) 544.
[0098] Tal como se ha mencionado, el servidor 606 puede ampliar ciertas regiones de origen. Opcionalmente, un amplificador de región de origen 718 está configurado para ampliar una primera región de origen con el fin de llenar una región de destino predefinida en las terceras coordenadas.
[0099] Tal como se ha mencionado, el servidor 606 puede convertir los píxeles de color en píxeles blancos. Opcionalmente, un blanqueador de píxeles de color 720 está configurado para convertir cada píxel de color de la primera región de origen en un píxel blanco en la región de destino predefinida en las terceras coordenadas.
[0100] La figura 8 es un diagrama de flujo esquemático que ilustra operaciones de un procedimiento de monitorización de un dispositivo médico. El procedimiento puede ser llevado a cabo por el servidor 606 (figuras 6 y 7), y el servidor 606 puede estar configurado para llevar a cabo el procedimiento. En la operación 800, el procedimiento incluye solicitar y recibir imágenes ("imágenes recibidas"). Las imágenes recibidas se solicitan y reciben a través de una red informática. Las imágenes recibidas se solicitan y reciben de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos. Cada imagen recibida incluye contenidos mostrados en una pantalla de un controlador de dispositivo médico. La pluralidad de controladores de dispositivos médicos incluye una pluralidad de primeros controladores de dispositivos médicos, cada uno de ellos configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla, y una pluralidad de segundos controladores de dispositivos médicos, cada uno de ellos configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla.
[0101] En 802, para cada imagen recibida, se genera una imagen en mosaico. Generar cada imagen en mosaico incluye: 804 copiar una primera región de origen, que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en las terceras coordenadas en la imagen en mosaico; 806 copiar una segunda región de origen, que abarca las segundas coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en las cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico; y 808 copiar una pluralidad de regiones de origen adicionales de la imagen recibida en regiones de destino predefinidas adicionales respectivas en la imagen en mosaico.
[0102] Después de generar la imagen en mosaico, en 810, se aplica reconocimiento óptico de caracteres a la imagen en mosaico en una única llamada de servicio para producir resultados de texto.
[0103] En 812, de los resultados de texto se extrae un primer resultado de texto. El primer resultado de texto corresponde a las terceras coordenadas en la imagen en mosaico. En 814, de los resultados de texto se extrae un segundo resultado de texto. El segundo resultado de texto corresponde a las cuartas coordenadas en la imagen en mosaico. En 816, de los resultados de texto se extrae, por lo menos, un resultado de texto adicional. El, por lo menos, un resultado de texto adicional corresponde a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico.
[0104] En 818, se selecciona un resultado de texto del primer y el segundo resultados de texto, basándose en el, por lo menos, un resultado de texto adicional.
[0105] La figura 9 es un diagrama de flujo que ilustra esquemáticamente la operación 818 (figura 8), seleccionando un resultado de texto del primer y el segundo resultados de texto, basándose en el, por lo menos, un resultado de texto adicional, asumiendo que la selección se basa en el número de versión, y los posibles números de versión son "V1", "V2", etc. Por supuesto, el diagrama de flujo se puede modificar en consecuencia, si los criterios de selección son diferentes. En 900, el texto adicional 716 (figura 7) se compara con "V1". Si el texto adicional 716 contiene (alternativamente, es igual a) "V1", el control pasa a 902, donde
se selecciona el primer resultado 712 de texto del motor de OCR 302. El control pasa entonces a 904, donde el texto seleccionado se devuelve como el resultado 544 de texto.
[0106] Por otro lado, si en la operación 900 el, por lo menos, un resultado de texto adicional no contiene (alternativamente, es igual a) "V1", entonces el control pasa a 906, donde el texto adicional 716 se compara con "V2". Si el texto adicional 716 contiene (alternativamente, es igual a) "V2", el control pasa a 908, donde se selecciona el segundo resultado 714 de texto del motor de OCR 302. El control pasa entonces a 904, donde el texto seleccionado se devuelve como el resultado 544 de texto.
[0107] Se puede realizar una prueba adicional, como se indica mediante las elipses 910, para comparar el texto adicional 716 con otros valores predeterminados. Sin embargo, si ninguna de las comparaciones 900, 906, etc. encuentra una coincidencia, el control pasa a 912, que descarta la imagen recibida 300 (figura 5).
[0108] La figura 10 es un diagrama de flujo que ilustra esquemáticamente operaciones llevadas a cabo por el blanqueador de píxeles de color opcional 720 (figura 7). En 1000, se inicia un bucle. El bucle se recorre una vez para cada píxel (denominado el "píxel actual"). En 1002, si el píxel actual no es negro (alternativamente, una suma de los valores rojo, verde y azul del píxel excede un valor umbral predeterminado), el control pasa a 1004, donde el valor rojo del píxel se establece en su valor máximo posible, tal como FF (hexadecimal). A partir de ahí, el control pasa sucesivamente a 1006 y 1008, donde, respectivamente, el valor verde del píxel se establece en su valor máximo posible, y el valor azul del píxel se establece en su valor máximo posible. A continuación, el control pasa a 1010.
[0109] Por otro lado, si en 1002 se encuentra que el píxel actual es negro (alternativamente, una suma de los valores rojo, verde y azul del píxel está por debajo del valor umbral predeterminado), el control pasa a 1010, donde se realiza una comprobación para determinar si hay más píxeles en la imagen para procesar. Si hay, por lo menos, un píxel más a procesar, el control pasa a 1012, donde el píxel actual se avanza al siguiente píxel, y entonces el bucle devuelve el control a 1002. Por otro lado, si se han procesado todos los píxeles, el control pasa de 1010 a 1014.
[0110] Aunque la invención se describe a través de las realizaciones a modo de ejemplo descritas anteriormente, se pueden realizar modificaciones y variaciones de las realizaciones ilustradas sin apartarse de los conceptos inventivos dados a conocer en la presente memoria. Por ejemplo, aunque valores de parámetros específicos, tales como los nombres de los campos de la pantalla de visualización (por ejemplo, tipo de bomba cardíaca, señal de colocación, velocidad del flujo sanguíneo, número de versión de software y número de serie de la bomba cardíaca), pueden citarse en relación con las realizaciones dadas a conocer, dentro del alcance de la invención, los valores de todos los parámetros pueden variar en amplios rangos para adaptarse a diferentes aplicaciones. Por ejemplo, campos distintos del número de versión de software y/o el tipo de bomba cardíaca pueden utilizarse para discriminar entre imágenes en pantalla generadas por diferentes controladores de dispositivos médicos.
[0111] Tal como se utiliza en la presente memoria, incluyendo en las reivindicaciones, el término "y/o", utilizado en relación con una lista de elementos, significa uno o varios de los elementos en la lista, es decir,, por lo menos, uno de los elementos en la lista, pero no necesariamente todos los elementos en la lista. Tal como se utiliza en la presente memoria, incluyendo en las reivindicaciones, el término "o", utilizado en relación con una lista de elementos, significa uno o varios de los elementos en la lista, es decir, por lo menos uno de los elementos en la lista, pero no necesariamente todos los elementos en la lista. "O" no significa "o exclusivo". Aunque aspectos de las realizaciones se pueden describir haciendo referencia a diagramas de flujo y/o diagramas de bloques, las funciones, operaciones, decisiones, etc. de la totalidad o una parte de cada bloque, o una combinación de bloques, pueden combinarse, separarse en operaciones independientes o llevarse a cabo en otros órdenes. Las referencias a un "módulo", una "operación", una "etapa" y términos similares son por comodidad y no pretenden limitar su implementación. La totalidad o una parte de cada bloque, módulo, operación, etapa o combinación de los mismos se puede implementar como instrucciones de programa informático (tal como software), hardware (tal como lógica combinatoria, circuitos integrados de aplicaciones específicas (ASIC, Application Specific Integrated Circuit), matrices de puertas programables en campo (FPGA, Field-Programmable Gate Arrays), procesador u otro hardware), firmware o combinaciones de los mismos.
[0112] El servidor 606, o partes del mismo, puede ser implementado mediante uno o varios procesadores que ejecutan, o son controlados por, instrucciones almacenadas en una memoria. Cada procesador puede ser un procesador de propósito general, tal como una unidad central de procesamiento (CPU, Central Processing Unit), una unidad de procesamiento gráfico (GPU, Graphic Processing Unit), un procesador de señales digitales (DSP, Digital Signal Processor), un procesador de propósito especial, etc., según proceda, o una combinación de los mismos.
[0113] La memoria puede ser memoria de acceso aleatorio (RAM, Random Access Memory), memoria de solo lectura (ROM, Read-Only Memory), memoria flash o cualquier otra memoria, o una combinación de las mismas, adecuada para almacenar software de control u otras instrucciones y datos. Las instrucciones que definen las funciones de la presente invención se pueden entregar a un procesador de muchas formas, incluyendo, de forma no limitativa, información almacenada permanentemente en medios de almacenamiento tangibles no transitorios no grabables (por ejemplo, dispositivos de memoria de solo lectura dentro de un ordenador, tal como ROM, o dispositivos legibles por un accesorio de E/S del ordenador, tales como discos CD-ROM o DVD), información almacenada de forma alterable en medios de almacenamiento tangibles no transitorios grabables (por ejemplo, disquetes, memorias flash extraíbles y discos duros) o información transmitida a un ordenador a través de un medio de comunicación, incluyendo redes informáticas cableadas o inalámbricas. Además, aunque las realizaciones se pueden describir en relación con diversas estructuras de datos ilustrativas, los sistemas se pueden realizar utilizando una variedad de estructuras de datos.
[0114] Los aspectos dados a conocer, o partes de los mismos, se pueden combinar de formas no enumeradas anteriormente y/o no reivindicadas explícitamente.
[0115] Tal como se utilizan en la presente memoria, los términos numéricos, tales como "primero", "segundo" y "tercero", se utilizan para distinguir entre sí las respectivas regiones de origen y de destino, y no pretenden indicar ningún orden en particular ni el número total de regiones de origen o de destino en ninguna realización concreta.
Claims (14)
1. REIVINDICACIONES
1. Sistema de monitorización (600) de dispositivos médicos, que comprende:
un servidor (600) configurado para, automáticamente:
solicitar y recibir, a través de una red informática (602), de cada controlador de dispositivo médico (100) de una pluralidad de controladores de dispositivos médicos, imágenes (300) de contenido visualizado en una pantalla (104) del controlador de dispositivo médico, en el que la pluralidad de controladores de dispositivos médicos comprende, por lo menos, un primer controlador de dispositivo médico configurado para mostrar información de un primer tipo (207) en unas primeras coordenadas de pantalla, y, por lo menos, un segundo controlador de dispositivo médico configurado para mostrar información del primer tipo (407) en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla; y
proporcionar un resultado de texto seleccionado (544),
caracterizado por queel servidor (600) está configurado, además, para, automáticamente:
para cada imagen recibida, generar una imagen en mosaico (506), en el que el servidor está configurado para: (a) copiar una primera región de origen (510, 310), que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida (514, 520) en unas terceras coordenadas en la imagen en mosaico; (b) copiar una segunda región de origen (512, 518), que abarca las segundas coordenadas de pantalla de la imagen recibida, en una región de destino predefinida (516, 522) en unas cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico, y (c) copiar una pluralidad de regiones de origen adicionales (508, 524) de la imagen recibida en regiones de destino predefinidas adicionales respectivas (528, 526) en la imagen en mosaico, en el que las regiones de origen adicionales son las regiones de origen que no causan errores de reconocimiento óptico de caracteres, OCR; después de que se genere la imagen en mosaico, llevar a cabo el procesamiento de OCR sobre la imagen en mosaico solo una vez para producir resultados (530) de texto;
extraer un resultado (536 o 538) de texto de selector de los resultados de texto, correspondiendo el resultado de texto de selector a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico;
comparar el resultado de texto de selector con un primer texto predefinido;
si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado (532 o 502) corresponda a las terceras coordenadas en la imagen en mosaico, de lo contrario, extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado (534 o 504) de texto seleccionado corresponda a las cuartas coordenadas en la imagen en mosaico.
2. Sistema de monitorización de dispositivos médicos, según la reivindicación 1, en el que el servidor está configurado para, automáticamente:
si se encuentra que el resultado de texto de selector no coincide con el primer texto predefinido, comparar el resultado de texto de selector con un segundo texto predefinido, diferente del primer texto predefinido; y si se encuentra que el resultado de texto de selector coincide con el segundo texto predefinido, extraer el resultado de texto seleccionado de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico.
3. Sistema de monitorización de dispositivos médicos, según la reivindicación 1, en el que la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico corresponde a una región de origen adicional que contiene: un número (220, 422) de versión del software ejecutado por el controlador de dispositivo médico, un identificador de un dispositivo médico acoplado al controlador de dispositivo médico o un identificador de una característica opcional instalada en el controlador de dispositivo médico.
4. Sistema de monitorización de dispositivos médicos, según la reivindicación 3, en el que el identificador del dispositivo médico comprende un número de serie (204, 404) o un código (202, 402) de tipo.
5. Sistema de monitorización de dispositivos médicos, según la reivindicación 1, en el que la región de destino predefinida en las terceras coordenadas en la imagen en mosaico es mayor que la primera región de origen, y para copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas, el servidor está configurado para ampliar la primera región de origen de modo que llene la región de destino predefinida en las terceras coordenadas.
6. Sistema de monitorización de dispositivos médicos, según la reivindicación 1, en el que, para copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas, el servidor está
configurado para convertir (720) cada píxel de color de la primera región de origen en un píxel blanco en la región de destino predefinida en las terceras coordenadas.
7. Procedimiento de monitorización de dispositivo médico, comprendiendo el procedimiento:
solicitar y recibir (800), a través de una red informática, de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos, imágenes de contenido visualizado en una pantalla del controlador de dispositivo médico, en el que la pluralidad de controladores de dispositivos médicos comprende, por lo menos, un primer controlador de dispositivo médico configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla, y, por lo menos, un segundo controlador de dispositivo médico configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla; y
proporcionar un resultado de texto seleccionado;
caracterizado por queel procedimiento comprende, además:
para cada imagen recibida, generar una imagen en mosaico, que comprende:
(a) copiar (802) una primera región de origen, que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en unas terceras coordenadas en la imagen en mosaico;
(b) copiar (806) una segunda región de origen, que abarca las segundas coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en unas cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico; y
(c) copiar (808) una pluralidad de regiones de origen adicionales de la imagen recibida en las respectivas regiones de destino predefinidas adicionales en la imagen en mosaico, en el que las regiones de origen adicionales son las regiones de origen que no causan errores de reconocimiento óptico de caracteres, OCR;
después de generar la imagen en mosaico, llevar a cabo el procesamiento de OCR (810) sobre la imagen en mosaico solo una vez para producir resultados de texto;
extraer (816) un resultado de texto de selector de los resultados de texto, correspondiendo el resultado de texto de selector a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico;
comparar el resultado de texto de selector con un primer texto predefinido;
si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, extraer (812) el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las terceras coordenadas en la imagen en mosaico, de lo contrario, extraer (814) el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las cuartas coordenadas en la imagen en mosaico.
8. Procedimiento, según la reivindicación 7, en el que extraer de otro modo el resultado de texto seleccionado comprende:
comparar el resultado de texto de selector con un segundo texto predefinido, diferente del primer texto predefinido; y
si se encuentra que el resultado de texto de selector coincide con el segundo texto predefinido, extraer el resultado de texto seleccionado de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico.
9. Procedimiento, según la reivindicación 7, en el que la, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico corresponde a una región de origen adicional que contiene: un número de versión del software ejecutado por el controlador de dispositivo médico, un identificador de un dispositivo médico acoplado al controlador de dispositivo médico o un identificador de una característica opcional instalada en el controlador de dispositivo médico.
10. Procedimiento, según la reivindicación 9, en el que el identificador del dispositivo médico comprende un número de serie o un código de tipo.
11. Procedimiento, según la reivindicación 7, en el que la región de destino predefinida en las terceras coordenadas en la imagen en mosaico es mayor que la primera región de origen, y copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas comprende ampliar la primera región de origen de modo que llene la región de destino predefinida en las terceras coordenadas.
12. Procedimiento, según la reivindicación 7, en el que copiar la primera región de origen en la región de destino predefinida en las terceras coordenadas comprende convertir cada píxel de color de la primera región de origen en un píxel blanco en la región de destino predefinida en las terceras coordenadas.
13. Medio no transitorio legible por ordenador codificado con instrucciones que, cuando se ejecutan mediante un procesador, establecen procesos para llevar a cabo un procedimiento implementado por ordenador de monitorización de un dispositivo médico, comprendiendo los procesos:
un proceso configurado para solicitar y recibir, a través de una red informática, de cada controlador de dispositivo médico de una pluralidad de controladores de dispositivos médicos, imágenes de contenido visualizado en una pantalla del controlador de dispositivo médico, en el que la pluralidad de controladores de dispositivos médicos comprende, por lo menos, un primer controlador de dispositivo médico configurado para mostrar información de un primer tipo en unas primeras coordenadas de pantalla, y, por lo menos, un segundo controlador de dispositivo médico configurado para mostrar información del primer tipo en unas segundas coordenadas de pantalla, diferentes de las primeras coordenadas de pantalla; y
un proceso configurado para proporcionar el resultado de texto seleccionado;
caracterizado por queel proceso comprende, además:
un proceso configurado para, para cada imagen recibida, generar una imagen en mosaico, en el que el proceso está configurado para:
(a) copiar una primera región de origen, que abarca las primeras coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en unas terceras coordenadas en la imagen en mosaico; (b) copiar una segunda región de origen, que abarca las segundas coordenadas de pantalla de la imagen recibida, en una región de destino predefinida en unas cuartas coordenadas, diferentes de las terceras coordenadas, en la imagen en mosaico; y
(c) copiar una pluralidad de regiones de origen adicionales de la imagen recibida en las respectivas regiones de destino predefinidas adicionales en la imagen en mosaico, en el que las regiones de origen adicionales son las regiones de origen que no causan errores de reconocimiento óptico de caracteres, OCR;
un proceso configurado para, después de generar la imagen en mosaico, llevar a cabo el procesamiento de OCR sobre la imagen en mosaico solo una vez para producir resultados de texto;
un proceso configurado para extraer un resultado de texto de selector de los resultados de texto, correspondiendo el resultado de texto de selector a, por lo menos, una de las regiones de destino predefinidas adicionales en la imagen en mosaico;
un proceso configurado para comparar el resultado de texto de selector con un primer texto predefinido; un proceso configurado para, si se encuentra que el resultado de texto de selector coincide con el primer texto predefinido, extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las terceras coordenadas en la imagen en mosaico, de lo contrario, extraer el resultado de texto seleccionado de los resultados de texto, de tal manera que el resultado de texto seleccionado corresponda a las cuartas coordenadas en la imagen en mosaico.
14. Medio no transitorio legible por ordenador, según la reivindicación 13, en el que el proceso configurado para extraer de otro modo el resultado de texto seleccionado está configurado para:
comparar el resultado de texto de selector con un segundo texto predefinido, diferente del primer texto predefinido; y
si se encuentra que el resultado de texto de selector coincide con el segundo texto predefinido, extraer el resultado de texto seleccionado de los resultados de texto, de forma que el resultado de texto seleccionado corresponde a las cuartas coordenadas en la imagen en mosaico.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US16/360,270 US10824898B2 (en) | 2019-03-21 | 2019-03-21 | Intelligent image segmentation prior to optical character recognition (OCR) |
| PCT/US2020/023899 WO2020191308A1 (en) | 2019-03-21 | 2020-03-20 | Intelligent image segmentation prior to optical character recognition (ocr) |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| ES3054982T3 true ES3054982T3 (en) | 2026-02-09 |
Family
ID=70285972
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| ES20719037T Active ES3054982T3 (en) | 2019-03-21 | 2020-03-20 | Intelligent image segmentation prior to optical character recognition (ocr) |
Country Status (12)
| Country | Link |
|---|---|
| US (4) | US10824898B2 (es) |
| EP (2) | EP3942460B1 (es) |
| JP (2) | JP7646561B2 (es) |
| KR (1) | KR20210140753A (es) |
| CN (1) | CN113841153A (es) |
| AU (2) | AU2020240311B2 (es) |
| CA (1) | CA3130134A1 (es) |
| DK (1) | DK3942460T3 (es) |
| ES (1) | ES3054982T3 (es) |
| IL (4) | IL297613B2 (es) |
| SG (1) | SG11202109883YA (es) |
| WO (1) | WO2020191308A1 (es) |
Families Citing this family (21)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11217344B2 (en) * | 2017-06-23 | 2022-01-04 | Abiomed, Inc. | Systems and methods for capturing data from a medical device |
| DE102018208538A1 (de) | 2018-05-30 | 2019-12-05 | Kardion Gmbh | Intravasale Blutpumpe und Verfahren zur Herstellung von elektrischen Leiterbahnen |
| DE102018208931A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Vorrichtung zum Bestimmen eines Herzzeitvolumens für ein Herzunterstützungssystem, Herzunterstützungssystem und Verfahren zum Bestimmen eines Herzzeitvolumens |
| DE102018208899A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Verfahren zum Ermitteln der Schallgeschwindigkeit in einem Fluid im Bereich eines implantierten, vaskulären Unterstützungssystems |
| DE102018208892A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Sensorkopfvorrichtung für ein minimalinvasives Herzunterstützungssystem und Verfahren zum Herstellen einer Sensorkopfvorrichtung für ein Herzunterstützungssystem |
| DE102018208936A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Bestimmvorrichtung und Verfahren zum Bestimmen einer Viskosität eines Fluids |
| DE102018208862A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Implantierbares, vaskuläres Unterstützungssystem |
| DE102018208870A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Verfahren zur Bestimmung eines Fluid-Volumenstroms durch ein implantiertes, vaskuläres Unterstützungssystem |
| DE102018208933A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Verfahren zur Bestimmung einer Strömungsgeschwindigkeit eines durch ein implantiertes, vaskuläres Unterstützungssystem strömenden Fluids |
| DE102018208945A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Analysevorrichtung und Verfahren zum Analysieren einer Viskosität eines Fluids |
| DE102018208913A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Verfahren zum Betreiben eines implantierten, ventrikulären Unterstützungssystems |
| DE102018208879A1 (de) | 2018-06-06 | 2020-01-30 | Kardion Gmbh | Verfahren zur Bestimmung eines Fluid-Gesamtvolumenstroms im Bereich eines implantierten, vaskuläres Unterstützungssystems |
| DE102018208929A1 (de) | 2018-06-06 | 2019-12-12 | Kardion Gmbh | Verfahren zur Bestimmung einer Strömungsgeschwindigkeit eines durch ein implantiertes, vaskuläres Unterstützungssystem strömenden Fluids |
| DE102018210076A1 (de) | 2018-06-21 | 2019-12-24 | Kardion Gmbh | Verfahren und Vorrichtung zum Erkennen eines Verschleißzustands eines Herzunterstützungssystems, Verfahren und Vorrichtung zum Betreiben eines Herzunterstützungssystems und Herzunterstützungssystem |
| DE102018213350A1 (de) | 2018-08-08 | 2020-02-13 | Kardion Gmbh | Vorrichtung und Verfahren zur Überwachung eines Gesundheitszustands des Patienten |
| US12257021B2 (en) * | 2019-03-26 | 2025-03-25 | Abiomed, Inc. | Dynamically adjustable frame rate from medical device controller |
| US11759110B2 (en) * | 2019-11-18 | 2023-09-19 | Koninklijke Philips N.V. | Camera view and screen scraping for information extraction from imaging scanner consoles |
| JP7525319B2 (ja) * | 2020-07-17 | 2024-07-30 | 富士フイルムヘルスケア株式会社 | 医療データ評価活用システム、および、医療データ評価活用方法 |
| KR20240024080A (ko) | 2021-06-30 | 2024-02-23 | 아비오메드, 인크. | 심장 펌프 컨트롤러 데이터베이스와 병원 간의 인터페이스 |
| KR102604122B1 (ko) * | 2021-08-02 | 2023-11-20 | 가톨릭대학교 산학협력단 | 이미지 분류 장치 및 방법 |
| WO2025245614A1 (en) * | 2024-05-27 | 2025-12-04 | University Of Manitoba | Computer vision for continuous data extraction and digitization from display-equipped patient care devices |
Family Cites Families (17)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH08212269A (ja) * | 1995-02-06 | 1996-08-20 | Matsushita Electric Ind Co Ltd | 帳票処理装置 |
| JP2007299164A (ja) * | 2006-04-28 | 2007-11-15 | Konica Minolta Medical & Graphic Inc | 医用画像処理装置及びプログラム |
| US8229224B2 (en) * | 2009-12-18 | 2012-07-24 | David Van | Hardware management based on image recognition |
| US9183602B2 (en) * | 2011-06-23 | 2015-11-10 | Cerner Innovation, Inc. | Medical device interfacing using a camera |
| US8699819B1 (en) * | 2012-05-10 | 2014-04-15 | Google Inc. | Mosaicing documents for translation using video streams |
| US9351641B2 (en) * | 2012-10-04 | 2016-05-31 | Cerner Innovation, Inc. | Mobile processing device system for patient monitoring data acquisition |
| US8885951B1 (en) | 2012-12-14 | 2014-11-11 | Tony Cristofano | System and method for data identification and extraction of forms |
| JP6448176B2 (ja) | 2013-06-12 | 2019-01-09 | 株式会社構造計画研究所 | 医療画像共有システム、医療画像共有方法、及び医療画像共有プログラム |
| US20150100333A1 (en) * | 2013-10-08 | 2015-04-09 | Clinical Lenz, Inc. | Systems and methods for verifying protocol compliance |
| US20190290215A1 (en) * | 2016-03-19 | 2019-09-26 | Asia Pacific Medical Technology Development Company, Ltd | Medical procedure logging in a complex medical procedure |
| CN106027664B (zh) * | 2016-06-29 | 2019-05-10 | 上海信麟信息科技有限公司 | 医疗设备运行管理系统及方法 |
| US11195600B2 (en) * | 2016-10-17 | 2021-12-07 | International Business Machines Corporation | Automatic discrepancy detection in medical data |
| JP6879752B2 (ja) * | 2017-02-03 | 2021-06-02 | 株式会社日立システムズ | 医療機器監視システム |
| JP6696459B2 (ja) * | 2017-02-28 | 2020-05-20 | 京セラドキュメントソリューションズ株式会社 | 画像形成装置及び画像形成方法 |
| US11217344B2 (en) * | 2017-06-23 | 2022-01-04 | Abiomed, Inc. | Systems and methods for capturing data from a medical device |
| JP7242680B2 (ja) * | 2017-09-19 | 2023-03-20 | アビオメド インコーポレイテッド | 医療機器用の時刻ベースのワンタイムパスワード管理のためのシステムおよび方法 |
| US11120908B2 (en) * | 2018-09-20 | 2021-09-14 | Abiomed, Inc. | Data storage and retrieval system for non-contiguous medical device operational data |
-
2019
- 2019-03-21 US US16/360,270 patent/US10824898B2/en active Active
-
2020
- 2020-03-20 IL IL297613A patent/IL297613B2/en unknown
- 2020-03-20 CN CN202080034701.0A patent/CN113841153A/zh active Pending
- 2020-03-20 IL IL312458A patent/IL312458A/en unknown
- 2020-03-20 ES ES20719037T patent/ES3054982T3/es active Active
- 2020-03-20 EP EP20719037.2A patent/EP3942460B1/en active Active
- 2020-03-20 DK DK20719037.2T patent/DK3942460T3/da active
- 2020-03-20 KR KR1020217034123A patent/KR20210140753A/ko active Pending
- 2020-03-20 AU AU2020240311A patent/AU2020240311B2/en active Active
- 2020-03-20 CA CA3130134A patent/CA3130134A1/en active Pending
- 2020-03-20 IL IL286568A patent/IL286568B2/en unknown
- 2020-03-20 JP JP2021556404A patent/JP7646561B2/ja active Active
- 2020-03-20 WO PCT/US2020/023899 patent/WO2020191308A1/en not_active Ceased
- 2020-03-20 IL IL304300A patent/IL304300B2/en unknown
- 2020-03-20 SG SG11202109883Y patent/SG11202109883YA/en unknown
- 2020-03-20 EP EP25210809.7A patent/EP4660974A3/en active Pending
- 2020-09-29 US US17/036,793 patent/US11587337B2/en active Active
-
2023
- 2023-01-20 US US18/099,294 patent/US12322197B2/en active Active
-
2025
- 2025-03-05 JP JP2025034567A patent/JP7819383B2/ja active Active
- 2025-05-09 US US19/203,531 patent/US20260051192A1/en active Pending
-
2026
- 2026-02-18 AU AU2026201216A patent/AU2026201216A1/en active Pending
Also Published As
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| ES3054982T3 (en) | Intelligent image segmentation prior to optical character recognition (ocr) | |
| KR102936763B1 (ko) | 카메라 가림 검출 방법, 장치, 기기, 저장 매체 및 프로그램 | |
| US11263769B2 (en) | Image processing device, image processing method, and image processing system | |
| WO2021184847A1 (zh) | 一种遮挡车牌字符识别方法、装置、存储介质和智能设备 | |
| JP7591221B2 (ja) | 医療映像装置及び医療映像処理方法 | |
| CN103026720A (zh) | 立体摄像机系统的光学自诊断 | |
| RU2018118363A (ru) | Способы обнаружения и управления опорным маркером, отображаемым на устройстве отображения | |
| EP3709170A1 (en) | Abnormal state detection device, abnormal state detection method, and abnormal state detection program | |
| CN116582653B (zh) | 一种基于多摄像头数据融合的智能视频监控方法及系统 | |
| BR112019007519B1 (pt) | Método e sistema para detecção de vírus de batata em uma imagem de colheita e suporte legível por computador | |
| JP2018109802A5 (es) | ||
| US12523601B2 (en) | Gas detection device, gas detection method, and gas detection program | |
| WO2018133101A1 (zh) | 图像前景检测装置及方法、电子设备 | |
| KR20200120055A (ko) | 오랄 스캔 영상에서 잇몸 영역을 분리하는 장치 | |
| CN116168447B (zh) | 摔倒行为检测方法、装置、电子设备及存储介质 | |
| CN111010562A (zh) | 故障监控方法、装置、计算机可读存储介质及电子设备 | |
| KR102366522B1 (ko) | 물체 검출 방법 및 이 방법을 채용한 감시 시스템 | |
| CN110941988A (zh) | 火焰识别方法、系统以及用于识别火焰的神经网络 | |
| CN116309624A (zh) | 一种解码方法、飞行器及存储介质 | |
| JP2006023798A (ja) | 画像データ処理装置および方法,ならびに画像データ処理プログラム | |
| CN118714251B (zh) | 视频通话图像优化方法、装置、介质和计算设备 | |
| JP2005316958A (ja) | 赤目検出装置および方法並びにプログラム | |
| CN117315572A (zh) | 银行服务大厅的火灾检测提示方法、装置和系统 |