4 Capitulo 3 implementacao do SMD - repositorio.ufba.br 3...O SMD foi desenvolvido em Java sobre o...

Click here to load reader

  • date post

    31-Mar-2018
  • Category

    Documents

  • view

    213
  • download

    1

Embed Size (px)

Transcript of 4 Capitulo 3 implementacao do SMD - repositorio.ufba.br 3...O SMD foi desenvolvido em Java sobre o...

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 93

    CAPTULO 3

    IMPLEMENTAO DO SMD

    Este captulo reserva-se apresentao da implementao do SMD

    tomando como partida o desenvolvimento do Projeto Preliminar que consta da

    implementao do projeto conceitual da soluo proposta para o sistema, bem como

    de avaliaes preliminares de funcionamento adequado e de atendimento das

    necessidades descritas pelos clientes; e do Projeto Detalhado que engloba o

    detalhamento tcnico. Nesta fase, que a fase de concepo do projeto, apoiando-

    se em Bitencourt e Guimares (2006), busca-se pela concordncia entre todas as

    partes interessadas do projeto (clientes), o problema identificado e as informaes

    coletas para a contextualizao do software que ser desenvolvido.

    Para um projeto de software ser, de fato, bem sucedido necessrio a viso do problema sob a perspectiva da organizao em que o software ser inserido. Para a organizao, necessrio que o software se apresente como til dentro do contexto de uso real, vindo a contribuir, de forma efetiva, com as necessidades de negcio da comunidade de usurios, gerando maior satisfao, segurana e produtividade. (HIRATSUKA, 1996; BEVAN, 1997, HESSENZAHL E OUTROS, 2002; ABNT,2001 apud BITENCOURT; GUIMARES, 2006).

    4.1Projeto Preliminar e Detalhado

    O SMD foi desenvolvido em Java sobre o sistema operacional Windows

    XP e a IDE (Integrated Development Environment) utilizada NETBEANS 5.5.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 94

    O software que compe o SMD possui duas classes fundamentais que

    so: o SMD_Paciente (figura 4.1) que representa a Unidade do Paciente/Cuidador e

    o SMD_Medico (figura 4.2) que representa a Unidade do Mdico.

    Figura 4.1 Interface da Unidade do Paciente/Cuidador (SMD_Paciente)

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 95

    a) Tela para visualizao de todos os pacientes monitorados

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 96

    b) Tela para visualizao do paciente selecionado

    Figura 4.2 Interface da Unidade do Mdico (SMD_Mdico)

    As classes que compe o SMD, descritas a seguir, contm os mtodos

    que executam as operaes ou funes do sistema, sejam elas funes parciais,

    auxiliares, elementares e global.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 97

    Quadro 4.1 - Descrio das funes das classes do SMD.

    CLASSE FUNO

    SMD_Paciente Responsvel por controlar a realizao da coleta, e transmisso dos dados, do envio de mensagens para o mdico, recebimento de prescries mdicas e diagnsticos, na Unidade Paciente/Cuidador

    SMD_Mdico Responsvel por receber as coletas de vrios pacientes e armazen-las no banco de dados

    AtualizadorMonitoramentoMdico Responsvel pela coleta dos dados dos pacientes enviados pelos equipamentos biomdicos e que so enviados Unidade do Mdico

    Coleta Captura o fluxo de dados dos equipamentos biomdicos e trata as variveis lidas (separa as variveis) para distribuir nos campos das IHMs

    OrientaoMdica Permite que o mdico realize e envie prescries, diagnsticos e orientaes mdicas para o paciente

    TransmissorColeta Responsvel por transmitir os dados

    ReceptorColetaServidor Responsvel por receber as mensagens (dados e conversa) de vrios pacientes, faz parte do SMD_Mdico

    TransmissorColeta Permite ao SMD_Paciente transmitir periodicamente os dados coletados

    ReceptorColetaServidor Permite ao SMD_Mdico armazenar os dados coletados de cada paciente no banco de dados db_SMD

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 98

    O Diagrama de Classes (figura 4.3) ilustra a interao entre as classes do

    SMD.

    *

    AtualizadorMonitoramentoMedico : 1

    Thread

    HistoricoPrescricao

    Medico

    Pessoa

    OrientacaoMedica

    Paciente : 1

    Prescricao

    SMDMedico

    SMDPaciente

    HistoricoCamposColeta

    TelaColetaIF

    + displayColeta (Campo[] campos)MensageiroIF

    +++

    displayMensagem (String mensagem)displayPrescricao (Prescricao p)displayMensagem (String men, Paciente paciente)

    Mensageiro

    OrientacaoMedicaTela

    ProvedorInterfaceColetaIF

    ++

    lerDadosAparelho ()getMensagemLida ()

    : void: String

    ColetaTransmissorColeta

    Paciente : 2

    AtualizadorMonitoramentoMedico : 2

    AtualizadorMonitoramentoMedico : 3

    Figura 4.3 Diagrama UML de classes do SMD

    Para garantir a persistncia dos dados essenciais para o funcionamento

    do SMD tambm foi criada uma base de dados baseada nos conceitos de banco de

    dados relacional, utilizando como ferramentas o MYSQL e o padro de modelagem

    de banco de dados relacional DER. A implementao dessas entidades permitiu

    atender as seguintes funcionalidades: coleta que realiza a comunicao entre o

    equipamento biomdico e o microcomputador; o monitoramento dos dados do

    paciente, a prescrio e anlise de diagnstico on-line. O diagrama a seguir

    apresenta a descrio das entidades e as relaes entre elas.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 99

    t_aparelho t_confcomserial

    t_dadoamostraaparelho

    t_medico

    t_pacientecampos

    t_pacienteconfig

    t_pacientedadoscoletados

    t_pacienteprescricao

    t_pessoa

    Figura 4.4 Diagrama UML de classes do banco de dados relacional

    As tabelas, que compem o banco de dados relacional, so descritas de

    forma sumria no quadro 4.2 e apresentam os principais elementos que norteiam o

    desenvolvimento do SMD. A implementao dessas tabelas/entidades permitiram

    atender as seguintes especificaes: coleta dos dados vitais com leitura de hora em

    hora que poder ser configurvel conforme necessidade mdica (comunicao entre

    um equipamento biomdico e as Unidades); monitoramento dos dados do paciente

    (anlise comparativa com os valores de referncia, sinalizao de dados fora dos

    valores de referncia); armazenagem de dados coletados, da configurao dos

    equipamentos biomdicos, dados do paciente e mdico (configurao do sistema) e

    valores de referncia (entrada para valores de referncia); armazenagem de

    prescrio e diagnstico mdico.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 100

    Quadro 4.2 - Descrio das principais tabelas que compem o BDR do SMD.

    ENTIDADE TABELA DESCRIO

    Aparelho t_aparelho Contm os dados bsicos de um equipamento biomdico, como: fabricante, srie, fornecedor, entre outros. Esta tabela permite armazenar diversos equipamentos.

    Configurao de comunicao serial

    t_confcomserial Armazena os dados de configurao da comunicao serial entre os equipamentos biomdicos e a Unidade do Paciente/Cuidador. (Esta entidade foi criada para atender especificamente para ler equipamentos biomdicos com dispositivos seriais de comunicao).

    Dados de amostra dos aparelhos

    t_dadoamostraaparelho Esta entidade permite armazenar as variveis que so geradas por cada equipamento biomdico cadastrado na entidade aparelho.

    Mdico t_mdico Permite armazenar dados do mdico, como: nome, telefone etc.

    Campos de armazenagem de dados

    t_pacientecampos Permite armazenar variveis coletadas dos equipamentos biomdicos que sero e transmitidas pelo sistema, para cada paciente.

    Configurao dos pacientes

    t_pacienteconfig Permite armazenar os dados pessoais do paciente

    Dados coletados dos Pacientes

    t_pacientedadoscoletados Esta entidade armazena os dados coletados do paciente.

    Prescrio para o paciente

    t_pacienteprescrio Armazena as prescries mdicas realizadas por um mdico para um paciente.

    Dados pessoais t_pessoa Permite armazenar os dados pessoais do paciente e do mdico como nome, endereo, telefone etc.

    O desenvolvimento do SMD est dividido em quatro reas: coleta de

    dados, interao entre Unidades (transmisso de dados e mensagens), IHM e

    visualizao do paciente.

    4.1.1 Coleta de dados

    A coleta de dados no SMD ocorre do Equipamento biomdico para a

    Unidade Paciente/Cuidador.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 101

    Salienta-se que, a partir da anlise dos equipamentos biomdicos

    realizada em captulo 1, que identifica diferentes dispositivos de comunicao.

    Sendo, contudo, a comunicao serial a mais utilizada, foi desenvolvida uma

    interface concentradora que engloba os diferentes tipos de dispositivos de

    comunicao (USB, comunicao paralela e outros) adaptados aos equipamentos

    mais usados, permitindo a conectividade destes com o SMD. A interface garante que

    cada equipamento possua sua forma de conectividade e leitura dos dados sem

    interferir na implementao do SMD.

    A interface PovedorInterfaceColetaIF garante a assinatura (contrato que

    determina quais os mtodos uma classe vai ter) e portabilidade de variados

    equipamentos, desde que as classes construdas para eles, implementem os

    mtodos de leitura dos dados do aparelho (lerDadosAparelho) e de retorno do

    formato da mensagem lida do aparelho (getMensagemLida).

    Desta forma, criando uma classe que implemente a interface

    PovedorInterfaceColetaIF , possvel desenvolver entidades que gerenciem os

    dispositivos de comunicao de modo independente, como por exemplo, as classes:

    ReceptorserialRS232 permite a leitura de aparelhos que tenham os dispositivos

    seriais no padro RS232; a classe ReceptorColetaDisco permite ler dados de coleta

    de um arquivo de dados de um dispositivos de armazenamento; e a classe

    ReceptorColetaClienteTCP permite ler dados de dispositivos de rede usando o

    protocolo TCP/IP. Com isso, ao SMD permitida a configurao e/ou criao de

    classes que se adequem s sadas de dados dos equipamentos biomdicos, desta

    forma possibilitada a ampliao de uso do SMD. Isto , se o equipamento

    biomdico tiver uma sada de dados com conector tipo porta paralela, o SMD pode

    ser configurado para esta leitura.

    O SMD permite cadastrar intervalo de valores vlidos de cada varivel de

    cada paciente, possibilitando a definio dos valores de referncia para cada

    paciente.

    Depois que a comunicao entre o equipamento biomdico e o

    microcomputador feita e os dados so coletados, o SMD realiza o tratamento da

    coleta a fim de recuperar as variveis que so geradas pelo equipamento. Cada

    varivel gerada pelo equipamento deve ser cadastrada no db_SMD para que o

    sistema possa capturar os respectivos valores. A interface FormatadorDadoColetaIF

    define a assinatura da classe que trata os dados coletados de um aparelho. As

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 102

    classes FormatadorOximetro (esta classe foi assim adotada pois os testes realizados

    foram em um oxmetro e identifica o formato dos dados enviados pelo oxmetro,

    herda as especializaes da classe FormatadorDadoColetaIF) e

    FormatadorDadoColetadoBD implementam a interface FormatadorDadoColetaIF e

    tratam a mensagem (separando as variveis coletadas e os valores),

    respectivamente, os dados gerados pelo aparelho biomdico e os dados coletados

    que iro para banco de dados db_smd (figura 4.5 e 4.6).

    *

    *

    Coleta

    ProvedorInterfaceColetaAB

    Runnable

    + run () : void

    HistoricoCamposColeta

    ReceptorColetaClienteTCPReceptorColetaDisco

    ReceptorColetaServidor

    ReceptorSerialRS232

    SerialPortEventListener

    Campo

    Paciente

    ProvedorInterfaceColetaIF

    ++

    lerDadosAparelho ()getMensagemLida ()

    : void: String

    Figura 4.5 Diagrama UML de classes da coleta de dados

    FormatadorDadoColetaIF

    + analisarColeta (String sEntrada, Campo sCampo) : String Figura 4.6 Diagrama UML de classes de identificao do formato da mensagem dos equipamentos

    biomdicos

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 103

    4.1.2 Interao entre Unidades

    As unidades interagem da seguinte forma:

    ? Recebimento de dados (Unidade Paciente/Cuidador ? Unidade do

    Mdico);

    ? Comunicao entre Unidades: mensagens de comunicao

    mdico-paciente (prescrio, diagnstico e conversas) e

    paciente/cuidador-mdico (conversas), mensagem de interveno

    do SMD.

    No recebimento de dados, a interao entre as unidades mantida

    atravs de protocolos de comunicao TCP/IP. Para tanto fundamental que tanto o

    mdico quanto o paciente tenham acesso Internet. Os dados que so coletados do

    equipamento biomdico que se localiza na residncia do paciente e est conectado

    fisicamente com a Unidade do Paciente/Cuidador atravs de cabo de comunicao

    serial, so enviados Unidade do Mdico que est em seu consultrio, empresa de

    ID ou outro local com acesso internet e IP fixo.

    Com os dados coletados pelo computador da Unidade do

    Paciente/Cuidador, o SMD realiza a comunicao com a Unidade do Mdico. Para

    possibilitar esta comunicao, ao configurar os dados do paciente no BDR, tambm

    ser configurado o endereo IP da mquina que ir receber os dados coletados

    (Unidade do Mdico) e o intervalo de tempo necessrio (cadastrado pelo mdico)

    para que o SMD_Paciente transmita a coleta realizada pelo sistema.

    Para manter esta interao foram criadas as classes apresentadas no

    modelo da figura 4.7. Desta forma o SMD_Paciente transmitir periodicamente os

    dados coletados utilizando a classe TransmissorColeta e o SMD_Mdico receber

    os dados por meio da classe ReceptorColetaServidor. Aps o recebimento, o

    SMD_Mdico armazena os dados de cada paciente no banco de dados db_SMD.

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 104

    ClienteTCP

    Thread

    ServidorTCP

    ReceptorColetaServidorTransmissorColeta

    Figura 4.7 Diagrama UML de classes do recebimento de dados

    Na interao que permite a comunicao entre mdico e paciente, o

    mdico realiza prescries e verifica e/ou altera o diagnstico de um determinado

    paciente, com o envio de mensagens. O mdico ir digitar as mensagens de

    orientao e/ou prescrio e atravs da classe OrientaoMdica estas mensagens

    sero encaminhadas para a Unidade Paciente/Cuidador. As classes Prescrio e

    Diagnstico permitiro que as mensagens enviadas sejam armazenadas no

    bd_SMD.

    Na interao que permite a comunicao entre o paciente/cuidador e o

    mdico (conversas) a classe Mensageiro a responsvel. Bem como responsvel

    pela na interao que permite que o SMD envie mensagem de interveno para as

    Unidades.

    A comunicao entre as unidades (descritas acima) pode ser visualizada

    na figura 4.8.

    HistoricoDiagnostico

    HistoricoPrescricao

    Medico

    OrientacaoMedica

    Paciente

    Prescricao

    Mensageiro

    Diagnostico ClienteTCP

    ServidorTCP

    Figura 4.8 Diagrama UML de classes da comunicao entre Unidades do SMD

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 105

    4.1.3 IHM

    As interfaces, criadas para a visualizao das informaes dos dados

    coletados e comunicao entre usurios, foram distribudas da seguinte forma:

    ? Unidade Paciente/Cuidador tela Monitoramento de Paciente;

    ? Unidade do Mdico tela Monitoramento de Paciente e tela

    Orientao Mdica.

    Na tela Monitoramento de Pacientes (figura 4.9) os dados coletados por

    diferentes Unidades de Paciente/Cuidador podem ser visualizados no campo

    Monitoramento de Pacientes. Neste campo so apresentados o dia, data e hora das

    coletas dos dados, o nome dos pacientes monitorados, a varivel que est sendo

    monitorada, o valor cole tado pelo equipamento biomdico e o estado do paciente

    (obtido pela comparao com os valores de referncia).

    No campo Mensageiro permitida a visualizao das mensagens

    enviadas pela Unidade Paciente/Cuidador e a identificao do paciente que envia a

    mensagem. No campo Informaes Gerais so descritas mensagens do prprio

    sistema como um status de funcionamento. Tais como: atualizao dos dados ou

    erro na leitura dos dados. No icone Conversar com o Paciente Selecionado

    possvel enviar uma mensagem ao paciente que for selecionado no campo

    Monitoramento de Paciente.

    Ao selecionar o paciente em (ver paciente selecionado), ser exibida uma

    nova tela denominada Orientao Mdica (figura 4.10). Nesta, o mdico visualiza

    apenas os dados do paciente selecionado (seus dados pessoais e dados vitais

    monitorados). No campo Histrico de Coletas Recebidas do Paciente, o mdico

    pode visualizar as mesmas informaes apresentadas no campo Monitoramento de

    Pacientes da tela Monitoramento de Pacientes, mas apenas do paciente

    selecionado. Neste campo tambm mantido o histrico dos dados monitorados. O

    cone Atualizar ltimos Dados Coletados o mdico pode solicitar da Unidade

    Paciente/Cuidador uma nova coleta, que ser independente da periodicidade

    prevista pelo sistema, isto , esta solicitao independe da leitura de hora em hora

    predefinida pelo sistema.

    Ainda na tela Orientao Mdica, atravs dos campos Diagnstico e

    Procedimentos, o mdico digita, transmite e salva os diagnsticos e as prescries

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 106

    respectivamente. A opo Salvar permite que os diagnsticos e as prescries

    sejam salvos no banco de dados e a opo Enviar permite que sejam enviados para

    a Unidade Paciente/Cuidador.

    tambm pela tela Orientao Mdica que o mdico mantm a

    comunicao, em tempo real, com o cuidador. No campo Conversar com o Cuidador

    possvel visualizar as mensagens enviadas pelo cuidador (Mensagem do

    Cuidador) e o envio de mensagens para o mesmo pode ser feita no campo Digite

    Mensagem para Cuidador (figura 4.11).

    No campo Informaes Gerais so disponibilizadas mensagens do

    sistema, como mensagens de erro e de desempenho.

    Figura 4.9 Tela Monitoramento de Pacientes da Unidade do Mdico SMD_Medico

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 107

    Figura 4.10 - Tela orientao mdica com mensagem para o cuidador da Unidade do Mdico

    SMD_Mdico

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 108

    Figura 4.11 Tela orientao mdica com mensagens entre cuidador e mdico da Unidade do

    Mdico SMD_Mdico

    Na IHM Monitoramento de Paciente da Unidade Paciente/Cuidador (figura

    4.12), so visualizados os dados pessoais do mdico que acompanha a ID do

    paciente, e o nome do paciente monitorado. Nos campos Diagnstico Geral e

    Prescrio Mdica so visualizados o diagnstico e a prescrio mdica. Ressalta-

    se que estes campos s podem ser alterados e atualizados pela Unidade do Mdico.

    No campo Monitoramento so mostrados os dados vitais monitorados, os valores e

    as possveis intervenes do SMD quando os dados estiverem fora dos valores de

    referncia (que aparecero em vermelho). Para iniciar o monitoramento, aps

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 109

    instalao dos equipamentos que compe a Unidade Paciente/Cuidador e

    configurao dos dados necessrios ao monitoramento (dados do mdico e

    paciente, valores de referncia e configurao do equipamento biomdico),

    necessrio clicar em Iniciar Monitor. A interrupo do monitoramento pode ser feita

    em Parar Monitor. E a obteno do histrico dos dados monitorados, a partir dos

    dados salvos no banco de dados, pode ser feita em Histrico.

    No campo Converse com o Mdico de Planto o paciente e o cuidador

    visualizam as mensagens enviadas pelo mdico (Mensagem do Mdico) e enviam

    mensagens para o mesmo (Digite uma Mensagem para o Mdico).

    Figura 4.12 Tela Monitoramento Paciente da Unidade Paciente/Cuidador SMD_Paciente

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 110

    4.1.4 Visualizao do paciente

    Com o objetivo de possibilitar ao mdico a visualizao do paciente em

    domiclio, isto , disponibilizar, para o mdico, imagens do paciente, foi

    implementada a interao do sistema com um programa de visualizao de imagens

    atravs de uma web cam conectada Unidade Paciente/Cuidador, que ampliar a

    atuao do SMD no sentido de possibilitar ao mdico o acompanhamento da

    execuo de procedimentos e/ou instrues especficas para a execuo de

    procedimentos que podem ser realizadas pelo cuidador, quando isso por

    conveniente.

    Neste caso foi utilizado o Windows Media Player, como programa de

    visualizao de imagens, por ser um programa que faz parte do pacote de instalao

    do sistema operacional Windows, comumente utilizado em relao a outros sistemas

    operacionais.

    A interao do SMD com o programa de visualizao de imagens ocorre

    atravs do link Filmar Paciente (figura 4.12). Ao ativar o link, a Unidade

    Paciente/Cuidador passa a enviar as imagens para a Unidade do Mdico atravs do

    protocolo de comunicao TCP/IP. E, a Unidade do Mdico ao ativar o link Visualizar

    Paciente abre a tela do programa de visualizao de imagens que mostra (figura

    4.13), independente do funcionamento do SMD, as imagens que esto sendo

    enviadas pela Unidade Paciente/Cuidador. Para tanto torna-se necessrio e

    requisito para o funcionamento deste aplicativo, a web cam estar ligada e a conexo

    internet manter-se ativa.

    O mdico quem dever indicar a necessidade para funcionamento da web

    cam por meio do envio de mensagens ao paciente e cuidador pelo SMD

    (comunicao entre mdico e paciente).

    Tal aplicativo pode manter-se ligado e em funcionamento para o

    acompanhamento de um procedimento mdico ou durante toda a monitorao

    domiciliar. Restries ao funcionamento deste aplicativo podem ser descritas como

    possveis erros de leitura da cmera (posicionamento incorreto da cmera,

    obstculos que impedem a visualizao do paciente ou procedimento, qualidade das

    imagens geradas), atraso no envio das imagens e consequentemente visualizao

    fora do tempo real, e erro de funcionamento do programa de visualizao de

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 111

    imagem. Contudo, tais restries no interferem no desempenho do SMD e na

    continuidade do monitoramento devido a independncia de funcionamento do

    aplicativo.

    Figura 4.13 Tela Monitoramento Paciente com link para abrir Windows Media Player

  • Uma Proposta de Tecnologia Embarcada na Internao Domiciliar Captulo 3 Implementao do SMD 112

    Figura 4.14 Tela Orientao Mdica com link para visualizar paciente