Skip to content

2. Arquitetura do Sistema

Raphaela edited this page Sep 28, 2024 · 2 revisions

2.1 Arquitetura Geral

Tendo em vista que a arquitetura do software de Análise de Relatórios de Casos Clínicos precisa equilibrar os requisitos funcionais e não funcionais, como privacidade de dados, desempenho, usabilidade e a independência de APIs externas.
Uma arquitetura modular e escalável foi desenhada com base nesses aspectos, dividida em camadas:

  1. Camada de Apresentação (Front-end)
  2. Camada de Aplicação (Back-end)
  3. Camada de Persistência de Dados
  4. Camada de Processamento de Documentos (Visão e Linguagem)
  5. Camada de Segurança

1. Camada de Apresentação (Front-end)

  • Fornece uma interface minimalista e intuitiva para os usuários interagirem com o sistema.

  • Considerações de Usabilidade:

    • Interface responsiva e fácil de usar.
    • Navegação intuitiva e minimalista para facilitar a experiência dos usuários não técnicos.

2. Camada de Aplicação (Back-end)

  • Coordena a lógica do sistema e o fluxo de dados entre o front-end e as camadas de processamento e persistência.
  • Componentes:
    • Serviços de Processamento de Documentos: Gerencia a submissão e o processamento de documentos pelos modelos de visão e linguagem.
    • Serviço de Armazenamento de Dados: Garante que os dados extraídos sejam salvos corretamente no banco de dados.
    • Serviços de Gestão de Documentos: Para editar, recuperar e deletar documentos.

3. Camada de Persistência de Dados (Banco de Dados)

  • Armazena os dados extraídos dos relatórios clínicos, além de informações dos usuários e do sistema.

  • Componentes:

    • Banco de Dados Relacional: Uso do MySQL para armazenar as informações extraídas dos documentos, garantindo integridade referencial e fácil consulta.
    • Estrutura de Tabelas:
      • Tabela de Funcionário;
      • Tabela de Função (Cargo do funcionário do hospital);
      • Tabela de Pacientes;
      • Tabela "Atende" (Tabela intermediária entre o funcionário e o paciente)
      • Tabela de Patologias (Condição do paciente)
      • Tabela "Possui" (Tabela intermediária entre o paciente e a patologia)
  • Considerações de Segurança e Privacidade:

    • Controle de acesso a informações confidenciais, através de um sistema de senha.

4. Camada de Processamento de Documentos (Visão e Linguagem)

  • Processa os relatórios clínicos submetidos e extrai informações relevantes.
  • Componentes:
    • Ollama 4J

5. Camada de Segurança

  • Garante a proteção dos dados sensíveis e a integridade do sistema.

  • Componentes:

    • Autenticação e Autorização: Controle de acesso baseado em sistema de senha.
  • Considerações de Privacidade:

    • Segue as diretrizes da LGPD (Lei Geral de Proteção de Dados) para garantir que os dados dos pacientes sejam manipulados de forma segura.

Resumo da Arquitetura:

  • Frontend: Interface minimalista em JavaFX, para cadastro de documentos e consulta de relatórios.
  • Backend: Implementação de serviços que coordenam a lógica de processamento e integração.
  • Banco de Dados: MySQL, com tabelas organizadas para armazenamento seguro das informações extraídas.
  • Processamento Local: Modelos de visão e linguagem open-source para extração de dados, rodando localmente (Ollama 4J).
  • Segurança: Controle de acesso para proteção dos dados clínicos.

Benefícios:

  • Privacidade: Garantia de privacidade, pois não depende de serviços externos.
  • Escalabilidade Local: Pode ser ampliado para rodar em servidores locais ou escalado em hardware dedicado.
  • Flexibilidade: O uso de modelos open-source permite adaptação e personalização de acordo com as necessidades específicas dos usuários.

Essa arquitetura equilibra a necessidade de privacidade e controle local, com a eficiência e escalabilidade necessárias para lidar com um volume crescente de relatórios clínicos.

2.2 Fluxo do Sistema

  1. Upload: O usuário faz o upload do relatório clínico.
  2. Processamento: O sistema processa o documento e extrai as informações relevantes.
  3. Armazenamento: As informações extraídas são armazenadas no banco de dados e categorizadas.
  4. Consulta e Edição: O funcionário pode visualizar, deletar, recuperar e editar as informações extraídas.