Upload
lyphuc
View
214
Download
0
Embed Size (px)
Citation preview
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
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.
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.
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
<Unnamed>
•
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
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
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
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
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
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
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
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
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
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
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
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
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