Análise Tecnológica 2012-01-03 Nome de ficheiro: D1.2-Be.Aware-Analise Tecnologica_v0.5.docx Documento: D1.2 Análise Tecnológica Versão: 0.5 Classificação: <...> Número do contrato do projecto: Data de início do projecto: 1 de Janeiro, 2011 Duração: 36 meses Coordenador do projecto: <...> Co-Promotores: <...> Parceiros: <...> Responsável pelo documento: INOVA+, Sa Website do projecto<...> <Nome do Documento> Índice 1. Introdução .......................................................................................................................... 1 1.1 Objectivos ........................................................................................................................................ 1 1.2 Audiência Alvo e Leituras Sugeridas ........................................................................................... 1 1.3 Abrangência do Produto .............................................................................................................. 1 1.4 Referências ...................................................................................................................................... 1 2. Descrição Geral ................................................................................................................. 1 2.1 Perspectiva Geral ........................................................................................................................... 1 2.2 Sistema de Base de Dados ........................................................................................................... 1 2.3 Sistema de Localização em Redes Wi-Fi e ZigBee ................................................................... 2 2.3.1 Exemplo de uma TAG ZigBee: CrossBow TELOSB/TMote Sky.................................................. 4 2.4 Interface com o Sistema Hepic ................................................................................................... 6 2.5 Interfaces com Utilizador em Aplicações Web e Dispositivos Móveis ................................. 7 2.6 Interface de Interoperabilidade com a plataforma WE.CAN .............................................. 8 3. Apêndice A: Glossário .................................................................................................... 10 Página ii <Nome do Documento> Índice de figuras Figura 1.1 – Exemplo de utilização de uma imagem .............................. Error! Bookmark not defined. Índice de tabelas Tabela 3.1 – Exemplo de uma tabela:.....................................................................................................Error! Bookmark not defined. Histórico de Revisões Nome Data Razão para a Alteração Versão Filipe Oliveira 2011-11-10 Criação do documento V0.1 Filipe Oliveira 2011-11-17 Revisão V0.2 Bruno Lemos 2011-11-22 Revisão V0.3 Filipe Oliveira 2011-12-12 Revisão V0.4 Filipe Oliveira 2012-01-03 Revisão V0.5 Página iii <Nome do Documento> 1. Introdução 1.1 Objectivos <Utilizar o estilo “body text” nesta zona de texto>. 1.2 Audiência Alvo e Leituras Sugeridas [1] www.first-global.com/pt/Documents/First_hepic.pdf 1.3 Abrangência do Produto < perfil do produto, possíveis utilizadores....> 1.4 Referências < Por exemplo: “Proposta do projecto – PPS1_One_Stop_Transport.xls”> 2. Descrição Geral 2.1 Perspectiva Geral A solução be.aware é uma plataforma para monitorização e controlo de infecções e unidades de saúde, sendo composta por diversos sistemas que interligados compõem a solução em desenvolvimento. Deste modo irei abordar cada sistema independentemente, desde o sistema de gestão de base de dados, sistema de localização em redes Wi-Fi e ZigBee, interface com o sistema Hepic, o sistema We.Can e o sistema de interface com o utilizador em aplicações web e dispositivos móveis. 2.2 Sistema de Base de Dados Um dos pontos vitais do projecto é a recolha de informação e como ela se relaciona. Para isso existe a necessidade de desenvolver mecanismos assentes em tecnologias que nos permitem garantir a integridade, confidencialidade e disponibilidade dos dados. As bases de dados SQL implementam mecanismos que restringem ou permitem acessos aos dados de acordo com regras de privilégios definidas pelo administrador. Página 1 <Nome do Documento> A plataforma be.aware exige o armazenamento de uma grande quantidade de dados ao longo da sua operação e a integração de dados de vários sistemas, sendo necessário o uso de um sistema de gestão de base de dados distribuídos do tipo heterogéneo que possibilita o uso de uma interface diferente para cada nó como podemos ver na Figura 2.1. Figura 2.1: Arquitectura Banco de Dados Distribuído A vantagem do uso deste sistema é a facilidade na expansão do sistema aumenta-se a capacidade de processamento e de armazenamento. Outra vantagem é em relação ao custo que é inferior adquirir sistemas usando computadores menores com capacidade equivalente a uma única máquina de grande porte. As desvantagens encontradas nestes sistemas de terem a base de dados fragmentadas é conseguir ter uma óptima distribuição desses fragmentos, decidir uma estratégia para a execução das consultas através da rede e a sincronização de acessos para que a integridade da BD seja mantida. Perante este cenário existem várias tecnologias de banco de dados que poderão ser usadas para o desenvolvimento deste projecto. Sendo um sistema distribuído não se torna necessário o uso de apenas um tipo de base de dados, mas sim usar qual deles se adapta melhor a cada cenário. Existem vários sistemas de gestão de base de dados no mercado, sendo os principais o mysql, sqlserver e o oracle. 2.3 Sistema de Localização em Redes Wi-Fi e ZigBee A plataforma utilizará um sistema de localização usando a tecnologia de redes Wi-Fi e/ou ZigBee. O projecto tem como base o sistema de rádio comunicações local (Wireless Local Area Network, WLAN) em que cada pessoa ou bem a ser localizado deve transportar no mínimo uma tag e estas irão comunicar com uma estrutura fixa possibilitando o conhecimento da localização. Página 2 <Nome do Documento> A detecção da posição pode ser do tipo distribuída, em que cada tag determina a sua própria posição ou centralizada, nesta situação a posição de cada tag é determinada num único ponto ou centro de controlo. As tags serão transportadas por pessoas e equipamentos, e serão detectados por um conjunto de nós fixos, que utilizam comunicação sem fios para os identificar e localizar. Existirá um módulo de comunicações que faz a interface entre a rede de posicionamento e um módulo de controlo que actuará como uma caixa negra interligando os vários componentes do sistema através de uma rede IP interna e de acesso à internet. Assim o nosso sistema de localização será composto pelo gestor de rede de posicionamento (de Nós/Tags) e pela rede de Nós/Tags. O gestor de rede de posicionamento funcionará como um servidor de TCP/IP, actuando como escravo do módulo de controlo não efectuando qualquer processamento enquanto não houver conexão ou não for efectuado um pedido. A rede de Nós/Tags terá a seguinte composição: Composição Nós Cada nó poderá ser composto por uma “caixa” com sistema de fixação permanente onde estarão incluídos: Rádio Antena Microcontrolador sem/com watchdog Conversão de tensões Caixa Composição Tags Cada tag poderá ser composta por uma “caixa” com sistema de fixação permanente onde estarão incluídos; Um rádio Antena Página 3 <Nome do Documento> Bateria Micro controlador ; I/O analógico e digital Acesso a um “bus” de expansão Conversão de tensões Figura 2.2 Composição da TAG 2.3.1 Exemplo de uma TAG ZigBee: CrossBow TELOSB/TMote Sky Tmote Sky é uma plataforma de motes para redes de sensores de muito baixo consumo, e grande transferência de dados. Tem integrado sensores, rádio compatível com as normas IEEE 802.15.4, antena, micro controlador e a capacidade de ser programada. Esta possui uma controladora USB da FTDI para comunicar com o computador (hospedeiro). O rádio é controlado pelo micro controlador através da porta SPI e este pode ser desligado para operar em baixo consumo. A antena interna é do tipo omnidireccional que permite obter um alcance até 50 metros em ambientes fechados (com obstáculos, por exemplo, dentro de um edifício) e até 125 metros em ambientes abertos (sem obstáculos, por exemplo, ao ar livre e sem barreiras). Página 4 <Nome do Documento> Figura 2.3 Descrição da arquitectura de uma Tmote Sky As principais características da Tmote sky são: Transceptor sem fios Chipcon IEEE 802.15.4 2.4GHz 250kbps; Interoperabilidade com outros dispositivos IEEE 802.15.4; Microcontrolador 8MHz Texas Instruments MSP430 F1611 (10k RAM, 48k Flash, 16-bit RISC); Controlador Integrado ADC, DAC, Supervisor de Voltagem, e Controladora DMA; Antena integrada na placa com alcance de 50m em espaço fechado / 125m em espaço aberto; Sensores integrados de Humidade, Temperatura, e Luz (opcionais); Consumo de corrente muito baixa; Acordar rápido a partir do estado adormecido 6µs. Cifragem (AES-128 bits) e autenticação providos pela camada de ligação em hardware; Programação e colecta de dados via USB; 16 pinos de expansão e conector de antena SMA (opcional); O sensor de temperatura está em conformidade com as normas FCC Part 15 e indústria do Canada. O sensor de humidade/temperatura é fabricado pela Sensiron AG, produzido usando um CMOS acoplado a um conversor 14-bit A/D. Os coeficientes de calibração são guardados na EEPROM na placa do sensor. A precisão de temperatura é ±0.5 °C. Página 5 <Nome do Documento> 2.4 Interface com o Sistema Hepic O software Hepic [1] é um sistema de informação para controlo de infecção hospitalar. Este sistema oferece a possibilidade de parametrizar e monitorizar, nomeadamente ao nível de: Estudos permanentes Infecções nas unidades de diálise Helic UCI Helics cirurgia Infecções na UCIN Infecções nosocomiais da corrente sanguínea Estudos Ocasionais Prevalência da infecção nos Hospitais Estudos de incidência de pneumonia nosocomial Estudos de incidência de infecção Urinária Alertas Multirresistências Microrganismos de comunicação obrigatória Microrganismos com critérios especiais de resistência Administração de antibióticos pré-sinalizados pela CCI Eventos Sentinela Detecção de surtos Risco de infecção Cálculo em tempo real do índice de risco de infecção dos doentes internados Projecção da taxa de infecção baseada em factores de risco Permite a interacção com o laboratório de microbiologia, farmácia hospitalar, registos de enfermagem e HIS, aglomerando todos os dados em um sistema central, permite receber alertas e produzir dados estatísticos em tempo real. Outra característica do sistema é permitir a gestão da informação por uma interface web. Na Figura 2.2 está representada a arquitectura do sistema Hepic. Página 6 <Nome do Documento> Figura 2.2: Arquitectura do sistema Hepic[1] Devido à flexibilidade do integrador (HDI) utilizado pelo Hepic, o este e capaz de integrar com os outros sistemas através dos principais protocolos usados no sector da Saúde. Destacam-se: - HL7 - DICOM - Web Services (SOAP) - Bases de Dados (Oracle, SQL Server, MySQL, etc.) 2.5 Interfaces com Utilizador em Aplicações Web e Dispositivos Móveis A plataforma é apoiada por uma interface em dispositivos móveis e aplicações web que permite visualizar a relação de dados entre os vários sistemas (Hepic, Sistema de Localização, camada de abstracção e WE.CAN). Torna-se possível aceder à informação recolhida pelos sistemas de informação hospitalar (laboratório de microbiologia, farmácia hospitalar, registos de enfermagem e HIS) e localizar ou mapear qualquer pessoa ou utente numa unidade hospitalar. Página 7 <Nome do Documento> A base de desenvolvimento é a Framework .Net, uma solução da empresa Microsoft que tem como objetivo criar uma plataforma única para desenvolvimento e execução de sistemas e aplicações. Todo e qualquer código gerado para .NET, pode ser executado em qualquer dispositivo ou plataforma que possua uma framework .NET ASP.NET é uma linguagem de desenvolvimento para aplicações web disponibilizada pela Microsoft que permite aos programadores construir páginas dinâmicas, aplicações e serviços web. Lançado em 2002, é a sucessora da tecnologia Active Server Pages (ASP). Tal como as restantes linguagens .NET, ASP.NET é desenvolvido sobre o Common Language Runtime (CLR), permitindo assim aos programadores escrever código sem ter de levar em consideração o hardware onde será executado. Um dos padrões de maior importância a utilizar no desenvolvimento do projecto é o padrão Model-View-Controller. Utilizando este padrão conseguimos separar quase completamente a lógica de negócio, o acesso à base de dados e a apresentação de dados. Assim se for necessário modificar alguma coisa relativo a uma das entidades, escusa-se de modificar o resto. Model-View-Controller é um padrão de arquitectura utilizado em Engenharia de Software. O uso correcto deste padrão isola a lógica de negócio da interface do utilizador, resultando numa aplicação onde é fácil modificar tanto a aparência como as regras de negócio sem uma afectar a outra. No MVC, Model representa a informação (dados) da aplicação, View representa elementos da interface do utilizador tais como texto, items de checkboxes entre outros e Controller gere a comunicação de dados entre a lógica de negócio utilizada para manipular dados do modelo. Castle Project (ou apenas Castle) é uma framework "open source" para a plataforma .NET cujo objectivo é simplificar o desenvolvimento de aplicações tanto para web como para empresas. Com um conjunto de ferramentas e possível integração com outros projetos "open source", Castle ajuda a produzir mais com menos linhas de código e em menos tempo. Uma das ferramentas é o Castle ActiveRecord, uma implementação do padrão ActiveRecord para .NET, que consiste em instanciar propriedades que representam um registo na base de dados. 2.6 Interface de Interoperabilidade com a plataforma WE.CAN A inclusão na plataforma We.Can tem como objectivo a capacidade de comunicar e troca de informação com outros profissionais de saúde, unidades hospitalares e cidadãos em geral. Página 8 <Nome do Documento> Os registos estatísticos partilhados permitem a realização de estudos incentivando a aplicação de novas estratégias de segurança contribuindo para diminuição do número de contágios. A base de desenvolvimento é a Framework .Net, uma solução da empresa Microsoft que tem como objectivo criar uma plataforma única para desenvolvimento e execução de sistemas e aplicações. O ASP.NET é uma linguagem de desenvolvimento para aplicações web disponibilizada pela Microsoft que permite aos programadores construir páginas dinâmicas, aplicações e serviços web. Tal como as restantes linguagens .NET, o ASP.NET é construída sobre o Common Language Runtime (CLR), permitindo assim aos programadores escrever código sem ter de levar em consideração o hardware onde será executado. Um dos padrões de maior importância a utilizar no desenvolvimento do projecto é o padrão Model-View-Controller que é um padrão de arquitectura utilizado em Engenharia de Software. O uso correcto deste padrão isola a lógica de negócio da interface do utilizador, resultando numa aplicação onde é fácil modificar tanto a aparência como as regras de negócio sem uma afectar a outra. Castle Project (ou apenas Castle) é uma framework "open source" para a plataforma .NET cujo objectivo é simplificar o desenvolvimento de aplicações tanto para web como para empresas. Com um conjunto de ferramentas e possível integração com outros projectos "open source", Castle ajuda a produzir mais com menos linhas de código e em menos tempo. Página 9 <Nome do Documento> 3. Apêndice A: Glossário BD – Base de Dados WLAN – Wireless Local Area Network TCP/IP – Transmission Control Protocol by IP I/O – Input and Output USB – Universal Serial Bus FTDI – Future Technology Device International SPI – Serial Peripheral Interface ADC – Analog to Digital Converter DAC – Digital to Analog Converter DMA – Direct Memory Access UCI – Unidade de Controlo de Infecção CCI – Comissão de Controlo Infecção HL7 – Health Level Seven International DICOM – The Digital Imaging and Communication in Medicine SOAP – Simple Object Access Protocol CLR – Common Language Runtime Página 10