Implementar o Sistema de Assistência Médica Philips Tasy

O Philips Tasy EMR HTML5 (Tasy EMR) é um sistema de prontuários eletrônicos (EMR) desenvolvido pela Philips Healthcare. Este software sofisticado serve como uma plataforma de dispositivos médicos projetada para gerenciar dados clínicos e não clínicos em ambientes de saúde.

Embora funcione como um sistema autônomo, também oferece recursos de integração perfeitos com outros sistemas médicos. Essa flexibilidade permite que vários usuários de várias disciplinas de saúde acessem e utilizem a plataforma, tornando-a altamente adaptável e adequada para melhorar a eficiência e a qualidade da assistência médica. A principal missão do sistema EMR Tasy é garantir a documentação precisa e segura das informações do paciente.

O Tasy EMR é um aplicativo de várias camadas, executado no banco de dados Oracle robusto, com ampla utilização de rotinas PL/SQL. Seu front-end HTML5 amigável é construído usando a tecnologia AngularJS. A comunicação entre o cliente e o servidor ocorre por meio de web services SOAP/REST.

Arquitetura

Esta arquitetura apresenta o sistema de saúde Tasy EMR.

Os principais componentes da arquitetura Tasy EMR são:

  • Camada de cliente
    • Tasy EMR HTML5: Este aplicativo cliente baseado na Web opera perfeitamente dentro do navegador Google Chrome. Ele se comunica com o web service Tasy EMR por meio de solicitações de transferência de estado representacional (REST), empregando uma API proprietária.
    • Integrações: O Tasy EMR pode integrar-se perfeitamente a qualquer equipamento que use solicitações HL7, SOAP, REST ou até mesmo trocas de arquivos simples armazenadas em locais compartilhados.
  • Camada do servidor
    • Servidor de aplicativos: A Tasy colabora com servidores de aplicativos como Apache Tomcat e Oracle WebLogic Server para hospedar seus componentes de middleware. Quando o Tomcat é escolhido, os clientes têm a opção de utilizar as plataformas de gerenciamento de aplicativos da Philips, fornecendo contêineres de aplicativos integrados criados no Tomcat para melhorar o desempenho.
    • Serviço web Tasy EMR: Este serviço web essencial é responsável por receber, processar e responder a todas as solicitações iniciadas pelos usuários Tasy EMR.
    • Serviço web Tasy EMR Reports: O serviço web Reports tem a tarefa exclusiva de gerar relatórios do sistema. Ele opera em um ambiente segregado e só é chamado pelo serviço web Tasy EMR para geração de relatórios.
    • Serviço Web de integração: Tratando todos os requisitos de integração para o Tasy EMR, este serviço versátil acomoda integrações baseadas em arquivo, SOAP, REST e HL7. Ele gerencia todas as mensagens de entrada e saída.
  • Balanceadores de carga: Utilizando o Oracle Cloud Infrastructure Load Balancing em conjunto com dois servidores em instâncias de computação que executam o Oracle Linux 8, o sistema emprega o produto de mercado HAProxy para balanceamento de carga robusto de aplicativos, garantindo alta disponibilidade.
  • Camada do Oracle Database: Servindo como espinha dorsal do Tasy EMR, esse banco de dados armazena todas as informações do sistema, incluindo a maioria das regras de negócios codificadas na forma de objetos PL/SQL. A versão recomendada e homologada é o Oracle Database 19c, com suporte para 12 e 11, além da inclusão do MDS.

Observação:

Para projetos que envolvem mais de 1.500 usuários conectados, a Philips aconselha fortemente os clientes a se envolverem com um de seus parceiros de infraestrutura aprovados. As informações de contato para esses parceiros podem ser obtidas do departamento comercial.

Observação:

Para clientes com mais de 300 estações de trabalho consumindo seu serviço, a documentação da Philips recomenda infraestrutura de alta disponibilidade em todas as camadas: balanceamento, servidores de aplicativos e banco de dados.


philips-tasy-diagrama-oracle.zip

Esta imagem mostra uma topologia de três camadas que consiste em um balanceador de carga, camada de aplicativo e um Oracle Exadata Database Service para suportar um banco de dados. Todos os recursos são implantados em um único domínio de disponibilidade em uma região do OCI. A camada do balanceador de carga e a camada de aplicativos são isoladas em sub-redes separadas dentro de uma única VCN. Os grupos de segurança de rede regulam o tráfego de rede de/para os recursos em cada camada. Uma tabela de roteamento anexada a cada sub-rede contém regras para direcionar o tráfego destinado a destinos fora da VCN.

  • As solicitações do cliente fluem por meio de um gateway de internet para o WAF e o balanceador de carga principal, que distribui as solicitações para a camada de balanceamento de carga secundária, que envia a solicitação para a camada de aplicativos.
  • A camada de aplicativos consiste em instâncias de computação. As instâncias de computação são distribuídas uniformemente em todos os domínios de falha no domínio de disponibilidade. Todas as instâncias de computação na camada de aplicativos são anexadas a uma sub-rede privada.
  • A camada de banco de dados consiste em um banco de dados do Oracle Exadata Database Service anexado a uma sub-rede privada em uma VCN separada.

A arquitetura tem os seguintes componentes:

  • Tenancy

    Uma tenancy é uma partição segura e isolada que a Oracle configura no Oracle Cloud quando você acessa o Oracle Cloud Infrastructure. Você pode criar, organizar e administrar seus recursos no Oracle Cloud em sua tenancy. Uma tenancy é sinônimo de uma empresa ou organização. Geralmente, uma empresa terá uma única tenancy e refletirá sua estrutura organizacional dentro dessa tenancy. Uma única tenancy geralmente está associada a uma única assinatura, e uma única assinatura geralmente só tem uma tenancy.

  • Região

    Região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominada domínios de disponibilidade. As regiões são independentes de outras regiões, e grandes distâncias podem separá-las (entre países ou até mesmo continentes).

  • Compartimento

    Compartimentos são partições lógicas entre regiões em uma tenancy do Oracle Cloud Infrastructure. Use compartimentos para organizar seus recursos no Oracle Cloud, controlar o acesso aos recursos e definir cotas de uso. Para controlar o acesso aos recursos em um determinado compartimento, você define políticas que especificam quem pode acessar os recursos e quais ações eles podem executar.

  • Domínios de disponibilidade

    Domínios de disponibilidade são data centers stand-alone e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, o que oferece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou refrigeração ou a rede interna do domínio de disponibilidade. Desse modo, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade na região.

  • Domínios de falha

    Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.

  • VCN (rede virtual na nuvem) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após a criação da VCN. Você pode segmentar uma VCN em sub-redes, com escopo definido para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contíguo de endereços que não se sobrepõem a outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Gateway de serviço

    O gateway de serviço fornece acesso de uma VCN a outros serviços, como o Oracle Cloud Infrastructure Object Storage. O tráfego da VCN para o serviço Oracle percorre a malha da rede Oracle e nunca atravessa a internet.

  • Cloud Guard

    Você pode usar o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure. O Cloud Guard usa receitas de detector que você pode definir para examinar seus recursos quanto a pontos fracos de segurança e monitorar operadores e usuários em busca de atividades arriscadas. Quando qualquer configuração incorreta ou atividade insegura é detectada, o Cloud Guard recomenda ações corretivas e ajuda a executar essas ações, com base em receitas do respondedor que você pode definir.

  • Object Storage

    O armazenamento de objetos oferece acesso rápido a grandes quantidades de dados estruturados e não estruturados de qualquer tipo de conteúdo, incluindo backups de bancos de dados, dados de análise e conteúdo avançado, como imagens e vídeos. Você pode armazenar de forma segura e depois recuperar dados diretamente da internet ou de dentro da plataforma da nuvem. Você pode dimensionar facilmente o armazenamento sem prejudicar o desempenho ou a confiabilidade do serviço. Use o armazenamento padrão para armazenamento "quente" que você precisa para acessar de forma rápida, imediata e com frequência. Use o armazenamento de arquivos compactados para armazenamento "frio" que você mantém por longos períodos de tempo e raramente acessa.

  • Gateway de roteamento dinâmico (DRG)

    O DRG é um roteador virtual que fornece um caminho para o tráfego de rede privada entre VCNs na mesma região, entre uma VCN e uma rede fora da região, como uma VCN em outra região do Oracle Cloud Infrastructure, uma rede local ou uma rede em outro provedor de nuvem.

  • FastConnect

    O Oracle Cloud Infrastructure FastConnect fornece uma maneira fácil de criar uma conexão privada dedicada com o Oracle Cloud Infrastructure. FastConnect fornece opções de largura de banda maior e uma experiência de rede mais confiável quando comparada com conexões baseadas na internet.

  • Exadata Database Service

    O Oracle Exadata Database Service permite que você utilize o poder do Exadata na nuvem. Você pode provisionar sistemas X8M e X9M flexíveis que permitem adicionar servidores de computação de banco de dados e servidores de armazenamento ao sistema à medida que suas necessidades aumentam. Os sistemas X8M e X9M oferecem redes RoCE (RDMA sobre Ethernet Convergente) para PMEM (módulos de memória persistente) de alta largura de banda e baixa latência, bem como software Exadata inteligente. Você pode provisionar sistemas X8M e X9M usando uma forma equivalente a um sistema X8 e X9M de quarto de rack e, em seguida, adicionar servidores de banco de dados e de armazenamento a qualquer momento após o provisionamento.

    O Oracle Exadata Database Service on Dedicated Infrastructure fornece o Oracle Exadata Database Machine como um serviço em um data center do OCI (Oracle Cloud Infrastructure). A instância do Oracle Exadata Database Service on Dedicated Infrastructure é um cluster de VMs (máquinas virtuais) que reside nos racks do Exadata em uma região do OCI.

    O Oracle Exadata Database Service on Cloud@Customer fornece o Oracle Exadata Database Service hospedado em seu data center.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

  • Serviço Block Volume

    Com volumes de armazenamento em blocos, você pode criar, anexar, conectar e mover volumes de armazenamento e alterar o desempenho do volume para atender aos requisitos de armazenamento, desempenho e aplicativo. Depois de anexar e conectar um volume a uma instância, você pode usar o volume como disco rígido comum. Também é possível desconectar um volume e anexá-lo a outra instância sem perder dados.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.

    Selecione blocos CIDR que não se sobreponham a qualquer outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seus requisitos de fluxo de tráfego e segurança. Anexe todos os recursos dentro de uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.

  • Cloud Guard

    Clone e personalize as receitas padrão fornecidas pela Oracle para criar receitas personalizadas do detector e do respondedor. Essas receitas permitem especificar que tipo de violações de segurança geram uma advertência e quais ações podem ser executadas nelas. Por exemplo, talvez você queira detectar buckets do Object Storage que tenham visibilidade definida como pública.

    Aplique o Cloud Guard no nível da tenancy para cobrir o escopo mais amplo e reduzir a carga administrativa de manter várias configurações.

    Você também pode usar o recurso Lista Gerenciada para aplicar determinadas configurações aos detectores.

  • Zonas de Segurança

    Para recursos que exigem segurança máxima, a Oracle recomenda o uso de zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos de uma zona de segurança não devem ser acessíveis por meio da internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você criar e atualizar recursos em uma zona de segurança, o Oracle Cloud Infrastructure validará as operações de acordo com as políticas na receita de zona de segurança e negará as operações que violarem qualquer uma das políticas.

  • Grupos de Segurança de Rede (NSGs)

    Você pode usar NSGs para definir um conjunto de regras de entrada e saída que se aplicam a VNICs específicas. Recomendamos o uso de NSGs em vez de listas de segurança porque os NSGs permitem que você separe a arquitetura de sub-rede da VCN dos requisitos de segurança do seu aplicativo.

  • Largura de banda do balanceador de carga

    Ao criar o balanceador de carga, você pode selecionar uma forma predefinida que forneça uma largura de banda fixa ou especificar uma forma personalizada (flexível) em que defina um intervalo de largura de banda e deixe que o serviço dimensione a largura de banda automaticamente com base nos padrões de tráfego. Com qualquer uma das abordagens, você pode alterar a forma a qualquer momento após criar o balanceador de carga.

  • Política de backup de volumes em blocos

    Configure uma política para fazer backups dos volumes em blocos com a frequência necessária para atender ao seu RPO.

  • Data Guard

    O Oracle Data Guard fornece um conjunto abrangente de serviços que criam, mantêm, gerenciam e monitoram um ou mais bancos de dados stand-by para permitir que os bancos de dados Oracle de produção permaneçam disponíveis sem interrupção. O Oracle Data Guard mantém esses bancos de dados stand-by como cópias do banco de dados de produção. Em seguida, se o banco de dados de produção ficar indisponível por causa de uma interrupção planejada ou não planejada, o Oracle Data Guard poderá alternar qualquer banco de dados stand-by para a atribuição de produção, minimizando o tempo de inatividade associado à interrupção.

Considerações

Ao projetar a topologia, considere os fatores a seguir.

  • Desempenho

    Para obter o melhor desempenho, escolha a forma de computação correta com largura de banda apropriada.

  • Segurança

    Use políticas para restringir quem pode acessar os recursos do OCI que sua empresa tem e como eles podem acessá-los. A criptografia é ativada para o OCI Object Storage por padrão e não pode ser desativada.

  • Disponibilidade

    Considere usar uma opção de alta disponibilidade com base em seus requisitos de implantação e região. As opções incluem o uso de vários domínios de disponibilidade em uma região e o uso de domínios de falha.

  • Recuperação de desastres

    É recomendável que os clientes que usam mais de 300 estações de trabalho que consomem seu serviço criem um ambiente de recuperação de desastres usando a replicação de volume entre regiões (consulte Explorar Mais) e usando o Oracle Data Guard.

  • Custo

    Uma instância do Oracle Exadata Database Service fornece a potência de CPU necessária para um custo mais alto. Avalie seus requisitos para escolher uma maneira de usar a expansão e a redução da CPU (alteração em tempo quente, sem tempo de inatividade).

  • Dicas de dimensionamento

    Abaixo está o dimensionamento usado, com base em um caso de referência do cliente, e apresentado apenas para fins informativos. Lembre-se de que todo o dimensionamento e arquitetura devem ser criados em conjunto com equipes aprovadas pela Philips Healthcare.

Sessões Tamanho Ambiente Atribuição No de VMs No de OCPUs NO MEM (GB) No de Discos (GB) Forma da VM Total de OCPUs Total de MEM (GB) Total do Disco (GB) Nós (Single/RAC) NO DE BD OCPU Total de BD de OCPUs No de BD em Disco (GB) Balanceamento de Carga Flexível
100 Usuários S PROD Philips-Gerente de Aplicativos 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 4 4 712 1
300 Usuários Mais PROD Philips-Gerente de Aplicativos 2 4 48 150 VM.Standard.E4.Flex 8 96 300 1 6 6 968 1
500 Usuários C PROD Philips-Gerente de Aplicativos 4 4 48 150 VM.Standard.E4.Flex 16 192 600 1 8 8 1736 1
700 Usuários XL PROD Philips-Gerente de Aplicativos 6 4 48 150 VM.Standard.E4.Flex 24 288 900 2 10 20 2760 1
1000 Usuários 2XL PROD Philips-Gerente de Aplicativos 8 4 48 150 VM.Standard.E4.Flex 32 384 1.200 2 10 20 5320 1
1200 Usuários 3XL PROD Philips-Gerente de Aplicativos 12 4 48 150 VM.Standard.E4.Flex 48 576 1.800 2 12 24 10440 1
1500 Usuários 4XL PROD Philips-Gerente de Aplicativos 14 4 48 150 VM.Standard.E4.Flex 56 672 2100 2 14 28 16584 1
100 Usuários S PROD WSI de integração do Tomcat 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
Mais de 100 usuários -- PROD WSI de integração do Tomcat 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Usuários S PROD TIE de integração 1 4 4 150 VM.Standard.E4.Flex 4 4 150 -- -- -- -- --
Mais de 100 usuários -- PROD TIE de integração 1 8 32 150 VM.Standard.E4.Flex 8 32 150 -- -- -- -- --
100 Usuários S QA Philips-Gerente de Aplicativos 1 4 48 150 VM.Standard.E4.Flex 4 48 150 1 4 4 712 --
100 Usuários S QA Serviço Web de integração Tomcat 1 4 16 150 VM.Standard.E4.Flex 4 16 150 -- -- -- -- --

Observação:

Use a barra de rolagem na parte inferior desta tabela para exibir colunas ocultas.

Confirmações

Authors: Diego Mariano, Lucas Fernandes

Contributors: Guilherme Teló, John Sulyok