• Nenhum resultado encontrado

Acesso móvel às informações de saúde do paciente utilizando computação ubíqua

N/A
N/A
Protected

Academic year: 2021

Share "Acesso móvel às informações de saúde do paciente utilizando computação ubíqua"

Copied!
77
0
0

Texto

(1)

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL - UNIJUÍ

DEPARTAMENTO DE CIÊNCIAS EXATAS E ENGENHARIAS

LEANDRO FERREIRA PAZ

ACESSO MÓVEL ÀS INFORMAÇÕES DE SAÚDE DO PACIENTE

UTILIZANDO COMPUTAÇÃO UBÍQUA

Santa Rosa

(2)

LEANDRO FERREIRA PAZ

ACESSO MÓVEL ÀS INFORMAÇÕES DE SAÚDE DO PACIENTE

UTILIZANDO COMPUTAÇÃO UBÍQUA

Trabalho de Conclusão de Curso apresentado ao curso de Ciência da Computação, do Departamento de Ciências Exatas e Engenharias, da Universidade Regional do Noroeste do Estado do Rio Grande do Sul, como requisito parcial para obtenção do grau de Bacharel em Ciência da Computação.

Orientador: Me. Professor Juliano Gomes Weber

Santa Rosa

(3)

Dedicatória

Aos meus filhos Isadora e João

Pedro, luzes da minha vida. Na

tentativa de abrandar a ausência destes

dias e noites de leitura e escrita, sem

poder dar-lhes a atenção ideal e

necessária que, espero, um dia não

ressintam.

À minha esposa Margiane que

muito resiliente manteve o nosso

cotidiano andando, me encorajando em

todo momento de turbulência

.

(4)

AGRADECIMENTOS

Agradeço aos meus Pais por me concederem este espaço em suas caminhadas nesta encarnação e sou grato pelos ensinamentos, pois me deram suporte para enfrentar as dificuldades da vida. Saudades, pai!

Agradeço ao meu orientador, Professor Juliano que, em paralelo aos seus conselhos técnicos e científicos, soube amenizar as cobranças e entender que temos limites. Obrigado pela parceria e conversas no talk ao longo das madrugadas, pelas distrações, pela disponibilidade, me ajudando não só no desenvolvimento do trabalho, mas principalmente a fugir de todo o estresse. Sua motivação e positividade foram essenciais para a realização deste trabalho, muito obrigado chefe!

Aos professores Vinicius Maran, Alencar Machado e Rogério Martins pelas indiretas e diretas algumas vezes, colocando-me no caminho certo. Muito obrigado!

(5)

RESUMO

As informações geradas nos Registros Eletrônicos de Saúde (RES) são essenciais no auxílio à tomada de decisões por parte de médicos e enfermeiros. No entanto, a burocracia, a dificuldade e o tempo gasto no acesso às informações de pacientes dificultam o trabalho dos profissionais de saúde. Desta forma, faz-se necessária a definição de uma arquitetura, que, aliada a tecnologias provenientes da Computação Ubíqua, visa a fornecer informações a profissionais de saúde de forma ágil em relação às soluções atuais. Este trabalho propõe uma arquitetura de software para celular que possibilite a consulta de informações médicas utilizando conceitos e tecnologias provenientes da Computação Ubíqua.

Palavras-chave: Computação Ubíqua na Saúde, Sistemas de Computação Móveis,

(6)

ABSTRACT

The information generated in the EHR (Electronic Health Records) is essential in assisting decision making by doctors and nurses. However, the bureaucracy, the difficulty of access and time spent in accessing patient information hamper the work of health professionals. This, it is necessary to define an architecture that combined technologies from the Ubiquitous Computing, aims to provide information to health professionals in a fast over current solutions. This paper proposes a software architecture that enables the cell to query medical information using concepts and technologies from the Ubiquitous Computing.

Keywords: Healthcare Ubicomp, Mobile Computing, Mobile Telemedicine,

(7)

LISTA DE SIGLAS

1D - Uma dimensão 2D - Duas dimensões 3D - Três dimensões

ACID - Atomicidade, Consistência, Isolamento e Durabilidade AmUbAS - Ambiente Ubíquo de Apresentação de Slides

ANSI - American National Standards Institute API - Application Programming Interface APS - Atenção Primária a Saúde

ASTM - American Society for Testing and Materials CC/PP - Composite Capability/Preference Profiles CCR - Continuity Care of Record

CDA - Clinical Document Architecture CID10 - Cadastro Internacional de Doenças CK - Context Knowledge

CML - Context Modeling Language

CMP - Context UML Profile

COMAH - Cognitividade com sensibilidade a conexão como suporte a otimização de recursos em Malha Heterogênea

EAN - European Article Number EK - External Knowledge ER7 - Enconding Rules Seven GNU - General Public License

GPS - Geo-Posicionamento por Satélite

GSM - Global System for Mobile Communications GTSH - Gator Tech Smart House

HAPI - HL7 Application Programming Interface HL7 - Health Level Seven

IDC - International Data Corporation

(8)

IrDA - Infrared Data Association ITF - Interleave Two Five MVJ - Máquina Virtual Java OHA - Open Handset Alliance ORM - Object Role Modeling PC - Proceduralized Context PDF - Portable Data File

PEP - Prontuário Eletrônico do Paciente PHCS - Primary Health Care System PRC - Padronização do Registro Clínico QR

Code - Quick Response Code

RES - Registro Eletrônico de Saúde RFID - Radio Frequency Identification RIM - Reference Information Model RSS - Reduced Space Symbology

SAMU - Sistema de Atendimento Móvel de Urgência SAUM - Sistema de Assistência a Urgência Médica SDK - Software Development Kit

SQL - Structured Query Language

S-RES - Sistema de Registro Eletrônico de Saúde UML - Unified Modeling Language

UPC - Universal Product Code URL - Uniform Resource Locator W3C - World Wide Web Consortium XML - Extensible Markup Language

(9)

LISTA DE FIGURAS

Figura 1: Diferentes integrações na computação ubíqua. ... 15

Figura 2: Compartilhamento de recursos da computação móvel e pervasiva com a ubíqua. ... 18

Figura 3: Dimensões da computação ubíqua. ... 19

Figura 4: Princípio da descentralização na Computação Ubíqua. ... 20

Figura 5: Diversidade das funcionalidades na Computação Ubíqua. ... 21

Figura 6: Tipos de contextos e suas dinâmicas. ... 30

Figura 7: Propaganda sensível ao contexto no GMail. ... 32

Figura 8: Exemplo de guias turísticos móveis ... 32

Figura 9: Conexões ponto-a-ponto e multiponto com Bluetooth. ... 36

Figura 10: Exemplo de uma rede de sensores sem fio. ... 37

Figura 11: Processo de execução programas Java. ... 39

Figura 12: Funcionamento do HL7. ... 42

Figura 13: Criação de XML e documento pelo CCR. ... 44

Figura 14: Previsão de conexões inteligentes até 2016. ... 48

Figura 15: Ciclo de vida das activities... 50

Figura 16: Download, instalação e funcionamento do Barcode Scanner... 51

Figura 17: Exemplo de QR Code. ... 51

Figura 18: Visão do sistema. ... 53

Figura 19: Arquitetura do sistema. ... 54

Figura 20: Diagrama entidade-relacionamento. ... 56

Figura 21: Diagrama de classes. ... 58

Figura 22: Diagrama de classes do serviço HL7 da aplicação. ... 59

Figura 23: Fluxograma do processo de identificação de contexto. ... 60

Figura 24: Cenário de uso. ... 61

Figura 25: Tela de login. ... 62

Figura 26: Tela de leitura do QR Code... 63

Figura 27: Tela de menu. ... 63

Figura 28: Tela de dados pessoais. ... 64

Figura 29: Tela de exames. ... 65

Figura 30: Tela de procedimentos médicos. ... 65

(10)

Figura 32: Tela de alergias. ... 66 Figura 33: Tela de doenças crônicas... 67

(11)

LISTA DE TABELAS

Tabela 1: Comparação entre os modelos de contexto. ... 29 Tabela 2: Exemplos de tecnologias sem fio. ... 35 Tabela 3: Teste de Desempenho. ... 67

(12)

LISTA DE QUADROS

Quadro 1: As Principais Tendências em Computação. ... 18

Quadro 2: Exemplo mensagem HL7. ... 42

Quadro 3: Quantidade de caracteres armazenados nos QR Code... 52

(13)

SUMÁRIO

INTRODUÇÃO ... 14

2 REVISÃO BIBLIOGRÁFICA ... 17

2.1 HISTÓRICO DA COMPUTAÇÃO UBÍQUA ... 17

2.2 RELAÇÃO ENTRE COMPUTAÇÃO UBÍQUA, MÓVEL, PERVASIVA E REALIDADE VIRTUAL ... 18

2.3 PRINCÍPIOS DA COMPUTAÇÃO UBÍQUA ... 19

2.4 CENÁRIOS DA COMPUTAÇÃO UBÍQUA ... 21

2.5 ELEMENTOS CHAVE DE UM AMBIENTE UBÍQUO ... 23

2.6 CONTEXTO ... 25

2.6.1 Representação do Contexto ... 27

2.6.2 Tipos de Contexto ... 29

2.6.3 Sistemas Sensíveis ao Contexto ... 30

2.6.4 Exemplos de Sistemas Sensíveis ao Contexto ... 31

2.7 DESAFIOS DA COMPUTAÇÃO UBÍQUA ... 33

2.8 A COMPUTAÇÃO UBÍQUA E AS TECNOLOGIAS NECESSÁRIAS ... 34

2.9 COMPUTAÇÃO UBÍQUA NA SAÚDE ... 40

2.10 REGISTRO ELETRÔNICO DE SAÚDE ... 40

2.11 PADRÕES DE INTEROPERABILIDADE DE INFORMAÇÕES MÉDICAS ... 41

2.11.1 HL7 ... 42

2.11.2 CCR ... 43

2.11.3 Diferenças entre CCR e HL7 ... 44

3 TRABALHOS RELACIONADOS ... 45

4 FERRAMENTAS E METODOLOGIA DE DESENVOLVIMENTO ... 46

4.1 TECNOLOGIAS USADAS ... 46

(14)

4.1.2 Android ... 47

4.1.3 Barcode Scanner ... 50

4.1.4 QR Code ... 51

4.1.5 SQLite ... 52

4.1.6 Técnica de Representação do Contexto ... 52

4.2 DESENVOLVIMENTO ... 53

4.2.1 Visão Geral do Sistema ... 53

4.2.2 Arquitetura do Sistema ... 53

4.2.3 Diagrama Entidade-Relacionamento ... 54

4.2.4 Diagrama de Classes da Aplicação ... 57

4.2.5 Diagrama de Classes do Serviço HL7 ... 59

4.2.6 Sensibilidade ao Perfil do Usuário ... 59

5 FUNCIONALIDADES DO APLICATIVO E TESTES ... 61

5.1 FUNCIONALIDADES ... 61

5.2 TELAS DO APLICATIVO ... 62

5.3 REALIZAÇÃO DE TESTES ... 67

CONCLUSÃO ... 69

(15)

INTRODUÇÃO

Os sistemas de acompanhamento do histórico de saúde do paciente, também conhecidos como Sistema de Registro Eletrônico de Saúde (S-RES), contribuem consideravelmente no processo de tomada de decisões realizado por profissionais clínicos e no auxílio à prevenção de doenças. Entretanto, a quantidade de dados apresentada nas consultas realizadas nos sistemas atuais inviabiliza o trabalho dos médicos e enfermeiros, pois a procura da informação de que se necessita no momento do atendimento ao paciente exige tempo e atenção (VICENTINI et al, 2010).

A utilização de novas tecnologias torna o conhecimento na área da saúde mais acessível e facilita o compartilhamento de informações médicas. Entre as áreas inovadoras que podem contribuir com a área da medicina, destacar-se a computação ubíqua ou internet das coisas, que através da aplicação da computação de forma onipresente (inserida de forma invisível no ambiente) possibilita uma melhora da interação entre os diversos equipamentos médicos, informações em bancos de dados de diversos modelos e os usuários (profissionais da saúde) no ambiente hospitalar (GOULART et al, 2010).

Com o constante aumento no uso de aparelhos celulares, tablets e smartphones, a resistência dos usuários em relação ao seu uso no ambiente profissional diminuiu e permitiu a realização de pesquisas relacionadas à integração de dispositivos (fixos e móveis) de uma forma dinâmica (Figura 1). Este é um dos princípios da computação ubíqua, ou seja, a capacidade de utilizar diversos recursos da computação móvel em diferentes lugares, a qualquer momento (WEISER, 1991). Outro importante aspecto dessa concepção é a interação do usuário com o ambiente. A utilização de etiquetas bidimensionais em objetos proporciona que eles sejam identificados apenas de uma forma (MELOAN, 2003). O que resulta numa

(16)

interação entre o mundo virtual e físico com a internet das coisas (SIORPAES, 2006).

Fonte: http://www.ntt.com/release_e/letters/BK_is/03_apr/i1.html

Outra característica da computação ubíqua é a sensibilidade ao contexto. A aplicação dita sensível ao contexto coleta elementos do ambiente e dos usuários inseridos neste e a partir deste ponto diversas adaptações podem ser realizadas de forma proativa por sistemas ubíquos. Estas modificações ajudam na realização das tarefas do usuário, pois através da combinação de interfaces intuitivas e processos proativos baseados em contexto, os usuários não precisam de conhecimentos específicos de computação para utilizar os sistemas de saúde de forma plena (SOUZA, 2010).

De acordo com o trabalho realizado por Chen (2002), o contexto computacional pode ser definido como um conjunto de informações: (i) físicas; (ii) dos usuários ou do tempo; e, (iii) emocionais, que projetam dados que auxiliam sistemas e usuários na realização de suas tarefas. Informações do contexto do usuário podem adaptar seu perfil em relação às atividades desempenhadas por ele, ou seja, moldar a aplicação para que se torne de acordo com as suas preferências, tornando essas mudanças algo imperceptíveis para o usuário (MACHADO; AUGUSTIN, 2011). Dey (2001, p.3, tradução nossa), “contexto é qualquer informação que pode ser usado para caracterizar a situação de uma entidade. Uma entidade é uma pessoa, lugar ou objeto que considerado relevante para a interação entre um usuário e uma aplicação”. Com base nessas informações, este trabalho propõe uma arquitetura integrando sistemas móveis de consulta às informações de pacientes para ambientes hospitalares e tem

(17)

por objetivo propor um recurso diferenciado na identificação do contexto. O procedimento de consulta usará sensibilidade ao contexto do usuário a partir do tipo de profissional clínico, ou seja, o sistema destacará informações na tela que sejam relevantes para o diagnóstico ou tratamento de doenças. Soma-se à proposta, o uso de um padrão de comunicação médica, interoperável, o Health Level Seven (HL7) (HL7, 2011). O acesso ao cadastro do paciente será através de leitura de código de barras bidimensional.

O trabalho está organizado como segue. O Capítulo 1 descreve a Introdução. O Capítulo 2 apresenta a Revisão Bibliográfica. Os Trabalhos Relacionados no Capítulo 3. O Capítulo 4 descreve as Ferramentas e Metodologia de Desenvolvimento. No Capítulo 5, as Funcionalidades do Aplicativo e Testes. Por fim, a Conclusão e Referências Bibliográficas.

(18)

2 REVISÃO BIBLIOGRÁFICA

Neste capítulo é apresentada a revisão bibliográfica dos conceitos utilizados no trabalho, como: definição de computação ubíqua, de onde foi concentrada a concepção principal do trabalho, sensibilidade ao contexto, características do Registro Eletrônico de Saúde e as tecnologias de troca de mensagens médicas.

2.1 HISTÓRICO DA COMPUTAÇÃO UBÍQUA

O termo computação ubíqua surgiu pela primeira vez em um artigo escrito por Mark Weiser, em 1991. The Computer for the 21st Century, descreve que interação entre as pessoas e os computadores se tornará imperceptível, ou seja, tudo acontecerá de forma mais natural possível, sem que o usuário perceba totalmente que está acionando um dispositivo ou uma aplicação. Em outras palavras, ela tem o intuito de se aproveitar da evolução da tecnologia, promovendo uma interação com maior transparência entre usuário e computador. Transparente no sentido de o utilizador estar manuseando um dispositivo ou uma aplicação sem ter que saber exatamente como eles operam. Outro aspecto da computação ubíqua ou internet das coisas está na capacidade de se conectar pela computação móvel a diversos recursos em diferentes lugares, a qualquer momento, com a disposição de todas as funcionalidades que estes recursos oferecem (WEISER, 1991).

Pesquisando mais a fundo o significado etimológico da palavra ubíqua – do latim

ubiquu, adjetivo – que está ao mesmo tempo em toda parte. Através da tecnologia móvel,

sensoriamento de ambiente e interoperabilidade na comunicação, a computação se torna presente em qualquer lugar, no instante que o usuário desejar. Isso é um ambiente ubíquo que dotado de sensores, de dispositivos móveis, tudo trabalhando de forma recíproca; trocando informações a todo o momento, colhendo do cenário as informações relevantes na identificação de preferências e ajudando na realização de tarefas.

A origem da computação ubíqua vem da passagem da Internet e da Computação Distribuída. Conforme demonstra o Quadro 1. Antigamente, nos mainframes, muitas pessoas trabalhavam num mesmo computador, depois chegaram os personal computers, uma pessoa para cada computador. Hoje, nesta nova etapa da evolução tecnológica, são muitos computadores para uma pessoa (DOMINGUES, 2008).

(19)

Quadro 1: As Principais Tendências em Computação. Fonte: http://www.johnseelybrown.com/calmtech.pdf.

2.2 RELAÇÃO ENTRE COMPUTAÇÃO UBÍQUA, MÓVEL, PERVASIVA E REALIDADE VIRTUAL

Existem algumas diferenças conceituais entre os termos computação ubíqua e pervasiva, móvel e realidade virtual. A primeira é a intersecção da computação móvel com a pervasiva, ou seja, qualquer dispositivo móvel portado por uma pessoa em movimento consiga personalizar as aplicações, serviços, isto é, a partir da situação; configurá-los dinamicamente de acordo com a necessidade do usuário (GOMES, 2007) (CIRILO, 2007). A Figura 2 demonstra esta combinação.

Computação Computação Computação Móvel Ubíqua Pervasiva

Figura 2: Compartilhamento de recursos da computação móvel e pervasiva com a ubíqua. Fonte: https://twiki2.dcc.ufba.br/pub/MAT570FG/LivroseArtigos/045_AraujoRB.pdf

A computação móvel envolve os sistemas computacionais, aplicações que executados nos mais diversos dispositivos trocando informações através de uma rede sem fio, permitindo assim a mobilidade dos aparelhos. A diferença dela para a computação ubíqua é que os dispositivos móveis não conseguem contextualizar as aplicações, isto é, não adequam ao usuário os serviços que estão distribuídos na rede sem para que ele possa realizar suas tarefas sem se preocupar com a tecnologia. Já a computação pervasiva relata que os computadores estarão distribuídos, localizados de forma invisível ou visível ao usuário. Assim, entende-se que os dispositivos não seriam mais máquinas estáticas, mas trabalhando mutuamente com usuários, agindo como sensores. Além disso, transmitindo informações para outros dispositivos e para aplicações (DOMINGUES, 2008).

As Principais Tendências em Computação

Mainframe Uma máquina para vários usuários

Computador Pessoal Uma máquina para cada usuário

(20)

A mobilidade na computação ubíqua é alta comparada com a pervasiva, conforme a Figura 3. Essa transição de equipamentos dentro do espaço é o transporte de aplicações que conversam com outros recursos computacionais, independente de dispositivo, seja qual for sua arquitetura, a mobilidade deve estar presente. Como na computação pervasiva nem todo dispositivo é móvel, é importante manter constantemente a disponibilidade de recursos (GOMES, 2007). Esse contexto pode-se considerar um desafio para a computação ubíqua: oferecer um suporte a essa movimentação de dados (ARAÚJO, 2003).

Figura 3: Dimensões da computação ubíqua. Fonte: http://pet.ece.iisc.ernet.in/pallapa/issues.pdf

Kirner e Siscoutto (2007), com relação à realidade virtual é “como uma nova geração de interface que usando representações tridimensionais mais próximas da realidade do usuário, permite romper a barreira da tela, além de possibilitar interações mais naturais”. Isto é, o mundo virtual é construído a partir da realidade do ser humano. Diferentemente da realidade virtual, a computação ubíqua invade o mundo real com computadores, dispositivos, sensores, redes sem fio, aplicações (WEISER, 1991).

2.3 PRINCÍPIOS DA COMPUTAÇÃO UBÍQUA

Araújo (2001), a computação ubíqua possui alguns princípios que, entre os quais se destacam três: Nível de insersão computacional Nível de mobilidade Sistemas tradicionais de computação Computação pervasiva Computação ubíqua Computação móvel ALTO ALTO BAIXO BAIXO

(21)

Descentralização: A distribuição dos serviços entre os dispositivos na rede torna cada

equipamento responsável por uma tarefa ou mais. Como resultado, é formada uma constante troca de informações, tornando o ambiente inteligente e podendo captar dados deste ou do usuário. Assim é um sistema distribuído. Outro ponto importante é a necessidade de atualizar dispositivos de diferentes capacidades e aspectos, conforme Figura 4. Para isso os servidores devem ser capazes de estabelecer essas diferenças, e possuir grande capacidade de processamento para poder tratar a diversidade de dispositivos.

Figura 4: Princípio da descentralização na Computação Ubíqua.

Fonte: http://sin054-dsu-20111.blogspot.com.br/2011/02/aula-03-principios-fundamentais-da.html  Diversidade: O usuário de um desktop possui atualmente muitas ferramentas

disponíveis para a realização de suas atividades. Eles podem pesquisar na web pelo navegador, criar planilhas eletrônicas, digitar textos, enviar e-mails. Ou seja, diversas funcionalidades num dispositivo e na maioria das vezes, executando uma sobre as outras. O princípio da diversidade defende a ideia de que cada dispositivo pode ter funcionalidades que são executadas melhor que em outros aparelhos, conforme Figura 5. Na computação ubíqua, esse aspecto se refere a atender necessidades específicas para usuários particulares. Outra concepção da diversidade é poder lidar com arquiteturas distintas de dispositivos, e desenvolvendo tecnologias comuns para plataformas com limitações próprias.

(22)

Figura 5: Diversidade das funcionalidades na Computação Ubíqua.

Fonte: http://sin054-dsu-20111.blogspot.com.br/2011/02/aula-03-principios-fundamentais-da.htm

Conectividade: a computação ubíqua detém a ideia de que aparelhos movam-se

juntamente com usuários, acessando todos os serviços disponíveis entre muitas redes heterogêneas, de forma que o utilizador não perceba essa mudança. Para garantir esta mobilidade é imprescindível o uso de padrões de comunicação, que tornem interoperável a troca de informações.

2.4 CENÁRIOS DA COMPUTAÇÃO UBÍQUA

Diversos cenários podem ser criados usando computação ubíqua. Entre eles podem-se destacar hospitais, casas, indústrias, trânsito, educação, etc. Mas para que isso aconteça há necessidade de mudança nos paradigmas de desenvolvimento de softwares atualmente. Carro e Wagner (2006, p.1) “O modelo atual em que o projetista de software utiliza uma abstração de alto nível do hardware, terá de ser modificado, pois deve-se tirar proveito da computação massivamente paralela mas sem descuidar do consumo de energia e confiabilidade [...]”. A seguir são descritos 4 cenários da computação ubíqua:

Hospitais: não é difícil de imaginar que no futuro os hospitais, partindo dos grandes centros e se estendendo até regiões mais remotas, terão capacidade de solucionar os problemas mais complexos. Com a ajuda da tecnologia, profissionais de saúde, através de um middleware que disponibilizará serviços personalizados em todo canto do ambiente hospitalar, portando dispositivos móveis, médicos terão acesso ao Prontuário Eletrônico do Paciente (PEP) através da identificação por etiquetas inteligentes, minimizando assim o trabalho mecânico e burocrático. Moraes, Souza e Prado (2009,

(23)

p.218) “Ambientes de Computação Ubíqua, em comunidades, lares e hospitais, podem ser extremamente úteis na construção de um modelo de Cuidado de Saúde Pervasivo”. Existirão sistemas que irão realizar checagens completas nos pacientes quando estes adentrarem no ambiente hospitalar, identificando qualquer anomalia e podendo até diagnosticá-los, se utilizando das informações contidas no PEP. Outro cenário é disparar alertas para que uma equipe de médicos faça atendimentos domiciliares. Sensores estarão a todo o momento cuidando pervasivamente de enfermos em suas casas. Um exemplo de projeto na área da medicina é ClinicSpace que já há algum tempo vem sendo desenvolvido com o objetivo de auxiliar os profissionais de saúde a gerenciar, executar e programar as tarefas diárias. Os médicos podem personalizar o gerenciamento das atividades clínicas e que devem responder às questões que definem o seu contexto (GMOB, 2010).

Casas inteligentes: totalmente comunicáveis, as casas inteligentes do futuro deixarão a temperatura agradável antes mesmo de o usuário entrar no seu lar. Com bases nas informações de temperatura externa e interna, elas adequarão o sistema de climatização para a temperatura ideal. Poderão desligar o forno que foi esquecido ligado, acender a lareira, as luzes. Transformar a parede da sala numa TV de muitas polegadas. Acessar o programa favorito do utilizador, com bases no contexto do perfil do dono da casa. Poderão abrir e fechar cortinas, regulando a iluminação. Elas estarão sensoriando o ambiente, buscando sinais vitais de seus ocupantes, pois em caso de alguma anomalia poderiam disparar um alerta de voz. O uso de sensores de presença acoplados à roupa, calçados, ou até mesmo ao corpo do usuário tornará o ambiente monitorado por dispositivos, aplicações. Mateas et al apud Bolzani (2010, p.39) “A Computação Ubíqua tenta unir a tecnologia ao modo de vida, na forma de pequenos dispositivos computacionalmente integrados, servindo múltiplos usuários da casa”.

Gator Tech Smart House (GTSH) é um projeto de casa inteligente desenvolvido pela

Universidade da Flórida desde 2005. Essa concepção surgiu com a necessidade de ajudar pessoas idosas e com necessidades especiais mantendo a qualidade de vida. Os setores da casa são sensoriados, monitorando o estado de seus habitantes. Um

middleware foi criado, ele é dividido em camadas de serviços, cada um responsável

por alguma função (RIES, 2005).

Educação: na escola do futuro, a educação ubíqua será criar métodos de aprendizagem a partir das dificuldades que cada aluno terá. Para Barbosa (2007, p.15) Educação Ubíqua é “[...] como um processo que ocorre em qualquer tempo e lugar, de forma

(24)

contínua, contextualizada e integrada ao cotidiano do aprendiz”. Com a evolução tecnológica, principalmente na parte de dispositivos móveis como os celulares, a informação ficará acessível em qualquer lugar a qualquer momento, resultando num processo de aprendizagem mais abrangente. Barbosa et al (2008) “a mobilidade do aprendiz e a percepção dos elementos que estão em seu contorno (contexto) são parte do processo educativo, que pode ocorrer de forma contínua, global e transparente”. Um aluno poderá ver um conteúdo de diversas formas, direto na sua classe, como texto, vídeos, imagens transitando em frente aos seus olhos. Um exemplo de projeto é o Ambiente Ubíquo de Apresentação de Slides (AmUbAS), que tem como objetivo compartilhar objetos de aprendizagem, como apresentações multimídia, proporcionando maior dinâmica às aulas. O intuito do sistema é impulsionar a interação entre o corpo docente e discente, tanto dentro como fora da sala de aula (VIDAL et al, 2010).

Indústrias: num sistema de produção em larga escala é comum haver uma quantidade enorme de peças, máquinas e trabalhadores. Nesse cenário a dificuldade de encontrar um funcionário, fazer a contagem de estoque, identificar peças se torna cada vez maior conforme aumenta a produção. O uso de etiquetas inteligentes como Radio Frequency

Identification (RFID) possibilita a localização rápida de um empregado através de

leitores que varrem um ambiente, dependendo da sua capacidade de rastreamento. Cada ferramenta ou peça poderá portar uma etiqueta RFID que, acionando-se um leitor em instantes pode ser feita a contagem do estoque. A identificação de objetos se torna fácil e ágil com códigos de barras bidimensionais.

2.5 ELEMENTOS CHAVE DE UM AMBIENTE UBÍQUO

Um ambiente ubíquo é tomado por dispositivos móveis, aplicativos móveis, redes sem fio, sensores, todos diferentes um dos outros, e onde existe uma constante troca de informações. Para que isso ocorra é necessário um serviço que providencie a mobilidade do usuário e o envio de dados entre os dispositivos. Tudo acontecendo de uma forma transparente para o utilizador, isto é, sem que haja necessidade dele saber exatamente como está acontecendo todo o processo.

Uma vez que ambientes ubíquos são também geradores de situações, ou seja, a todo o momento ocorre um fato diferente, seja uma movimentação do usuário, uma necessidade específica para realizar uma tarefa, sejam ações improvisadas do usuário, um ambiente ubíquo

(25)

tem que ser capaz de conseguir se moldar às essas modificações das características do utilizador e do cenário, interpretando da melhor forma os elementos do contexto atual.

Conhecer os fatos que rodeiam o usuário da aplicação faz com que esta possa interagir e agir mais proveitosamente em prol deste. A aplicação deve ser ciente do contexto, adaptando-se automaticamente às mudanças no ambiente e às necessidades correntes do usuário, sem exigir sua atenção. Tais aplicações devem explorar características do ambiente como localização do usuário, pessoas próximas, hora do dia, etc... fornecendo informações adequadas à situação ou atividade. (MACHADO, 2010, p.17)

As características que são usadas como entradas nessas aplicações móveis e que podem se modificar a qualquer momento, devem ser captadas de forma integral para que sejam oferecidos serviços mais eficientes. E essas modificações podem ser vistas nas movimentações do usuário que modificam também as condições do ambiente em alguns aspectos, por exemplo, condições físicas, recursos computacionais disponíveis, etc (LOUREIRO et al, 2010). Nesse sentido, elementos chave do ambiente ubíquo são essenciais para uma aplicação poder se adaptar. Segundo Ley (2007, p.64), os elementos chave de um ambiente de computação ubíqua são: identificação, localização, detecção e conexão.

Identificação

Quando existe uma grande quantidade de objetos, indivíduos e fizer com que se tornem úteis, agindo de forma inteligente, há necessidade identificá-los de forma única no ambiente ubíquo. Enfim, os mecanismos que captarão as situações poderão escolher pelas melhores fontes de sinais disponíveis, ou a que se adequar ao tipo de contexto solicitado. Exemplo de tecnologias de identificação: RFID e códigos de barras bidimensionais.

Localização

A localização de objetos ou indivíduos caracteriza mais um importante papel num ambiente ubíquo: poder descobrir pessoas e objetos. Nino (2009, p.24) “[...] aplicações podem explorar tanto informações explícitas fornecidas pelo sistema, como também informações implícitas provenientes do contexto físico e computacional do ambiente e seus usuários”.

(26)

Identificação e localização geram muitas informações, porém, detectar a presença de alterações no ambiente ubíquo através de sensores é além de coletar dados, pode-se responder a certos eventos.

Este conceito de sensores capazes de detectar, extrair dados e variações do ambiente onde o usuário se encontra, controlando, configurando e ajustando aplicações conforme a necessidade deste seria capaz de detectar a mútua presença tanto dos usuários como dos demais dispositivos presentes e interagir automaticamente entre eles construindo uma forma inteligente para sua melhor utilização. (KAHL; FLORIANO, 2012, p.4)

Conexão

O elemento conexão é muito importante num ambiente ubíquo, desde que seja rápida e estável. Forte, Souza e Prado (2006, p.287) “[...] a possibilidade de conexão a qualquer momento e de qualquer lugar outorgou aos usuários uma escolha e uma liberdade sem precedentes [...]”. Coletar informações do contexto com qualidade vai depender da qualidade dos serviços oferecidos, pois as fontes de contexto são também móveis, devendo ter-se um melhor tratamento com aspectos de conexão (VIEIRA et al, 2006, p.15).

2.6 CONTEXTO

Contexto tem muitos sentidos do ponto de vista de alguns trabalhos. O autor Dey (2001, p.4) define contexto como “qualquer informação que pode ser usada para caracterizar a situação de uma entidade (pessoa, local ou objeto) que é considerada relevante para a interação entre o usuário e a aplicação, incluindo o próprio usuário e a aplicação”. Já Augustin

apud Machado (2010, p.17) contexto é “toda informação relevante para aplicação que pode

ser obtida por ela, podendo se referir a informações ambientais (recursos físicos), funcionais (recursos lógicos) ou comportamentais (perfil do usuário)”.

Já os autores Truong, Abowd e Brotherton (2001) e Morse, Armstrong e Dey (2000) dividiram o contexto em seis dimensões: quem, o quê, quando, onde, por que e como, elas identificarão as informações contextuais e como pode ocorrer a captura. Em inglês são conhecidas como 5W+1H (Who, What, When, Where, Why e How). A seguir são apresentadas:

Who: na construção de um aplicativo é muito importante conhecer os usuários, identificá-los. Ocorre que num cenário existam diferentes tipos de pessoas e deve-se levar em conta que nem sempre o usuário que captura os serviços é que vai acessar

(27)

eles, por isso a importância de saber quem é. É importante também saber alguns dados que devam ser considerados nessa dimensão como: o número de agentes que vão capturar as aplicações, o número de usuários que vão acessar as aplicações, as sobreposições entre ambos e o modo de captura (público, privado, compartilhado).  What: para desempenhar as atividades o agente escolhe o que deseja capturar e ter

acesso. Ou seja, quais atividades ele realiza frequentemente ou ocasionalmente. Estas informações geram um perfil que pode ser documentado e usado pelas aplicações na identificação de quem está solicitando o acesso a elas;

When: esta dimensão trata o momento que ocorre a captura do serviço e o acesso a ele. O sistema pode utilizar o contexto do tempo para automatizar a inicialização dos serviços. Embora certos serviços iniciem com alguma frequência outros periodicamente é interessante tirar proveito dessa dimensão;

Where: indica a localização onde está ocorrendo a captura e acesso aos serviços. É comum as pessoas trabalharem em diversos ambientes, por isso, deve-se levar em conta quando se compartilha serviços: a mobilidade do usuário. As aplicações sabendo do local do acesso dos usuários facilitarão a moldagem dos serviços e mostrar para os usuários quais recursos estão disponíveis naquele ambiente;

Why: aqui é relevado as razões que um usuário usa determinada aplicação ou serviço, isto é, a motivação. Ou seja, quais motivos leva o agente ter determinadas ações. É questionado também o porquê um serviço é útil;

How: esta dimensão abrange como a captura do contexto será efetuada. Seja por rede sem fio, Geo-Posicionamento por Satélite (GPS) ou triangulação de sinal, por exemplo. Além disso, define a quantidade de dispositivos que captura e acessa os serviços disponíveis.

Araujo e Brézillon (2005) definiram que o contexto é relativo a algo, a um foco. O foco é uma tarefa ou um passo na resolução de um problema ou em uma tomada de decisão. Por exemplo, o contexto de um repórter de TV está em passar a notícia. O contexto de um diagnóstico médico está na tomada de decisão. Portanto para os autores, o contexto é sempre o foco de atenção atual do usuário.

Ainda, o foco determina onde está o contexto e o que pode ser considerado como relevante, pois nem tudo que é contexto de uma situação é condescendente para tal. Outro exemplo, o foco na realização de um jogo de futebol busca informação na formação dos

(28)

times, na equipe de juízes, mas não é interessante saber se irá chover no dia, se o estádio é coberto.

2.6.1 Representação do Contexto

A quantidade de informação capturada e acessada num modelo de representação do contexto é significativa. No entanto, a dificuldade é organizar o conteúdo de forma a filtrar apenas os dados relevantes para se atingir um foco. E com o passar do tempo, as informações tendem a perder a relevância, ficarem seu valor.

O estudo de técnicas para representar o contexto para criação de sistemas tem crescido nos últimos anos. Atualmente, algumas formas de representar o contexto são utilizadas, cada uma com vantagens e desvantagens. A seguir são apresentadas algumas técnicas de como representar o contexto:

Modelos Chave-Valor: é considerado o modelo mais simples de programar, pois se constitui de uma lista de pares de chaves. Para modelar o contexto cada chave é um atributo que identifica o elemento do contexto e atribui para essa chave um valor, por exemplo:

Chave = nota

Valor = menor que cinco

Ação: Exibir mensagem “Aluno reprovado!”

Modelos de Esquemas de Marcação: é um tipo de linguagem que marcam os dados contextuais. O eXtensible Markup Language (XML) é recomendado pela W3C para criação de dados organizados. Ele divide as informações de forma hierárquica através de tags. Um exemplo é o CC/PP (W3C, 2007) que é uma descrição dos recursos do dispositivo e preferências do usuário;

Modelos Gráficos: a representação do contexto neste modelo baseia-se em abordagens Unified Modeling Language (UML), Object Role Modeling (ORM) e grafos textuais. Os modelos baseados em UML usam esta linguagem como perfis para representar o contexto, exemplo Context UML Profile (CMP) (SIMONS, 2007).

(29)

Context Modeling Language CML (HENRICKSEN; INDULSKA, 2006) utiliza

ORM;

Modelos baseados em Objetos: a orientação a objetos utiliza as técnicas de herança, encapsulamento e reusabilidade para definir as estruturas do contexto. Com essas técnicas é possível deixar a informação na linha da interface e os detalhes do processamento encapsulados nos objetos (VIEIRA et al, 2006);

Modelos baseados em Ontologias: para o contexto, ontologias são conceituadas como um conjunto de primitivas representacionais com as quais modela um domínio do conhecimento. Esse conjunto fornece uma descrição lógica dos dados compartilhados, e define o vocabulário utilizado para compor expressões complexas (GRUBER, 1993).

Uma pesquisa de Strang e C.L-Popien (2005) comparou os tipos de representações de contexto existentes e considerou os requisitos a seguir:

1) Composição Distribuída (dc): o modelo é do tipo distribuído e o contexto é montado levando em conta o dinamismo dos dados;

2) Validação Parcial (pv): verifica se o conhecimento é parcialmente inválido dependendo do modelo descrito;

3) Riqueza e Qualidade da Informação (qua): as informações captadas por sensores mudam a todo o momento, neste sentido é importante que a qualidade das informações coletadas;

4) Incompletude e Ambiguidade (inc): as redes de sensores disponibilizam informações que são incompletas e ambíguas. Este aspecto tem que ser atendido pela representação de contexto;

5) Nível de Formalidade (for): é necessário manter um nível de formalidade dos significados das informações coletadas para que não ocorram problemas na compreensão dos significados;

6) Aplicabilidade em Ambientes Existentes (app): considerando a parte de implementação, um modelo de contexto tem que ser aplicável em ambientes de desenvolvimento de aplicações sensíveis ao contexto.

Na pesquisa de Strang e C.L-Popien (2005) foram caracterizadas as representações de contexto de acordo com os requisitos relacionados anteriormente, como podem ser

(30)

observadas na Tabela 1. O sinal “++” indica que a abordagem atende totalmente o requisito, o sinal “+” indica que atende parcialmente e “-“ não atende. Nota-se que o modelo baseado em ontologias atende todos os requisitos, parcial ou totalmente.

Tabela 1: Comparação entre os modelos de contexto.

Modelo/Requisitios dc pv qua inc for app

Chave-valor - - - + Esquemas de marcação + ++ - - + ++ Gráficos - - + - + + Objetos ++ + + + + + Ontologias ++ ++ + + ++ + Fonte: http://elib.dlr.de/7444/1/Ubicomp2004ContextWSCameraReadyVersion.pdf 2.6.2 Tipos de Contexto

Os autores Brezillon e Pomerol (1999) classificaram a relevância do conhecimento contextual na tomada de decisão em três tipos:

(1) Conhecimento Externo (EK – External Knowledge): é o tipo de conhecimento que não tem relevância no foco da tarefa, ou seja, não possui interferência na decisão atual, mas é de conhecimento de todos os envolvidos;

(2) Conhecimento Contextual (CK – Context Knowledge): esse é o tipo de contexto que não é usado explicitamente, mas influencia na resolução dos problemas. Ele é estruturado e invocado de acordo com o foco;

(3) Contexto Procedimental (PC – Proceduralized Context): este surge a partir do CK e é o resultado dessa combinação de conhecimentos, sai dele o contexto para oferecer serviços sensíveis ao contexto.

O conhecimento externo (EK) é a parte do contexto que não é relevante para uma determinada situação, para um determinado foco, conforme a Figura 6. Como no exemplo do jogo de futebol, no estádio existem torcedores de diferentes idades, classe social, raça, porém não são dados que podem interferir na realização do jogo. O conhecimento contextual (CK) é

(31)

o contexto significativamente relevante para entender a situação e tem forte relação com o foco (VIEIRA et al, 2009).

Figura 6: Tipos de contextos e suas dinâmicas.

Fonte: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.8174

No exemplo anterior, seriam as informações como localização dos jogadores, habilidades, condição física, experiência; agilidade; quantidades de jogadores disponíveis são dados relevantes para a realização da tarefa, no caso o jogo. E por último, o contexto procedimental (PC) surge a partir do CK, como no exemplo do jogo, o usuário pode saber que existem jogadores contundidos ou que há um atleta no banco de reservas com melhor habilidade para atuar na lateral (VIEIRA et al, 2009).

2.6.3 Sistemas Sensíveis ao Contexto

Os sistemas sensíveis ao contexto alavancaram o interesse em usar as técnicas de como representar o contexto, de tornar sistemas computacionais cientes das mudanças de foco. Esses sistemas têm de ser flexíveis que possam se adaptar e capazes de atuar automaticamente para ajudar o usuário na realização de suas atividades, eles devem ser proativos. O contexto pode ser oriundo de fontes diferentes e, portanto, os sistemas devem saber trabalhar com esse impasse de modo que mantenha a interoperabilidade entre eles. (MACHADO, 2010, p. 18).

Num ambiente ubíquo onde a mobilidade é o principal diferencial se comparar com um ambiente pervasivo, há uma série de fatores que estão implícitos e outros explícitos cujas

(32)

características podem ser ou não influentes na construção de argumentos para uma aplicação móvel, ou um middleware.

Além disso, entre computadores e pessoas a maneira de comunicação é que esse último expresse sua vontade interagindo com o software ou hardware através do toque, cliques, escrita, etc. No entanto, o ser humano tem outros sentidos para expressar vontades como voz, gestos, presença; pensamentos, que poderão ser captados por sensores espalhados por um ambiente e interpretados por sistemas operacionais e aplicações móveis na forma de contexto.

Para isso, uma aplicação móvel sensível ao contexto tem de ser capaz de extrair do ambiente (contexto da computação ou físico); do usuário ou do tempo, dados que ajudem na realização da tarefa (CHEN; KOTZ, 2002). E também capturar de maneira de ágil, a partir da informação do contexto, os serviços que estejam na rede para que o usuário possa utilizá-los na realização da tarefa a que foi designado. Tudo que esteja inserido no ambiente é contexto, desde que seja relevante para a aplicação.

2.6.4 Exemplos de Sistemas Sensíveis ao Contexto

Existem algumas aplicações corporativas que usam a técnica de ciência do contexto. Embora seja uma área relativamente ainda em expansão e que falta mais experiência práticas na utilização de contexto, isso já é consequência do aumento do interesse do estudo dessa técnica. A seguir serão descritas duas ferramentas que utilizam sensibilidade ao contexto.

GMAIL

O sistema de gerenciamento de e-mails da empresa Google, o Gmail (GOOGLE, 2010) usa abordagem de ciência do contexto para promover dicas de serviços para os usuários. Na tela de visualização das mensagens, conforme a Figura 7, no lado direito, uma lista de propagandas relacionadas ao contexto da mensagem. Nota-se na imagem que a conversa é sobre conserto de um notebook, assim, é exibido ao usuário uma lista de links comerciais de empresas que prestam assistência técnica e venda de computadores portáteis. A publicidade é modificada conforme o conteúdo das mensagens. A cada novo e-mail o sistema filtra no contexto o que é relevante para exibir as propagandas aos leitores.

(33)

Figura 7: Propaganda sensível ao contexto no GMail.

GUIAS TURÍSTICOS MÓVEIS

Os serviços móveis no guia de turismo têm como propósito satisfazer as necessidades de informação dos turistas e proporcionando-lhes uma variedade informações turísticas relacionadas com a viagem.

Os dados como acomodações, emergências, gastronomia, compras e lazer são exibidos para o turista (GRÜN et al, 2008). A Figura 8 mostra exemplos de aplicações móveis que trabalham como guias turísticos.

Figura 8: Exemplo de guias turísticos móveis

(34)

2.7 DESAFIOS DA COMPUTAÇÃO UBÍQUA

A computação ubíqua impulsionará a tecnologia da informação para um patamar jamais visto. No entanto, para que isso aconteça ela terá alguns obstáculos a vencer pela frente. Considerados por alguns autores desafios pertinentes na realidade atual com relação às perspectivas de avanço tecnológico.

Há de fato muito que se evoluir no quesito mobilidade, por exemplo, e principalmente na durabilidade da energia para dispositivos, pois o processamento que aplicações ubíquas exigem alto consumo de bateria, como também prolongar o uso do aparelho para dispor ao usuário. Outro fator importante são as redes sem fio. Existe uma variedade de tipos de redes sem fio, isso já é consolidado. No entanto, por possuírem características diferentes, é um desafio para computação ubíqua navegar em redes heterogêneas. E nesse contexto, criar mecanismos que facilitem a descoberta de serviços que agilizem a sincronização de dados, etc.

Com as redes, dispositivos, sensores, situações distintas, a complexidade aumenta ao se projetar no computador as condições atuais do usuário e do ambiente de forma mais natural, o que torna também um grande obstáculo para a computação ubíqua: a computação sensível ao contexto. É relativamente complexa essa área, pois o contexto tem que ser extraído dinamicamente com qualidade e ser seguro quanto ao aspecto de extrair aquilo que não é sigiloso, respeitando o modelo da arquitetura de ciência do contexto (LOUREIRO et al, 2010).

Os autores Buriol, Rosendo e Sheer (2009) comentam que a interação natural entre dispositivos e seres humanos é também um grande desafio para computação ubíqua. Diferente de teclados, mouses, os dispositivos com interfaces tangíveis têm a concepção de que existe um significado embutido na representação. Atualmente há avanços na área de reconhecimento de voz, escrita, porém o grande desafio é desenvolver procedimentos que reconheçam também gesticulações, formas de expressão e depois traduzi-las para uma aplicação na forma de contexto.

Além disso, o desenvolvimento tecnológico de qualidade na área da computação ubíqua encontram-se outras demandas como (FLÔR et al, 2008):

a) A sensibilidade ao contexto;

b) Conexão espontânea, transparente e dinâmica; c) Formas diferenciadas de interação com dispositivos;

(35)

d) Segurança;

e) Melhoria na capacidade dos dispositivos; f) Validação, privacidade e valor da informação. g) Disponibilidade;

h) Escalabilidade; i) Corretude;

j) Persistência, entre outros.

No entanto, a computação ubíqua vem evoluindo bastante nos últimos anos. Áreas como educação, projetos para casas e saúde. Essa última pode ser considerada um dos ramos mais promissores. Brown e Adams (2007, p. 54, tradução nossa) “Ubiquitous Healthcare é um campo emergente de tecnologia que utiliza um grande número de sensores e atuadores para monitorar e melhorar as condições físicas e mentais dos pacientes”. Existem muitos autores com projetos na computação ubíqua na saúde como citado na seção 2.4 deste trabalho, consequência da promessa dessa área de alavancar as pesquisas da Internet das Coisas.

2.8 A COMPUTAÇÃO UBÍQUA E AS TECNOLOGIAS NECESSÁRIAS

Na constituição de um ambiente ubíquo é necessário o trabalho conjunto de algumas tecnologias que ao se interagirem poderão capturar e disponibilizar a informação dinamicamente ao usuário com o uso de dispositivos. Abaixo serão descritas algumas dessas tecnologias como dispositivos, redes de computadores, sensores, linguagem de programação e sistemas operacionais.

Dispositivos

Novas tecnologias têm surgido com o passar dos anos no campo da mobilidade possuindo diferentes tamanhos, capacidade de processamento. Conforme Madeira (2007, p.23) “Em conjunto com novos dispositivos de entrada/saída, estas tecnologias podem ser consideradas como sendo aquelas que possibilitam o avanço na realização de aplicações e sistemas de Ubicomp”. Celulares, smartphones, tablets, netbooks, notebooks, utilizam recursos da rede executando aplicativos e acessando diferentes serviços e através dela os utilizadores podem se locomover, comunicando-se entre si e mantendo a interoperabilidade das informações.

(36)

Na medida em que a residência, o meio de transporte e o trabalho do usuário tornam-se os cenários de aplicação da computação ubíqua, oferecendo serviços como segurança, comodidade, informação, entretenimento, e muito mais, um universo incrível de dispositivos diferentes deverá existir para suportar estes serviços (ARAÚJO, 2006, p.10).

Organizações como bancos, empresas de cartões de crédito criam aplicações que facilitam o cotidiano dos clientes, permitindo pagamentos e acesso à conta através de dispositivos móveis.

Redes de Computadores

Para que ocorra a comunicação entre dispositivos é necessário eles estarem conectados em uma rede com ou sem fio. As redes têm como finalidade dispor das informações, recursos a qualquer entidade, seja a onde for sua localização e com o crescente número de diferentes dispositivos as redes terão o desafio de manter a comunicação. Além disso, diferentes meios de acesso e a heterogeneidade das redes sem fio será um obstáculo para os futuros ambientes ubíquos.

A natureza dos dispositivos ubíqüos tem elevado o crescimento do uso de tecnologias de redes sem fio, pois fazem dessas uma solução de interconexão mais fácil com ambientes até então inadequados ou então impossíveis de se manter uma comunicação devido à, por exemplo, altos custos e restrições tecnológicas (CORRÊA et al, 2006, p.2).

Os tipos de redes de acesso sem fio mais conhecidas são: wi-fi, wimax, bluetooth e infravermelho, conforme a Tabela 2.

Tabela 2: Exemplos de tecnologias sem fio.

Tecnologia Padrão IEEE Utilização

Infravermelho 802.11 (IrDA) Aplicações específicas.

Normalmente utilizado para troca de informações ponto-a-ponto (P2P).

Bluetooth 802.15 Utilizado para redes pessoais, ou

seja, em equipamentos pessoais para troca de informações em curta distância.

Wi-Fi 802.11 Possui alcance maior que as outras

duas tecnologias anteriores. Porém é utilizada

somente para redes locais.

WiMax 802.16 Comunicação sem fio em longo

alcance.

(37)

A transmissão por infravermelho IrDA ocorre por meio de pulsos de luz. Ela se caracteriza por não utilizar fios para se conectar e também que possui um comprimento de onda mais longo que o da luz invisível. Outra característica é que a comunicação só pode por apenas entre dois pontos, chamada de ponto-a-ponto. Como pode ser visto na Figura 9, o

Bluetooth tanto pode ser ponto-a-ponto como multiponto. A tecnologia Bluetooth é um padrão

considerado global sem fio e que permite uma comunicação rápida, simples e barata entre dispositivos.

Figura 9: Conexões ponto-a-ponto e multiponto com Bluetooth. Fonte: http://www.lisha.ufsc.br/pub/Billo_BSC_2002.pdf

Wi-Fi é marca registrada da empresa Wi-Fi Alliance, que cria produtos pertencentes à norma 802.11. Essa tecnologia sem fio trabalha em altas velocidades através de ondas de rádio, distâncias que variam de 100 metros até 300 metros. A WiMax acrônimo de World

wide Interoperability for Microwave Access (Interoperabilidade Mundial para Acesso por

Microondas), reconhecida também como uma tecnologia de banda larga sem fio e com alcance superior a Wi-Fi. Na teoria os equipamentos de WiMax atingem distâncias de até 50 km com uma banda passante de até 70 Mbp/s.

Sensores

O sensoriamento do ambiente é um ponto fundamental da computação ubíqua, pois a partir dele são capturadas as informações as quais são filtradas pelos sistemas computacionais que colocarão ou não relevância ao contexto. Loureiro (2007, p.1) “a noção que dispositivos

(38)

de computação e sensoriamento pequenos, inteligentes, e baratos irão eventualmente permear o ambiente, levando efetivamente a ambientes de computação ubíqua”.

As redes de sensores são diferentes das redes Wi-Fi e WiMax, pois a comunicação nas redes de sensores não é fim-a-fim. A finalidade destes dispositivos é detectar as mudanças no ambiente e transmitir ao usuário.

Figura 10: Exemplo de uma rede de sensores sem fio. Fonte: http://gta.ufrj.br/ftp/gta/TechReports/Ingrid05/tese.pdf

Os sensores trabalham de forma transparente com o utilizador, ou seja, sem que ele saiba da existência dos sensores tanto individualmente como coletivamente. Na ilustração da Figura 10, o usuário pode estar localizado distantemente do local onde estão os sensores.

Linguagem de Programação

O desenvolvimento de aplicações para ambientes ubíquas requer eficiência da linguagem de programação usada, pois os dispositivos que executam essas aplicações têm, geralmente, menor capacidade de memória e processamento. Assim, é importante evitar a perda de dados quando a bateria acabar. Outro fator é a heterogeneidade de dispositivos, portanto, a portabilidade da aplicação também é fator importante (ARAÚJO, 2003, p. 62).

Assim, a criação de programas para dispositivos móveis requer atenção em alguns pontos. Conforme Araújo (2003, p. 62), para programar sistemas ubíquos deve-se levar em consideração os seguintes critérios:

 Tamanho limitado da tela, capacidade de entrada de dados, poder limitado de processamento, memória, armazenamento persistente;

 Alta latência, largura de banda limitada e conectividade intermitente (o que os dispositivos esperam encontrar em termos de conectividade);

(39)

 Utilizar a rede somente quando for necessário;

 Se utilizar a rede, retirar dela apenas o que for importante;  Estar disponível quando a rede estiver off-line.

Outras estratégias são importantes para o desenvolvimento de projetos de software para aplicativos móveis, como: manter simples a programação, criar códigos fontes de tamanhos menores; deixar o servidor fazer parte do trabalho mais oneroso, escolher cuidadosamente uma linguagem de programação; usar variáveis locais, evitar concatenação de

string, usar threads e evitar sincronização, se a linguagem for Java minimizar o uso de

memória (ARAÚJO, 2003, p. 63).

Java conceitua-se com muita propriedade com relação aos requisitos para o desenvolvimento de aplicativos ubíquos, pois tem vantagem de ser multiplataforma, ou seja, pode ser executado em qualquer sistema operacional que possua a Máquina Virtual Java (MVJ) instalada. Com Java tem-se a possibilidade de criar aplicações muito eficientes para celulares e qualquer dispositivo em geral e também, além disso, é multi-thread cuja finalidade é suportar processamento paralelo múltiplo. A reutilização do código é outra vantagem e como consequência reduz-se o tempo de programação.

Java exibe muitas características que facilitam o desenvolvimento de aplicações móveis. Entre elas, a portabilidade dos bytecodes permite a execução em diferentes hosts com diferentes arquiteturas de software e hardware; multithreading torna os agentes colaborativos e autônomos; serialização de objetos suporta a migração e persistência; carga de classe dinâmica permite o projeto de estratégias eficientes para a recuperação de código dos entes (AUGUSTIN, 2004, p. 76).

A Figura 11 mostra como funciona a execução de programas escritos em Java em diferentes sistemas operacionais. No editor, o desenvolvedor escreve o código fonte que após é transformado em bytecodes através do compilador Java. Bytecodes é um código intermediário do código fonte e a aplicação final. Eles não são imediatamente executáveis, devem ser interpretados por uma MVJ pré-instalada no sistema operacional.

(40)

Figura 11: Processo de execução programas Java.

Fonte: http://www.dca.fee.unicamp.br/cursos/PooJava/javaenv/bytecode.html

Com isso, existe a portabilidade, pois no momento que os computadores possuam a MVJ instalada, a aplicação será executada da mesma forma que em outras arquiteturas. Portabilidade é essencial em ambientes ubíquos e Java oferece este requisito.

A independência de plataforma que a Java oferece, a grande quantidade de bibliotecas disponíveis (de suporte a construção de interfaces gráficas a suporte de rede), e a existência de máquinas virtuais embutidas em vários dispositivos tornou a linguagem Java uma tecnologia chave para o desenvolvimento de software na computação ubíqua (CIRILO, 2007, p. 6).

. Portanto, as aplicações que possam ser executadas nas diferentes plataformas existentes conduzem para atingir um dos princípios da computação ubíqua: disponibilizar o acesso a informação em qualquer lugar, em qualquer momento, seja qual for o dispositivo sendo usado.

Sistemas Operacionais

No topo das funcionalidades da computação ubíqua estão os software. Essas tecnologias fornecem ferramentas para programar e gerenciar os dispositivos em cenários ubíquos. Os software podem ser sistemas operacionais, ambientes ou aplicativos. Os sistemas operacionais gerenciam o hardware dos dispositivos fornecendo acesso a eles para o usuário. Os ambientes são as camadas que fornecem estruturas para a programação e os aplicativos oferecem os serviços aos utilizadores (CAMPIOLO, 2005, p.17).

Muitos sistemas operacionais foram desenvolvidos para satisfazer às necessidades específicas da computação ubíqua: Google Android, Windows CE, Windows for Smart Cards, Palm OS, EPOC, QNX, GEOS, e muitos outros. Todos eles rodam em dispositivos com pouca memória e a maioria

(41)

são projetados para executarem em muitas diferentes plataformas de processadores (HANSMANN, 2003 apud CIRILO, 2007, p. 5).

.

Os sistemas operacionais para dispositivos móveis podem facilitar a programação, dirigindo os recursos de hardware. Enquanto os de desktops possuem uma variedade de funcionalidades, os sistemas operacionais de dispositivos ubíquos se concentram em aperfeiçoar tarefas, diminuindo a escassez de recursos de hardware.

2.9 COMPUTAÇÃO UBÍQUA NA SAÚDE

A eficiência dos serviços hospitalares é causa de grandes debates e reflete não só na sociedade, mas globalmente. A cada ano que passa aumenta o número de atendimentos nos postos de saúde bem como nos hospitais centrais. Consequência disso acrescenta-se unidades hospitalares, aumenta o número de profissionais e proporcionalmente as dificuldades técnicas. Com esses fatos se produz um banco de informações enriquecido, porém muitas vezes difícil de analisar, bem como transformá-los em dados integrados e mais do que nunca interoperáveis. Além disso, as informações podem estar organizadas, mas não estão dispostas de uma forma que seja simples e rápido o acesso.

O uso da computação ubíqua no ambiente hospitalar pode tornar a interação entre os profissionais de saúde e os equipamentos médicos mais dinâmica e eficiente. Este avanço é possível através da interpretação pelos sistemas eletromédicos das formas naturais de comunicação dos humanos: fala, movimentos de membros do corpo humano, gestos e contexto. Quanto mais natural for a interface entre a máquina e o homem, mais otimizados se tornarão os serviços prestados pelos estabelecimentos de saúde, trazendo diversos benefícios para os profissionais e para os pacientes (SOUZA, 2011, p. 7).

Com isso, o uso da computação ubíqua vem para melhorar esta situação. Com a interoperabilidade dos sistemas, a disponibilidade da informação, vem facilitar e diminuir o tempo de acesso ao Registro Eletrônico de Saúde dos pacientes, sem que o usuário detenha toda sua atenção à manutenção da aplicação, é a proposta de melhoria dos serviços.

2.10 REGISTRO ELETRÔNICO DE SAÚDE

O Registro Eletrônico de Saúde (RES) denominado também de Prontuário Eletrônico do Paciente (PEP) é uma base de dados construída a partir da inserção de informações por

(42)

estão ocorrendo. Massad et al. (2003, p.6), “prontuário eletrônico é um meio físico, um repositório onde todas as informações de saúde, clínicas e administrativas, ao longo da vida de um indivíduo estão armazenadas”. Por outro lado, não se pode chamar o RES um sistema computacional, pelo contrário, ele está inserido nesse, como parte dele.

Toda a trajetória da vida da saúde do paciente é gravada na base de dados de um RES. Ao longo desse caminho fatos como vacinas, doenças, acidentes e outros acontecimentos são gravados montando uma enorme base de dados. Alguns desses são extremamente relevantes e que ajudam na decisão dos profissionais de saúde e auxilia-os na prevenção e diagnósticos de doenças.

No entanto, a quantidade de informações inviabiliza o trabalho dos profissionais de saúde, pois procurar a informação de que se precisa no momento do atendimento ao paciente é necessário tempo e atenção. Assim, a disponibilidade da informação e a interoperabilidade dos sistemas são extremamente importantes para o andamento dos processos.

Garantir a interoperabilidade em Sistemas de Registro Eletrônico de Saúde (S-RES) se deve usar um padrão de comunicação para que ocorra a troca de mensagens entre dispositivos e aplicações médicas. Isto se deve pelo fato que atualmente existe uma variedade de softwares e bases de dados heterogêneas. “Portanto, o uso de padrões na área de informática em saúde contribui para a integração de dados médicos [...]” (SOARES, 2009, p. 63).

2.11 PADRÕES DE INTEROPERABILIDADE DE INFORMAÇÕES MÉDICAS

Para que a troca de informação seja transparente tanto por aplicações locais num ambiente hospitalar como para fora dele se faz necessária interoperabilidade. Não importa a plataforma, nem a linguagem usada para desenvolver S-RES, a troca de mensagens ocorrerá devido ao padrão adotado.

Esses padrões possuem uma nomenclatura própria para área da saúde, identificando individualmente desde o paciente até eventos como: atendimento ambulatorial, procedimentos cirúrgicos, doenças, diagnósticos, etc. Hoje existe uma variedade de padrões, porém procurou-se discriminar neste trabalho os mais solidificados que ofereçam melhor estrutura. Dentre estes se destacam Continuity Care of Record (CCR), criado pela empresa ASTM

International e HL7 - CDA (Health Level Seven – Clinical Document Architecture) de

(43)

2.11.1 HL7

Health Level Seven (HL7) é uma organização voluntária sem fins lucrativos, que foi

fundada em 1987 com o objetivo de produzir protocolos e transações de seguradoras. O HL7 é específico para dados clínicos e administrativos (HL7, 2007). Conceituada como uma das Organizações Desenvolvedoras de Standarts (Padrões) que operando na área da saúde possui “um framework abrangente e normas relacionadas com o intercâmbio, integração, compartilhamento e recuperação de informações de saúde eletrônica que suporta prática clínica e gestão, execução e avaliação dos serviços da saúde” (GONÇALVES, 2010, p.16).

Uma mensagem no padrão HL7 versão 2.4 é caracterizada por eventos, por exemplo, na admissão de pacientes, automaticamente um evento é disparado para todas as aplicações que estejam interessadas na informação (PETRY; LOPES, 2005). Como demonstra o Quadro 2, um exemplo de mensagem ADT^A01 enviada na admissão de paciente.

Quadro 2: Exemplo mensagem HL7.

Fonte: http://www.hosinc.com/products/interfaces/interface_documentation.htm#A01

Observando o Quadro 2, as mensagem são compostas por segmentos que são separados pelo caractere pipe. Cada pipe é um campo que contém uma informação. Os dados nos campos não são obrigatórios, pois o HL7 não verifica se o campo está vazio ou não. As mensagens são enviadas para toda aplicação que possua o recurso de receber as mensagens e interpretá-las. A Figura 12 mostra o funcionamento do envio das mensagens HL7.

Figura 12: Funcionamento do HL7. Fonte:https://dspace.isep.ipp.pt/jspui/bitstream/123456789/74/1/Tese.pdf MSH|^~\&|AccMgr|1|||20050110045504||ADT^A01|599102|P|2.3||| EVN|A01|20050110045502||||| PID|1||10006579^^^1^MRN^1||DUCK^DONALD^D||19241010|M||1|111 DUCK ST^^FOWL^CA^999990000^^M|1|8885551212|8885551212|1|2||40007716^^^AccMgr^VN^1|123121 234|||||||||||NO

NK1|1|DUCK^HUEY|SO|3583 DUCK RD^^FOWL^CA^999990000|8885552222||Y||||||||||||||

PV1|1|I|PREOP^101^1^1^^^S|3|||37^DISNEY^WALT^^^^^^AccMgr^^^^CI|||01||||1|||37^DISNEY ^WALT^^^^^^AccMgr^^^^CI|

Referências

Documentos relacionados

– Em cada directoria todos os ficheiros devem ter identificadores distintos (directorias distintas podem conter ficheiros com mesmo identificador) – A cada utilizador é atribuído

Os autores relatam a primeira ocorrência de Lymnaea columella (Say, 1817) no Estado de Goiás, ressaltando a importância da espécie como hospedeiro intermediário de vários parasitos

Ainda segundo Gil (2002), como a revisão bibliográfica esclarece os pressupostos teóricos que dão fundamentação à pesquisa e às contribuições oferecidas por

“O aumento da eficiência e o plano de produção fizeram com que a disponibilidade das células de fabricação aumentasse, diminuindo o impacto de problemas quando do

Este trabalho traz uma contribuição conceitual sobre a utilização do sistema de gestão de produtividade que poderá motivar futuras pesquisas sobre o tema, bem

➔ O movimento Open Source não é sustentável, uma vez que as pessoas vão parar de desenvolver software livre assim que virem outros fazendo 'um monte de' dinheiro de sobre

Este trabalho teve por objetivo o estudo da dimensão das doenças crônicas, especificamente o diabetes mellitus, visando à elaboração de um modelo de processo

Para disciplinar o processo de desenvolvimento, a Engenharia de Usabilidade, também conceituada e descrita neste capítulo, descreve os métodos estruturados, a