grado en ingeniería de las tecnologías de...

247
Proyecto Fin de Grado Grado en Ingeniería de las Tecnologías de Telecomunicación Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el servicio de distribución de datos (DDS) Autor: José María Roldán Gil Tutor: Isabel Román Martínez Departamento de Ingenería Telemática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2014

Upload: lyphuc

Post on 19-Sep-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Proyecto Fin de Grado

Grado en Ingeniería de las Tecnologías de

Telecomunicación

Demostrador para el desarrollo de un sistema

distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Autor: José María Roldán Gil

Tutor: Isabel Román Martínez

Departamento de Ingenería Telemática

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2014

Proyecto Fin de Grado

Grado en Ingeniería de las Tecnologías de Telecomunicación

Demostrador para el desarrollo de un sistema

distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Autor:

José María Roldán Gil

Tutor:

Isabel Román Martínez

Profesora colaboradora

Dep. De Ingeniería Telemática

Escuela Técnica Superior de Ingeniería

Universidad de Sevilla

Sevilla, 2014

Proyecto Fin de Carrera: Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas

sanitarias sobre el servicio de distribución de datos (DDS)

Autor: José María Roldán Gil

Tutor: Isabel Román Martínez

El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros:

Presidente:

Vocales:

Secretario:

Acuerdan otorgarle la calificación de:

Sevilla, 2014

El Secretario del Tribunal

A mis padres, familia y amigos

vii

Agradecimientos

Con este proyecto pongo fin a mis primeros cuatro años en la Universidad de Sevilla. Siempre estaré

agradecido a mis padres, por haberme enseñado a esforzarme para conseguir mis retos, lo que ha hecho que

haya llegado a conseguir los logros que en mis años de vida he tenido, y por su apoyo todos los días. También

a toda mi familia, en especial a mi tito Rafael que siempre quiso que yo estudiara Telecomunicaciones, y a mis

amigos, tanto de Córdoba como de Sevilla.

Los profesores también han puesto de su parte en mi formación en la Escuela Superior de Ingeniería de

Sevilla. En especial agradecer toda la ayuda que me ha dado Isabel Román, tutora de este proyecto, así como a

Jorge Calvillo por todas las dudas resueltas.

José María Roldán Gil

2014

Resumen

En este proyecto se ha realizado un análisis de las posiblidades de utilizar el patrón de sistemas distribuidos

publicador/suscriptor, destacable por la escalabilidad y la independencia entre los publicadores (emisores) y

los suscriptores de información (receptores), para dar soporte a un sistema de monitorización remota de

pacientes y gestión de alarmas sanitarias. Por otro lado se ha desarrollado un demostrador utilizando el

estándar Data Distribution Service, que sigue este patrón y define una middleware base sobre la que construir

el sistema. Esta middleware facilita las comunicaciones entre los nodos del sistema ocultando al programador

gran parte de la complejidad inherente a la distribución.

En primer lugar se ha hecho un estudio de qué alarmas son útiles para el personal sanitario y cómo

implementarlas utilizando esta tecnología, analizando qué facilidades aportan los mecanismos de suscripción y

filtrado. De este modo una alarma tipo se define con una conjunción de suscripción más filtrado y/o procesado

(cuando sea necesario). Así cada suscriptor puede personalizar las alarmas que desea recibir configurando sus

suscripciones y estableciendo filtros sobre la información publicada. Como demostrador, se ha desarrollado

una aplicación suscriptora que facilita la definición de la mayoría de alarmas identificadas en el estudio previo.

El usuario, a través de una interfaz gráfica de prueba, podrá seleccionar la información en la que esté

interesado y establecer alarmas sobre ella, creándose y registrándose en la middleware el suscriptor necesario

para recibirlas.

De este modo en un despliegue real se publicarán datos de monitorización desde los dispositivos adecuados y

por otro lado los actores interesados en la gestión de algún tipo de alarmas definirán las características de estas

alarmas a través de una GUI y se crearán, configurarán y ejecutarán los suscriptores adecuados para detectar

estas alarmas y lanzar los protocolos de actuación adecuados.

ix

Índice

Agradecimientos vii

Resumen viii

Índice ix

Índice de Tablas xi

Índice de Figuras xiii

Notación xv

1 Introducción 1

1.1 Motivación 1

1.2 Objetivo 1

1.3 Metodología 2

2 Metodología 3

2.1 Patrón Publicador/Suscriptor 3

2.2 Data Distribution Service 3

2.2.1 Especificación DDS 4

2.3 RTI DDS 10

3 Resultados 13

3.1 Análisis de DDS y RTI DDS. 13

3.2 Caso práctico de alarmas sanitarias 14

3.2.1 Taxonomía de alarmas sanitarias 14

3.2.2 Base del software 15

3.2.3 Especificación de requisitos 16

3.2.4 Diseño de la solución para el suscriptor de alarmas 27

3.2.5 Otros aspectos de la solución 33

4 Conclusiones 36

4.1 Conclusiones 36

4.2 Líneas futuras 36

Referencias 39

Anexo A: Javadoc API 41

xi

ÍNDICE DE TABLAS

Tabla 3-1: taxonomía de alarmas 15

Tabla 3-2: capas del sistema de alarmas 15

Tabla 3-3: Req01 Desarrollo de Alarma Umbral 17

Tabla 3-4: Req02 Desarrollo de Alarma Rango 17

Tabla 3-5: Req03 Desarrollo Alarma Memoria 17

Tabla 3-6: Req04 Desarrollo alarma Personalizada 18

Tabla 3-7: Req05 Alarma Persistencia 18

Tabla 3-8: Req06 Alarma Error 18

Tabla 3-9: Req07 Información de monitorización 19

Tabla 3-10: Req08 Mensaje de Alerta 19

xiii

ÍNDICE DE FIGURAS

Ilustración 2-1: primeros conceptos de DDS 4

Ilustración 2-2: modelo servidor/cliente frente a DDS 4

Ilustración 2-3: Infraestructure Module 5

Ilustración 2-4: Domain Module 6

Ilustración 2-5: TopicDefinition Module 7

Ilustración 2-6: Publication Module 8

Ilustración 2-7Suscription Module 9

Ilustración 2-8: vista general de las clases 10

Ilustración 3-1: Diagrama de Casos de Uso 20

Ilustración 3-2: Paciente 20

Ilustración 3-3: Personal Sanitario 21

Ilustración 3-4: Técnico 21

Ilustración 3-5: Registrar usuario en el sistema. 21

Ilustración 3-6: Acceso al sistema. 22

Ilustración 3-7: Arrancar el sistema. 22

Ilustración 3-8: Establecer Alarma Error. 23

Ilustración 3-9: Establecer Alarma Ayuda. 23

Ilustración 3-10: Establecer Alarma Umbral. 24

Ilustración 3-11: Establecer Alarma Personalizada. 24

Ilustración 3-12: Establecer Alarma Persitencia. 24

Ilustración 3-13: Iniciar Lectura de datos. 25

Ilustración 3-14: Información permanente de pacientes. 25

Ilustración 3-15: Fiabilidad. 26

Ilustración 3-16: Usabilidad. 26

Ilustración 3-17: mantenibilidad. 27

Ilustración 3-18: seguridad. 27

Ilustración 3-19: diagrama de paquetes. 27

Ilustración 3-20: diagrama de clases del paquete aplicación. 28

Ilustración 3-21: diagrama de clases del paquete alarmas. 29

Ilustración 3-22: diagrama de clases del paquete listeners. 30

Ilustración 3-23: secuencia del método on_data_available en las clases ListenerXXXX 31

Ilustración 3-24: secuencia del método on_data_available en las clases ListenerMemoriaXXXX 31

Ilustración 3-25: diagrama de clases del paquete topics. 32

Ilustración 3-26: despliegue del suscriptor. 32

Ilustración 3-27: diagrama de despliegue. 33

Ilustración 3-28: interfaz de usuario. 33

Ilustración 3-29: diagrama de secuencia de ejecución de la interfaz. 34

Notación

DDS

OMG

CORBA

OSI

RTPS

QoS

Data Distribution Service

Object Management Group

Common Object Request Broker Architecture

Open System Interconnection

Real Time Publish Subscribe

Quality of Service

RTI

DCPS

PIM

PSM

DLRL

API

Real-Time Innovations Inc.

Data-Centric Publish Subscribe

Platform Independent Model

Platform Specific Model

Data Local Reconstruction Layer

Application Programming Interface

1

1 INTRODUCCIÓN

1.1 Motivación

n el sector de la sanidad la tecnología juega un papel importante. Son numerosas las aplicaciones y

dispositivos que participan en procesos sanitarios, como pueden ser escáneres para realizar diferentes

tipos de análisis a los pacientes, desfibriladores, ultrasonidos, resonancias magnéticas, monitorización,

seguimiento del embarazo… El desarrollo de la tecnología ha favorecido el desarrollo de la medicina.

Respecto a la monitorización de pacientes lo más habitual es que el paciente se controle mediante la medida de

una serie de variables que determinan su estado y que el médico y demás personal sanitario que esté interesado

en esa información acceda a estos datos a través de monitores u otros dispositivos localizados cerca del

paciente. Se trata de un proceso que está acotado en el espacio en el que se desarrolla. Sin embargo cada vez es

más habitual encontrar sistemas de monitorización que permiten que los parámetros medidos se puedan

consultar de forma remota.

Durante la monitorización el flujo de información generado puede llegar a ser bastante significativo, por lo que

filtrar de forma automática esta información para considerar especialmente la más importante y crítica y para

generar y manejar las alarmas pertinentes de forma eficaz puede permitir una mayor eficiencia de los sistemas

de monitorización.

Sería deseable disponer de un sistema que permita un tratamiento “inteligente” de la información de

monitorización, generando alarmas cuando sea necesario e informando de las mismas a los actores pertinentes,

a través de las interfaces oportunas. Al mismo tiempo es deseable que este sistema sea robusto, fiable,

fácilmente configurable y escalable, todo ello al menor coste posible.

1.2 Objetivo

El propósito principal de este proyecto es el desarrollo de un sistema de gestión de alarmas sanitarias obtenidas

a partir de la monitorización de pacientes. Estos pacientes pueden estar en una localización diferente a la del

personal encargado de su cuidado, que será el receptor de las alarmas. Además, la localización tanto de los

pacientes como del personal sanitario no tiene por qué ser fija.

El sistema debe ser independiente de los dispositivos que utilicen los diferentes actores. En la parte del

paciente, encontramos una gran variedad de aparatos para obtener los diferentes valores. Y el cuidador podría

recibir las alarmas en el teléfono móvil a través de un mensaje o desde un ordenador recibiendo un correo

electrónico o en cualquier otro medio de comunicación imaginable... De esta forma otro requisito será que el

sistema sea independiente de la plataforma de los terminales utilizados.

El médico no está interesado en todo momento en toda la información obtenida de la monitorización, sólo en

aquella que sea relevante en un instante (y contexto) determinado. Cada actor implicado en el cuidado de un

paciente debe poder configurar las alarmas que está interesado en recibir así como el medio por el que desea

recibirlas, en función de las características del paciente y del contexto.

Algunas alarmas deben generarse (y tratarse) en tiempo real, ya que pueden referirse a información crítica

sobre el estado del paciente y del contexto.

Podemos resumir los objetivos:

· Monitorización de pacientes en tiempo real independientemente de su ubicación.

· Generación de alarmas a partir de la información de monitorización, alertando a los actores

E

Introducción

2

implicados en su cuidado independientemente de la ubicación de los mimos.

· Posibilidad de configurar de forma personalizada diferentes tipos de alarmas.

· Independencia de plataformas usadas en la emisión y recepción de la información de monitorización y

de las alarmas.

1.3 Metodología

La arquitectura esperada del sistema cumple con las características de un sistema distribuido. Formada por

un conjunto de dispositivos, cada uno de ellos diferente desde el punto de vista de hardware y software,

que estarán conectados a red para compartir datos.

Además, para cumplir con los objetivos se ha considerado adecuado elegir, de entre las tecnologías

disponibles, una que siga el patrón publicador-suscriptor. Este patrón se emplea en aplicaciones software

destinadas al intercambio de información entre sus nodos cumpliendo estas características: independencia

entre publicador (emisor), suscriptor (receptor) y filtrado de mensajes.

El publicador no sabe ni está interesado en saber dónde y quién recibirá los datos enviados, siendo su tarea

principal publicar la información con las características adecuadas (en tiempo, precisión, etc…).

Habitualmente esta información se publica en topics, que son el elemento que hace de unión entre ambos

extremos. Lo definimos como un flujo de datos que pertenecen al mismo tipo. El suscriptor se suscribirá a

ese topic y recibirá los datos publicados en el otro extremo de la comunicación. Existe la posibilidad de

suscribirse aplicando un filtro basado en el contenido del mensaje. De esta manera sólo aquellos datos que

cumplan la condición de filtrado llegarán a ese suscriptor.

3

2 METODOLOGÍA

2.1 Patrón Publicador/Suscriptor

El patrón Publicador/Suscriptor [1] es un patrón arquitectónico que destaca principalmente por facilitar la

escalabilidad de la red. Es utilizado por las middleware orientadas a mensajes (MOM, Message Oriented

Middleware). Los actores que intervienen en el proceso de comunicación son los publicadores, destinados a

enviar los datos, y los suscriptores, que los reciben.

La escalabilidad se consigue porque los publicadores y suscriptores son independientes entre sí. Por un lado,

un publicador enviará los datos sin saber quién los recibirá, dónde se encuentra ese receptor. El suscriptor se

suscribirá a los datos que sean de su interés, recibiendo cada publicación realizada desde ese momento. Ambos

actores se desentienden de la topología de la red.

En la suscripción, existe la posibilidad de aplicar filtros. Así, el suscriptor no recibirá la totalidad de mensajes

publicados sino aquellos en los que está realmente interesado. Distinguimos dos tipos de filtrado: filtrado por

topic y filtrado por contenido. En el primer caso, el suscriptor se suscribirá a un topic, definido como un canal

lógico de información. Sólo le llegarán los mensajes que se publiquen en ese topic. Un suscriptor puede

suscribirse a los topics que desee. En la otra forma, filtro basado en contenido, el suscriptor podrá establecer

condiciones de filtrado que evaluarán el contenido de los mensajes. Si los datos del mensaje cumplen la

condición, llegarán a la aplicación suscriptora. Lo más habitual es la combinación del filtrado basado en topic

y en contenido.

Un ejemplo simple sería un publicador que envía los valores de la temperatura en una casa. Un suscriptor se

suscribe al topic denominado “temperatura” y establece la condición de que la variable del topic temperatura

tiene que ser mayor o igual que 30. El publicador envía sucesivas muestras cuyo valor es 25, por lo que el

suscriptor no ha recibido nada. A continuación, se envía 26, 27, 28, 29, 30, 31… A partir de 30, los datos

llegan a la aplicación receptora (es decir al suscriptor).

2.2 Data Distribution Service

Data Distribution Service (DDS) [2]es un estándar de middleware que sigue el patrón publicador/suscriptor

para sistemas distribuidos centrados en datos en tiempo real. Este estándar es mantenido por el Object

Management Group.

Antes de detallar DDS, hay que conocer qué es una middleware. Una middleware, o software de

intermediación, es un software que se sitúa por encima del sistema operativo utilizado en sistemas distribuidos

para facilitar las comunicaciones entre aplicaciones, que pueden ser de diferentes características como sistemas

operativos o lenguajes de programación. Para el programador, por tanto, actúa como una capa de abstracción,

de forma que éste puede diseñar su aplicación como si los procesos estuvieran corriendo en la misma máquina.

En el caso de DDS, se sitúa entre la capa de red y de aplicación del modelo OSI, simplificando y

estandarizando el flujo de datos en sistemas distribuidos en tiempo real y proveyendo comunicaciones robustas

y eficientes. Al hablar de aplicaciones distribuidas, por tanto, nos referimos a aquellas que se componen de

procesos que interaccionan entre sí comunicándose a través de red. Habitualmente la middleware también

provee una serie de servicios adicionales (nombrado, intermediación, persistencia…) que permiten aumentar la

transparencia de esta distribución.

Siguiendo el patrón publicador/suscriptor, volvemos a encontrarnos con los conceptos de publicador para

enviar los datos y suscriptor para recibirlos. El topic será el canal en el que se publiquen los datos. De esta

forma, los publicadores publicarán muestras de ese topic y se distribuirán a los diferentes suscriptores que

previamente se han suscrito al topic. Un topic se identifica por un nombre y un tipo. Las aplicaciones

mantienen entre ellas un modelo de datos común, aunque cada una trabaja de forma autónoma.

Metodología

4

Ilustración 2-1: primeros conceptos de DDS

Este modelo destaca por desacoplar sus componentes. Desacoplados en el espacio, ya que cada nodo de la red

es independiente de los otros; en tiempo, debido a que la recepción de los datos no tiene que estar sincronizada

con su escritura; desde el punto de vista de la plataforma, las aplicaciones no se preocupan del hardware,

sistema operativo o presentación de los datos en el otro extremo de la comunicación; y de implementación, ya

que DDS es un estándar y hay varias implementaciones que pueden operar entre sí. Desacoplando los nodos

de la red una de las ventajas directas es la tolerancia a fallos, mejorando respecto al tradicional modelo de tipo

cliente/servidor. En actividades críticas como emergencias, transportes o finanzas, es una característica a tener

en cuenta. El hecho de que los elementos pueden entrar y salir del dominio en el que actúan en cualquier

momento también mejora la escalabilidad del sistema.

Ilustración 2-2: modelo servidor/cliente frente a DDS

DDS proporciona mecanismos para una exhaustiva gestión de QoS, que permite controlar el comportamiento

de cada entidad del sistema en aspectos como la duración y persistencia del servicio, presentación de datos,

prioridad de envío, fiabilidad, latencia o recursos del sistema, entre otras.

Estas características de DDS hacen que sea factible desarrollar un sistema de alarmas sanitarias entre

aplicaciones ejecutándose en múltiples dispositivos heterogéneos.

2.2.1 Especificación DDS

El estándar DDS se divide en dos niveles de interfaces: un primer nivel dedicado a especificar un servicio

eficiente de envío de información a los destinatarios adecuados (Data-Centric Publish-Subscribe), y un

segundo nivel opcional que tiene el objetivo de integrar el servicio con la capa de aplicación (Data Local

Reconstruction Layer).

Data-Centric Publish-Subscribe está formado por la parte independiente de la plataforma (Platform

Independent Model) y la parte específica de plataformas CORBA (OMG IDL Platform Specific Model). En el

modelo independiente se define el verdadero funcionamiento de DDS: los elementos del sistema, la

publicación, recepción, QoS… Mientras que la parte dependiente de la plataforma define la interfaz que la

aplicación usará para interactuar con el servicio usando para ello IDL (Interface Description Language),

mapeándose PIM a PSM.

El segundo nivel, Data Local Reconstruction Layer (DLRL) también se estructura en dos apartados: DLRL

Platform Independent Model y OMG IDL Platform Specific Model. El objetivo del modelo independiente es

proveer un acceso más directo a los datos intercambiados. DLRL ha sido diseñado para permitir a los

desarrolladores de las aplicaciones usar la mayoría de las funcionalidades que ofrece DLRL. El desarrollador

podrá describir clases de objetos con sus métodos, campos de datos y relaciones; adjuntar los campos de datos

a las entidades DCPS; manipular los objetos usando los constructores que activarán las entidades DCPS

5 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

adjuntas de manera correcta; gestionar esos objetos almacenados en la cache de objetos. Las características del

mapeo DCPS-DLRL son las siguientes:

· No debe producirse una duplicación innecesaria de datos.

· El mapeo no debe degradar la eficiencia de una implementación.

· Debe ser flexible, aunque hay casos en los que la flexibilidad no es necesaria y añade información

extra. Para esos casos, se define un mapeo por defecto.

Podemos distinguir mapeo de clases, de referencias de objetos, de atributos y de relaciones. DLRL define un

conjunto de entidades, como CacheFactory, CacheBase, Cache, ObjectHome…

Respecto al modelo específico de plataforma, provee el mapeo a plataformas CORBA. Se describe a través de

constructores IDL que pueden ser usados por la aplicación para interactuar con el servicio. También se

especifica cómo la aplicación introduce sus clases y cómo añade indicaciones para generar las entidades

DLRL y los constructores mejorados resultantes de aplicación.

DCPS Platform Independent Model

Esta capa es en la que se desarrollan los conceptos principales de la tecnología DDS. Cinco módulos

estructuran el modelo: Infraestructure Module, Domain Module, Topic-Definition Module, Publication

Module y Subscription Module.

Infraestructure Module: está formado por las clases Entity, DomainEntity, QoSPolicy, Listener, Status,

WaitSet, Condition, GuardCondition, StatusCondition. Se trata de clases base para el sistema, de las que

heredarán el resto. La clase Entity es la clase base para los elementos DomainParticipant, Topic, Publisher, DataWriter, Subscriber y DataReader. Las entidades soportarán QoSPolicy, Listener y Condition.

DomainEntity también es una clase base para las entidades excepto DomainParticipant, de esta manera se le

otorga mayor categoría.

Ilustración 2-3: Infraestructure Module

Fuente: OMG

Domain Module: formado por las clases DomainParticipant, DomainParticipantFactory,

DomainParticipantListener. La clase DomainParticipant permite establecer un dominio de comunicación entre

aplicaciones, aislando aquellas que no pertenecen a él. Podemos decir que un dominio es una red virtual entre

aplicaciones que se encuentran en él.

Metodología

6

Ilustración 2-4: Domain Module

Fuente: OMG

DomainParticipant puede crear y destruir Publisher, Subscriber y Topic. DomainParticipantFactory crea y

destruye objetos DomainParticipant. Y DomainParticipantListener es el objeto Listener usado por

DomainParticipant.

Topic-Definition Module: compuesto por TopicDescription, Topic, ContentFilteredTopic, MultiTopic,

TopicListener y TypeSupport. La información que identifica un topic permanece en los objetos

TopicDescription. Es una clase padre de Topic, ContentFilteredTopic y MultiTopic.

7 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Ilustración 2-5: TopicDefinition Module

Fuente: OMG

La clase Topic declara los datos de la forma más simple posible para ser publicados o suscritos. La clase

ContentFilteredTopic es una especialización de Topic para realizar suscripciones más complejas. Se diferencia

respecto a Topic en que lleva asociada una expresión de filtrado que aplicada a los datos hará que suscriptor

reciba solo los valores que publicados que cumplan la condición. La otra clase es Multitopic, de carácter

opcional. Está destinada al filtrado de los valores publicados provenientes de varios topics. Topic, al ser una

entidad, puede tener asociado un objeto Listener, concretamente TopicListener.

Publication Module: formado por Publisher, DataWriter, PublisherListener, DataWriterListener.

Metodología

8

Ilustración 2-6: Publication Module

Fuente: OMG

El envío de datos se realiza a partir de los métodos de las clases Publisher y DataWriter. El objeto Publisher

gestiona la actividad de varios DataWriter y se encarga de la distribución de los datos, y el objeto DataWriter

es usado por la aplicación para indicar la presencia de un nuevo dato. El resto de clases son los

correspondientes objetos Listener, PublisherListener y DataWriterListener, que más adelante se explicarán.

Subscription Module: formado por Subscriber, DataReader, DataSample, SampleInfo, SubscriberListener, DataReaderListener, ReadCondition, QueryCondition.

9 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Ilustración 2-7Suscription Module

Fuente: OMG

De la misma forma que la publicación, la suscripción es definida con la asociación de un objeto Subscriber con

los objetos DataReader. La entidad Subscriber tiene como finalidad la recepción de los datos publicados en el

topic, indicando a la aplicación que los datos están disponibles en el objeto DataReader. El acceso a los datos

se realiza a partir de los métodos de la clase DataReader “read”, “read_w_condition”, “take”,

“take_w_condition”. La diferencia entre read y take es que ejecutando read es la middleware la responsable

del dato y permanecerá en la cola de recibidos, mientras que con take será responsable la aplicación,

eliminándose del objeto DataReader. Si se usa <>_w_condition se estará realizando un filtrado de los datos en

función de la condición previamente declarada. Para ello se utilizan las clases ReadCondition y

QueryCondition asociándolas al respectivo objeto DataReader.

La clase SampleInfo almacena información identificativa de una muestra de datos. Por ejemplo, indica si la

Metodología

10

muestra ha sido accedida o no mediante el método “read”, el estado de la muestra o varios contadores.

Ilustración 2-8: vista general de las clases

Fuente: RTI

Respecto a la gestión de la calidad de servicio (QoS), se apoya en políticas individuales (objetos que heredan

de QosPolicy). La calidad de servicio puede ser controlada en cada una de las entidades que se encuentran en

el sistema (DomainParticipant, Publisher, Subscriber, Topic, DataWriter, DataReader). La calidad de

servicio establecida en el lado publicador debe ser compatible con el receptor para desarrollar un envío

correcto. DDS comprueba la QoS y la acepta si es válida, en caso contrario mantiene los valores existentes.

Algunos tipos de QoS son DURABILITY, HISTORY, RELIABILITY, DEADLINE, OWNERSHIP…

Por último, tanto Listener como Condition (junto a Wait-set) son dos mecanismos que permiten avisar a la

aplicación de cambios de estado relevantes. Los diferentes estados dependen de la entidad, por ejemplo

INCONSISTENT_TOPIC para Topic, DATA_ON_READERS para Subscriber o SAMPLE_REJECT para

DataReader. Se dividen en dos tipos, Read communication status, grupo al que pertenecen solamente

DATA_ON_READERS y DATA_AVAILABLE, y Plain communication statuses para el resto.

Si la aplicación necesita ser avisada de los cambios de estado de una entidad de forma asíncrona, hay que crear

un objeto Listener y asociarlo a la entidad. Si se quiere que la aplicación espere a que sucedan cambios de

estado, se asocia el objeto StatusCondition a WaitSet y se llama el método de wait() de WaitSet. Se bloqueará

hasta que se cumpla la condición asociada o expire el temporizador.

2.3 RTI DDS

El estándar Data Distribution Service es implementado por varios fabricantes: RTI DDS, OpenSplice, tao-

dds… Un sistema en el que estén presentes aplicaciones de varios fabricantes funciona de la misma forma que

si son del mismo. Esta era una de las ventajas de utilizar el estándar DDS. El sistema de alarmas se ha

desarrollado en RTI [3].

RTI implementa el estándar DDS publicador el OMG. Además, incluye algunas características que son

extensiones de DDS. Principalmente, existen bastantes políticas de calidad de servicio que no están

contempladas por el estándar: DATA_WRITER_PROTOCOL, MULTI_CHANEL, PUBLISH_MODE,

TRANSPORT_UNICAST…

A continuación se exponen varios conceptos de esta tecnología para entender mejor el funcionamiento interno.

Envío de datos: el envío de datos puede llevarse a cabo de dos maneras. La primera es siguiendo una política

de best-effort. La red no garantiza que los datos lleguen a su destino. Los usuarios recibirán el mejor servicio

posible en ese momento, en función del estado de la red. Por el contrario, la otra forma de envío es el envío

11 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

fiable. Se garantiza la entrega de las muestras enviadas en el orden previsto. Para ello, se usa el protocolo

RTPS (Real-Time Publish-Subscribe).

Este protocolo usa tres tipos de mensajes: datos, heartbeats y ACKNACKs. En los mensajes de datos se envía

el valor de los datos transmitidos además de un número de secuencia que lo identifica. Los mensajes de tipo

heartbeats indican al receptor los números de secuencia que debe de haber recibido, que responderá con un

ACKNACK indicando el siguiente número de secuencia que espera. Tanto en el DataWriter como el

DataReader hay una ventana de envío y de recepción, respectivamente. Según los envíos son asentidos se

libera espacio de la ventana de envío. En la recepción no se libera el espacio hasta recibir el mensaje heartbeats

y comprueba que los números de secuencia recibidos son los especificados.

Persistencia de los datos: existen tres mecanismos para conseguir la persistencia de datos: “durable writer

history”, “durable reader state” y “data durability”. El primero, “durable writer history” permite a un

DataWriter hacer persistente su historial. El segundo hace persistente el estado de los objetos DataReader

recordando qué datos ya han sido recibidos. Por último, “data durability” permite a una aplicación configurar

un DataWriter de manera que la información escrita por él persiste más allá de la vida de ese DataWriter. Un

objeto DataReader puede suscribirse y recibir la información aunque no se esté ejecutando la aplicación del

DataWriter. Para ello es necesario el paquete RTI Persistence Service.

Descubrimiento: cada DomainParticipant guarda información sobre los DataReaders y DataWriters que

estén activos en el mismo dominio. Esa información hace posible la comunicación entre DataReader y

DataWriter. El descubrimiento se desarrolla en dos fases: Simple Participant Discovery y Simple Endpoint

Discovery.

Durante la fase Simple Participant Discovery se utiliza el protocolo Simple Participant Discovery Protocol

(SPDP). La información de un DomainParticipant es distribuida a otros DomainParticipants incluyendo un

identificador global del Domainparticipant, información sobre direcciones y puertos y QoS. Esta información

es reproducida periódicamente para informar de cambios e indicar que está activo.

Para la segunda fase el protocolo usado es Simple Discovery Endpoint Protocol (SDEP). El objetivo es unir

DataWriters con DataReaders. Como en la primera parte, hay un intercambio de mensajes hasta que cada

DomainParticipant tiene toda la información sobre los participantes del mismo dominio y sus entidades.

Cuando se descubre un DataWriter o DataReader, se determina si la aplicación tiene la pareja. El

emparejamiento entre la entidad local y la remota se produce si ambas tienen el mismo Topic, el mismo tipo de

datos y políticas de QoS compatibles.

Plugins de Transporte: el núcleo de RTI DDS es independiente del protocolo de transporte utilizado. Utiliza

una API para interactuar con los pluggins de transporte que la implementen y que serán encargados de realizar

el envío y recepción de los mensajes. Los pluggins UDPv4, UDPv6 y memoria compartida están incluidos.

RTI ofrece una extensión de los pluggins, por ejemplo RTI Secure WAN Transport o RTI TCP Transport.

MultiChannels DataWriters: los DataWriter pueden ser configurados para enviar los datos a direcciones

multicast, en función de filtros configurados en ellos. Cada vez que se escribe un nuevo dato, se aplican los

filtros y se envía por la dirección multicast que haya cumplido la condición. En la parte receptora, si una

aplicación se suscribe aplicando un filtro a un topic, sólo leerá la información en aquella dirección multicast

que cumpla su criterio. Si está interesado en todos los datos, se suscribirá al conjunto de direcciones multicast

de ese DataWriter. Usando direcciones multicast mejoramos el uso del ancho de banda de la red en situaciones

en las que hay varios DataReaders interesados en diferentes subconjuntos de datos que provienen del mismo

Topic.

Threading model: RTI utiliza varios hilos para desarrollar sus actividades. Encontramos un hilo dedicado a la

base de datos que se crea en cada DomainParticipant. Esta base de datos almacenará información sobre las

entidades creadas localmente y aquellas que son descubiertas remotamente. Su función consiste en purgar

periódicamente la base de datos.

Otro hilo del sistema es el hilo de eventos. Comprobará periódicamente la condición asociada a un evento o un

temporizador y lanzará el evento cuando se cumpla. Sólo maneja un evento en cada momento, por lo que

implementa una cola para albergar todos los eventos que esté manejando.

Por último, encontramos los hilos de recepción, cuya misión es procesar los paquetes recibidos por la capa de

transporte. La cantidad de hilos de recepción existentes en un DomainParticipant dependerá de la calidad de

servicio configurada para DataWriter y DataReader y de la implementación del protocolo de transporte.

Metodología

12

Gestión de problemas: la gestión de problemas se lleva a cabo a partir de mensajes. Dependiendo de la

configuración seleccionada, variará la cantidad de mensajes emitidos. Los tipos de configuración son, de

menor a mayor cantidad de información: SILENT, ERROR, WARNING, STATUS_LOCAL, STATUS_REMOTE, STATUS_ALL.

13

3 RESULTADOS

n este apartado se analiza qué falicidades puede aportar DDS para desarrollar un sistema de gestión de

alarmas sanitarias y se realiza una primera implementación, a modo de demostrador, que permite

configurar de forma personalizada diferentes tipos de alarmas y generando las alarmas configuradas en

tiempo real.

3.1 Análisis de DDS y RTI DDS.

Una vez conocidas las características del estándar del OMG Data Distribution Service y de la implementación

de la compañía RTI, es necesario analizar qué pueden aportar al desarrollo de un sistema de alarmas sanitarias.

Como ya sabemos, en un sistema DDS los elementos que se comunican son los publicadores y los

suscriptores, relacionados a través de topics. Si identificamos cada elemento en el sistema de alarmas

sanitarias, los publicadores serían los dispositivos que recogen y envían los datos de un paciente en una

ubicación determinada. Un publicador puede entrar o salir del sistema en el momento que se considere

oportuno. Por ejemplo, si se produce la llegada de un nuevo paciente, se encienden sus respectivos dispositivos

y comienza la monitorización publicando los datos en los topics de información establecidos.

Desde el otro extremo de la comunicación, los actores implicados podrían suscribirse a los datos que les

resulten interesantes, desde un dispositivo y ubicación diferentes. Aprovechando la capacidad de DDS de

llevar a cabo una suscripción filtrada se pueden definir (o personalizar) alarmas. No toda la información es

relevante en una monitorización para un suscriptor en concreto, las alarmas configuradas le permitirán actuar

de la forma más conveniente y efectiva en el instante que sea necesario. DDS permite filtrar la información

aplicando la sintaxis SQL utilizada en bases de datos. Prácticamente se cubren todas las necesidades para

personalizar alarmas si el suscriptor filtra la información de un topic comparando el valor (o valores) publicado

con valores de referencia. Los valores permitidos son ‘>’, ‘<’, ‘>=’, ‘<=’, ‘<>’, ‘=’ y ‘between’ o

‘notBetween’ para indicar rangos. Se pueden anidar varias condiciones con ‘and’ y ‘or’. Por ejemplo, una

expresión sería temperatura >=38.5, o variable1>20 and variable2<25. Con la genstión de eventos que realiza

DDS se podría, una vez que se ha recibido una muestra que cumple la condición, ejecutar el programa que

contiene el protocolo de actuación ante la alarma. Podría ser desde enviar un correo electrónico a activar una

señal luminosa o mostrar un mensaje por pantalla.

El uso de dominios en los objetos Participant permite aislar aplicaciones. Las publicaciones realizadas en un

dominio concreto solo serán recibidas por los suscriptores que pertenezcan al mismo. De esta manera por

ejemplo dos clínicas diferentes pueden utilizar el mismo sistema de alarmas ejecutándolo cada una en un

dominio distinto. El dominio es de tipo ‘int’ de 32 bits, por lo que hay un rango de valores bastante amplio.

DDS es configurable gracias a la gestión de QoS que se aplica en cada uno de los objetos definidos. Se

conseguiría priorizar el envío de unos datos frente a otros, para aquellas alarmas que fueran más críticas, o

establecer el tiempo máximo entre dos envíos, entre otras configuraciones.

Sería interesante desde el punto de vista del personal sanitario conocer los topics disponibles para realizar la

suscripción. Puede darse el caso de que un paciente sólo se le controle la respiración, publicando los datos en

el topic “respiración”, y otro en estado más crítico que le controlen todas las variables, publicando en el topic

“respiración” y otros más. Esta información puede ser accedida a través de los topics que RTI ofrece para

almacenar información de descubrimiento.

RTI ofrece tres topics internos en los cuales se publica la información obtenida en el descubrimiento en los

cuales se publica la información obtenida en el descubrimiento de las entidades disponibles en el dominio.

Sería interesante desde el punto de vista del suscriptor conocer qué topics hay en el dominio y poder

E

Resultados

14

suscribirse y configurar la alarma en el que más le interese. El sistema sería dinámico y la información se

podría cambiar según las necesidades.

Estas características de DDS y su implementación en RTI facilitan el desarrollo de un sistema de aplicaciones

distribuidas para la gestión de alarmas sanitarias.

3.2 Caso práctico de alarmas sanitarias

3.2.1 Taxonomía de alarmas sanitarias

Se trata de un resultado interesante ya que resume los tipos de alarmas fundamentales necesarias en una

monitorización y cómo pueden ser implementadas de la forma más eficientemente posible usando

directamente DDS o DDS y procedimientos adicionales.

TIPO DE ALARMA

DESCRIPCIÓN IMPLEMENTACIÓN EN DDS

EJEMPLO

UMBRAL Alarma generada al

comparar el dato

recibido con un valor

umbral.

Sí, la clase ContentFilteredTopic

permite expresiones de filtrado,

usando los comparadores “<, <=,

>, >=, <>, =”.

Se reciben muestras

de la temperatura de

un paciente sólo si la

temperatura >39ºC.

RANGO Alarma generada al

salir o entrar el dato

publicado en un

rango de valores

dado.

Sí, igual que Alarma Umbral, a

través de una expresión de

filtrado.

Se reciben muestras

de temperatura sólo

si hay muestras

fuera del rango

[35:39].

MEMORIA Alarma generada al

comparar el último

dato con muestras

anteriores y cumplir

una diferencia entre

ambas.

No. Es necesario un algoritmo

que implemente una cola FIFO

para almacenar las últimas

muestras recibidas.

Se recibe

información sobre la

temperatura sólo si

hay un aumento de

la temperatura de 3

grados en las últimas

5 muestras

publicadas.

KEEPALIVE Alarma generada al

no recibir un dato en

un periodo de tiempo

Sí. Hay un tipo de QoS,

denominada DEADLINE, que

establece el tiempo máximo entre

muestras enviadas. En el caso de

que ese tiempo se supere entre

dos envíos, se ejecuta el método

“on_requested_deadline_missed”

del Listener.

Una máquina envía

un dato cada 20s,

siendo 25s el

máximo tiempo

entre dos muestras.

El suscriptor es

informado si se

supera ese tiempo,

por ejemplo se ha

apagado por una

subida de tensión en

el edificio.

PERSONALIZADA Alarma

personalizada por

una condición, que se

compara con

información

permanente (ej. Base

de Datos).

Complementa a otras

No. Tras recibirse la información

sería necesario comprobar si el

paciente cumple con la

condición impuesta (utilizando

los recursos externos a DDS

necesarios).

Se genera alarma si

la temperatura es

mayor de 35ºC y el

paciente tiene un

tratamiento

intensivo.

15 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

alarmas.

SUMA Se genera alarma si

se producen varias

alarmas. Pueden ser

varias alarmas de los

tipos indicados.

Sí. La clase MultiTopic permite

expresiones de filtrado que

relacionan varios topics.

Se recibe

información sólo si

la temperatura es

mayor de 30ºC y el

nivel de oxígeno

mayor de 40mg.

PERSISTENCIA Se genera alarma si

se producen varias

alarmas consecutivas.

No. Sería necesario implementar

un algoritmo que compruebe si el

dato recibido (que cumple cierto

criterio) es consecutivo respecto

al anterior o N valores recibidos

en M muestras consecutivas.

Alarma si en dos

muestras

consecutivas la

temperatura es

superior a 40ª o en

cinco muestras se

producen tres

alarmas.

BOTÓN Se genera alarma si

se pulsa un botón.

Sí. Al pulsar el botón, se publica

en el topic. Al recibir el dato el

suscriptor, entiende que han

pulsado el botón. El valor

publicado no es relevante.

Al pulsar el botón de

ayuda de un

dispositivo de

monitorización, se

publica un ‘1’ en el

topic y el suscriptor

de suscribe a todos

los valores ‘1’

publicados.

Tabla 3-1: taxonomía de alarmas

3.2.2 Base del software

Para el desarrollo del sistema de alarmas, se ha usado la librería DDS-Enable Framework, realizada por

Alejandro Talaminos de la Universidad de Sevilla sobre RTI. El lenguaje de programación es Java.

Tabla 3-2: capas del sistema de alarmas

Utilizando este Framework se consigue un despliegue rápido de una aplicación DDS con una calidad de

servicio por defecto. Las clases que forman el Framework son DataListener, DDS, DeadlineListener, ParticipantFW, PublisherFW, QoS, SubscriberFW, TopicBeanBase, TopicBeanInfo.

A partir de la clase ParticipantFW se crea un participante en un dominio determinado. Esta clase es de tipo

Singleton. El participante permite crear los objetos publicador y suscriptor, representados por las clases

PublisherFW y SubscriberFW. Para crear un topic con la información de nuestro interés, se crea una nueva

clase heredando de TopicBeanBase. En el topic se podrán establecer los filtros a través del método

“addRestriction”. Para generar el listener que tomará el control del programa con la llegada de datos al topic,

Resultados

16

se crea otra clase que herede de DataListener. Por último, con el método “write” del publicador se enviarán los

datos y con “read” en el suscriptor se recibirán las publicaciones en el topic.

Por ejemplo, para publicar sería:

ParticipantFW participant = new ParticipantFW(1);

PublisherFW pub = participant.createPublisher();

TopicDato topic = new TopicDato();

topic.setDato(2);

pub.write(topic);

Para la suscripción:

ParticipantFW participant = new ParticipantFW(1);

SubscriberFW sub = participant.createSubscriber();

TopicDato topic = new TopicDato();

ListenerDato listener = new ListenerDato();

sub.write(topic,listener);

Thread.sleep(10000);

3.2.3 Especificación de requisitos

3.2.3.1 Introducción

Como aplicación práctica de Data Distribution Service, se ha desarrollado un software de alarmas sanitarias

utilizando la librería creada por Alejandro Talaminos [4], que permite un desarrollo más simple sin entrar en

configuración de la calidad de servicio, que se establece por defecto. Esto permitirá el intercambio de

información entre publicadores y suscriptores desde ubicaciones diferentes.

Se ha definido un escenario de partida, de modo que el software deberá dar soporte a las necesidades de este

escenario (recogidas en esta especificación de requisitos), aunque se pretende que éste sirva de referente para

la elaboración de escenarios más complejos. Cada paciente dispone de un tensiómetro para medir la tensión

arterial, un termómetro para la temperatura, un botón de ayuda para solicitar asistencia y un glucómetro para

medir el nivel de glucemia en el caso de que padezcan diabetes. Además, los dispositivos generan mensajes de

error en el caso de que se produzca algún fallo técnico en ellos. Esta será la información disponible.

Uno de los objetivos a largo plazo es facilitar a los médicos y demás personal sanitario la configuración de

alarmas. En este proyecto se ha realizado un ensayo con la creación de una GUI sencilla que permite la

configuración de alarmas de tipo; Ayuda asociada al topic Ayuda, Error para el topic Error y alarma Umbral,

Rango y Memoria para los topics Temperatura, Glucemia Y Tensión Arterial.

3.2.3.2 Catálogo de Requisitos Generales

Req01 Desarrollo de Alarma Umbral

Versión <1.0> 26/06/2014

Dependencias

Descripción La Alarma Umbral permite filtrar información

que sea mayor, menor, distinta o igual que un

determinado umbral.

Importancia Alta

17 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Estado Completado

Comentarios Se puede seleccionar el topic en el que se

aplica.

Tabla 3-3: Req01 Desarrollo de Alarma Umbral

Req02 Desarrollo Alarma Rango

Versión <1.0> 26/06/2014

Dependencias

Descripción La Alarma Rango permite filtrar información

que esté fuera o dentro de un rango establecido

por un valor mínimo y máximo.

Importancia Alta

Estado Completado

Comentarios Se puede seleccionar el topic en el que se

aplica.

Tabla 3-4: Req02 Desarrollo de Alarma Rango

Req03 Desarrollo Alarma Memoria

Versión <1.0> 26/06/2014

Dependencias

Descripción La alarma memoria guarda un determinado

número de muestras y comprueba la diferencia

entre la primera y la última para observar la

evolución de los valores.

Importancia Alta

Estado Completado

Comentarios Se puede seleccionar el topic en el que se

aplica.

Tabla 3-5: Req03 Desarrollo Alarma Memoria

Req04 Desarrollo Alarma Personalizada

Versión <1.0> 26/06/2014

Dependencias Req01, Req02, Req03

Resultados

18

Descripción La alarma personalizada complementa las

alarmas anteriores con una condición

almacenada en una base de datos de pacientes.

En el caso de que la condición establecida de

personalización sea igual a la almacenada en la

base de datos de pacientes, hay alarma.

Importancia Alta

Estado Completado

Comentarios Se complementa con las alarmas Umbral,

Rango y Memoria

Tabla 3-6: Req04 Desarrollo alarma Personalizada

Req05 Alarma Persistencia

Versión <1.0> 26/06/2014

Dependencias Req01, Req02

Descripción Si se producen dos alarmas consecutivas o tres

en cinco alarmas consecutivas, se genera la

alarma de persistencia.

Importancia Alta

Estado Completado

Comentarios

Tabla 3-7: Req05 Alarma Persistencia

Req06 Alarma Error

Versión <1.0> 26/06/2014

Dependencias

Descripción Recepción de los mensajes de error de los

dispositivos.

Importancia Alta

Estado Completado

Comentarios

Tabla 3-8: Req06 Alarma Error

Req07 Información de monitorización

19 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Versión <1.0> 26/06/2014

Dependencias

Descripción La información necesaria en el sistema será la

temperatura, glucemia, tensión arterial, pulsado

del botón de ayuda y mensajes de error de los

dispositivos.

Importancia Alta

Estado Completado

Comentarios

Tabla 3-9: Req07 Información de monitorización

Req08 Mensaje de Alerta

Versión <1.0> 26/06/2014

Dependencias

Descripción Cuando se detecte una alarma, se mostrará un

mensaje por pantalla indicándolo.

Importancia Alta

Estado Completado

Comentarios

Tabla 3-10: Req08 Mensaje de Alerta

Resultados

20

3.2.3.3 Diagramas de Casos de Uso

Ilustración 3-1: Diagrama de Casos de Uso

3.2.3.4 Diagramas de Casos de Uso: descripción de los actores

Actor01 Paciente

Versión <1.0> 26/06/2014

Dependencias

Descripción El paciente es el actor encargado de la

publicación de los datos de monitorización a

través de los dispositivos adecuados.

Comentarios

Ilustración 3-2: Paciente

21 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Actor02 Personal sanitario.

Versión <1.0> 26/06/2014

Dependencias

Descripción El personal sanitario estará a cargo del cuidado

de los pacientes, y podrá establecer las alarmas

según sus objetivos.

Comentarios

Ilustración 3-3: Personal Sanitario

Actor03 Técnico

Versión <1.0> 26/06/2014

Dependencias

Descripción El técnico es el encargado de leer los mensajes

de error publicados por los dispositivos y dar

soporte a éstos. También podrá acceder a las

configuraciones del resto de alarmas, aunque

no sea de su interés.

Comentarios

Ilustración 3-4: Técnico

3.2.3.5 Diagramas de Casos de Uso: Especificación de Casos de Uso

CasoDeUso01 Registrar usuario en el sistema

Versión <1.0> 26/06/2014

Dependencias

Precondición

Descripción El sistema debe estar restringido para que no

todo el mundo pueda entrar.

PostCondición

Importancia Media

Estado No se ha implementado en la aplicación.

Comentarios

Ilustración 3-5: Registrar usuario en el sistema.

Resultados

22

CasoDeUso02 Acceso al sistema (Autenticación)

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso01 Registro

Descripción Un usuario registrado debe autenticarse para

entrar en el sistema.

PostCondición

Importancia Media

Estado No se ha implementado en la aplicación.0

Comentarios

Ilustración 3-6: Acceso al sistema.

CasoDeUso03 Arrancar el sistema

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso02 Autenticación

Descripción El usuario debe arrancar el sistema indicando el

dominio en el que se encuentra la información

y el tiempo que estará el sistema leyendo

información.

PostCondición

Importancia Media

Estado Implementado

Comentarios Una línea de mejora sería eliminar ese tiempo.

Ilustración 3-7: Arrancar el sistema.

CasoDeUso04 Establecer Alarma Error

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso04 Arrancar sistema

Descripción Al generar una Alarma Error se recibirán todos

los mensajes de error publicados en el topic

23 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

destinado a ello.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-8: Establecer Alarma Error.

CasoDeUso05 Establecer Alarma Ayuda

Versión <1.0> 26/06/2014

Dependencias Req01: alarma Umbral. Una Alarma Ayuda

consiste en pulsar el botón de ayuda. Se

implementa a través de una alarma umbral

donde la condición de filtrado es boton = 1. Al

pulsar el botón se publica valor ‘1’.

Precondición CasoDeUso04 Arrancar sistema

Descripción Al generar una Alarma Ayuda, se genera una

alarma cada vez que el paciente pulsa el botón

de ayuda.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-9: Establecer Alarma Ayuda.

CasoDeUso06 Establecer Alarma Umbral

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso04 Arrancar sistema

Descripción La alarma rango se lanza si los datos recibidos

cumplen el patrón basado en comparar el dato

con un determinado rango (<,>,igual, distinto

que el rango).

PostCondición

Importancia Alta

Resultados

24

Estado Completado

Comentarios

Ilustración 3-10: Establecer Alarma Umbral.

CasoDeUso08 Establecer Alarma Personalizada

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso05, CasoDeUso06, CasoDeUso07

Descripción Se le añade a la alarma una condición de

personalización, que se comparará con la

información del paciente almacenada en la base

de datos. Si son los mismos, se genera la

alarma.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-11: Establecer Alarma Personalizada.

CasoDeUso09 Establecer Alarma Persistencia

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso05, CasoDeUso06, CasoDeUso07

Descripción Al establecer una Alarma Persistencia, se

genera alarma si las alarmas indicadas en

Precondición se producen dos veces

consecutivas o tres veces de cinco

consecutivas.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-12: Establecer Alarma Persitencia.

25 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

CasoDeUso10 Iniciar Lectura de Datos

Versión <1.0> 26/06/2014

Dependencias

Precondición CasoDeUso04 Arrancar sistema

Descripción Se inicia la lectura de los datos en los topics

correspondientes.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-13: Iniciar Lectura de datos.

3.2.3.6 Requisitos de información del sistema

Req09 Información permanente de los pacientes.

Versión <1.0> 26/06/2014

Dependencias Req04, CasoDeUso08

Descripción Para la condición de personalización, es

necesaria una Base de Datos con información

permanente sobre los pacientes.

Datos específicos Algunos campos de la base de datos deben ser

el nombre, el estado del paciente y el

tratamiento que sigue.

Importancia Alta

Estado Simulado

Comentarios Se ha simulado una base de datos, en el sistema

final debería ser un elemento externo.

Ilustración 3-14: Información permanente de pacientes.

3.2.3.7 Requisitos de fiabilidad del sistema.

Req10 Fiabilidad

Versión <1.0> 26/06/2014

Dependencias

Resultados

26

Precondición

Descripción La información es muy importante al estar en

juego la salud de los pacientes. Por lo tanto el

envío de paquetes debe ser fiable configurable

en la QoS.

Postcondición

Importancia Alta

Estado Según la configuración de las bibliotecas

usadas: QoS por defecto utilizando envío

fiable.

Comentarios

Ilustración 3-15: Fiabilidad.

3.2.3.8 Requisitos de Usabilidad

Req11 Interfaz de usuario

Versión <1.0> 26/06/2014

Dependencias

Precondición

Descripción Los actores Personal Sanitario y Técnico

necesitan un acceso al sistema de alarmas a

través de una interfaz en la que por medio de

botones y campos de texto se configuren las

alarmas.

PostCondición

Importancia Alta

Estado Completado

Comentarios

Ilustración 3-16: Usabilidad.

3.2.3.9 Requisitos de mantenibilidad

Req12 Nuevos Topics en el futuro

Versión <1.0> 26/06/2014

Dependencias Req07

Precondición

Descripción La información que es monitorizada en el

27 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

sistema puede ser aumentada en el futuro ya

que las alarmas no se limitan a un determinado

topic si no que son configurables.

PostCondición

Importancia Media

Estado

Comentarios No es un requisito totalmente objetivo.

Ilustración 3-17: mantenibilidad.

3.2.3.10 Requisitos de seguridad

Req13 Autenticación en el sistema

Versión <1.0> 26/06/2014

Dependencias

Descripción El sistema debe estar restringido a aquellos

actores que tengan permisos para acceder a la

información de los pacientes y generar alarmas.

Es necesario autenticación

Importancia Media

Estado No realizado.

Comentarios

Ilustración 3-18: seguridad.

3.2.4 Diseño de la solución para el suscriptor de alarmas

El sistema de alarmas está formado por un conjunto de clases, las cuales se dividen en los paquetes

“gestorAlarmas”, “alarmas”, “listeners” y “herramientas”. A continuación se representan todas las clases y

diferentes paquetes.

Ilustración 3-19: diagrama de paquetes.

Resultados

28

Ilustración 3-20: diagrama de clases del paquete gestorAlarmas.

29 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Ilustración 3-21: diagrama de clases del paquete alarmas.

Resultados

30

Ilustración 3-22: diagrama de clases del paquete listeners.

Las clases del paquete listeners ejecutan el método on_data_available cuando se produce la llegada de una

nueva publicación en el topic. Este método se sobreescribe para conseguir la funcionalidad deseada.

Las clases ListenerAyuda, ListenerGlucemia, ListenerTension y ListenerNumber ejecutan el algoritmo de la

figura 3-23 al recibir un nuevo dato.

31 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

Ilustración 3-23: secuencia del método on_data_available en las clases ListenerXXXX

Las clases ListenerMemoriaTemperatura, ListenerMemoriaGlucemia, ListenerMemoriaTension y ListenerNumber actúan según el diagrama de la figura 3-24.

Ilustración 3-24: secuencia del método on_data_available en las clases ListenerMemoriaXXXX

Resultados

32

Ilustración 3-25: diagrama de clases del paquete topics.

El despliegue del sistema suscriptor de alarmas en un dispositivo sigue el siguiente esquema.

Ilustración 3-26: despliegue del suscriptor.

Desde un punto de vista más general, el esquema de todos los elementos que hacen posible la generación de

33 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

información y la recepción sería:

Ilustración 3-27: diagrama de despliegue.

3.2.5 Otros aspectos de la solución

3.2.5.1 Interfaz de usuario

Para poder interactuar con el sistema de alarmas de forma rápida y simple, se ha desarrollado una interfaz de

usuario. Se trata de un ensayo, pues no es un objetivo prioritario de este proyecto, para realizar una prueba de

concepto de cómo se puede crear una GUI que facilite la labor a los actores. Para el sistema real debería

desarrollarse más, como se indica en el apartado de líneas futuras. Se ha utilizado el plugin de Eclipse

“WindowBuilder” [1], que separa el diseño de la vista del código que se ejecuta. El resultado se muestra en la

figura 3-28.

Ilustración 3-28: interfaz de usuario.

Resultados

34

Esta interfaz crea una instancia de la clase AplicacionAlarmas y, dependiendo de la alarma seleccionada, se

ejecuta uno de los métodos de AplicacionAlarmas con los parámetros obtenidos de los diferentes campos.

Se pueden seleccionar alarmas de tipo Umbral, Rango, Memoria, Error y Ayuda. Cuando se selecciona

Umbral, Rango o Memoria se puede además elegir entre los topics TemperaturaTopic, NumberTopic

(utilizado para pruebas), GlucemiaTopic y TensionArterialTopic. En los casos de alarma Error y Ayuda no hay

elección de topic ya que los mensajes de error siempre se publicarán en el topic ErrorTopic y los mensajes del

botón de ayuda en el topic AyudaTopic. Para cada alarma seleccionada junto con el topic si es necesario, se

activan o desactivan los campos necesarios, de igual forma al arrancar se desactivan los campos tiempo de

suscripción y dominio hasta que se inicie y se termine la suscripción.

Para

Para configurar una alarma Umbral en el topic TensionArterialTopic, formado por dos variables, el operador

es el mismo para ambas. Sin embargo en el método de la clase AlarmaUmbral sí que se permite que sean

distintos. Se ha realizado así por simplificar la interfaz.

Ilustración 3-29: diagrama de secuencia de ejecución de la interfaz.

3.2.5.2 Publicador de prueba

En el siguiente código se muestra un publicador que publica información en todos los topics. La información

publicada representa la temperatura, glucemia y tensión y servirá para comprobar que efectivamente llegan las

alarmas según las suscripciones que se hayan realizado.

import topics.*; import com.framework.vendors.rti.main.*; public class Publicador { public static void main(String[] args) throws InterruptedException { float n = 0; int seq = 0; ParticipantFW participant = new ParticipantFW(1); PublisherFW publicador = participant.createPublisher(); TensionArterialTopic tensionTopic = new TensionArterialTopic(); GlucemiaTopic glucemiaTopic = new GlucemiaTopic(); TemperaturaTopic temperaturaTopic = new TemperaturaTopic(); AyudaTopic ayudaTopic = new AyudaTopic(); ErrorTopic errorTopic = new ErrorTopic(); while (true) { for (n = 20; n < 40; n++) { tensionTopic.setTensionArterialSistolica(n); tensionTopic.setTensionArterialDiastolica(n); tensionTopic.setPaciente("luis");

35 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

tensionTopic.setSecuencia(seq); publicador.write(tensionTopic); Thread.sleep(500); glucemiaTopic.setGlucemia(n); glucemiaTopic.setPaciente("pepe"); glucemiaTopic.setSecuencia(seq); publicador.write(glucemiaTopic); Thread.sleep(500); temperaturaTopic.setTemperatura(n); temperaturaTopic.setPaciente("carlos"); temperaturaTopic.setSecuencia(seq); publicador.write(temperaturaTopic); Thread.sleep(2000); if(n == 22 || n==34){ ayudaTopic.setAyuda(1); ayudaTopic.setPaciente("maria"); ayudaTopic.setSecuencia(seq); publicador.write(ayudaTopic); Thread.sleep(10000);} if(n==31 || n==25){ errorTopic.setError("ERROR: mensaje de error."); errorTopic.setPaciente("carlos"); publicador.write(errorTopic); Thread.sleep(1000); } } } } }

Este publicador también utiliza la librería DDS-Enable Framework. Es necesario un objeto ParticipantFW que

generará el objeto publicador PublisherFW. El método write de la clase PublisherFW envía los datos de un

determinado topic, habiendo establecido esos datos en el topic previamente.

3.2.5.3 Problemas encontrados

Dado que el objetivo de este PFG es un acercamiento a las posibilidades de la tecnología DDS para el

desarrollo de un sistema de alarmas y que se realiza un caso práctico como prueba de concepto, resulta

especialmente interesante reflejar las principales limitaciones y problemas encontrados y las soluciones

adoptadas, para facilitar el trabajo de los futuros desarrolladores.

· Una aplicación no puede tener varias instancias de un objeto ParticipantFW del mismo dominio ya

que es un objeto Singleton. Originariamente la clase Alarma tenía un atributo de tipo ParticipantFW

utilizado para obtener el suscriptor SubscriberFW. En nuestro sistema suscriptor podíamos tener

varias alarmas, por lo que se instanciaban varios objetos ParticipantFW. Esto generaba una excepción

si había más de un ParticipantFW pertenecientes al mismo dominio en el programa. Por lo tanto se

modificaron las clases de alarmas para que incluyeran un atributo de tipo ParticipantFW que debe ser

único para las alarmas establecidas en el mismo dominio.

· Una aplicación no puede tener varias instancias del un objeto topic determinado ni de SubscriberFW.

En la línea del error anterior, en la clase Alarma también formaban parte de los atributos los diferentes

topics y el suscriptor de tipo SubscriberFW. Las alarmas se configuraban para un paciente en

concreto, siendo el nombre del paciente uno de los campos del filtro. Al establecer varias alarmas de

un mismo tipo, una para cada paciente, se formaban varias restricciones en diferentes instancias del

mismo topic. Sólo prevalecía la última restricción, que machacaba las anteriores. Respecto a los

suscriptores, para cada paciente se establecía un objeto listener. Para realizar la suscripción, el

suscriptor de la clase ejecutaba el método read con parámetros la instancia del topic y el listener que

gestiona la llegada de datos, lo cual era incorrecto y generaba una excepción. Para solucionarlo, se

cambió el parámetro de ParticipantFW en el constructor de las clases Alarma por uno de tipo

SubscriberFW. Así, en el programa solo hay un objeto ParticipantFW que creará un único

SubscriberFW y ese será usado por todas las alarmas. Para tener varios suscriptores hay que correr

varias instancias del programa. Para corregir los topics, en la clase AplicacionAlarmas se usan unas

banderas que controlan que solo se establezca una alarma (y por tanto una restricción) en cada topic.

Conclusiones

36

Estos dos problemas fueron localizados al realizar las pruebas estableciendo varias alarmas a la vez. En las

pruebas individuales no se detectó.

· Reenvío de la última muestra enviada al cerrar un participante en el que se encuentra un

suscriptor. Al hacer las primeras pruebas sobre la primera alarma que se implementó, la alarma

Umbral, en el código del publicador se cerraba el objeto participante al finalizar el programa

ejecutando participant.close(). En el nodo suscriptor se observaba como llegaba la misma muestra

otra vez al mostrarse el mensaje de alarma. La solución fue eliminar esa línea de código en el

publicador.

4 CONCLUSIONES

4.1 Conclusiones

· Se ha realizado una clasificación de los tipos de alarmas que se pueden encontrar en un Sistema

de gestión de alarmas sanitarias y se ha analizado cómo éstas pueden ser implementadas

directamente con las prestaciones DDS o con una combinación de DDS y procesos añadidos.

Concluimos que realmente las capacidades de DDS facilitan la tarea de configuración de alarmas,

llegando incluso a permitir, para algunos tipos, la definición directa de las mismas.

· Se ha realizado una formalización elemental de los requisitos básicos de un sistema de

monitorización de pacientes y gestión de alarmas sanitarias. A partir de éstos se ha verificado que

las middleware basadas en el patrón publicador/suscriptor, y en particular DDS, pueden dar

soporte a algunos de los requisitos identificados. En particular la independencia entre los nodos

publicadores y suscriptores en DDS hace que la tolerancia a fallos sea alta, esto sumado a la

escalabilidad que proporciona, da soporte a dos requisitos importantes en un sistema de estas

características.

· La información obtenida en la monitorización, y publicada en los topics adecuados, se puede

filtrar directamente utilizando las opciones de suscripción y filtrado que se proporcionan en el

estándar DDS. De esta manera el suscriptor puede personalizar la información que quiere recibir

y configurar las alarmas que debe gestionar de forma estandarizada y sencilla. Los frameworks y

librerías en los que se apoya el desarrollo realizado facilitan la programación pero pueden no

soportar todas las funcionalidades de las capas inferiores.

· Se ha desarrollado una GUI, a modo de prueba de concepto, para facilitar a los actores del sistema

interfaces que le permiten configurar un suscriptor en función de las alarmas que debe gestionar.

Aunque en la GUI implementada se da a elegir entre diferentes alarmas que se aplican a los topics

de información predefinidos DDS no está cerrado a las alarmas aquí representadas, utilizadas tan

solo como prueba de conceptos, por lo que para un sistema real más complejo la GUI debe ser

extendida y refinada.

4.2 Líneas futuras

A continuación se presentan algunas ideas de cómo seguir avanzando en el análisis y desarrollo de sistemas de

monitorización de pacientes y gestión de alarmas sanitarias sobre middlewares de tipo pub/sub (y en particular

DDS).

· Implementar procedimientos para la gestión de alarmas una vez se hayan detectado. Actualmente, al

activarse una alarma el usuario es avisado por un mensaje por pantalla, es decir no existe un

protocolo de actuación ni procedimientos que específicamente gestionen estas alarmas. Alternativas

de aviso a personal sanitario podrían ser el envío de mensajes de texto a un teléfono móvil , el envío

de correos electrónicos, la generación de alarmas visuales y sonoras en distintos tipos de

dispositivos... pero además podría haber procedimientos de actuación que lanzaran todo un

37 Demostrador para el desarrollo de un sistema distribuido de gestión de alarmas sanitarias sobre el

servicio de distribución de datos (DDS)

protocolo de actuación ante una alarma que implicara la participación de diferentes agentes

(personas o procesos).

· Mejorar la interfaz de usuario. La interfaz de configuración de alarmas es simple ya que no era un

objetivo principal. En la misma vista se encuentran todos los botones y campos de texto y sería

mejor que según la alarma seleccionada sólo aquellos botones necesarios fueran los que estuvieran

en pantalla. También que hubiera una secuencia de pantallas que se ajuste a la secuencia de

ejecución (ver imagen secuencia de interfaz de usuario) mostrando primero el arranque del sistema,

después la selección de alarmas y por último la inicialización. Debería ser más flexible a la hora de

definir topics, caracterizar rangos y definir datos externos que influyan en la alarma y el origen de

estos, como es el caso de la BBDD que se simula este proyecto. Además sería interesante que esta

misma interfaz permita especificar los medios por los que el actor quiere recibir la alarma (correo

electrónico, SMS,…).

· Ampliar el número de topics.

· El software actual ejecuta la lectura de datos y lanzamiento de alarmas durante un tiempo indicado

por el usuario. Lo ideal sería que el sistema estuviera siempre ejecutándose, por lo que indicar un

tiempo no es útil.

· Desarrollar el código que permita obtener la información generada en los topics de descubrimiento.

RTI guardaba la información de descubrimiento de entidades en tres topics. Habría que ver que

información se obtiene y que puede aportar para que el sistema sea más dinámico.

· La información de monitorización se ha dividido en varios topics, cada uno de ellos dedicado a un

tipo de información. Sin embargo los topics pueden estar formados por varias variables y cada vez

que se publica en alguna de ellas se envía el valor de todas, cabe pensar en la posibilidad de utilizar

topics formados por múltiples variables. Al establecer el valor de una variable, éste permanece hasta

que se introduce un nuevo valor, así pueden convivir en el mismo topic variables que tengan distinto

periodo de actualización. Al publicar, se envían todos los valores a los suscriptores. Como

característica negativa de este planteamiento de la información, se produce un envío innecesario de

aquellos valores que se actualicen poco. Habría que estudiar el impacto en el rendimiento del canal

causado por la utilización de un topic de varias variables. Las condiciones de filtrado seguirían

siendo válidas. Se pueden anidar condiciones utilizando ‘or’ o ‘and’ y dedicar una condición a cada

variable.

39

REFERENCIAS

[1] R. y. T. U. d. S. Máster en Automática, MOM Software de intermedicación basado en paso de mensajes, 2013.

[2] OMG, «Data Distribution Service for Real-time Systems,» 2007. [En línea]. Available:

http://www.omg.org/spec/DDS/1.2/PDF/.

[3] R.-T. Innovations, «RTI Data Distribution Service User's Manual,» 2011.

[4] A. Talaminos, DDS Enable Framework, GIB Universidad Sevilla.

[5] «WindowBuilder Documentation,» [En línea]. Available:

http://www.eclipse.org/windowbuilder/documentation.php.

41

Anexo A: Javadoc API

En este anexo se muestra la documentación de los paquetes “gestorAlarmas”, “alarmas”, “listeners”, “topics”

y “herramientas” generado a través de la herramienta Javadoc, de Oracle que permite generar la

documentación en formato HTML a partir de comentarios en el código.

gestorAlarmas

Table of Contents

Package gestorAlarmas......................................................................................................................................1

Hierarchy For Package gestorAlarmas............................................................................................................2

Class Hierarchy........................................................................................................................................2

Uses of PackagegestorAlarmas..........................................................................................................................3

gestorAlarmas.....................................................................................................................................................4

Classes.....................................................................................................................................................4

Uses of ClassgestorAlarmas.AplicacionAlarmas....................................................................................4

Uses of AplicacionAlarmas in <Unnamed>......................................................................................4

Class AplicacionAlarmas.........................................................................................................................5

Field Summary..................................................................................................................................6

Constructor Summary........................................................................................................................6

Method Summary..............................................................................................................................7

Methods inherited from class java.lang.Object.................................................................................7

Field Detail........................................................................................................................................7

Constructor Detail.............................................................................................................................8

Method Detail....................................................................................................................................9

gestorAlarmas

i

Package gestorAlarmas

Class Summary

Class Description

AplicacionAlarmas Clase AplicacionAlarmas.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Package•

Next Package•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Package gestorAlarmas 1

Hierarchy For Package gestorAlarmas

Package Hierarchies:

All Packages•

Class Hierarchy

java.lang.Object

gestorAlarmas.AplicacionAlarmas♦

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Hierarchy For Package gestorAlarmas 2

Uses of Package

gestorAlarmas

Packages that use gestorAlarmas

Package Description

<Unnamed>

Classes in gestorAlarmas used by <Unnamed>

Class and Description

AplicacionAlarmas

Clase AplicacionAlarmas.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of PackagegestorAlarmas 3

gestorAlarmas

Classes

AplicacionAlarmas•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

gestorAlarmas.AplicacionAlarmas

Packages that use AplicacionAlarmas

Package Description

&lt;Unnamed&gt;

Uses of AplicacionAlarmas in <Unnamed>

Fields in <Unnamed> declared as AplicacionAlarmas

Modifier and Type Field and Description

private AplicacionAlarmas InterfazAlarma.aplicacion

♦ •

Overview•

Package•

Class•

Use•

gestorAlarmas 4

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

gestorAlarmas

Class AplicacionAlarmas

java.lang.Object•

gestorAlarmas.AplicacionAlarmas♦ •

gestorAlarmas

Uses of AplicacionAlarmas in <Unnamed> 5

public class AplicacionAlarmas

extends Object

Clase AplicacionAlarmas. Esta clase permite establecer un sistema de alarmas y gestionar el resto de

clases. Sólo será posible establecer una alarma por topic. Cada topic tiene una bandera de tipo

Boolean para determinar si ha sido configurado con alarma o no.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private Boolean ayudaTopic

private Boolean errorTopic

private Boolean glucemiaTopic

private ParticipantFW participant

private SubscriberFW subscriber

private Boolean temperaturaTopic

private Boolean tensionTopic

private Vector<AlarmaError> vectorAlarmaError

private Vector<AlarmaMemoria> vectorAlarmaMemoria

private Vector<AlarmaRango> vectorAlarmaRango

private Vector<AlarmaUmbral> vectorAlarmaUmbral

Constructor Summary

Constructors

Constructor and Description

AplicacionAlarmas(int domain)

Constructor de la clase AplicacionAlarmas.

gestorAlarmas

Class AplicacionAlarmas 6

Method Summary

Methods

Modifier and

TypeMethod and Description

void cerrarParticipant()

AlarmaErrorestablecerAlarmaError()

Método AlarmaError.

AlarmaMemoria

establecerAlarmaMemoria(String topic,

int[] numeroMuestras, float[] diferencia,

String personalizacion)

Este método establece una AlarmaMemoria.

AlarmaRango

establecerAlarmaRango(String topic,

Boolean dentroRango, float min1, float max1,

float min2, float max2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Se crea una AlarmaRango.

AlarmaUmbral

establecerAlarmaUmbral(String topic,

String operador, float umbral1, float umbral2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Su función es instanciar la clase ALarmaUmbral con los parámetros

deseados y añadirla al vector de AlarmaUmbral.Esta alarma establece

un filtro en el topic, de manera que aquellos valores que lo cumplan

generarán la alarma, siendo mayores, menores, iguales o diferentes del

umbral.

void

iniciar(int segundos)

Inicia el sistema: comienza la escucha de datos en el topic y la

generación de las alarmas previamente configuradas.

void muestraTopics()

void

resetAlarmas()

Este método está destinado a bajar las banderas de cada topic y a

reiniciar los vectores que acumulan las alarmas generadas.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail♦ •

gestorAlarmas

Method Summary 7

participant

private ParticipantFW participant

subscriber

private SubscriberFW subscriber

ayudaTopic

private Boolean ayudaTopic

errorTopic

private Boolean errorTopic

temperaturaTopic

private Boolean temperaturaTopic

glucemiaTopic

private Boolean glucemiaTopic

tensionTopic

private Boolean tensionTopic

vectorAlarmaUmbral

private Vector<AlarmaUmbral> vectorAlarmaUmbral

vectorAlarmaRango

private Vector<AlarmaRango> vectorAlarmaRango

vectorAlarmaError

private Vector<AlarmaError> vectorAlarmaError

vectorAlarmaMemoria

private Vector<AlarmaMemoria> vectorAlarmaMemoria

Constructor Detail

AplicacionAlarmas

public AplicacionAlarmas(int domain)

Constructor de la clase AplicacionAlarmas. Instancia los vectores que almacenarán

las diferentes alarmas generadas y establecen false como valor de las banderas de los

topics. También genera dos elementos de la arquitectura DDS: el participant, que solo

debe haber una instancia en el programa, y el suscriptor, usado por las alarmas.

Parameters:

domain - int. El dominio del participante creado. El dominio establece una

red privada de difusión de datos.

gestorAlarmas

Field Detail 8

Method Detail

establecerAlarmaUmbral

public AlarmaUmbral establecerAlarmaUmbral(String topic,

String operador,

float umbral1,

float umbral2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Su función es instanciar la clase ALarmaUmbral con los parámetros deseados y

añadirla al vector de AlarmaUmbral.Esta alarma establece un filtro en el topic, de

manera que aquellos valores que lo cumplan generarán la alarma, siendo mayores,

menores, iguales o diferentes del umbral.

Parameters:

topic - String. Indica el nombre del topic en el cual se generará la alarma.

operador - es el operador para el rango. Los valores aceptados son

,<=,>=,,=. En el caso un topic con dos variables, el operador es el mismo para

ambas.

umbral1 - float. Es el umbral para la primera variable del topic.

umbral2 - float. Es el umbral para la segunda variable del topic. Si el topic

sólo tuviera una variable, este valor no es utilizado.

condicionPersonalizacion - String. Para establecer la alarma

personalizada. En el caso de que no se quiera esta alarma, el valor debe ser

"".

condicionPersistencia - Boolean. Para establecer la alarma por

persistencia de alarmas (dos alarmas consecutivas o tres de cinco

consecutivas).

Returns:

AlarmaUmbral: la alarma generada. Devuelve null si el topic indicado ya

había sido utilizado por otra alarma anteriormente.

establecerAlarmaRango

public AlarmaRango establecerAlarmaRango(String topic,

Boolean dentroRango,

float min1,

float max1,

float min2,

float max2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Se crea una AlarmaRango. El filtro establecido en esta alarma es un rango fijado por

dos valores, de forma que aquellos valores que se encuentren dentro o fuera del rango

lanzan la alarma, según la configuración previa.

Parameters:

topic - String. El topic en el que se leerán los datos.

dentroRango - Si el valor es 'true', los valores recibidos dentro del rango

generarán la alarma. Si no es así, será fuera del rango.

gestorAlarmas

Method Detail 9

min1 - float. Valor mínimo del rango para la primera variable del topic.

max1 - float. Valor máximo del rango para la primera variable del topic.

min2 - float. Valor mínimo del rango para la segunda variable del topic. Si

no hay segunda variable, este valor no se usará.

max2 - float. Valor máximo del rango para la segunda variable del topic. Si

no hay segunda variable, este valor no se usará.

condicionPersonalizacion - String. Establece la condición de

personalización para una alarma personalizada. Si el valor es "", no se

establecerá alarma personalizada.

condicionPersistencia - Boolean. Indica si hay persistencia de

alarma o no.

Returns:

AlarmaRango: la alarma generada. Devuelve null si el topic indicado ya

había sido utilizado por otra alarma anteriormente.

establecerAlarmaMemoria

public AlarmaMemoria establecerAlarmaMemoria(String topic,

int[] numeroMuestras,

float[] diferencia,

String personalizacion)

Este método establece una AlarmaMemoria. Se genera alarma cuando la diferencia

entre un número de muestras guardadas es superior a un valor dado. En esta alarma

no se puede establecer persistencia

Parameters:

topic - String. Es el topic en el que se reciben los datos.

numeroMuestras - int[]. Los tamaños de las memorias para cada variable

del topic.

diferencia - int[]. Las diferencias entre las muestras recibidas.

personalizacion - String. La condición de personalización.

Returns:

AlarmaMemoria la alarma generada. Devuelve null si el topic indicado ya

había sido utilizado por otra alarma anteriormente.

establecerAlarmaError

public AlarmaError establecerAlarmaError()

Método AlarmaError. Permite recibir los mensajes de error publicados por los

dispositivos de monitorización en el ErrorTopic.

Returns:

AlarmaError: la alarma generada. Devuelve null si el topic indicado ya había

sido utilizado por otra alarma anteriormente.

cerrarParticipant

public void cerrarParticipant()

muestraTopics

public void muestraTopics()

gestorAlarmas

Method Detail 10

iniciar

public void iniciar(int segundos)

throws InterruptedException

Inicia el sistema: comienza la escucha de datos en el topic y la generación de las

alarmas previamente configuradas.

Parameters:

segundos - int. El tiempo que el sistema estará escuchando en los topics.

Throws:

InterruptedException

resetAlarmas

public void resetAlarmas()

Este método está destinado a bajar las banderas de cada topic y a reiniciar los

vectores que acumulan las alarmas generadas.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

gestorAlarmas

Method Detail 11

alarmas

Table of Contents

Package alarmas..................................................................................................................................................1

Hierarchy For Package alarmas........................................................................................................................3

Class Hierarchy........................................................................................................................................3

Uses of Packagealarmas.....................................................................................................................................5

alarmas.................................................................................................................................................................6

Classes.....................................................................................................................................................6

Uses of Classalarmas.Alarma..................................................................................................................6

Uses of Alarma in alarmas................................................................................................................6

Uses of Classalarmas.AlarmaError..........................................................................................................7

Uses of AlarmaError in gestorAlarmas.............................................................................................8

Uses of Classalarmas.AlarmaMemoria....................................................................................................9

Uses of AlarmaMemoria in gestorAlarmas.......................................................................................9

Uses of Classalarmas.AlarmaRango......................................................................................................10

Uses of AlarmaRango in gestorAlarmas.........................................................................................10

Uses of Classalarmas.AlarmaUmbral....................................................................................................11

Uses of AlarmaUmbral in gestorAlarmas.......................................................................................11

Class Alarma..........................................................................................................................................13

Field Summary................................................................................................................................13

Constructor Summary......................................................................................................................14

Method Summary............................................................................................................................14

Methods inherited from class java.lang.Object...............................................................................14

Field Detail......................................................................................................................................15

Constructor Detail...........................................................................................................................16

Method Detail..................................................................................................................................16

Class AlarmaError.................................................................................................................................17

Field Summary................................................................................................................................18

Constructor Summary......................................................................................................................18

Method Summary............................................................................................................................18

Methods inherited from class java.lang.Object...............................................................................18

Field Detail......................................................................................................................................18

Constructor Detail...........................................................................................................................19

Method Detail..................................................................................................................................19

Class AlarmaMemoria...........................................................................................................................21

Field Summary................................................................................................................................21

Fields inherited from class alarmas.Alarma....................................................................................21

Constructor Summary......................................................................................................................21

Method Summary............................................................................................................................22

Methods inherited from class alarmas.Alarma................................................................................22

Methods inherited from class java.lang.Object...............................................................................22

Field Detail......................................................................................................................................22

Constructor Detail...........................................................................................................................22

Method Detail..................................................................................................................................23

Class AlarmaRango...............................................................................................................................25

Field Summary................................................................................................................................25

Fields inherited from class alarmas.Alarma....................................................................................26

alarmas

i

Table of Contents

alarmas

Constructor Summary......................................................................................................................26

Method Summary............................................................................................................................26

Methods inherited from class alarmas.Alarma................................................................................27

Methods inherited from class java.lang.Object...............................................................................27

Field Detail......................................................................................................................................27

Constructor Detail...........................................................................................................................28

Method Detail..................................................................................................................................28

Class AlarmaUmbral..............................................................................................................................33

Field Summary................................................................................................................................33

Fields inherited from class alarmas.Alarma....................................................................................33

Constructor Summary......................................................................................................................33

Method Summary............................................................................................................................34

Methods inherited from class alarmas.Alarma................................................................................34

Methods inherited from class java.lang.Object...............................................................................34

Constructor Detail...........................................................................................................................34

Method Detail..................................................................................................................................35

alarmas

ii

Package alarmas

Class Summary

Class Description

Alarma Clase Alarma.

AlarmaError Clase AlarmaError.

AlarmaMemoria Clase AlarmaMemoria: establece una alarma del tipo Memoria.

AlarmaRango Clase AlarmaRango.

AlarmaUmbral La clase AlarmaUmbral sirve para implementar una alarma de tipo Umbral.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Package•

Next Package•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

Package alarmas 1

All Classes•

alarmas

Package alarmas 2

Hierarchy For Package alarmas

Package Hierarchies:

All Packages•

Class Hierarchy

java.lang.Object

alarmas.Alarma

alarmas.AlarmaMemoria◊

alarmas.AlarmaRango◊

alarmas.AlarmaUmbral◊

alarmas.AlarmaError♦

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

Hierarchy For Package alarmas 3

No Frames•

All Classes•

alarmas

Class Hierarchy 4

Uses of Package

alarmas

Packages that use alarmas

Package Description

alarmas

gestorAlarmas

Classes in alarmas used by alarmas

Class and Description

Alarma

Clase Alarma.

Classes in alarmas used by gestorAlarmas

Class and Description

AlarmaError

Clase AlarmaError.

AlarmaMemoria

Clase AlarmaMemoria: establece una alarma del tipo Memoria.

AlarmaRango

Clase AlarmaRango.

AlarmaUmbral

La clase AlarmaUmbral sirve para implementar una alarma de tipo Umbral.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Packagealarmas 5

alarmas

Classes

Alarma•

AlarmaError•

AlarmaMemoria•

AlarmaRango•

AlarmaUmbral•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

alarmas.Alarma

Packages that use Alarma

Package Description

alarmas

Uses of Alarma in alarmas

Subclasses of Alarma in alarmas

Modifier and

TypeClass and Description

class AlarmaMemoria

Clase AlarmaMemoria: establece una alarma del tipo Memoria.

♦ •

alarmas 6

class AlarmaRango

Clase AlarmaRango.

class

AlarmaUmbral

La clase AlarmaUmbral sirve para implementar una alarma de tipo

Umbral.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

alarmas.AlarmaError

Packages that use AlarmaError •

alarmas

Uses of Alarma in alarmas 7

Package Description

gestorAlarmas

Uses of AlarmaError in gestorAlarmas

Fields in gestorAlarmas with type parameters of type AlarmaError

Modifier and Type Field and Description

private Vector<AlarmaError> AplicacionAlarmas.vectorAlarmaError

Methods in gestorAlarmas that return AlarmaError

Modifier and Type Method and Description

AlarmaErrorAplicacionAlarmas.establecerAlarmaError()

Método AlarmaError.

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

alarmas

Uses of Classalarmas.AlarmaError 8

Frames•

No Frames•

All Classes•

Uses of Class

alarmas.AlarmaMemoria

Packages that use AlarmaMemoria

Package Description

gestorAlarmas

Uses of AlarmaMemoria in gestorAlarmas

Fields in gestorAlarmas with type parameters of type AlarmaMemoria

Modifier and Type Field and Description

private

Vector<AlarmaMemoria>AplicacionAlarmas.vectorAlarmaMemoria

Methods in gestorAlarmas that return AlarmaMemoria

Modifier and

TypeMethod and Description

AlarmaMemoria

AplicacionAlarmas.establecerAlarmaMemoria(String topic,

int[] numeroMuestras, float[] diferencia,

String personalizacion)

Este método establece una AlarmaMemoria.

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

alarmas

Uses of AlarmaError in gestorAlarmas 9

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

alarmas.AlarmaRango

Packages that use AlarmaRango

Package Description

gestorAlarmas

Uses of AlarmaRango in gestorAlarmas

Fields in gestorAlarmas with type parameters of type AlarmaRango

Modifier and Type Field and Description

private Vector<AlarmaRango> AplicacionAlarmas.vectorAlarmaRango

Methods in gestorAlarmas that return AlarmaRango

Modifier and

TypeMethod and Description

AlarmaRango

AplicacionAlarmas.establecerAlarmaRango(String topic,

Boolean dentroRango, float min1, float max1,

float min2, float max2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Se crea una AlarmaRango.

♦ •

alarmas

Uses of AlarmaMemoria in gestorAlarmas 10

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

alarmas.AlarmaUmbral

Packages that use AlarmaUmbral

Package Description

gestorAlarmas

Uses of AlarmaUmbral in gestorAlarmas

Fields in gestorAlarmas with type parameters of type AlarmaUmbral

♦ •

alarmas

Uses of AlarmaRango in gestorAlarmas 11

Modifier and Type Field and Description

private Vector<AlarmaUmbral> AplicacionAlarmas.vectorAlarmaUmbral

Methods in gestorAlarmas that return AlarmaUmbral

Modifier and

TypeMethod and Description

AlarmaUmbral

AplicacionAlarmas.establecerAlarmaUmbral(String topic,

String operador, float umbral1, float umbral2,

String condicionPersonalizacion,

Boolean condicionPersistencia)

Su función es instanciar la clase ALarmaUmbral con los parámetros

deseados y añadirla al vector de AlarmaUmbral.Esta alarma establece un

filtro en el topic, de manera que aquellos valores que lo cumplan

generarán la alarma, siendo mayores, menores, iguales o diferentes del

umbral.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

alarmas

Uses of AlarmaUmbral in gestorAlarmas 12

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

Class Alarma

java.lang.Object•

alarmas.Alarma♦ •

Direct Known Subclasses:

AlarmaMemoria, AlarmaRango, AlarmaUmbral

public class Alarma

extends Object

Clase Alarma. Es la clase base para otros tipos de alarmas, en la que se definen varios elementos

necesarios en ellas.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

protected AyudaTopic ayudaTopic

protected Boolean condicionPersistencia

protected GlucemiaTopic glucemiaTopic

protected ListenerAyuda listenerAyuda

♦ •

alarmas

Class Alarma 13

protected ListenerGlucemia listenerGlucemia

protected ListenerMemoriaGlucemia listenerMemoriaGlucemia

protected ListenerMemoriaNumber listenerMemoriaNumber

protected

ListenerMemoriaTemperaturalistenerMemoriaTemperatura

protected ListenerMemoriaTension listenerMemoriaTension

protected ListenerNumber listenerNumber

protected ListenerTemperatura listenerTemperatura

protected ListenerTension listenerTension

protected NumberTopic numberTopic

protected String personalizacion

protected SubscriberFW subscriber

protected TemperaturaTopic temperaturaTopic

protected TensionArterialTopic tensionTopic

Constructor Summary

Constructors

Constructor and Description

Alarma()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

BooleangetCondicionPersistencia()

Método para obtener el valor actual de la condición de persistencia.

void

setCondicionPersistencia(Boolean c)

Método para establecer un nuevo valor de la condición de persistencia de

alarmas.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

alarmas

Field Summary 14

Field Detail

subscriber

protected SubscriberFW subscriber

temperaturaTopic

protected TemperaturaTopic temperaturaTopic

numberTopic

protected NumberTopic numberTopic

tensionTopic

protected TensionArterialTopic tensionTopic

glucemiaTopic

protected GlucemiaTopic glucemiaTopic

ayudaTopic

protected AyudaTopic ayudaTopic

listenerNumber

protected ListenerNumber listenerNumber

listenerTemperatura

protected ListenerTemperatura listenerTemperatura

listenerTension

protected ListenerTension listenerTension

listenerAyuda

protected ListenerAyuda listenerAyuda

listenerGlucemia

protected ListenerGlucemia listenerGlucemia

listenerMemoriaNumber

protected ListenerMemoriaNumber listenerMemoriaNumber

listenerMemoriaTemperatura

protected ListenerMemoriaTemperatura listenerMemoriaTemperatura

listenerMemoriaTension

protected ListenerMemoriaTension listenerMemoriaTension

listenerMemoriaGlucemia

protected ListenerMemoriaGlucemia listenerMemoriaGlucemia

condicionPersistencia

protected Boolean condicionPersistencia

alarmas

Field Detail 15

personalizacion

protected String personalizacion

◊ ♦

Constructor Detail

Alarma

public Alarma()

Constructor de la clase. Inicializa a null los diferentes atributos que la forman.

Method Detail

setCondicionPersistencia

public void setCondicionPersistencia(Boolean c)

Método para establecer un nuevo valor de la condición de persistencia de alarmas.

Parameters:

c - Boolean. La nueva condición de persistencia.

getCondicionPersistencia

public Boolean getCondicionPersistencia()

Método para obtener el valor actual de la condición de persistencia.

Returns:

Boolean: la condición de persistencia.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

alarmas

Field Detail 16

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

Class AlarmaError

java.lang.Object•

alarmas.AlarmaError♦ •

alarmas

Method Detail 17

public class AlarmaError

extends Object

Clase AlarmaError. Esta clase permite establecer una alarma de tipo Error. En el topic ErrorTopic se

publicarán los diferentes mensajes de error producidos por los dispositivos de monitorización y serán

recibidos a partir de esta alarma. No se establece ningún filtro de suscripción, se recibirán todos los

mensanjes. Se diferencia de otras alarmas en que no hereda de Alarma, al no ser propiamente un

alarma.

Field Summary

Fields

Modifier and Type Field and Description

private ListenerError listenerError

private SubscriberFW subscriber

private ErrorTopic topicError

Constructor Summary

Constructors

Constructor and Description

AlarmaError(SubscriberFW suscriptorUnico)

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

void

iniciarLecturaAlarma(int segundos)

Este método inicia la lectura de datos publicados en el ErrorTopic por el

suscriptor.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail♦ •

alarmas

Class AlarmaError 18

subscriber

private SubscriberFW subscriber

topicError

private ErrorTopic topicError

listenerError

private ListenerError listenerError

Constructor Detail

AlarmaError

public AlarmaError(SubscriberFW suscriptorUnico)

Constructor de la clase. Inicializa las variables suscriptor, topic y listener.

Parameters:

suscriptorUnico - tipo SubscriberFW. El suscriptor que recibirá los

datos.

Method Detail

iniciarLecturaAlarma

public void iniciarLecturaAlarma(int segundos)

throws InterruptedException

Este método inicia la lectura de datos publicados en el ErrorTopic por el suscriptor.

Parameters:

segundos - de tipo int. Los segundos que estará leyendo datos en el topic.

Throws:

InterruptedException

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

alarmas

Field Detail 19

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

alarmas

Method Detail 20

Class AlarmaMemoria

java.lang.Object•

alarmas.Alarma♦

alarmas.AlarmaMemoria◊ ♦

public class AlarmaMemoria

extends Alarma

Clase AlarmaMemoria: establece una alarma del tipo Memoria. Dado un tamaño de memoria, se

guardan las muestras y se comprueba la diferencia entre la primera y la última y se generará o no la

alarma. A diferencia de otras alarmas, en esta no se establece un filtro. Todos los datos son recibidos.

Hereda de Alarma.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private float[] diferencia

private int[] numeroMuestras

Fields inherited from class alarmas.Alarma

ayudaTopic, condicionPersistencia, glucemiaTopic,

listenerAyuda, listenerGlucemia, listenerMemoriaGlucemia,

listenerMemoriaNumber, listenerMemoriaTemperatura,

listenerMemoriaTension, listenerNumber,

listenerTemperatura, listenerTension, numberTopic,

personalizacion, subscriber, temperaturaTopic,

tensionTopic

Constructor Summary

Constructors

Constructor and Description

AlarmaMemoria(SubscriberFW suscriptorUnico,

int[] numeroMuestras, float[] diferencia)

alarmas

Class AlarmaMemoria 21

Constructor de la clase.

AlarmaMemoria(SubscriberFW suscriptorUnico,

int[] numeroMuestras, float[] diferencia, String condicion)

Constructor de la clase, que permite establecer la alarma personalizada

Method Summary

Methods

Modifier

and TypeMethod and Description

voidiniciarAlarma(int segundos)

Inicia la lectura de datos tras haber preparado la alarma previamente.

voidprepararAlarma(String topicEsperado)

Este método prepara la alarma.

void

start_Listening(int segundos, String topicEsperado)

Este método realiza el proceso completo, primero preparando la alarma y a

continuación iniciando la lectura de los datos.

Methods inherited from class alarmas.Alarma

getCondicionPersistencia, setCondicionPersistencia

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

numeroMuestras

private int[] numeroMuestras

diferencia

private float[] diferencia

Constructor Detail

AlarmaMemoria

public AlarmaMemoria(SubscriberFW suscriptorUnico,

int[] numeroMuestras,

float[] diferencia)

alarmas

Constructor Summary 22

Constructor de la clase. No establece alarma personalizada.

Parameters:

suscriptorUnico - de tipo SubscriberFW. Es el suscriptor que leerá el

topic determinado.

numeroMuestras - de tipo int[]. Indica el tamaño de memoria para los

datos de cada variable del topic.

diferencia - int[]. La diferencia que se debe superar en cada memoria de

variable.

AlarmaMemoria

public AlarmaMemoria(SubscriberFW suscriptorUnico,

int[] numeroMuestras,

float[] diferencia,

String condicion)

Constructor de la clase, que permite establecer la alarma personalizada

Parameters:

suscriptorUnico - de tipo SubscriberFW. Es el suscriptor que leerá el

topic determinado.

numeroMuestras - de tipo int[]. Indica el tamaño de memoria para los

datos de cada variable del topic.

diferencia - int[]. La diferencia que se debe superar en cada memoria de

variable.

condicion - String. Es la condición de personalización.

Method Detail

start_Listening

public void start_Listening(int segundos,

String topicEsperado)

throws InterruptedException

Este método realiza el proceso completo, primero preparando la alarma y a

continuación iniciando la lectura de los datos.

Parameters:

segundos - tipo int. El tiempo que estará la aplicación escuchando en el

topic.

topicEsperado - tipo String. Indica el topic en el que se genera la alarma.

Throws:

InterruptedException

prepararAlarma

public void prepararAlarma(String topicEsperado)

Este método prepara la alarma. En este caso, no hay filtro, todos los valores llegan al

suscriptor. Se implementan los correspondientes Listener según el topic establecido.

alarmas

Constructor Detail 23

Parameters:

topicEsperado - String. El topic del que se obtienen los datos.

iniciarAlarma

public void iniciarAlarma(int segundos)

throws InterruptedException

Inicia la lectura de datos tras haber preparado la alarma previamente.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

Throws:

InterruptedException

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

alarmas

Method Detail 24

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

Class AlarmaRango

java.lang.Object•

alarmas.Alarma♦

alarmas.AlarmaRango◊ ♦

public class AlarmaRango

extends Alarma

Clase AlarmaRango. Esta clase implementa una alarma del tipo Rango: se genera alarma cuando llega

un valor dentro o fuera del rango establecido. Además, se podrá establecer alarma personalizada.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

♦ •

alarmas

Class AlarmaRango 25

Modifier and Type Field and Description

private String and

private String between

private String notBetween

Fields inherited from class alarmas.Alarma

ayudaTopic, condicionPersistencia, glucemiaTopic,

listenerAyuda, listenerGlucemia, listenerMemoriaGlucemia,

listenerMemoriaNumber, listenerMemoriaTemperatura,

listenerMemoriaTension, listenerNumber,

listenerTemperatura, listenerTension, numberTopic,

personalizacion, subscriber, temperaturaTopic,

tensionTopic

Constructor Summary

Constructors

Constructor and Description

AlarmaRango(SubscriberFW suscriptorUnico)

Constructor simple de la clase.

AlarmaRango(SubscriberFW suscriptorUnico, String p)

Incluye la alarma personalizada, inicializando la condición que será comparada con la

información de la base de datos de los pacientes.

Method Summary

Methods

Modifier

and TypeMethod and Description

void

iniciarAlarma(int segundos)

Este método inicia la escucha de los topics tras haber preparado el filtro

previamente.

void

prepararAlarmaDobleDentroRango(double min1,

double max1, double min2, double max2,

String topicEsperado)

Este método permite establecer el filtro aceptando valores dentro del rango

indicado en topics con dos variables de datos.

void

prepararAlarmaDobleFueraRango(double min1,

double max1, double min2, double max2,

String topicEsperado)

Este método permite establecer el filtro aceptando valores fuera del rango

indicado en topics con dos variables de datos.

alarmas

Field Summary 26

void

prepararAlarmaSimpleDentroRango(double min,

double max, String topicEsperado)

Este método permite establecer el filtro aceptando valores dentro del rango

indicado en topics de una variable de datos.

void

prepararAlarmaSimpleFueraRango(double min,

double max, String topicEsperado)

Este método permite establecer el filtro aceptando valores fuera del rango

indicado en topics de una variable de datos.

void

start_Listening_In_Range_Dos_Variables(int segundos,

double min1, double max1, double min2, double max2,

String topicEsperado)

Este método realiza el proceso completo: establecer el filtro aceptando datos

dentro del rango e iniciar la lectura del topic, para topics con dos variables de

datos.

void

start_Listening_In_Range(int segundos, double min,

double max, String topicEsperado)

Este método realiza el proceso completo: establecer el filtro aceptando datos

dentro del rango e iniciar la lectura del topic, para topics con una variable de

datos.

void

start_Listening_Out_Range_Dos_Variables(int segundos,

double min1, double max1, double min2, double max2,

String topicEsperado)

Este método realiza el proceso completo: establecer el filtro aceptando datos

fuera del rango e iniciar la lectura del topic, para topics con dos variables de

datos.

void

start_Listening_Out_Range(int segundos, double min,

double max, String topicEsperado)

Este método realiza el proceso completo: establece el filtro aceptando los

valores fuera de rango e iniciar la lectura del topic, para topics con una variable

de datos.

Methods inherited from class alarmas.Alarma

getCondicionPersistencia, setCondicionPersistencia

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail♦ •

alarmas

Method Summary 27

between

private String between

notBetween

private String notBetween

and

private String and

Constructor Detail

AlarmaRango

public AlarmaRango(SubscriberFW suscriptorUnico)

Constructor simple de la clase.

Parameters:

suscriptorUnico - de tipo SubscriberFW. Es el suscriptor que leerá los

datos del topic.

AlarmaRango

public AlarmaRango(SubscriberFW suscriptorUnico,

String p)

Incluye la alarma personalizada, inicializando la condición que será comparada con la

información de la base de datos de los pacientes.

Parameters:

suscriptorUnico - tipo SubscriberFW. Es el suscriptor que leerá los

datos del topic.

p - String. La condición de personalización.

Method Detail

start_Listening_Out_Range

public void start_Listening_Out_Range(int segundos,

double min,

double max,

String topicEsperado)

throws InterruptedException

Este método realiza el proceso completo: establece el filtro aceptando los valores

fuera de rango e iniciar la lectura del topic, para topics con una variable de datos.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

min - de tipo double. El valor mínimo del rango.

alarmas

Field Detail 28

max - de tipo duble. El valor máximo del rango.

topicEsperado - de tipo String. El nombre del topic en el cual se va a

leer la información.

Throws:

InterruptedException

start_Listening_In_Range

public void start_Listening_In_Range(int segundos,

double min,

double max,

String topicEsperado)

throws InterruptedException

Este método realiza el proceso completo: establecer el filtro aceptando datos dentro

del rango e iniciar la lectura del topic, para topics con una variable de datos.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

min - de tipo double. El valor mínimo del rango.

max - de tipo duble. El valor máximo del rango.

topicEsperado - de tipo String. El nombre del topic en el cual se va a

leer la información.

Throws:

InterruptedException

start_Listening_In_Range_Dos_Variables

public void start_Listening_In_Range_Dos_Variables(int segundos,

double min1,

double max1,

double min2,

double max2,

String topicEsperado)

throws InterruptedException

Este método realiza el proceso completo: establecer el filtro aceptando datos dentro

del rango e iniciar la lectura del topic, para topics con dos variables de datos.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

min1 - de tipo double. El valor mínimo del rango para la primera variable.

max1 - de tipo double. El valor máximo del rango para la primera variable.

min2 - de tipo double. El valor mínimo del rango para la segunda variable.

max2 - de tipo double. El valor máximo del rango para la segunda variable.

topicEsperado - de tipo String. El nombre del topic en el cual se va a

leer la información.

Throws:

InterruptedException

start_Listening_Out_Range_Dos_Variables

public void start_Listening_Out_Range_Dos_Variables(int segundos,

double min1,

double max1,

double min2,

double max2,

alarmas

Method Detail 29

String topicEsperado)

throws InterruptedException

Este método realiza el proceso completo: establecer el filtro aceptando datos fuera del

rango e iniciar la lectura del topic, para topics con dos variables de datos.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

min1 - de tipo double. El valor mínimo del rango para la primera variable.

max1 - de tipo double. El valor máximo del rango para la primera variable.

min2 - de tipo double. El valor mínimo del rango para la segunda variable.

max2 - de tipo double. El valor máximo del rango para la segunda variable.

topicEsperado - de tipo String. El nombre del topic en el cual se va a

leer la información.

Throws:

InterruptedException

prepararAlarmaSimpleFueraRango

public void prepararAlarmaSimpleFueraRango(double min,

double max,

String topicEsperado)

Este método permite establecer el filtro aceptando valores fuera del rango indicado en

topics de una variable de datos.

Parameters:

min - double. El valor mínimo del rango.

max - double. El valor máximo del rango.

topicEsperado - String. El nombre del topic en el que se establecerá el

filtro.

prepararAlarmaSimpleDentroRango

public void prepararAlarmaSimpleDentroRango(double min,

double max,

String topicEsperado)

Este método permite establecer el filtro aceptando valores dentro del rango indicado

en topics de una variable de datos.

Parameters:

min - double. El valor mínimo del rango.

max - double. El valor máximo del rango.

topicEsperado - String. El nombre del topic en el que se establecerá el

filtro.

prepararAlarmaDobleFueraRango

public void prepararAlarmaDobleFueraRango(double min1,

double max1,

double min2,

double max2,

String topicEsperado)

alarmas

Method Detail 30

Este método permite establecer el filtro aceptando valores fuera del rango indicado en

topics con dos variables de datos.

Parameters:

min1 - double. El valor mínimo del rango para la primera variable.

max1 - double. El valor máximo del rango para la primera variable.

min2 - double. El valor mínimo del rango para la segunda variable.

max2 - double. El valor máximo del rango para la segunda variable.

topicEsperado - String. El nombre del topic en el que se establecerá el

filtro.

prepararAlarmaDobleDentroRango

public void prepararAlarmaDobleDentroRango(double min1,

double max1,

double min2,

double max2,

String topicEsperado)

Este método permite establecer el filtro aceptando valores dentro del rango indicado

en topics con dos variables de datos.

Parameters:

min1 - double. El valor mínimo del rango para la primera variable.

max1 - double. El valor máximo del rango para la primera variable.

min2 - double. El valor mínimo del rango para la segunda variable.

max2 - double. El valor máximo del rango para la segunda variable.

topicEsperado - String. El nombre del topic en el que se establecerá el

filtro.

iniciarAlarma

public void iniciarAlarma(int segundos)

throws InterruptedException

Este método inicia la escucha de los topics tras haber preparado el filtro previamente.

Parameters:

segundos - de tipo int. El tiempo que está activa la escucha.

Throws:

InterruptedException

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

alarmas

Method Detail 31

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

alarmas

Method Detail 32

Class AlarmaUmbral

java.lang.Object•

alarmas.Alarma♦

alarmas.AlarmaUmbral◊ ♦

public class AlarmaUmbral

extends Alarma

La clase AlarmaUmbral sirve para implementar una alarma de tipo Umbral. Esta alarma filtra los

datos publicados en un topic estableciendo un umbral configurable por el usuario. Aquellos datos que

superan el filtro, pueden llegar a generar alarma, dependiendo de las condiciones de personalización y

persistencia. Hereda de la clase Alarma.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields inherited from class alarmas.Alarma

ayudaTopic, condicionPersistencia, glucemiaTopic,

listenerAyuda, listenerGlucemia, listenerMemoriaGlucemia,

listenerMemoriaNumber, listenerMemoriaTemperatura,

listenerMemoriaTension, listenerNumber,

listenerTemperatura, listenerTension, numberTopic,

personalizacion, subscriber, temperaturaTopic,

tensionTopic

Constructor Summary

Constructors

Constructor and Description

AlarmaUmbral(SubscriberFW subscriberUnico)

Constructor simple de la clase para establecer el suscriptor.

AlarmaUmbral(SubscriberFW subscriberUnico, String p)

Añade la condición de personalización a la alarma.

alarmas

Class AlarmaUmbral 33

Method Summary

Methods

Modifier

and TypeMethod and Description

void getInformacionDeDescubrimiento()

void

iniciarAlarma(int segundos)

Este método inicializa la escucha de datos en el topic determinado y los filtros

establecidos previamente.

void

prepararAlarmaDoble(String operador1, double umbral1,

String operador2, double umbral2,

String topicEsperado)

Este método sirve para establecer el filtro de la alarma, pero no inicia la lectura

de los datos.

void

prepararAlarmaSimple(String operador, double umbral,

String topicEsperado)

Este método sirve para establecer el filtro de la alarma, pero no inicia la lectura

de los datos.

void

start_Listening_DosVariables(int segundos,

String operador1, double umbral1, String operador2,

double umbral2, String topicEsperado)

Este método es igual que Start_Listening pero para los topics que tienen dos

variables de información.

void

start_Listening(int segundos, String operador,

double umbral, String topicEsperado)

Método que realiza todo el proceso de la alarma: establece el filtro e inicia a

escuchar datos en el topic.

Methods inherited from class alarmas.Alarma

getCondicionPersistencia, setCondicionPersistencia

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Constructor Detail

AlarmaUmbral

public AlarmaUmbral(SubscriberFW subscriberUnico)

Constructor simple de la clase para establecer el suscriptor.

♦ •

alarmas

Method Summary 34

Parameters:

subscriberUnico - tipo SubscriberFW. El suscriptor que leerá datos en

el topic determinado.

AlarmaUmbral

public AlarmaUmbral(SubscriberFW subscriberUnico,

String p)

Añade la condición de personalización a la alarma.

Parameters:

subscriberUnico - tipo SubscriberFW. El suscriptor que leerá datos en

el topic determinado.

p - String. Para establecer la condición de personalización.

Method Detail

start_Listening

public void start_Listening(int segundos,

String operador,

double umbral,

String topicEsperado)

throws InterruptedException

Método que realiza todo el proceso de la alarma: establece el filtro e inicia a escuchar

datos en el topic.

Parameters:

segundos - de tipo int. Indica el tiempo que estará el sistema escuchando

en el topic.

operador - de tipo String. Indica el operador usado para filtrar los datos

respecto al umbral. Los valores permitidos son >,,>=,<=,=.

umbral - de tipo double. El umbral con el que se compararán los datos

recibidos según indique el operador.

topicEsperado - de tipo String. Indica el topic en el que se establecerá la

alarma.

Throws:

InterruptedException

start_Listening_DosVariables

public void start_Listening_DosVariables(int segundos,

String operador1,

double umbral1,

String operador2,

double umbral2,

String topicEsperado)

throws InterruptedException

Este método es igual que Start_Listening pero para los topics que tienen dos variables

de información.

alarmas

Constructor Detail 35

Parameters:

segundos - de tipo int. Indica el tiempo que estará el sistema escuchando

en el topic.

operador1 - de tipo String. Indica el operador usado para filtrar los datos

de la primera variable del topic respecto al umbral. Los valores permitidos

son >,,>=,<=,=.

umbral1 - de tipo double. El umbral con el que se compararán los datos

recibidos de la primera variable del topic según indique el operador.

operador2 - de tipo String. El operador para la segunda variable del topic.

umbral2 - de tipo double. El umbral para la segunda variable del topic.

topicEsperado - de tipo String. Indica el topic en el que se establecerá la

alarma.

Throws:

InterruptedException

prepararAlarmaSimple

public void prepararAlarmaSimple(String operador,

double umbral,

String topicEsperado)

Este método sirve para establecer el filtro de la alarma, pero no inicia la lectura de los

datos. Destinado a Topics de una variable.

Parameters:

operador - de tipo String. Indica el operador del filtro. (>,,<=,>=,=).

umbral - de tipo double. Es el umbral que, junto al operador, determinará si

el dato pasa o no el filtro.

topicEsperado - de tipo String. El topic en el que se establece la alarma

Umbral.

prepararAlarmaDoble

public void prepararAlarmaDoble(String operador1,

double umbral1,

String operador2,

double umbral2,

String topicEsperado)

Este método sirve para establecer el filtro de la alarma, pero no inicia la lectura de los

datos. Destinado a Topics de dos variables.

Parameters:

operador1 - de tipo String. Indica el operador del filtro de la primera

variable. (>,,<=,>=,=).

umbral1 - de tipo double. Es el umbral de la primera variable que, junto al

operador, determinará si el dato pasa o no el filtro.

operador2 - de tipo String. Es el operador para la segunda variable.

umbral2 - de tipo double. Es el umbral para la segunda variable.

topicEsperado - de tipo String. El topic en el que se establece la alarma

Umbral.

alarmas

Method Detail 36

iniciarAlarma

public void iniciarAlarma(int segundos)

throws InterruptedException

Este método inicializa la escucha de datos en el topic determinado y los filtros

establecidos previamente.

Parameters:

segundos - de tipo int. El tiempo que se estará escuchando en el topic.

Throws:

InterruptedException

getInformacionDeDescubrimiento

public void getInformacionDeDescubrimiento()

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

alarmas

Method Detail 37

topics

Table of Contents

Package topics.....................................................................................................................................................1

Hierarchy For Package topics............................................................................................................................3

Class Hierarchy........................................................................................................................................3

Uses of Packagetopics.........................................................................................................................................5

topics.....................................................................................................................................................................6

Classes.....................................................................................................................................................6

Uses of Classtopics.AyudaTopic.............................................................................................................6

Uses of AyudaTopic in alarmas........................................................................................................6

Uses of Classtopics.ErrorTopic...............................................................................................................7

Uses of ErrorTopic in alarmas...........................................................................................................7

Uses of Classtopics.GlucemiaTopic........................................................................................................8

Uses of GlucemiaTopic in alarmas...................................................................................................9

Uses of Classtopics.NumberTopic.........................................................................................................10

Uses of NumberTopic in alarmas....................................................................................................10

Uses of Classtopics.TemperaturaTopic.................................................................................................11

Uses of TemperaturaTopic in alarmas.............................................................................................11

Uses of Classtopics.TensionArterialTopic.............................................................................................12

Uses of TensionArterialTopic in alarmas........................................................................................12

Class AyudaTopic..................................................................................................................................13

Field Summary................................................................................................................................14

Constructor Summary......................................................................................................................14

Method Summary............................................................................................................................14

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................15

Methods inherited from class java.lang.Object...............................................................................15

Field Detail......................................................................................................................................15

Constructor Detail...........................................................................................................................15

Method Detail..................................................................................................................................16

Class ErrorTopic....................................................................................................................................19

Field Summary................................................................................................................................19

Constructor Summary......................................................................................................................19

Method Summary............................................................................................................................19

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................20

Methods inherited from class java.lang.Object...............................................................................20

Field Detail......................................................................................................................................20

Constructor Detail...........................................................................................................................21

Method Detail..................................................................................................................................21

Class GlucemiaTopic.............................................................................................................................23

Field Summary................................................................................................................................24

Constructor Summary......................................................................................................................24

Method Summary............................................................................................................................24

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................25

Methods inherited from class java.lang.Object...............................................................................25

Field Detail......................................................................................................................................25

Constructor Detail...........................................................................................................................25

Method Detail..................................................................................................................................26

topics

i

Table of Contents

topics

Class NumberTopic...............................................................................................................................29

Field Summary................................................................................................................................29

Constructor Summary......................................................................................................................29

Method Summary............................................................................................................................29

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................30

Methods inherited from class java.lang.Object...............................................................................30

Field Detail......................................................................................................................................30

Constructor Detail...........................................................................................................................31

Method Detail..................................................................................................................................31

Class TemperaturaTopic........................................................................................................................34

Field Summary................................................................................................................................34

Constructor Summary......................................................................................................................35

Method Summary............................................................................................................................35

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................35

Methods inherited from class java.lang.Object...............................................................................36

Field Detail......................................................................................................................................36

Constructor Detail...........................................................................................................................36

Method Detail..................................................................................................................................36

Class TensionArterialTopic...................................................................................................................39

Field Summary................................................................................................................................40

Constructor Summary......................................................................................................................40

Method Summary............................................................................................................................40

Methods inherited from class com.framework.vendors.rti.main.TopicBeanBase..........................41

Methods inherited from class java.lang.Object...............................................................................41

Field Detail......................................................................................................................................42

Constructor Detail...........................................................................................................................42

Method Detail..................................................................................................................................42

topics

ii

Package topics

Class Summary

Class Description

AyudaTopic

ErrorTopicLa clase ErrorTopic define el topic en el que se intercambiarán mensajes de

error de los dispositivos de monitorización de los pacientes.

GlucemiaTopicLa clase GlucemiaTopic representa el Topic usado para compartir

información sobre los niveles de glucemia de un paciente.

NumberTopic

TemperaturaTopic Clase TemperaturaTopic.

TensionArterialTopicLa clase TensionArterialTopic es el Topic destinado a comunicar la

información sobre la tensión arterial.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Package•

Next Package•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Package topics 1

Next•

Frames•

No Frames•

All Classes•

topics

Package topics 2

Hierarchy For Package topics

Package Hierarchies:

All Packages•

Class Hierarchy

java.lang.Object

com.framework.vendors.rti.main.TopicBeanBase

topics.AyudaTopic◊

topics.ErrorTopic◊

topics.GlucemiaTopic◊

topics.NumberTopic◊

topics.TemperaturaTopic◊

topics.TensionArterialTopic◊

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Hierarchy For Package topics 3

Frames•

No Frames•

All Classes•

topics

Class Hierarchy 4

Uses of Package

topics

Packages that use topics

Package Description

alarmas

Classes in topics used by alarmas

Class and Description

AyudaTopic

ErrorTopic

La clase ErrorTopic define el topic en el que se intercambiarán mensajes de error de los dispositivos

de monitorización de los pacientes.

GlucemiaTopic

La clase GlucemiaTopic representa el Topic usado para compartir información sobre los niveles de

glucemia de un paciente.

NumberTopic

TemperaturaTopic

Clase TemperaturaTopic.

TensionArterialTopic

La clase TensionArterialTopic es el Topic destinado a comunicar la información sobre la tensión

arterial.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Packagetopics 5

topics

Classes

AyudaTopic•

ErrorTopic•

GlucemiaTopic•

NumberTopic•

TemperaturaTopic•

TensionArterialTopic•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

topics.AyudaTopic

Packages that use AyudaTopic

Package Description

alarmas

Uses of AyudaTopic in alarmas

Fields in alarmas declared as AyudaTopic

Modifier and Type Field and Description

protected AyudaTopic Alarma.ayudaTopic

♦ •

topics 6

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

topics.ErrorTopic

Packages that use ErrorTopic

Package Description

alarmas

Uses of ErrorTopic in alarmas

Fields in alarmas declared as ErrorTopic

♦ •

topics

Uses of AyudaTopic in alarmas 7

Modifier and Type Field and Description

private ErrorTopic AlarmaError.topicError

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

topics.GlucemiaTopic

Packages that use GlucemiaTopic

Package Description

topics

Uses of ErrorTopic in alarmas 8

alarmas

Uses of GlucemiaTopic in alarmas

Fields in alarmas declared as GlucemiaTopic

Modifier and Type Field and Description

protected GlucemiaTopic Alarma.glucemiaTopic

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

topics

Uses of Classtopics.GlucemiaTopic 9

Uses of Class

topics.NumberTopic

Packages that use NumberTopic

Package Description

alarmas

Uses of NumberTopic in alarmas

Fields in alarmas declared as NumberTopic

Modifier and Type Field and Description

protected NumberTopic Alarma.numberTopic

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

topics

Uses of Classtopics.NumberTopic 10

Frames•

No Frames•

All Classes•

Uses of Class

topics.TemperaturaTopic

Packages that use TemperaturaTopic

Package Description

alarmas

Uses of TemperaturaTopic in alarmas

Fields in alarmas declared as TemperaturaTopic

Modifier and Type Field and Description

protected TemperaturaTopic Alarma.temperaturaTopic

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

topics

Uses of NumberTopic in alarmas 11

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

topics.TensionArterialTopic

Packages that use TensionArterialTopic

Package Description

alarmas

Uses of TensionArterialTopic in alarmas

Fields in alarmas declared as TensionArterialTopic

Modifier and Type Field and Description

protected TensionArterialTopic Alarma.tensionTopic

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

topics

Uses of TemperaturaTopic in alarmas 12

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

Class AyudaTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.AyudaTopic◊ ♦

public class AyudaTopic

extends TopicBeanBase

Version:

1.0

La clase AyudaTopic representa el Topic en el que se comunicará la información sobre el

pulsado del botón de ayuda de un dispositivo de comunicación. Al pulsar el botón, se

publicaría el número 1 indicando que se ha pulsado el botón. También se publica el nombre

del paciente y un número de secuencia. Hereda de la clase TopicBeanBase.

Author:

José María Roldán Gil

topics

Uses of TensionArterialTopic in alarmas 13

Field Summary

Fields

Modifier and Type Field and Description

private String ayuda

private String nombreTopic

private String paciente

private String secuencia

Constructor Summary

Constructors

Constructor and Description

AyudaTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

floatgetAyuda()

Método que sirve para obtener el valor del la variable Ayuda.

floatgetDato()

Método que sirve para obtener el dato del valor de la ayuda.

StringgetNombreTopic()

Método que sirve para obtener el nombre del topic.

StringgetNombreVariable()

Método que sirve para obtener el nombre de la variable principal del topic

String

getNombreVariablePaciente()

Método que sirve para obtener el nombre de la variable que almacena el

nombre del paciente

StringgetPaciente()

Método que obtiene el valor de la variable nombre del paciente.

intgetSecuencia()

Método que obtiene el valor del número de secuencia

voidsetAyuda(float n)

Método que sirve para establecer el dato de la variable Ayuda

voidsetPaciente(String p)

Método que establece el valor del campo nombre de paciente del topic.

topics

Field Summary 14

void

setSecuencia(int s)

Método cuya funcionalidad es establecer el valor de la variable número de

secuencia

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

paciente

private String paciente

nombreTopic

private String nombreTopic

ayuda

private String ayuda

secuencia

private String secuencia

Constructor Detail

AyudaTopic

public AyudaTopic()

Constructor de la clase. Establece los tres datos que formarán parte de este topic: un

String paciente, Float ayuda e Integer número de secuencia.

topics

Method Summary 15

Method Detail

setAyuda

public void setAyuda(float n)

Método que sirve para establecer el dato de la variable Ayuda

Parameters:

n - de tipo float. Representa el nuevo valor.

getAyuda

public float getAyuda()

Método que sirve para obtener el valor del la variable Ayuda.

Returns:

devuelve el valor de la variable Ayuda, de tipo float.

setPaciente

public void setPaciente(String p)

Método que establece el valor del campo nombre de paciente del topic.

Parameters:

p - de tipo String, que es el nuevo valor del nombre.

getPaciente

public String getPaciente()

Método que obtiene el valor de la variable nombre del paciente.

Returns:

String con el valor del nombre del paciente.

setSecuencia

public void setSecuencia(int s)

Método cuya funcionalidad es establecer el valor de la variable número de secuencia

Parameters:

s - de tipo integer, que indica el número de secuencia.

getSecuencia

public int getSecuencia()

Método que obtiene el valor del número de secuencia

Returns:

el número de secuencia, de tipo integer.

topics

Method Detail 16

getDato

public float getDato()

Método que sirve para obtener el dato del valor de la ayuda. El nombre del método es

compartido entre todos los tipos de topic para simplificar la programación.

Returns:

Devuelve el valor de la variable ayuda.

getNombreVariable

public String getNombreVariable()

Método que sirve para obtener el nombre de la variable principal del topic

Returns:

Devuelve una cadena de caracteres con el nombre de la variable

getNombreTopic

public String getNombreTopic()

Método que sirve para obtener el nombre del topic.

Returns:

Devuelve una cadena de caracteres con el nombre del topic.

getNombreVariablePaciente

public String getNombreVariablePaciente()

Método que sirve para obtener el nombre de la variable que almacena el nombre del

paciente

Returns:

Devuelve una cadena de caracteres con el nombre de la variable del nombre

del paciente.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

topics

Method Detail 17

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

topics

Method Detail 18

Class ErrorTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.ErrorTopic◊ ♦

public class ErrorTopic

extends TopicBeanBase

La clase ErrorTopic define el topic en el que se intercambiarán mensajes de error de los dispositivos

de monitorización de los pacientes. Hereda de la clase TopicBeanBase

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String error

private String nombreTopic

private String paciente

Constructor Summary

Constructors

Constructor and Description

ErrorTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

StringgetDato()

Este método sirve para obtener el mensaje de error publicado.

topics

Class ErrorTopic 19

StringgetError()

Para obtener el mensaje de error publicado en el topic.

StringgetNombreTopic()

Para obtener el nombre del topic.

StringgetNombreVariable()

Para obtener el nombre de la variable de glucemia.

StringgetNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

StringgetPaciente()

Para obtener el nombre del paciente guardado en el Topic.

voidsetError(String e)

Este método permite establecer un nuevo mensaje de error.

void

setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del

paciente.

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

paciente

private String paciente

nombreTopic

private String nombreTopic

error

private String error

♦ •

topics

Method Summary 20

Constructor Detail

ErrorTopic

public ErrorTopic()

Constructor de la clase. Genera las siguientes variables de información: el mensaje de

error, de tipo String; el nombre del paciente, de tipo String.

Method Detail

setError

public void setError(String e)

Este método permite establecer un nuevo mensaje de error.

Parameters:

e - String. Indica el nuevo mensaje.

getError

public String getError()

Para obtener el mensaje de error publicado en el topic.

Returns:

String: el mensaje de error.

setPaciente

public void setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del paciente.

Parameters:

p - String. Es el nuevo nombre.

getPaciente

public String getPaciente()

Para obtener el nombre del paciente guardado en el Topic.

Returns:

String: el nombre del paciente.

getDato

public String getDato()

Este método sirve para obtener el mensaje de error publicado. Es implementado en

los diferentes tipos de topics para facilitar la programación.

topics

Constructor Detail 21

Returns:

String: el mensaje de error.

getNombreVariable

public String getNombreVariable()

Para obtener el nombre de la variable de glucemia.

Returns:

String: el nombre de la variable glucemia.

getNombreTopic

public String getNombreTopic()

Para obtener el nombre del topic.

Returns:

String: el nombre del topic.

getNombreVariablePaciente

public String getNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

Returns:

String: el nombre de la variable paciente.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

topics

Method Detail 22

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

Class GlucemiaTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.GlucemiaTopic◊ ♦

public class GlucemiaTopic

extends TopicBeanBase

La clase GlucemiaTopic representa el Topic usado para compartir información sobre los niveles de

topics

Class GlucemiaTopic 23

glucemia de un paciente. Hereda de la clase TopicBeanBase.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String glucemia

private String nombreTopic

private String paciente

private String secuencia

Constructor Summary

Constructors

Constructor and Description

GlucemiaTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

floatgetDato()

Para obtener el valor de la variable glucemia.

floatgetGlucemia()

Para obtener el valor de la variable glucemia.

StringgetNombreTopic()

Para obtener el nombre del topic.

StringgetNombreVariable()

Para obtener el nombre de la variable de glucemia.

StringgetNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

StringgetPaciente()

Para obtener el nombre del paciente guardado en el Topic.

topics

Field Summary 24

intgetSecuencia()

Método que permite obtener el valor del número de secuencia.

voidsetGlucemia(float g)

Permite establecer un nuevo valor de glucemia.

void

setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del

paciente.

voidsetSecuencia(int s)

Método que permite establecer el valor del número de secuencia.

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

nombreTopic

private String nombreTopic

glucemia

private String glucemia

paciente

private String paciente

secuencia

private String secuencia

Constructor Detail♦

topics

Method Summary 25

GlucemiaTopic

public GlucemiaTopic()

Constructor de la clase. Establece tres variables: el nivel de glucemia, de tipo float; el

nombre del paciente, de tipo String; el número de secuencia, de tipo Integer.

Method Detail

setGlucemia

public void setGlucemia(float g)

Permite establecer un nuevo valor de glucemia.

Parameters:

g - tipo float. Identifica el nuevo valor de glucemia.

getGlucemia

public float getGlucemia()

Para obtener el valor de la variable glucemia.

Returns:

Float: el nivel de glucemia.

getDato

public float getDato()

Para obtener el valor de la variable glucemia. Este método es implementado en todos

los tipos de topics para facilitar la programación en otras partes de la aplicación.

Returns:

Float: el nivel de glucemia.

setPaciente

public void setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del paciente.

Parameters:

p - String. Es el nuevo nombre.

getPaciente

public String getPaciente()

Para obtener el nombre del paciente guardado en el Topic.

Returns:

String: el nombre del paciente.

topics

Constructor Detail 26

setSecuencia

public void setSecuencia(int s)

Método que permite establecer el valor del número de secuencia.

Parameters:

s - int. Indica el nuevo número de secuencia.

getSecuencia

public int getSecuencia()

Método que permite obtener el valor del número de secuencia.

Returns:

Integer: número de secuencia.

getNombreTopic

public String getNombreTopic()

Para obtener el nombre del topic.

Returns:

String: el nombre del topic.

getNombreVariable

public String getNombreVariable()

Para obtener el nombre de la variable de glucemia.

Returns:

String: el nombre de la variable glucemia.

getNombreVariablePaciente

public String getNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

Returns:

String: el nombre de la variable paciente.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

topics

Method Detail 27

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

topics

Method Detail 28

Class NumberTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.NumberTopic◊ ♦

public class NumberTopic

extends TopicBeanBase

Version:

1.0

La clase NumberTopic representa un topic en el que se publicarán números de tipo float. Es

usada para realizar pruebas, ya que no tiene funcionalidad sanitaria. Hereda de la clase

TopicBeanBase.

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String nombreTopic

private String number

private String paciente

private String secuencia

Constructor Summary

Constructors

Constructor and Description

NumberTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

topics

Class NumberTopic 29

floatgetDato()

Este método sirve para obtener el valor de la variable número.

StringgetNombreTopic()

Este método sirve para obtener el nombre del topic

String

getNombreVariable()

Este método devuelve el nombre de la variable que almacena el valor del

número.

String

getNombreVariablePaciente()

Este método sirve para obtener el nombre de la variable que almacena el

nombre del paciente

floatgetNumber()

Método que devuelve el valor del número

StringgetPaciente()

Este método sirve para obtener el valor de la variable nombre del paciente

intgetSecuencia()

Este método devuelve el valor del número de secuencia

voidsetNumber(Float n)

Método que sirve para establecer un nuevo valor del número

void

setPaciente(String p)

Este método establece un nuevo valor para la variable nombre del

paciente.

voidsetSecuencia(int s)

Este método establece un nuevo valor para el número de secuencia.

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail♦ •

topics

Method Summary 30

nombreTopic

private String nombreTopic

number

private String number

paciente

private String paciente

secuencia

private String secuencia

Constructor Detail

NumberTopic

public NumberTopic()

Constructor de la clase. Añade al topic tres variables, una de tipo float para

representar los números, un String para el nombre del paciente y un Integer para el

número de secuencia.

Method Detail

setNumber

public void setNumber(Float n)

Método que sirve para establecer un nuevo valor del número

Parameters:

n - de tipo float, indica el nuevo valor.

getNumber

public float getNumber()

Método que devuelve el valor del número

Returns:

Devuelve el valor del número, de tipo float.

setPaciente

public void setPaciente(String p)

Este método establece un nuevo valor para la variable nombre del paciente.

Parameters:

p - de tipo String, para indicar el valor del nombre.

topics

Field Detail 31

getPaciente

public String getPaciente()

Este método sirve para obtener el valor de la variable nombre del paciente

Returns:

Devuelve una cadena de caracteres con el valor.

setSecuencia

public void setSecuencia(int s)

Este método establece un nuevo valor para el número de secuencia.

Parameters:

s - de tipo int, para indicar el nuevo valor.

getSecuencia

public int getSecuencia()

Este método devuelve el valor del número de secuencia

Returns:

Devuelve el entero secuencia.

getDato

public float getDato()

Este método sirve para obtener el valor de la variable número. Se implementa en

todos los topics para facilitar la programación posterior.

Returns:

el valor del número, de tipo float.

getNombreVariable

public String getNombreVariable()

Este método devuelve el nombre de la variable que almacena el valor del número.

Returns:

Devuelve una cadena indicando el nombre.

getNombreTopic

public String getNombreTopic()

Este método sirve para obtener el nombre del topic

Returns:

una cadena de caracteres indicando el nombre del topic.

topics

Method Detail 32

getNombreVariablePaciente

public String getNombreVariablePaciente()

Este método sirve para obtener el nombre de la variable que almacena el nombre del

paciente

Returns:

String indicando el nombre de la variable.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

topics

Method Detail 33

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

Class TemperaturaTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.TemperaturaTopic◊ ♦

public class TemperaturaTopic

extends TopicBeanBase

Clase TemperaturaTopic. Es el topic utilizado para publicar la temperatura de un determinado

paciente. Hereda de la clase TopicBeanBase

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String nombreTopic

private String paciente

private String secuencia

♦ •

topics

Class TemperaturaTopic 34

private String temperatura

Constructor Summary

Constructors

Constructor and Description

TemperaturaTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

floatgetDato()

Para obtener el valor de la temperatura.

StringgetNombreTopic()

Para obtener el nombre del topic.

StringgetNombreVariable()

Para obtener el nombre de la variable de glucemia.

StringgetNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

StringgetPaciente()

Para obtener el nombre del paciente guardado en el Topic.

intgetSecuencia()

Para obtener el valor del número de secuencia.

floatgetTemperatura()

Para obtener el valor de la variable temperatura

void

setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del

paciente.

void

setSecuencia(int s)

La funcionalidad de este método es establecer el número de secuencia en

el topic.

voidsetTemperatura(float n)

Este método permite establecer un nuevo valor de la temperatura.

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

topics

Field Summary 35

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

paciente

private String paciente

nombreTopic

private String nombreTopic

temperatura

private String temperatura

secuencia

private String secuencia

Constructor Detail

TemperaturaTopic

public TemperaturaTopic()

Constructor de la clase. Añade las siguientes variables de información: el nombre del

paciente y el mensaje de error.

Method Detail

setTemperatura

public void setTemperatura(float n)

Este método permite establecer un nuevo valor de la temperatura.

Parameters:

n - de tipo float. El nuevo valor de temperatura.

topics

Methods inherited fromclass com.framework.vendors.rti.main.TopicBeanBase 36

getTemperatura

public float getTemperatura()

Para obtener el valor de la variable temperatura

Returns:

float: temperatura.

setPaciente

public void setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del paciente.

Parameters:

p - String. Es el nuevo nombre.

getPaciente

public String getPaciente()

Para obtener el nombre del paciente guardado en el Topic.

Returns:

String: el nombre del paciente.

setSecuencia

public void setSecuencia(int s)

La funcionalidad de este método es establecer el número de secuencia en el topic.

Parameters:

s - int. El nuevo valor del numero de secuencia.

getSecuencia

public int getSecuencia()

Para obtener el valor del número de secuencia.

Returns:

Integer: número de secuencia.

getDato

public float getDato()

Para obtener el valor de la temperatura. Este método se implementa en los diferentes

tipos de topics para facilitar la programación en otras partes del programa.

Returns:

float: temperatura.

topics

Method Detail 37

getNombreVariable

public String getNombreVariable()

Para obtener el nombre de la variable de glucemia.

Returns:

String: el nombre de la variable glucemia.

getNombreTopic

public String getNombreTopic()

Para obtener el nombre del topic.

Returns:

String: el nombre del topic.

getNombreVariablePaciente

public String getNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

Returns:

String: el nombre de la variable paciente.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

topics

Method Detail 38

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

Class TensionArterialTopic

java.lang.Object•

com.framework.vendors.rti.main.TopicBeanBase♦

topics.TensionArterialTopic◊ ♦

public class TensionArterialTopic

extends TopicBeanBase

La clase TensionArterialTopic es el Topic destinado a comunicar la información sobre la tensión

arterial. A diferencia de otros topics implementados, la tensión arterial tiene dos componentes, por lo

topics

Class TensionArterialTopic 39

que habrá dos variables de datos. Hereda de la clase TopicBeanBase.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String nombreTopic

private int numeroDeVariables

private String paciente

private String secuencia

private String tensionArterialDiastolica

private String tensionArterialSistolica

Constructor Summary

Constructors

Constructor and Description

TensionArterialTopic()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

floatgetDatoA()

Este método obtiene el valor de la tension arterial sistólica.

floatgetDatoB()

Este método obtiene el valor de la tension arterial diastólica.

float[]getDatos()

Este método obtiene los dos campos de la tensión arterial.

StringgetNombreTopic()

Para obtener el nombre del topic.

String getNombreVariableA()

topics

Field Summary 40

Para obtener el nombre de la variable que almacena el primer campo de la

tensión.

String

getNombreVariableB()

Para obtener el nombre de la variable que almacena el segundo campo de la

tensión.

StringgetNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

StringgetPaciente()

Para obtener el nombre del paciente guardado en el Topic.

intgetSecuencia()

Para obtener el valor del número de secuencia.

floatgetTensionArterialDiastolica()

Obtiene el valor de la tensión arterial diastólica.

floatgetTensionArterialSistolica()

Para obtener el valor de la tensión arterial sistólica.

void

setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del

paciente.

void

setSecuencia(int s)

La funcionalidad de este método es establecer el número de secuencia en el

topic.

void

setTensionArterialDiastolica(float n)

Método para establecer el segundo componente de la tensión, la tensión

arterial diastolica.

void

setTensionArterialSistolica(float n)

Para establecer el valor de la tensión arterial sistólica, uno de los dos

componentes de la tensión.

Methods inherited from

class com.framework.vendors.rti.main.TopicBeanBase

addBoolean, addFloat, addInteger, addRestriction,

addString, getBoolean, getFloat, getInteger, getQos,

getString, getTopicId, getTopicName, getTypeName,

getTypeTopic, isKey, mappingDDS, mappingTopicBean,

mappingTopicBean, returnRestrictions, setBoolean,

setFloat, setInteger, setQos, setString, setSubscriberFW,

setTopicId

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

topics

Method Summary 41

Field Detail

nombreTopic

private String nombreTopic

tensionArterialSistolica

private String tensionArterialSistolica

tensionArterialDiastolica

private String tensionArterialDiastolica

paciente

private String paciente

secuencia

private String secuencia

numeroDeVariables

private int numeroDeVariables

Constructor Detail

TensionArterialTopic

public TensionArterialTopic()

Constructor de la clase. Establece cuatro variables: el primer componente de la

tensión arterial, de tipo float; el segundo componente, también de tipo float; el

nombre del paciente, de tipo String y el número de secuencia, de tipo Integer.

Method Detail

setTensionArterialSistolica

public void setTensionArterialSistolica(float n)

Para establecer el valor de la tensión arterial sistólica, uno de los dos componentes de

la tensión.

Parameters:

n - de tipo float. El valor de la tensión arterial sistólica.

getTensionArterialSistolica

public float getTensionArterialSistolica()

Para obtener el valor de la tensión arterial sistólica.

Returns:

topics

Field Detail 42

float: el valor de la variable.

setTensionArterialDiastolica

public void setTensionArterialDiastolica(float n)

Método para establecer el segundo componente de la tensión, la tensión arterial

diastolica.

Parameters:

n - float. El valor de este componente de la tensión.

getTensionArterialDiastolica

public float getTensionArterialDiastolica()

Obtiene el valor de la tensión arterial diastólica.

Returns:

Float: el valor de la variable.

setPaciente

public void setPaciente(String p)

Este método está destinado a establecer un nuevo valor del nombre del paciente.

Parameters:

p - String. Es el nuevo nombre.

getPaciente

public String getPaciente()

Para obtener el nombre del paciente guardado en el Topic.

Returns:

String: el nombre del paciente.

setSecuencia

public void setSecuencia(int s)

La funcionalidad de este método es establecer el número de secuencia en el topic.

Parameters:

s - int. El nuevo valor del numero de secuencia.

getSecuencia

public int getSecuencia()

Para obtener el valor del número de secuencia.

Returns:

Integer: número de secuencia.

topics

Method Detail 43

getNombreTopic

public String getNombreTopic()

Para obtener el nombre del topic.

Returns:

String: el nombre del topic.

getNombreVariableA

public String getNombreVariableA()

Para obtener el nombre de la variable que almacena el primer campo de la tensión.

Returns:

String: el nombre de la variable que almacena la tension arterial sistólica.

getNombreVariableB

public String getNombreVariableB()

Para obtener el nombre de la variable que almacena el segundo campo de la tensión.

Returns:

String: el nombre de la variable que almacena la tensión arterial diastólica.

getNombreVariablePaciente

public String getNombreVariablePaciente()

Para obtener el nombre de la variable del paciente

Returns:

String: el nombre de la variable paciente.

getDatoA

public float getDatoA()

Este método obtiene el valor de la tension arterial sistólica. Se implementa para

facilitar la programación en otras partes del programa.

Returns:

float: el valor de la variable.

getDatoB

public float getDatoB()

Este método obtiene el valor de la tension arterial diastólica. Se implementa para

facilitar la programación en otras partes del programa.

Returns:

float: el valor de la variable.

topics

Method Detail 44

getDatos

public float[] getDatos()

Este método obtiene los dos campos de la tensión arterial.

Returns:

float[]: los dos valores que forman la tensión.

◊ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

topics

Method Detail 45

listeners

Table of Contents

Package listeners.................................................................................................................................................1

Hierarchy For Package listeners.......................................................................................................................3

Class Hierarchy........................................................................................................................................3

Uses of Packagelisteners.....................................................................................................................................5

listeners................................................................................................................................................................7

Classes.....................................................................................................................................................7

Uses of Classlisteners.ListenerAyuda......................................................................................................7

Uses of ListenerAyuda in alarmas.....................................................................................................7

Uses of Classlisteners.ListenerError........................................................................................................8

Uses of ListenerError in alarmas.......................................................................................................9

Uses of Classlisteners.ListenerGlucemia...............................................................................................10

Uses of ListenerGlucemia in alarmas..............................................................................................10

Uses of Classlisteners.ListenerMemoriaGlucemia................................................................................11

Uses of ListenerMemoriaGlucemia in alarmas...............................................................................11

Uses of Classlisteners.ListenerMemoriaNumber...................................................................................12

Uses of ListenerMemoriaNumber in alarmas.................................................................................12

Uses of Classlisteners.ListenerMemoriaTemperatura...........................................................................13

Uses of ListenerMemoriaTemperatura in alarmas..........................................................................13

Uses of Classlisteners.ListenerMemoriaTension...................................................................................14

Uses of ListenerMemoriaTension in alarmas..................................................................................14

Uses of Classlisteners.ListenerNumber.................................................................................................15

Uses of ListenerNumber in alarmas................................................................................................15

Uses of Classlisteners.ListenerTemperatura..........................................................................................16

Uses of ListenerTemperatura in alarmas.........................................................................................16

Uses of Classlisteners.ListenerTension.................................................................................................17

Uses of ListenerTension in alarmas................................................................................................18

Class ListenerAyuda..............................................................................................................................19

Field Summary................................................................................................................................19

Constructor Summary......................................................................................................................19

Method Summary............................................................................................................................20

Methods inherited from class java.lang.Object...............................................................................20

Field Detail......................................................................................................................................20

Constructor Detail...........................................................................................................................20

Method Detail..................................................................................................................................21

Class ListenerError................................................................................................................................22

Constructor Summary......................................................................................................................23

Method Summary............................................................................................................................23

Methods inherited from class java.lang.Object...............................................................................23

Constructor Detail...........................................................................................................................23

Method Detail..................................................................................................................................23

Class ListenerGlucemia.........................................................................................................................25

Field Summary................................................................................................................................25

Constructor Summary......................................................................................................................25

Method Summary............................................................................................................................26

Methods inherited from class java.lang.Object...............................................................................26

listeners

i

Table of Contents

listeners

Field Detail......................................................................................................................................26

Constructor Detail...........................................................................................................................26

Method Detail..................................................................................................................................27

Class ListenerMemoriaGlucemia...........................................................................................................28

Field Summary................................................................................................................................29

Constructor Summary......................................................................................................................29

Method Summary............................................................................................................................29

Methods inherited from class java.lang.Object...............................................................................30

Field Detail......................................................................................................................................30

Constructor Detail...........................................................................................................................30

Method Detail..................................................................................................................................31

Class ListenerMemoriaNumber.............................................................................................................32

Field Summary................................................................................................................................33

Constructor Summary......................................................................................................................33

Method Summary............................................................................................................................33

Methods inherited from class java.lang.Object...............................................................................34

Field Detail......................................................................................................................................34

Constructor Detail...........................................................................................................................34

Method Detail..................................................................................................................................35

Class ListenerMemoriaTemperatura......................................................................................................36

Field Summary................................................................................................................................37

Constructor Summary......................................................................................................................37

Method Summary............................................................................................................................37

Methods inherited from class java.lang.Object...............................................................................37

Field Detail......................................................................................................................................38

Constructor Detail...........................................................................................................................38

Method Detail..................................................................................................................................39

Class ListenerMemoriaTension.............................................................................................................40

Field Summary................................................................................................................................41

Constructor Summary......................................................................................................................41

Method Summary............................................................................................................................41

Methods inherited from class java.lang.Object...............................................................................41

Field Detail......................................................................................................................................41

Constructor Detail...........................................................................................................................42

Method Detail..................................................................................................................................43

Class ListenerNumber............................................................................................................................44

Field Summary................................................................................................................................45

Constructor Summary......................................................................................................................45

Method Summary............................................................................................................................45

Methods inherited from class java.lang.Object...............................................................................45

Field Detail......................................................................................................................................45

Constructor Detail...........................................................................................................................46

Method Detail..................................................................................................................................46

Class ListenerTemperatura....................................................................................................................48

Field Summary................................................................................................................................48

Constructor Summary......................................................................................................................48

Method Summary............................................................................................................................49

listeners

ii

Table of Contents

listeners

Methods inherited from class java.lang.Object...............................................................................49

Field Detail......................................................................................................................................49

Constructor Detail...........................................................................................................................49

Method Detail..................................................................................................................................50

Class ListenerTension............................................................................................................................51

Field Summary................................................................................................................................52

Constructor Summary......................................................................................................................52

Method Summary............................................................................................................................52

Methods inherited from class java.lang.Object...............................................................................53

Field Detail......................................................................................................................................53

Constructor Detail...........................................................................................................................53

Method Detail..................................................................................................................................53

listeners

iii

Package listeners

Class Summary

Class Description

ListenerAyuda Clase que gestiona la llegada de datos en el topic AyudaTopic.

ListenerError Clase ListenerError.

ListenerGlucemia Clase ListenerGlucemia.

ListenerMemoriaGlucemia Clase ListenerMemoriaGlucemia.

ListenerMemoriaNumber

Clase ListenerMemoriaNumber: escucha en el Topic NumberTopic

la llegada de datos, y ejecuta el método 'on_data_available' cuando

se produce la llegada.

ListenerMemoriaTemperatura Clase ListenerMemoriaTemperatura.

ListenerMemoriaTension Clase ListenerMemoriaTension.

ListenerNumber Clase ListenerNumber.

ListenerTemperatura Clase ListenerTemperatura.

ListenerTension Clase ListenerTension.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Package•

Next Package•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Package listeners 1

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

listeners

Package listeners 2

Hierarchy For Package listeners

Package Hierarchies:

All Packages•

Class Hierarchy

java.lang.Object

listeners.ListenerAyuda (implements com.framework.vendors.rti.main.DataListener)♦

listeners.ListenerError (implements com.framework.vendors.rti.main.DataListener)♦

listeners.ListenerGlucemia (implements com.framework.vendors.rti.main.DataListener)♦

listeners.ListenerMemoriaGlucemia (implements

com.framework.vendors.rti.main.DataListener)

listeners.ListenerMemoriaNumber (implements

com.framework.vendors.rti.main.DataListener)

listeners.ListenerMemoriaTemperatura (implements

com.framework.vendors.rti.main.DataListener)

listeners.ListenerMemoriaTension (implements

com.framework.vendors.rti.main.DataListener)

listeners.ListenerNumber (implements com.framework.vendors.rti.main.DataListener)♦

listeners.ListenerTemperatura (implements com.framework.vendors.rti.main.DataListener)♦

listeners.ListenerTension (implements com.framework.vendors.rti.main.DataListener)♦

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Hierarchy For Package listeners 3

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

listeners

Class Hierarchy 4

Uses of Package

listeners

Packages that use listeners

Package Description

alarmas

Classes in listeners used by alarmas

Class and Description

ListenerAyuda

Clase que gestiona la llegada de datos en el topic AyudaTopic.

ListenerError

Clase ListenerError.

ListenerGlucemia

Clase ListenerGlucemia.

ListenerMemoriaGlucemia

Clase ListenerMemoriaGlucemia.

ListenerMemoriaNumber

Clase ListenerMemoriaNumber: escucha en el Topic NumberTopic la llegada de datos, y ejecuta el

método 'on_data_available' cuando se produce la llegada.

ListenerMemoriaTemperatura

Clase ListenerMemoriaTemperatura.

ListenerMemoriaTension

Clase ListenerMemoriaTension.

ListenerNumber

Clase ListenerNumber.

ListenerTemperatura

Clase ListenerTemperatura.

ListenerTension

Clase ListenerTension.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Uses of Packagelisteners 5

Next•

Frames•

No Frames•

All Classes•

listeners

Uses of Packagelisteners 6

listeners

Classes

ListenerAyuda•

ListenerError•

ListenerGlucemia•

ListenerMemoriaGlucemia•

ListenerMemoriaNumber•

ListenerMemoriaTemperatura•

ListenerMemoriaTension•

ListenerNumber•

ListenerTemperatura•

ListenerTension•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerAyuda

Packages that use ListenerAyuda

Package Description

alarmas

Uses of ListenerAyuda in alarmas

Fields in alarmas declared as ListenerAyuda

♦ •

listeners 7

Modifier and Type Field and Description

protected ListenerAyuda Alarma.listenerAyuda

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerError

Packages that use ListenerError

Package Description

listeners

Uses of ListenerAyuda in alarmas 8

alarmas

Uses of ListenerError in alarmas

Fields in alarmas declared as ListenerError

Modifier and Type Field and Description

private ListenerError AlarmaError.listenerError

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

listeners

Uses of Classlisteners.ListenerError 9

Uses of Class

listeners.ListenerGlucemia

Packages that use ListenerGlucemia

Package Description

alarmas

Uses of ListenerGlucemia in alarmas

Fields in alarmas declared as ListenerGlucemia

Modifier and Type Field and Description

protected ListenerGlucemia Alarma.listenerGlucemia

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

listeners

Uses of Classlisteners.ListenerGlucemia 10

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerMemoriaGlucemia

Packages that use ListenerMemoriaGlucemia

Package Description

alarmas

Uses of ListenerMemoriaGlucemia in alarmas

Fields in alarmas declared as ListenerMemoriaGlucemia

Modifier and Type Field and Description

protected

ListenerMemoriaGlucemiaAlarma.listenerMemoriaGlucemia

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

listeners

Uses of ListenerGlucemia in alarmas 11

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerMemoriaNumber

Packages that use ListenerMemoriaNumber

Package Description

alarmas

Uses of ListenerMemoriaNumber in alarmas

Fields in alarmas declared as ListenerMemoriaNumber

Modifier and Type Field and Description

protected ListenerMemoriaNumber Alarma.listenerMemoriaNumber

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

listeners

Uses of ListenerMemoriaGlucemia in alarmas 12

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerMemoriaTemperatura

Packages that use ListenerMemoriaTemperatura

Package Description

alarmas

Uses of ListenerMemoriaTemperatura in alarmas

Fields in alarmas declared as ListenerMemoriaTemperatura

Modifier and Type Field and Description

protected

ListenerMemoriaTemperaturaAlarma.listenerMemoriaTemperatura

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

listeners

Uses of ListenerMemoriaNumber in alarmas 13

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerMemoriaTension

Packages that use ListenerMemoriaTension

Package Description

alarmas

Uses of ListenerMemoriaTension in alarmas

Fields in alarmas declared as ListenerMemoriaTension

Modifier and Type Field and Description

protected ListenerMemoriaTension Alarma.listenerMemoriaTension

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

listeners

Uses of ListenerMemoriaTemperatura in alarmas 14

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerNumber

Packages that use ListenerNumber

Package Description

alarmas

Uses of ListenerNumber in alarmas

Fields in alarmas declared as ListenerNumber

Modifier and Type Field and Description

protected ListenerNumber Alarma.listenerNumber

♦ •

Overview•

listeners

Uses of ListenerMemoriaTension in alarmas 15

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerTemperatura

Packages that use ListenerTemperatura

Package Description

alarmas

Uses of ListenerTemperatura in alarmas

Fields in alarmas declared as ListenerTemperatura

♦ •

listeners

Uses of ListenerNumber in alarmas 16

Modifier and Type Field and Description

protected ListenerTemperatura Alarma.listenerTemperatura

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

listeners.ListenerTension

Packages that use ListenerTension

Package Description

listeners

Uses of ListenerTemperatura in alarmas 17

alarmas

Uses of ListenerTension in alarmas

Fields in alarmas declared as ListenerTension

Modifier and Type Field and Description

protected ListenerTension Alarma.listenerTension

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

listeners

Uses of Classlisteners.ListenerTension 18

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerAyuda

java.lang.Object•

listeners.ListenerAyuda♦ •

All Implemented Interfaces:

DataListener

public class ListenerAyuda

extends Object

implements DataListener

Clase que gestiona la llegada de datos en el topic AyudaTopic. Se ejecuta el método

'on_data_available' al llegar nuevos datos. Hereda de DataListener.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and TypeField and

Description

private BaseDeDatos bd

private String condicion

Constructor Summary

Constructors

Constructor and Description

listeners

Uses of ListenerTension in alarmas 19

ListenerAyuda()

Constructor del la clase.

ListenerAyuda(String c)

Constructor que inicializa la parte de alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

bd

private BaseDeDatos bd

condicion

private String condicion

Constructor Detail

ListenerAyuda

public ListenerAyuda()

Constructor del la clase.

ListenerAyuda

public ListenerAyuda(String c)

Constructor que inicializa la parte de alarma personalizada.

Parameters:

c - String. Condición de personalización.

listeners

Constructor Summary 20

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

listeners

Method Detail 21

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerError

java.lang.Object•

listeners.ListenerError♦ •

All Implemented Interfaces:

DataListener

public class ListenerError

extends Object

implements DataListener

Clase ListenerError. Sirve para estar escuchando en el topic ErrorTopic los diferentes mensajes de

error publicados y ejecutar el método 'on_data_available' con la llegada de un nuevo mensaje. Hereda

de DataListener.

Version:

1.0

Author:

José María Roldán Gil

listeners

Class ListenerError 22

Constructor Summary

Constructors

Constructor and Description

ListenerError()

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Constructor Detail

ListenerError

public ListenerError()

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

listeners

Constructor Summary 23

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

listeners

Method Detail 24

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerGlucemia

java.lang.Object•

listeners.ListenerGlucemia♦ •

All Implemented Interfaces:

DataListener

public class ListenerGlucemia

extends Object

implements DataListener

Clase ListenerGlucemia. Se trata de la clase que está a la escucha de nuevos datos en el Topic

Glucemia, ejecutando el método 'on_data_available' cuando llegan. Hereda de DataListener.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private BaseDeDatos bd

private HashMap<String,Persistencia> coleccionPersistencia

private String condicion

private Boolean condicionPersistencia

private Persistencia objetoPersistencia

Constructor Summary

Constructors

Constructor and Description

ListenerGlucemia(Boolean cP)

Este constructor inicializa la parte de Persistencia si se activa con el parámetro.

listeners

Class ListenerGlucemia 25

ListenerGlucemia(Boolean cP, String c)

Este constructor además inicializa la alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

bd

private BaseDeDatos bd

condicion

private String condicion

condicionPersistencia

private Boolean condicionPersistencia

objetoPersistencia

private Persistencia objetoPersistencia

coleccionPersistencia

private HashMap<String,Persistencia> coleccionPersistencia

Constructor Detail

ListenerGlucemia

public ListenerGlucemia(Boolean cP)

Este constructor inicializa la parte de Persistencia si se activa con el parámetro.

Parameters:

cP - Boolean. Condición de persistencia (hay alarma si se generan dos

alarmas consecutivas o tres de cinco).

listeners

Constructor Summary 26

ListenerGlucemia

public ListenerGlucemia(Boolean cP,

String c)

Este constructor además inicializa la alarma personalizada.

Parameters:

cP - Boolean. Condición de persistencia.

c - String. Condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

listeners

Constructor Detail 27

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerMemoriaGlucemia

java.lang.Object•

listeners.ListenerMemoriaGlucemia♦ •

All Implemented Interfaces:

DataListener

public class ListenerMemoriaGlucemia

extends Object

implements DataListener

listeners

Method Detail 28

Clase ListenerMemoriaGlucemia. Es la clase que escucha en el topic GlucemiaTopic y ejecuta el

método 'on_data_available' cuando se produce la llegada de nuevos datos. Permite generar una alarma

del tipo memoria.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private int auxiliar

(package private) BaseDeDatos bd

private HashMap<String,Memoria> coleccionMemoria

(package private) String condicion

private float[] diferencia

private int muestras_recibidas

private int[] numeroMuestras

private float[] valores

Constructor Summary

Constructors

Constructor and Description

ListenerMemoriaGlucemia(int[] tam, float[] dif)

Constructor simple de esta clase.

ListenerMemoriaGlucemia(int[] tam, float[] dif, String c)

Constructor que permite además añadir la condición de personalización.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

listeners

Class ListenerMemoriaGlucemia 29

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

coleccionMemoria

private HashMap<String,Memoria> coleccionMemoria

valores

private float[] valores

muestras_recibidas

private int muestras_recibidas

auxiliar

private int auxiliar

numeroMuestras

private int[] numeroMuestras

diferencia

private float[] diferencia

bd

BaseDeDatos bd

condicion

String condicion

Constructor Detail

ListenerMemoriaGlucemia

public ListenerMemoriaGlucemia(int[] tam,

float[] dif)

Constructor simple de esta clase. Inicializa la memoria.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

listeners

Methods inherited from class java.lang.Object 30

ListenerMemoriaGlucemia

public ListenerMemoriaGlucemia(int[] tam,

float[] dif,

String c)

Constructor que permite además añadir la condición de personalización.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

c - String. La condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

listeners

Constructor Detail 31

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerMemoriaNumber

java.lang.Object•

listeners.ListenerMemoriaNumber♦ •

All Implemented Interfaces:

DataListener

listeners

Method Detail 32

public class ListenerMemoriaNumber

extends Object

implements DataListener

Clase ListenerMemoriaNumber: escucha en el Topic NumberTopic la llegada de datos, y ejecuta el

método 'on_data_available' cuando se produce la llegada. Permite generar alarmas de memoria de

muestras. Hereda de la clase DataListener.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private int auxiliar

(package private) BaseDeDatos bd

private HashMap<String,Memoria> coleccionMemoria

(package private) String condicion

private float[] diferencia

private int muestras_recibidas

private int[] numeroMuestras

private float[] valores

Constructor Summary

Constructors

Constructor and Description

ListenerMemoriaNumber(int[] tam, float[] dif)

Constructor simple de la clase.

ListenerMemoriaNumber(int[] tam, float[] dif, String c)

Este constructor añade la capacidad de establecer una alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

listeners

Class ListenerMemoriaNumber 33

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

coleccionMemoria

private HashMap<String,Memoria> coleccionMemoria

valores

private float[] valores

muestras_recibidas

private int muestras_recibidas

auxiliar

private int auxiliar

numeroMuestras

private int[] numeroMuestras

diferencia

private float[] diferencia

bd

BaseDeDatos bd

condicion

String condicion

Constructor Detail

ListenerMemoriaNumber

public ListenerMemoriaNumber(int[] tam,

float[] dif)

Constructor simple de la clase. Inicializa la memoria que almacena los datos de la

variable number del topic.

Parameters:

tam - int[]. El conjunto de tamaños de las memorias.

dif - int[]. El conjunto de diferencias entre las muestras de la memoria.

listeners

Methods inherited from class java.lang.Object 34

ListenerMemoriaNumber

public ListenerMemoriaNumber(int[] tam,

float[] dif,

String c)

Este constructor añade la capacidad de establecer una alarma personalizada.

Parameters:

tam - int[]. El conjunto de tamaños de las memorias.

dif - int[]. El conjunto de diferencias entre las muestras de la memoria.

c - String. La condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

listeners

Constructor Detail 35

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerMemoriaTemperatura

java.lang.Object•

listeners.ListenerMemoriaTemperatura♦ •

All Implemented Interfaces:

DataListener

public class ListenerMemoriaTemperatura

extends Object

listeners

Method Detail 36

implements DataListener

Clase ListenerMemoriaTemperatura. Es la clase que escucha en el topic TemperaturaTopic y ejecuta

el método 'on_data_available' cuando se produce la llegada de nuevos datos. Permite generar una

alarma del tipo memoria. Hereda de DataListener.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private BaseDeDatos bd

private HashMap<String,Memoria> coleccionMemoria

private String condicion

private float[] diferencia

private int[] numeroMuestras

Constructor Summary

Constructors

Constructor and Description

ListenerMemoriaTemperatura(int[] tam, float[] dif)

Constructor simple de la clase.

ListenerMemoriaTemperatura(int[] tam, float[] dif, String c)

Constructor que permite generar alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

listeners

Class ListenerMemoriaTemperatura 37

Field Detail

coleccionMemoria

private HashMap<String,Memoria> coleccionMemoria

numeroMuestras

private int[] numeroMuestras

diferencia

private float[] diferencia

bd

private BaseDeDatos bd

condicion

private String condicion

Constructor Detail

ListenerMemoriaTemperatura

public ListenerMemoriaTemperatura(int[] tam,

float[] dif)

Constructor simple de la clase. Inicializa la memoria.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

ListenerMemoriaTemperatura

public ListenerMemoriaTemperatura(int[] tam,

float[] dif,

String c)

Constructor que permite generar alarma personalizada.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

c - String. Condición de personalización.

listeners

Field Detail 38

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

listeners

Method Detail 39

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerMemoriaTension

java.lang.Object•

listeners.ListenerMemoriaTension♦ •

All Implemented Interfaces:

DataListener

public class ListenerMemoriaTension

extends Object

implements DataListener

Clase ListenerMemoriaTension. Es la clase que escucha en el topic TensionArterialTopic y ejecuta el

método 'on_data_available' cuando se produce la llegada de nuevos datos. Permite generar una alarma

del tipo memoria.

Version:

1.0

Author:

José María Roldán Gil

listeners

Class ListenerMemoriaTension 40

Field Summary

Fields

Modifier and Type Field and Description

private Boolean[] alarmas_individuales

(package private) BaseDeDatos bd

private HashMap<String,Memoria> coleccionMemoria

(package private) String condicion

private float[] diferencia

private Vector<float[]> memoria

private int muestras_recibidas

private int[] numeroMuestras

Constructor Summary

Constructors

Constructor and Description

ListenerMemoriaTension(int[] tam, float[] dif)

Constructor de la clase.

ListenerMemoriaTension(int[] tam, float[] dif, String c)

Constructor que permite además añadir la condición de personalización.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail♦ •

listeners

Field Summary 41

coleccionMemoria

private HashMap<String,Memoria> coleccionMemoria

memoria

private Vector<float[]> memoria

numeroMuestras

private int[] numeroMuestras

diferencia

private float[] diferencia

alarmas_individuales

private Boolean[] alarmas_individuales

muestras_recibidas

private int muestras_recibidas

bd

BaseDeDatos bd

condicion

String condicion

Constructor Detail

ListenerMemoriaTension

public ListenerMemoriaTension(int[] tam,

float[] dif)

Constructor de la clase. Inicializa la memoria de muestras.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

ListenerMemoriaTension

public ListenerMemoriaTension(int[] tam,

float[] dif,

String c)

Constructor que permite además añadir la condición de personalización.

Parameters:

tam - int[]. El conjunto de tamaños de cada memoria para cada variable del

topic.

dif - int[]. El conjunto de diferencias para generar la alarma en cada

variable.

listeners

Field Detail 42

c - String. La condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

listeners

Constructor Detail 43

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerNumber

java.lang.Object•

listeners.ListenerNumber♦ •

All Implemented Interfaces:

DataListener

public class ListenerNumber

extends Object

implements DataListener

Clase ListenerNumber. Es la clase que se ejectua cuando llega un nuevo dato en el topic

TopicNumber. Hereda de la clase DataListener./p>

Version:

1.0

Author:

José María Roldán Gil

listeners

Method Detail 44

Field Summary

Fields

Modifier and Type Field and Description

private BaseDeDatos bd

private HashMap<String,Persistencia> coleccionPersistencia

private String condicion

private Boolean condicionPersistencia

private Persistencia objetoPersistencia

Constructor Summary

Constructors

Constructor and Description

ListenerNumber(Boolean p)

Constructor de la clase.

ListenerNumber(Boolean p, String c)

Segundo constructor de la clase, si se quiere establecer una alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

bd

private BaseDeDatos bd

♦ •

listeners

Field Summary 45

condicion

private String condicion

objetoPersistencia

private Persistencia objetoPersistencia

condicionPersistencia

private Boolean condicionPersistencia

coleccionPersistencia

private HashMap<String,Persistencia> coleccionPersistencia

Constructor Detail

ListenerNumber

public ListenerNumber(Boolean p)

Constructor de la clase. Inicializa los objetos de persistencia si se quiere esa alarma.

Parameters:

p - Boolean. Es la condición del patrón de persistencia.

ListenerNumber

public ListenerNumber(Boolean p,

String c)

Segundo constructor de la clase, si se quiere establecer una alarma personalizada.

Parameters:

p - Boolean. Es la condición del patrón de persistencia.

c - String. Es la condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

listeners

Field Detail 46

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

listeners

Method Detail 47

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerTemperatura

java.lang.Object•

listeners.ListenerTemperatura♦ •

All Implemented Interfaces:

DataListener

public class ListenerTemperatura

extends Object

implements DataListener

Clase ListenerTemperatura. Es la clase que está escuchando en el Topic de temperatura, y realiza la

acción correspondiente cuando se reciben nuevos datos.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private BaseDeDatos bd

private HashMap<String,Persistencia> coleccionPersistencia

private String condicion

private Boolean condicionPersistencia

private Persistencia objetoPersistencia

Constructor Summary

Constructors

listeners

Class ListenerTemperatura 48

Constructor and Description

ListenerTemperatura(Boolean p)

Constructor simple de la clase.

ListenerTemperatura(Boolean p, String c)

Este constructor es igual que el primero, pero establece además la alarma de

personalización.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

bd

private BaseDeDatos bd

condicion

private String condicion

objetoPersistencia

private Persistencia objetoPersistencia

condicionPersistencia

private Boolean condicionPersistencia

coleccionPersistencia

private HashMap<String,Persistencia> coleccionPersistencia

Constructor Detail

ListenerTemperatura

public ListenerTemperatura(Boolean p)

Constructor simple de la clase. Inicializa la tabla de objetos Persistencia si se indica.

listeners

Constructor Summary 49

Parameters:

p - Boolean. Indica si se quiere alarma persistencia o no (hay alarma dos

muestras consecutivas o en tres de cinco consecutivas.

ListenerTemperatura

public ListenerTemperatura(Boolean p,

String c)

Este constructor es igual que el primero, pero establece además la alarma de

personalización.

Parameters:

p - Boolean. Condición de persistencia activada o no.

c - Strign. Condición de personalización.

Method Detail

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

listeners

Constructor Detail 50

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Class ListenerTension

java.lang.Object•

listeners.ListenerTension♦ •

All Implemented Interfaces:

DataListener

listeners

Method Detail 51

public class ListenerTension

extends Object

implements DataListener

Clase ListenerTension. Es la encargada de escuchar las publicaciones en el topic

TensionArterialTopic y de ejecutar el método 'on_data_available' con la llegada de nuevos datos.

Hereda de DataListener.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private BaseDeDatos bd

private HashMap<String,Persistencia> coleccionPersistencia

private String condicion

private Boolean condicionPersistencia

private Persistencia objetoPersistencia

Constructor Summary

Constructors

Constructor and Description

ListenerTension(Boolean p)

Constructor de la clase, que activa la persistencia de alarmas si se indica.

ListenerTension(Boolean p, String c)

Constructor que añade la alarma personalizada.

Method Summary

Methods

Modifier and Type Method and Description

voidon_data_available(TopicBeanBase topic)

(non-Javadoc)

listeners

Class ListenerTension 52

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

bd

private BaseDeDatos bd

condicion

private String condicion

objetoPersistencia

private Persistencia objetoPersistencia

condicionPersistencia

private Boolean condicionPersistencia

coleccionPersistencia

private HashMap<String,Persistencia> coleccionPersistencia

Constructor Detail

ListenerTension

public ListenerTension(Boolean p)

Constructor de la clase, que activa la persistencia de alarmas si se indica.

Parameters:

p - Boolean. Condición de persistencia.

ListenerTension

public ListenerTension(Boolean p,

String c)

Constructor que añade la alarma personalizada.

Parameters:

p - Boolean. La condición de persistencia.

c - String. La condición de personalización.

Method Detail♦

listeners

Methods inherited from class java.lang.Object 53

on_data_available

public void on_data_available(TopicBeanBase topic)

(non-Javadoc)

Specified by:

on_data_available in interface DataListener

Parameters:

topic - Topicbean que se recibe al llegar una nueva muestra

See Also:

DataListener.on_data_available(com.framework.vendors.rti.main.TopicBeanBase)

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

listeners

Method Detail 54

herramientas

Table of Contents

Package herramientas........................................................................................................................................1

Hierarchy For Package herramientas...............................................................................................................3

Class Hierarchy........................................................................................................................................3

Uses of Packageherramientas............................................................................................................................5

herramientas........................................................................................................................................................6

Classes.....................................................................................................................................................6

Uses of Classherramientas.BaseDeDatos................................................................................................6

Uses of BaseDeDatos in listeners......................................................................................................6

Uses of Classherramientas.Paciente.........................................................................................................8

Uses of Paciente in herramientas.......................................................................................................8

Uses of Classherramientas.Memoria.......................................................................................................9

Uses of Memoria in listeners.............................................................................................................9

Uses of Classherramientas.Persistencia.................................................................................................10

Uses of Persistencia in listeners......................................................................................................10

Class BaseDeDatos................................................................................................................................12

Field Summary................................................................................................................................12

Constructor Summary......................................................................................................................12

Method Summary............................................................................................................................13

Methods inherited from class java.lang.Object...............................................................................13

Field Detail......................................................................................................................................13

Constructor Detail...........................................................................................................................13

Method Detail..................................................................................................................................13

Class Paciente........................................................................................................................................15

Field Summary................................................................................................................................16

Constructor Summary......................................................................................................................16

Method Summary............................................................................................................................16

Methods inherited from class java.lang.Object...............................................................................16

Field Detail......................................................................................................................................17

Constructor Detail...........................................................................................................................17

Method Detail..................................................................................................................................17

Class Memoria.......................................................................................................................................19

Field Summary................................................................................................................................20

Constructor Summary......................................................................................................................20

Method Summary............................................................................................................................20

Methods inherited from class java.lang.Object...............................................................................21

Field Detail......................................................................................................................................21

Constructor Detail...........................................................................................................................21

Method Detail..................................................................................................................................22

Class Persistencia...................................................................................................................................24

Field Summary................................................................................................................................25

Constructor Summary......................................................................................................................25

Method Summary............................................................................................................................25

Methods inherited from class java.lang.Object...............................................................................26

Field Detail......................................................................................................................................26

Constructor Detail...........................................................................................................................26

herramientas

i

Table of Contents

herramientas

Method Detail..................................................................................................................................26

herramientas

ii

Package herramientas

Class Summary

Class Description

BaseDeDatosLa clase BaseDeDatos simula una base de datos de pacientes, utilizada para poder

generar la alarma personalizada.

Memoria La clase Memoria implementa la memoria de muestras para un paciente en concreto.

Paciente Esta clase representa un paciente y su información médica.

PersistenciaLa clase Persistencia está destinada a comprobar si se cumple el patrón de

persistencia: dos alarmas consecutivas o tres en cinco muestras consecutivas.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Package•

Next Package•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

Package herramientas 1

All Classes•

herramientas

Package herramientas 2

Hierarchy For Package herramientas

Package Hierarchies:

All Packages•

Class Hierarchy

java.lang.Object

herramientas.BaseDeDatos♦

herramientas.Memoria♦

herramientas.Paciente♦

herramientas.Persistencia♦

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

Hierarchy For Package herramientas 3

All Classes•

herramientas

Class Hierarchy 4

Uses of Package

herramientas

Packages that use herramientas

Package Description

herramientas

listeners

Classes in herramientas used by herramientas

Class and Description

Paciente

Esta clase representa un paciente y su información médica.

Classes in herramientas used by listeners

Class and Description

BaseDeDatos

La clase BaseDeDatos simula una base de datos de pacientes, utilizada para poder generar la alarma

personalizada.

Memoria

La clase Memoria implementa la memoria de muestras para un paciente en concreto.

Persistencia

La clase Persistencia está destinada a comprobar si se cumple el patrón de persistencia: dos alarmas

consecutivas o tres en cinco muestras consecutivas.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Packageherramientas 5

herramientas

Classes

BaseDeDatos•

Memoria•

Paciente•

Persistencia•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

herramientas.BaseDeDatos

Packages that use BaseDeDatos

Package Description

listeners

Uses of BaseDeDatos in listeners

Fields in listeners declared as BaseDeDatos

Modifier and Type Field and Description

private BaseDeDatos ListenerTension.bd

private BaseDeDatos ListenerTemperatura.bd

private BaseDeDatos ListenerNumber.bd

♦ •

herramientas 6

(package private) BaseDeDatos ListenerMemoriaTension.bd

private BaseDeDatos ListenerMemoriaTemperatura.bd

(package private) BaseDeDatos ListenerMemoriaNumber.bd

(package private) BaseDeDatos ListenerMemoriaGlucemia.bd

private BaseDeDatos ListenerGlucemia.bd

private BaseDeDatos ListenerAyuda.bd

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

herramientas

Uses of BaseDeDatos in listeners 7

Uses of Class

herramientas.Paciente

Packages that use Paciente

Package Description

herramientas

Uses of Paciente in herramientas

Fields in herramientas with type parameters of type Paciente

Modifier and Type Field and Description

private HashMap<String,Paciente> BaseDeDatos.pacientes

Methods in herramientas that return Paciente

Modifier and

TypeMethod and Description

Paciente

BaseDeDatos.nuevoPaciente(String nombre,

String estado, String tratamiento)

Añade un nuevo paciente a la base de datos.

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

herramientas

Uses of Classherramientas.Paciente 8

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

herramientas.Memoria

Packages that use Memoria

Package Description

listeners

Uses of Memoria in listeners

Fields in listeners with type parameters of type Memoria

Modifier and Type Field and Description

private

HashMap<String,Memoria>ListenerMemoriaTension.coleccionMemoria

private

HashMap<String,Memoria>ListenerMemoriaTemperatura.coleccionMemoria

private

HashMap<String,Memoria>ListenerMemoriaNumber.coleccionMemoria

private

HashMap<String,Memoria>ListenerMemoriaGlucemia.coleccionMemoria

♦ •

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

herramientas

Uses of Paciente in herramientas 9

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

Uses of Class

herramientas.Persistencia

Packages that use Persistencia

Package Description

listeners

Uses of Persistencia in listeners

Fields in listeners declared as Persistencia

Modifier and Type Field and Description

private Persistencia ListenerTension.objetoPersistencia

private Persistencia ListenerTemperatura.objetoPersistencia

private Persistencia ListenerNumber.objetoPersistencia

private Persistencia ListenerGlucemia.objetoPersistencia

Fields in listeners with type parameters of type Persistencia

♦ •

herramientas

Uses of Memoria in listeners 10

Modifier and Type Field and Description

private

HashMap<String,Persistencia>ListenerTension.coleccionPersistencia

private

HashMap<String,Persistencia>ListenerTemperatura.coleccionPersistencia

private

HashMap<String,Persistencia>ListenerNumber.coleccionPersistencia

private

HashMap<String,Persistencia>ListenerGlucemia.coleccionPersistencia

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev•

Next•

Frames•

No Frames•

All Classes•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

herramientas

Uses of Persistencia in listeners 11

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

herramientas

Class BaseDeDatos

java.lang.Object•

herramientas.BaseDeDatos♦ •

public class BaseDeDatos

extends Object

La clase BaseDeDatos simula una base de datos de pacientes, utilizada para poder generar la alarma

personalizada. Otros tipos de alarmas se complementan con este tipo de alarma, de manera que

podemos añadir una condición a esas otras alarmas. Con la llegada de un dato, se comprobará si la

condición está en la base de datos de ese paciente y se generará la alarma si es así.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private HashMap<String,Paciente> pacientes

Constructor Summary

Constructors

Constructor and Description

BaseDeDatos()

herramientas

Class BaseDeDatos 12

El constructor de la clase inicializa el objeto HashMap y añade varios objetos Paciente a la

tabla, que formarán la base de datos.

Method Summary

Methods

Modifier and

TypeMethod and Description

Boolean

comprobarCondicion(String nombre,

String condicion)

Comprueba si la condición de personalización coincide con el estado o

tratamiento de un paciente en la base de datos.

Paciente

nuevoPaciente(String nombre, String estado,

String tratamiento)

Añade un nuevo paciente a la base de datos.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

pacientes

private HashMap<String,Paciente> pacientes

Constructor Detail

BaseDeDatos

public BaseDeDatos()

El constructor de la clase inicializa el objeto HashMap y añade varios objetos

Paciente a la tabla, que formarán la base de datos.

Method Detail

nuevoPaciente

public Paciente nuevoPaciente(String nombre,

String estado,

String tratamiento)

herramientas

Constructor Summary 13

Añade un nuevo paciente a la base de datos.

Parameters:

nombre - String. El nombre del paciente, deberá ser el mismo publicado en

el topic.

estado - String. El estado en el que se encuentra el paciente.

tratamiento - String. El tratamiento que es aplicado al paciente.

Returns:

Paciente: el objeto paciente creado.

comprobarCondicion

public Boolean comprobarCondicion(String nombre,

String condicion)

Comprueba si la condición de personalización coincide con el estado o tratamiento de

un paciente en la base de datos.

Parameters:

nombre - String. El nombre del paciente interesado.

condicion - String. La condicion de personalizacion que hay que

comparar con el estado o tratamiento guardado en la base de datos.

Returns:

Boolean: true si coincide la condición con la información guardada, o false si

no es así.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

herramientas

Method Detail 14

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

herramientas

Class Paciente

java.lang.Object•

herramientas.Paciente♦ •

class Paciente

extends Object

Esta clase representa un paciente y su información médica. Es utilizada por la base de datos.

Version:

herramientas

Class Paciente 15

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private String estado

private String nombre

private String tratamiento

Constructor Summary

Constructors

Constructor and Description

Paciente(String n, String t, String e)

El constructor de la clase inicializa un paciente con su nombre, tratamiento y estado.

Method Summary

Methods

Modifier and Type Method and Description

StringgetEstado()

Obtiene el tratamiento del paciente.

StringgetNombre()

Obtiene el nombre del paciente.

StringgetTratamiento()

Obtiene el tratamiento del paciente.

voidsetEstado(String e)

Establece el estado del paciente.

voidsetNombre(String n)

Establece el nombre del paciente.

voidsetTratamiento(String t)

Establece el tratamiento del paciente.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

herramientas

Field Summary 16

Field Detail

nombre

private String nombre

tratamiento

private String tratamiento

estado

private String estado

Constructor Detail

Paciente

public Paciente(String n,

String t,

String e)

El constructor de la clase inicializa un paciente con su nombre, tratamiento y estado.

Parameters:

n - String. El nombre del paciente.

t - String. El tratamiento del paciente.

e - String. El estado del paciente.

Method Detail

getNombre

public String getNombre()

Obtiene el nombre del paciente.

Returns:

String: nombre del paciente.

setNombre

public void setNombre(String n)

Establece el nombre del paciente.

Parameters:

n - String. El nombre del paciente.

herramientas

Field Detail 17

getTratamiento

public String getTratamiento()

Obtiene el tratamiento del paciente.

Returns:

String: el tratamiento.

setTratamiento

public void setTratamiento(String t)

Establece el tratamiento del paciente.

Parameters:

t - String. El tratamiento del paciente.

getEstado

public String getEstado()

Obtiene el tratamiento del paciente.

Returns:

String: el tratamiento.

setEstado

public void setEstado(String e)

Establece el estado del paciente.

Parameters:

e - String. El estado del paciente.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

herramientas

Method Detail 18

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

herramientas

Class Memoria

java.lang.Object•

herramientas.Memoria♦ •

herramientas

Class Memoria 19

public class Memoria

extends Object

La clase Memoria implementa la memoria de muestras para un paciente en concreto. Así, se podrá

generar, si se cumple el patrón, la Alarma Memoria. Está formada por un vector de float[], donde cada

float[] es la memoria para cada variable del topic en el que se publica la información de ese paciente.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private Boolean[] alarmas_individuales

private float[] diferencia

private Vector<float[]> memoria

private int muestrasRecibidas

private int[] numero_muestras

Constructor Summary

Constructors

Constructor and Description

Memoria(int[] tam, float[] dif)

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

Boolean

actualizarMemoria(float[] nuevasMuestras)

El método actualizarMemoria añade nuevos valores a la memoria total,

implementado una cola FIFO, e indica si se ha cumplido el patrón en cada

memoria individual.

private

Boolean

getAlarma(int muestras_recibidas,

int numero_muestras, float diferencia,

float[] valores)

herramientas

Field Summary 20

Este método comprueba si se cumple el patrón de alarma según los

valores dados en un conjunto de muestras de una variable determinada.

private

Boolean

getAlarmaTotal(Boolean[] a)

Dado un vector de objetos Boolean, que representan cada alarma

individual de cada variable del topic, genera la alarma total si todas las

individuales son true.

float[]inicializar_valores(int tam)

Este método inicializa una memoria de una variable.

void

mostrarValores()

Este método muestra por pantalla todos los valores almacenados en el

vector de memorias.

private

Boolean[]

resetAlarma(Boolean[] a)

Este método resetea el vector de alarmas a false.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

memoria

private Vector<float[]> memoria

numero_muestras

private int[] numero_muestras

diferencia

private float[] diferencia

alarmas_individuales

private Boolean[] alarmas_individuales

muestrasRecibidas

private int muestrasRecibidas

Constructor Detail

Memoria

public Memoria(int[] tam,

float[] dif)

Constructor de la clase. Crea la memoria.

herramientas

Method Summary 21

Parameters:

tam - de tipo int[]. Cada componente indica el número de muestras que

formará la memoria, para cada variable del topic.

dif - de tipo int[]. Establece la diferencia que se tiene que cumplir entre los

extremos de la memoria para generar alarma.

Method Detail

inicializar_valores

public float[] inicializar_valores(int tam)

Este método inicializa una memoria de una variable.

Parameters:

tam - de tipo int. Indica el tamaño de la memoria.

Returns:

float[]: la memoria inicializada.

actualizarMemoria

public Boolean actualizarMemoria(float[] nuevasMuestras)

El método actualizarMemoria añade nuevos valores a la memoria total,

implementado una cola FIFO, e indica si se ha cumplido el patrón en cada memoria

individual.

Parameters:

nuevasMuestras - de tipo float[]. Son los distintos valores que se van a

añadir.

Returns:

Boolean: si hay alarma o no.

getAlarma

private Boolean getAlarma(int muestras_recibidas,

int numero_muestras,

float diferencia,

float[] valores)

Este método comprueba si se cumple el patrón de alarma según los valores dados en

un conjunto de muestras de una variable determinada. Hay alarma si la

valor[0]-valor[TAM-1] >= dif y si valor[TAM-1] - valor[0] >= dif, es decir, aumento

o disminución de la variable.

Parameters:

muestras_recibidas - int. Indica el número de muestras recibidas hasta

el momento. Cuando el número de muestras recibidas sea mayor que el

tamaño de la memoria, se podrá calcular el patrón.

numero_muestras - int. Indica el número de muestras guardadas en

memoria.

diferencia - int. Indica la diferencia entre los extremos de la memoria

que genera la alarma.

herramientas

Constructor Detail 22

valores - float[]. Es el conjunto de valores sobre los que se calcula la

alarma.

Returns:

Boolean: indica si se cumple el patrón de alarma o no.

resetAlarma

private Boolean[] resetAlarma(Boolean[] a)

Este método resetea el vector de alarmas a false. Cada entrada del vector de alarmas

representa a una variable de un topic.

Parameters:

a - de tipo Boolean[]. Es el conjunto de objetos Boolean pertenecientes a

cada alarma individual.

Returns:

Boolean[]: el vector reseteado a false.

getAlarmaTotal

private Boolean getAlarmaTotal(Boolean[] a)

Dado un vector de objetos Boolean, que representan cada alarma individual de cada

variable del topic, genera la alarma total si todas las individuales son true.

Parameters:

a - Boolean[]. Es el conjunto de alarmas individuales.

Returns:

Boolean: indica true si todas las alarmas individuales lo son también.

mostrarValores

public void mostrarValores()

Este método muestra por pantalla todos los valores almacenados en el vector de

memorias.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

herramientas

Method Detail 23

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

JavaScript is disabled on your browser.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

Constr | •

Method•

herramientas

Class Persistencia

java.lang.Object•

herramientas.Persistencia♦ •

herramientas

Class Persistencia 24

public class Persistencia

extends Object

La clase Persistencia está destinada a comprobar si se cumple el patrón de persistencia: dos alarmas

consecutivas o tres en cinco muestras consecutivas. Un objeto persistencia pertenecerá a un paciente

en concreto, y en él se guardarán tres números de secuencia de muestras que han generado una alarma

previamente y se comprobará si cumple algun patrón.

Version:

1.0

Author:

José María Roldán Gil

Field Summary

Fields

Modifier and Type Field and Description

private int[] memoriaSecuencia

private static int numeroMuestras

private static int numeroMuestrasConsecutivasInicial

private int numMuestrasConsecutivas

Constructor Summary

Constructors

Constructor and Description

Persistencia()

Constructor de la clase.

Method Summary

Methods

Modifier and

TypeMethod and Description

int[]actualizarMemoria(int ultimo_valor)

Para incluir un nuevo valor en la memoria de muestras.

Boolean

comprobarAlarma()

Método que comprueba si una memoria de secuencias cumple con alguno

de los dos patrones de persistencia.

herramientas

Field Summary 25

protected

void

setNumeroMuestrasSucesivas(int s)

Este método permite establecer un nuevo valor del número de muestras

consecutivas.

Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify,

notifyAll, toString, wait, wait, wait

Field Detail

memoriaSecuencia

private int[] memoriaSecuencia

numMuestrasConsecutivas

private int numMuestrasConsecutivas

numeroMuestras

private static final int numeroMuestras

See Also:

Constant Field Values

numeroMuestrasConsecutivasInicial

private static final int numeroMuestrasConsecutivasInicial

See Also:

Constant Field Values

Constructor Detail

Persistencia

public Persistencia()

Constructor de la clase. Inicializa algunas variables y la memoria de números de

secuencia.

Method Detail

setNumeroMuestrasSucesivas

protected void setNumeroMuestrasSucesivas(int s)

Este método permite establecer un nuevo valor del número de muestras consecutivas.

herramientas

Method Summary 26

Parameters:

s - de tipo int. Indica el valor del número de muestras sucesivas.

actualizarMemoria

public int[] actualizarMemoria(int ultimo_valor)

Para incluir un nuevo valor en la memoria de muestras. Implementa una cola FIFO, al

entrar un nuevo valor sale el más antiguo.

Parameters:

ultimo_valor - de tipo int. Es el valor del numero de secuencia que entra

en memoria.

Returns:

int[]: devuelve la memoria de numeros de secuencia.

comprobarAlarma

public Boolean comprobarAlarma()

Método que comprueba si una memoria de secuencias cumple con alguno de los dos

patrones de persistencia.

Returns:

Boolean: el resultado de la comprobación de los patrones.

Overview•

Package•

Class•

Use•

Tree•

Deprecated•

Index•

Help•

Prev Class•

Next Class•

Frames•

No Frames•

All Classes•

Summary: •

Nested | •

Field | •

Constr | •

Method•

Detail: •

Field | •

herramientas

Method Detail 27

Constr | •

Method•

herramientas

Method Detail 28