Monitorização de Sinais Biomédicos em Assistentes Pessoais Digitais Grupo de Pesquisa: Adson Ferreira da Rocha Francisco Assis de Oliveira Nascimento Hervaldo Sampaio Carvalho Liana Sena Iwens Gervásio Sene Jr. Rafael Santos Ortis Talles Marcelo G. de A. Barbosa Introdução ● Projeto GIMPA – PHM – Sistema Pessoal de Monitorização da Saúde Objetivos ● Visualização em tempo real de sinais biomédicos em um Assistente Pessoal Digital. ● Transmissão dos sinais para um PC. ● Visualização remota dos sinais. Captura dos Sinais ● ● PROCOMP No projeto visualização a partir de dados já capturados dos seguintes sinais: – ECG – EMG – Pressão Arterial – Oxiometria de Pulso – Temperatura – Freqüência Cardíaca PDA - Zaurus ● Zaurus SL-5500 – Intel StrongArm 1110 – 206 Mhz – 235 Dhrystone MIPS – 64 RAM/16 ROM (Flash ROM) – LCD 240x320 – 16 bits – Compact Flash e Secure Digital – Linux 2.4.18 ● Qtopia – Interface Gráfica PDA-Zaurus ● Limitações: – Energia limitada – Processamento limitado ● ● – Processador de ponto fixo Operações com ponto flutuante emuladas no Kernel do linux Resolução baixa Zaurus - SO ● Qtopia – ● Fork do Qt para sistemas embarcados. Possibilidade de mudança do sistema operacional com uma atualização da ROM. – Open Zaurus – Cacko – Intefaces gráficas ● OPIE ● PicoGUI Visualização - Medplot ● ● ● ● Requisitos: – Tempo real – Baixo consumo energia e processamento Implemetação usando C++ e o framework Qt/Qtopia Visualização de sinais de ECG, EMG, pressão arterial, temperatura, oxiometria, freqüência cardíaca Transmissão dos sinais para um desktop via TCP/IP. Transmissão dos sinais ● ● Necessário um protocolo específico que garanta: – integridade das informações – autenticação entre cliente e servidor – prioridade a determinados serviços Requisitos do protocolo – Baixo overhead. – A transmissão deve ser dependente do estado da energia, prioridade do dado e custo computacional Visão Geral - Medplot ● Estrutura do Programa: Medplot Sinal Plotdata Gerente de dados Gerente de rede Classe Medplot ● Classe responsável pelo controle e interface gráfica. – Gera a interface gráfica em tela cheia no Zaurus – Desabilita a proteção de tela do Zaurus – Cria e destrói cada instância dos sinais, gerente de dados e de rede. Classe Medplot ● Inteface inicial: Classe datamanager ● ● ● Disponibiliza os dados para as classes dos sinais e do gerente de rede Os dados devem ser os mesmos para o gerente de rede e para as classes dos sinais em um mesmo instante de tempo. Carrega os dados da rede ou de um banco de dados local. Classe Network ● ● ● Entidade responsável pelo envio dos dados para uma estação remota. Recebe os mesmos dados que são utilizados na visualização. Implementação mínima para o envio dos sinais: – conecta com o servidor e espera por uma requisição para envio de um sinal. – recebendo uma requisição de sinal inicia envio imediatamente. – termina a transmissão ao receber a requisição de finalização Classe Sinal ● ● ● Classe Base de cada sinal plotado. Cada sinal herda toda a estrutura desta classe. Estruturas em comum a todos os sinais. Atualização da tela em 30 fps para manter baixa a utilização do processador e mostrar o sinal percorrendo suavemente a tela do PDA. – Em sinais com baixa freqüência de amostragem 1 fps. Classe ECG ● ● ● Mostra o ECG na tela levando em consideração o tamanho da tela. – Mostra 2 segundos de ECG modo retrato. – Mostra 2,5 segundos no modo paisagem. Pega os dados do datamagnager e formata os dados para a sua visualização na tela. Dizima amostras para mostrar o sinal na tela – máximo de pontos na tela 240. Classe ECG Classe EMG ● Mostra 2 segundos de um sinal de EMG na tela. ● Dizima amostras para mostrar todo o sinal na tela Classe pressão arterial ● ● Mostra um gráfico das ultimas 10 amostras da pressão arterial (sistólica e diastólica). Mostra e atualiza a tabela contento o valor de cada amostra. Classes da freqüência cardíaca, temperatura e oxiometria de pulso. ● Mostram um gráfico das ultimas 10 amostras dos sinais e uma tabela com o valores. Classe plotdata ● Classe que plota os dados na tela. – Responsavel por “ligar os pontos” os gerados pelas classes dos sinais. – Double buffered. – Cada classe possui usa propria instância do plotdata. – Além dos sinais plota o fundo, os valores dos eixos ou qualquer outro texto na tela. Central em um Desktop ● Objetivo: – Solicitar e receber os sinais capturados em diversos monitores diferentes. ● Utiliza o mesmo código do Medplot. ● Mostra 3 segundos de ECG e EMG. ● Mostra até 3 sinais diferentes na mesma tela. ● Cada cliente conectado cria uma instancia do Medplot modificado para o desktop. Central Testes de Desempenho ● Testes indiretos do consumo de energia – ● ● Bug no Kernel. Testes comparando o rendimento com: – Luz de fundo on/off. – Atualizações na tela. – Comparação entre os sinais. O comsumo de energia pelo processador é pequeno se comparado com o consumo da luz de fundo. ● Utilização do processador de 30 a 40 % ● Memoria RAM utilizada pelo programa 3 MB. Sugestões de continuação ● ● ● Desenvolvimento do protocolo de comunicação. – Impacto do TCP/IP. – Implementação em um Middleware. – Comunicaçõ com os outros modulos. – Sincronização. Gerenciamento de Energia. Testes com outras ROMs do Zaurus e com outros PDAs. ● Testes enviando o sinal por uma rede sem fio. ● Visualização dos sinais capturados pelo Procomp. Conclusões ● Visualização e transmissão de sinais biomédicos é possível em um PDA. – ● ● Custo computacional baixo. Transmissão não gera um atraso grande na visualização do sinal. A utilização de energia é muito grande ao utilizar a luz de fundo.