Monitoramento de UTI via Web. Paulo R. L. Medeiros, Wagner R. Costa, Breno Pantoja e José F. Almeida (Orientador) Instituto de Estudos Superiores da Amazônia, Av. Gov. José Malcher, 1148 – Nazaré – Belém-PA.
Resumo⎯ Este artigo trata de um Sistema de Software e Hardware para monitoramento de imagem em salas de UTI (Unidade de Terapia Intensiva). Este tipo de tecnologia permite maior mobilidade de acompanhamento em tempo real de todas as situações relativas ao ambiente visualizado. Palavras-chaves ⎯ Monitoramento, UTI.
I. INTRODUÇÃO Uma das áreas médicas de maior cuidado se refere à assistência em ambientes de terapia intensiva. Em muitas situações, algumas eventuais intervenções necessitam acontecer ao menor aviso [1]. Por isso, as atenções voltadas para ali devem ser sempre constante. A substituição dessa rotina é algo não cogitado e nem poderia ser, segundo [2], entretanto, alguns serviços podem estar agregados de tal forma que facilitem sua melhoria. A utilização da computação no setor médico deu uma nova direção em todos os níveis desse conhecimento. Um exemplo é a comunicação WAP. Este tipo de comunicação por acesso de telefonia viabiliza a utilização de serviços e recursos computacionais de forma remota. Um outro exemplo encontrado em [3] se refere ao controle de dados de pacientes de risco cardiovascular, utilizando tecnologias médicas que apresentam informações por videoconferência. Em suma, a área de monitoramento de pacientes envolve uma diversidade de problemas e por isso cada vez mais a utilização de tecnologias eficientes ou apropriadas têm se tornado freqüentes [1-4]. Este projeto tem como proposta um sistema que envolve a tecnologia JAVA [5], bastante utilizada por desenvolvedores da área da computação e o uso de equipamentos de baixo custo (como por exemplo: uma webcam, microcontroladores e microprocessadores), a fim de permitir o monitoramento de uma Unidade de Terapia Intensiva. Neste trabalho utilizou-se um Banco de dados em linguagem Mysql [6-8] para tratar a questão da segurança e da autenticação dos dados do cliente. A página web a ser disponibilizada terá, assim, uma criptografia na autenticação para uma total garantia de que as imagens do paciente fiquem protegidas. Também serão utilizados Cookies e Sessões para armazenar informações dos usuários. Essa página utiliza um servidor de páginas no formato JSP, chamado de RESIN. Dessa forma, esse software tem uma comunicação serial com o hardware, que com dois motores de passos e controlado por um Microcontrolador (PIC), disponibiliza ao usuário a função de movimento de uma webcam.
II COMPONENTES UTILIZADOS 2.1. Linguagem JSP (Java Server Pages) O JSP é uma linguagem de programação em Java, tem uma portabilidade de sua plataforma, onde permite sua execução em vários tipos de plataforma como Windows, Unix, e até Linux. Além de ser uma linguagem orientada a objeto, é de fácil o desenvolvimento de sistemas complexos. Uma vantagem do JSP é que as páginas podem ser modificadas e ser automaticamente recompiladas, sem comprometer o funcionamento do sistema. Outro ponto importante é a utilização de Servlets que são classes Java . Estas classes estão bem estruturadas e definidas e quando instaladas junto a um servidor local – um Servlet Container é um servidor que permite a execução de Servlets e é muito conhecido como Servidor de aplicações Java. 2.2. Aplicações Multimídia de Rede As aplicações desse tipo diferem significantemente das tradicionais aplicações orientadas para dados manipulados na Web, e-mail etc. Portanto, estas aplicações multimídia possuem características que as diferem das demais aplicações de rede, por exemplo: Vare ressaltar que considerações com o tempo são aplicações multimídia altamente sensíveis a atrasos na transmissão e ás variações que podem ocorrer nesses atrasos; tolerância á perdas ocasionais que podem causar falhas ocasionais na exibição de um vídeo e tais perdas podem ser parcial ou totalmente camufladas; Estas diferenças sugerem que uma arquitetura de rede projetada inicialmente para comunicação confiável de dados possa não ser adequada para suportar aplicações multimídia. Assim, inúmeros esforços têm sido feitos para permitir que a arquitetura Internet possa oferecer suporte aos serviços exigidos por esse novo tipo de aplicação [9]. Prover serviços de vídeos consiste em um sistema especializado de distribuição multimídia cujo propósito é a coleção, armazenamento, distribuição e apresentação de imagens em movimentos. Existem hoje duas técnicas utilizadas para oferecer serviços de vídeo: primeiro, download and play a qual é uma técnica que requer que o arquivo de vídeo seja completamente transferido para o cliente antes de ser usado ou visualizado. Outra técnica é o que é conhecido como streaming, ou seja, nesta técnica o sinal de vídeo é transmitido ao cliente e sua apresentação inicia-se após uma momentânea espera para armazenamento dos dados em um buffer. Neste trabalho optou-se para trabalhar com streaming. Com esta técnica na transmissão de vídeo não é preciso fazer o
download prévio de um arquivo. Dessa maneira, o recebimento de informações é feito continuamente, enquanto mostra ao usuário. Esta técnica também reduz o tempo de início da exibição e ainda elimina a necessidade de armazenamento local do arquivo. Uma transmissão eficaz de sinais de vídeo através de redes com baixa largura de banda requer alta taxa de compressão de dados para garantir a qualidade visual da apresentação. A técnica de compressão mais comum atualmente é conhecida por MPEG (Motion Pictures Experts Group). 3.3. Streaming de vídeo/armazenado Neste tipo de aplicação, a requisição de arquivos de vídeo é feita pelo que está armazenado em servidores. Nesse caso, o conteúdo multimídia foi pré-gravado e armazenado em um servidor. Como resultado, o usuário pode controlar o vídeo mostrado à distância com funções similares aos disponíveis em um DVD. Para este tipo de aplicação, a transmissão de conteúdo multimídia só acontecerá sob a demanda do cliente, podendo existir vários usuários conectados ao servidor simultaneamente; cada um visualizando um conteúdo diferente. 2.4. Streaming de vídeo ao vivo Este tipo de aplicação é similar à tradicional transmissão de rádio e televisão, conhecida como broadcast. Através disto, o usuário assume uma posição passiva e não controla quando o stream5 começa ou termina. A única diferença está no fato dessa transmissão ser feita através da Internet. Tais aplicações permitem ao usuário receber um sinal de rádio ou de televisão ao vivo que foi emitido de qualquer parte do mundo. Neste caso, como o streaming de vídeo não é armazenado em um servidor, o usuário não pode controlar a exibição da mídia. Neste tipo de transmissão podem, também, existir muitos usuários recebendo o mesmo conteúdo simultaneamente. Este tipo de transmissão pode fazer distribuição de duas formas: a unicast, a qual é uma conexão ponto-a-ponto entre o usuário e o servidor e no qual cada usuário recebe seu próprio stream do servidor. Dessa forma, cada usuário conectado a um stream tem sua própria conexão e os dados vêm diretamente do servidor. De outra forma, com o multicast, ocorre quando o conteúdo é transmitido sobre uma rede com suporte à multicast e no quais todos os que estiverem conectados na rede compartilham o mesmo stream. Assim, preserva-se a largura de banda, podendo ser extremamente útil para redes locais com baixa largura de banda.
conversa bilateral, mas suportar uma reunião entre dois ou mais participantes remotamente. 2.6 Streaming de vídeo na internet A Internet não é naturalmente adequada à transmissão de informação em tempo real. Para executar multimídia sobre a Internet, muitas questões precisam ser respondidas: multimídia indica intenso tráfego de dados. O hardware atual não oferece largura de banda suficiente ? As aplicações multimídia estão geralmente relacionadas com multicast, ou seja, o mesmo fluxo de dados e não múltiplas cópias, é enviado a um grupo de receptores. Por exemplo, uma transmissão de vídeo ao vivo pode ser enviada a milhares de clientes. Os protocolos desenvolvidos para aplicações multimídia precisam considerar o multicast para reduzir o tráfego; O preço para agregar recursos de rede aos atualmente existentes torna-se impraticável. Aplicações em tempo real requerem largura de banda, então, precisa haver alguns mecanismos para que essas aplicações reservem os recursos necessários ao longo da rota de transmissão; a Internet é uma rede de transmissão de pacotes que são encaminhados independentemente através de redes compartilhadas. As tecnologias atuais não podem garantir que dados de tempo real não irão encontrar seu destino sem serem desordenados. Alguns novos protocolos de transporte precisam ser usados para garantir que os dados de áudio e vídeo sejam mostrados continuamente, na ordem correta e em sincronismo; é necessário que existam algumas operações padrão para as aplicações gerenciarem o transporte e apresentação de dados multimídia. 2.7. Protocolos de tempo real Um grupo de pesquisa da IETF conhecido por Integrated Services Working Group desenvolveu um avançado modelo de serviço para a Internet chamada Integrated Services de tempo real que pode ser visto através do RFC 1633. Esses serviços irão habilitar redes IP a fornecer serviços de qualidade para aplicações multimídia. Formado por protocolos como o RSVP (Resource ReServation Protocol – Protocolo de Reserva de Recursos), juntamente com o RTP (Real-Time Transport Protocol – Protocolo de Transporte em Tempo Real), RTCP (Real-Time Control Protocol – Protocolo de Controle de Tempo Real) e o RTSP (Real-Time Streaming Protocol – Protocolo de Fluxo Contínuo em Tempo Real), o RFC 1633 fornece fundamentos para serviços de tempo real. Sua proposta trata de permitir a configuração e o gerenciamento das aplicações tradicionais e multimídia em uma única infra-estrutura.
2.5. Vídeo interativo em tempo real Este tipo de aplicação permite utilizar áudio e vídeo para comunicar-se em tempo real. Como exemplos de aplicações interativas em tempo real têm softwares de telefonia e vídeo conferência na Internet, onde dois ou mais usuários podem se comunicar oral e visualmente. Aplicações desse tipo envolvem muitos indivíduos ou grupos de indivíduos em uma espécie de diálogo. O objetivo é não manter uma simples
2.8. Enviando multimídia de um servidor de streaming Uma das formas de fornecer vídeo pela Internet se dá através dos servidores de streaming, que tratam de enviar sinais de vídeo para reprodutores de mídia. Este servidor pode ser proprietário, como aqueles comercializados pela RealNetworks (Real Media Server) e Microsoft (Media
Server) ou um servidor de streaming de domínio público (ROS2001). Com um servidor de streaming, áudio e vídeo podem ser enviados sobre UDP (preferencialmente, em relação ao TCP) utilizando protocolos da camada de aplicação, mais adequados do que streaming via servidor HTTP. Uma simples arquitetura para servidor de streaming descreve os seguintes passos: um navegador Web faz uma requisição HTTP para obter um arquivo de descrição da apresentação, conhecido também por arquivo metafile; o servidor Web retorna o arquivo utilizado ao navegador para identificar o reprodutor de mídia adequado para exibir o vídeo; o arquivo é repassado para o reprodutor contendo informações referentes à localização do vídeo no servidor de streaming; o reprodutor faz a requisição do arquivo diretamente ao servidor de streaming. A partir deste momento, servidor e reprodutor interagem diretamente utilizando seus próprios protocolos e podem permitir uma interação maior do usuário com o stream de vídeo.
2.9. Codificação e compressão de vídeo Antes da transmissão do vídeo através de um computador na rede, ele precisa ser digitalizado e comprimido. Os computadores transmitem bits na rede, assim, toda informação precisa ser representada como uma seqüência de bits. A compressão é importante porque o vídeo não comprimido consome uma quantidade muito grande de armazenamento e largura de banda. Um vídeo é uma seqüência de imagens, normalmente exibidas a uma taxa constante. Uma imagem digital não comprimida consiste em uma matriz de pontos, sendo cada ponto codificado em um número de bits que representam luminosidade e cor. Existem dois tipos de redundância em vídeo, os quais podem ser explorados para compressão. Para os tipos de compressão, tem-se: a compressão espacial, existente na imagem fornecida. Por exemplo, uma imagem que consiste de muitos espaços em branco pode ser eficientemente comprimida. E a compressão temporal, a qual consiste na repetição da imagem numa imagem subseqüente. Se por exemplo, uma imagem e a subseqüente imagem forem exatamente iguais, não há razão para re-codificar a imagem, é mais eficiente simplesmente indicar durante a codificação que a imagem subseqüente é igual a anterior. O padrão de compressão conhecido por MPEG (Motion Pictures Experts Group) é, sem dúvida, a técnica de compressão mais popular. Este inclui o MPEG 1 para vídeo com qualidade de CD-ROM (1.5 Mbps), MPEG 2 para vídeo com qualidade de DVD (3-6 Mbps), e MPEG 4 para compressão de vídeo orientada a objetos. O padrão de compressão H.261 que faz parte da arquitetura de protocolos H.323 também é muito popular na Internet. Existem ainda inúmeros padrões de compressão “proprietários”. 2.10. Segurança Segurança com cookies e sessões são importantes, pois eles permitem armazenar informações que podem ser utilizadas enquanto o usuário estiver navegando entre as
páginas de um site. Cookies é um arquivo-texto que no qual se pode armazenar em memória para ser recuperado posteriormente pelo servidor> com isto se pode saber, por exemplo, quantas vezes o usuário entrou no site, pois esse método nos garante uma autenticação segura e confiável. Sessão é um período de tempo e dura quanto o usuário permanecer navegando pelas páginas de um site. 2.11. MD5 Criptografia MD5 é a codificação de dados em informações aparentemente sem sentido, para que pessoas não consigam ter acesso às informações que foram cifradas. Há vários usos para a criptografia: proteger documentos pessoais, transmitir informações confidenciais pela Internet ou por uma rede local, etc. Por ser um algoritmo unidirecional, um hash MD5 não pode ser transformado novamente na password que lhe deu origem. O método de verificação é, então, feito pela comparação das duas hash (uma da base de dados, e outra de tentativa de login). O MD5 só pode ser descriptografado pela Message Digests que são funções hash capazes de gerar um código de tamanho fixo, em uma direção, a partir de informação de tamanho totalmente sem nexo. Estes códigos hash são bem úteis para seguranças de senha. Para ser liberado o acesso, de um determinado sistema, por exemplo, como monitoramento de câmeras via web, o usuário tem de informar seu login e senha, a senha será criptografada. Por outro lado, o código hash necessita ser re-gerado e comparado com a seqüência disponível posteriormente, se ambos se regularem, o acesso é liberando. A API do Java implementa dois algoritmos de criptografia Message Digest, são MD5 e o SHA -1. Como a linguagem foi desenvolvida para web, o JSP chama o uma classe Java para fazer a criptografia em MD5. 2.12. Banco de Dados Mysql Banco de dados que vamos usar e o MySQL que utilizar baixa demanda de recursos de hardware, Simplicidade de administração, protocolo de rede enxuto, È o mais veloz do mercado, Otimizado para as aplicações típicas da web, onde ocorrem mais consultas do que atualizações. Mysql é um software de Gerenciamento de Base de Dados (SGBD), onde utiliza a linguagem SQL (Structured Query Language - Linguagem de Consulta Estruturada) como uma interface gráfica. Em uns dos Banco de dados mais populares do mundo, já utilizando superando 10 milhões de downloads e instalações. 2.13 - Base de Dados com Web Site Para ter a segurança de um portal seguro e ter controle total de informações e comodidade, o Mysql é uma solução para monitoramente via web. Não somente guardar tais informações, ter acesso as imagem em tempo real, a Base de Dados Mysql correspondeu perfeitamente com a linguagem em JSP.
2.14. Motor de Passos Um motor de passos é um dispositivo mecânico eletromagnético que podem ser controlados digitalmente através de um hardware específico ou através de software. Este tipo de motor tem três estados de operação: desligado (não há alimentação suprindo o motor, nesse caso não existe consumo de energia, e todas as bobinas estão desligadas), parado (pelo menos uma das bobinas fica energizada e o motor permanece estático num determinado sentido, nesse caso há consumo de energia, mas em compensação o motor se mantém alinhado numa posição fixa.) ou rodando (as bobinas são energizadas em intervalos de tempos determinados, impulsionando o motor a girar numa direção). O movimento de um motor de passo pode ser brusco ou suave, dependendo da freqüência e da amplitude dos passos em relação ao estado inercial. Assim, os motores de passos recebem uma classificação especial em relação aos comuns, sendo adequados àquelas situações em que se necessita ter o controle preciso do movimento, a partir de sinais provenientes de um circuito controlador. Os sinais enviados ao motor pelo circuito controlador devem obedecer a uma ordem específica de pulsos e estarem perfeitamente sincronizados.
computador padrão RS232 (-12 VCC e +12 VCC) e viceversa. RS-232 é um padrão para troca série de dados binários entre um DTE (terminal de dados) e um DCE (comunicador de dados). É comumente usado nas portas serial dos PCs. Nesse protocolo de comunicação alguns caracteres são enviados um a um como um conjunto de bits. A codificação mais comumente usada é o “start – stop assícrono” que usar um bit de início, seguindo por sete ou oito bits de dados possivelmente um bit de paridade, e um ou dois bits de parada sendo, então necessário 10 bits para enviar um único caractere. Para este trabalho, foi criado uma Placa de Circuito impresso conforme o esquema lógico, conforme mostrado na Fig. 1.
2.15. Microcontrolador. O microcontrolador é “um componente eletrônico capaz de executar tarefa, programável e pode ser utilizado no controle de processos lógicos” (PIC 16F877A, 2006). Utilizou-se neste sistema o microcontrolador 16F628A da família PIC que são fabricados pela empresa Microchip Tecnology, os quais utilizam arquitetura RISC. Este possui 18 pinos, sendo 16 portas configuráveis como entrada ou saída. 2.16 Comunicação Serial É a comunicação quebrada em partes menores e transmitida seqüencialmente. Estas partes menores são os bits. Quando é enviado um bit por vez através de um canal, no receptor esses bits juntam-se formando a mensagem original. A taxa de transferência refere-se à velocidade com que os dados são enviados através de um canal. O número de transferências corresponde ao numero de bits. Por exemplo: se você enviar 9600 bauds, corresponde a uma taxa de transferência de 9600 dados por segundo - bps. (RS232, Acesso em: 11 out. 2007).
Fig. 1: Circuito Motor de Passo Observando-se o diagrama esquemático da Fig. 2, verifica-se que o circuito e os motores de passos (Motor 1 – J1 e Motor 2 – J2) são alimentados com +12 Vcc (J3). A tensão de alimentação do circuito, ao passar pelo regulador de tensão (78L05 – U1), é transformada em +5 Vcc, habilitando, assim, o microcontrolador PIC 16F628A (CI1). Como os motores de passos trabalham com +12 Vcc e o microcontrolador PIC 16F628A gera pulsos de +5 Vcc, é necessário amplificar o sinal de tensão usando-se um driver de corrente (ULN2803A – CI3). Esse driver de corrente transforma os pulsos de +5 Vcc proveniente do microcontrolador PIC 16F628A em pulsos de +12Vcc, possibilitando o funcionamento dos motores de passo.
Diretório Instalação Resin
III. O SISTEMA 3.1. Hardware Para a interface de comunicação serial entre o PC (software) e o circuito (hardware), utiliza-se o conversor de nível de tensão padrão RS232 para TTL/CMOS (MAX232 – CI) acrescido de quatro capacitores (1 µF / +50 VCC). O circuito integrado dedicado MAX232 estabelece a conversão dos níveis de tensão do microcontrolador PIC 16F628A (0 VCC e +5 VCC) para os níveis de tensão da porta serial do
Bin
Conf
Logs
Work
Webapps
Fig. 2: O diretório do servidor local RESIN.
3.2. Suporte da Câmera
3.4. Software de Interface com o Usuário Este Servlet Container Resin é o servidor onde ficaram todas as informações páginas em JSP, imagens, arquivos jar, arquivos de configuração. O usuário terá um login e senha para ter acesso à página de Monitoramento – no caso, no interior de uma unidade de UTI. Tudo está conectado em uma Base de Dados em Mysql para a validação do mesmo, como mostra a Fig. 4.
Fig. 3. Suporte da Câmera. Neste trabalho, usaram-se dois motores (Fig.3) de passos para movimentar uma webcam. Um dos motores foi preso num suporte de ferro e onde se movimentara para esquerda e direita. Um outro motor será preso de lado e se movimentara para baixo e para cima. 3.3. Programação do PIC A programação do PIC 16F628A foi feita em Linguagem C usando o software freeware chamado SourceBoost. A programação desenvolvida inicia se habilitando as portas do Microcontrolador, as quais serão usadas para enviar tensão ao motor de passos, ou seja, serão setadas como portas para saída de tensão (trisX = 0). Posteriormente é habilitada a chave geral de interrupção, pois este software fica num laço while infinito aguardando uma interrupção na porta serial. Esta interrupção será equivalente a um caractere que será enviado pelo Computador ao Microcontrolador. Depois se habilitou as interrupções de periféricos e finalmente a interrupção de dados recebidos pela serial (pie1.5). O laço while que aguarda a interrupção na porta serial do PIC contém 4 funções para tratar os movimentos da câmera (para Cima, para Baixo, para Esquerda e para Direita). A distinção de acionamento de cada função está no caractere que será recebido, por exemplo, caso seja um “l”(left), será chamada a função “stepLeft”, a qual irá realizar uma seqüência de envios de pulsos nas portas em que está conectado o motor de passos, e este realizará movimentos para a esquerda a cada “l” recebido. Esse movimento se dá em um pulso em uma bobina do motor, em um delay e em um outro pulso na segunda bobina, e novamente um delay e, assim, sucessivamente até a quarta bobina e um último delay.
Fig 4: Ilustra o primeiro Acesso, o usuário terá informar login e senha para sua autenticação com Banco de Dados Mysql.
Na Web o usuário terá total controle da câmera depois de sua autenticação no Banco de Dados. Isto é feio através de comunicação serial em Java (outro sistema de software além do JSP será instalado no servidor onde o administrador terá controle e quem estiver acessando as páginas via web). O usuário terá controle através dos botões depois de sua validação de login e senha. Os botões girarão a câmera em sentido de 180º graus para direita e esquerda e 30º graus para cima e baixo, como ilustra a Fig3. 3.5. Software Desktop Desenvolveu-se também um software em que poderá ser acessado no Computador em que o hardware estará conectado. Este tem um sistema no qual, fará o controle e fluxo de dados na própria máquina onde está à base de dados, webcam em tempo real, e terá administração total do sistema. Além de visualizará a UTI também em tempo real através de uma webcam, este software na desktop usa a mesma base de dados do WebSite, no qual se poderá fazer um cadastro, atualizar dados e excluir usuários. O administrador do Servidor terá estes privilégios, para cadastrar campos como exemplo: nome, login, senha, endereço, telefone, RG e CPF. Tudo conectado em Banco de Dados no Mysql e armazenado e protegido por criptografia em MD5 para esconder a senha. Para sua autenticação e proteção de dados dos usuários. O administrador do sistema terá passar por uma tela de login para sua validação. Logo em seguida irá para tela principal e terá a Webcam, a mesma do WebSite e os botões para movimentação em tempo real.
O sistema foi desenvolvido em linguagem Java, que permite usos de APIs e bibliotecas em JMF (Java Media Frameworks). Este tipo de ferramenta é opcional e utiliza arquivos de medias e áudio com vídeo. Para configurar uma Webcam e chamar a classe responsável pra reproduzir vídeos, no código fonte, necessita-se de um programa instalado chamado de “JMStudio”. Este programa configura o IP da máquina e a porta para sua configuração. Com este pacote e o programa JMStudio (ambos são disponibilizados no site da Sun) foi possível transmitir áudio e vídeo no jframe na tela principal do software. IV. CONSIDERAÇÕES FINAIS
Este trabalho apresentou uma metodologia de programação para o desenvolvimento de software e cujo intuito é utilizá-lo no monitoramento de pacientes em UTIs através de computadores pessoais. REFERÊNCIAS [1] R. Sabbatini, “A Informática no Hospital Moderno. Check-Up: Ciências & Novidades”. Informática Médica, ano 3, nº 18, pp 30-33, 2001. [2] T. G. Greenspan, M. Welsh, R. Juang, A. Alm, “Vital Signs Monitoring and Patient Tracking Over a Wireless Network”. In: Engineering in Medicine and Biology Society, IEEEEMBS’05. 27th Annual International Conference of the 2005 Page(s):102 – 105, 2005. [3] Bonacina, S. and Masseroli, M (2006) “A Web Application for Managing Data of Cardiovascular Risk Patients”. In: Engineering in Medicine and Biology Society. IEEE-EMBS'06. 28th International Conference Annual Aug. 30 2006-Sept. 3, 2006. [4] M.I. Bagues, J. Bermudez, A. Burgos, A., Goni, A. Illarramendi, J. Rodriguez, A. Tablado, (2006). “An Innovative System that Runs on a PDA for a Continuous Monitoring of People”. In: Computer-Based Medical Systems. IEEE-CBMS 2006. 19th International Symposium on Page(s):151 – 156, 2006. [5] B.Hans, ”Java Server Page”3rd ed., Sebastopol, CA/US,, pp. 37- 126, 1999. [6] Monty Widenius M. and Axmark D. and MySQL AB, “MySQL Reference Manual”, 1rd ed., Sebastopol, CA/US, 2002. [7] Parsian M. “JDBC Metadata, MySQL and Oracle Recipes” New York, 2006. [8] Comaniciu, D., Ramesh, V., and Meer, P. Real-Time Tracking of Non- Rigid Objects Using Mean Shift. In Proceedings, Conference on Computer Vision and Pattern Recognition, vol. 2, pp. 142–149, 2000.