Skip to content

Pablofsantosz/Projeto_Engenharia_De_Software

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

151 Commits
 
 
 
 
 
 

Repository files navigation

Nome do Projeto UNICAP logo

🛠️ Nossas Ferramentas:

Figma Trello

Abrir Diagrama

FastRx

🩺 Sistema de Receituário - UPA Emergência Pediátrica


📌 Visão Geral

Este projeto é um sistema web desenvolvido para gerar automaticamente receituários médicos durante atendimentos em emergências pediátricas da rede pública de saúde (UPA - PE). A iniciativa nasceu da necessidade de otimizar o tempo dos profissionais, reduzir erros e melhorar a qualidade do atendimento.



🚨 Problema:

Ana atua na linha de frente do atendimento em uma emergência pediátrica da rede pública de saúde do estado de Pernambuco. Durante a rotina, observou que dedicava uma parte significativa do tempo de consulta à elaboração manual de receituários. Atividade que embora essencial, revelou-se ineficiente diante da recorrência de casos clínicos semelhantes.

(Pacientes com sintomas e diagnósticos repetitivos ou de prognóstico equivalente).

Consequentemente, Ana escreve praticamente os mesmos receituários 12, 15 vezes ao dia, tornando as consultas cansativas e, por mais que pouco, suscetíveis a falha médica.


✅ Solução:

Diante dessa situação e após algumas reuniões com Ana para levantamento de informações, foi decidido criar um sistema WEB para geração automática de receituários em emergências pediátricas em UPAs - PE. É importante ressaltar que o receituário é feito durante o tempo de consulta.


📝 Os receituários:

(Antes de explicar como funciona, é necessário explicar como se constrói um receituário)

Refere-se à um documento que prescreve medicamentos, tratamentos e orientações para pacientes. O objetivo do sistema é preenchê-lo com as devidas informações:

  • Medicamento(s);
  • Tratamentos(s);
  • Orientações;

Intuitivamente, os receituários mudam de acordo com o diagnóstico.


✅ Como funciona:

Durante a consulta, após o diagnóstico do paciente, o médico acessaria o site e, após cadastro/login, preencheria os campos:

  1. Ocorre a consulta;
  2. Obtém-se o diagnóstico do paciente;
  3. O médico acessa nossa aplicação;
  4. Realiza o Login/Cadastro;
  5. Preenche os campos:
  • CID-10;
  • Idade;
  • Peso (Kg)

Com os campos preenchidos, nosso sistema automaticamente gera receituários pré-prontos, fornecendo opções de escolha e, caso o médico em questão prefira/necessite, receituários limpos.


🎯 Benefícios:

Com o sistema funcionando, uma série de benefícios são alcançados:

  1. Tempo de consulta reduzido;
  2. Falha médica improvável;
  3. Melhor prognóstico;
  4. Melhora na qualidade de trabalho;
  5. Maior atenção ao paciente;

❓ O que é o CID-10?

(Classificação Internacional de Doenças, a décima revisão. Publicada pela Organização Mundial da Saúde (OMS), trata-se de um sistema de códigos alfanuméricos que permite identificar doenças, sintomas e outros problemas de saúde).


🤝 Programação em Pares:


Pair programming 1 Pair programming 2 Pair programming 2

Durante o desenvolvimento do projeto, aplicamos a metodologia de Programação em Pares nas seguintes tarefas:

  • Implementação das histórias login , cadastro , excluir conta (Nunno e Pablo);
  • Integração das histórias com o banco de dados sqlite3 (Nunno e Pablo);
  • Implementação da auteticação do login (Nunno e Pablo);
  • Correções de bugs e testes de funcionalidade (Nunno e Pablo).
  • Implemetações: homepage, criar receituário, preencher com CPF, preencher com nome, preencher com peso, creiar modelo com preenchimento de modelo de receituário, editar informações, redefinir dados, gerar um receituário em branco, preencher com CID 10, logout da plataforma, imprimir receituário, gerar receituário preenchido. (Nunno, Pablo, Pedro, Malu)
  • Atualização do README (Nunno, Pablo, Pedro, Malu)
  • Tentativa de Deploy (Nunno, Pablo, Pedro, Malu, Lucas)

Essa abordagem permitiu uma maior troca de conhecimento e agilidade na resolução de problemas


🗃️ Diagramas de Atividade

  • Diagrama Login, Cadastro e Excluir conta:

    Diagrama 1


  • Diagrama Editar dados do usuário:

    Diagrama 2


  • Diagrama Criar receituário carregando modelo ou em branco:

    Diagrama 3


  • Diagrama Inserir nome, CPF, idade, peso e OBS do paciente:

    Diagrama 4


  • Diagrama Visualizar modelos de preenchimento de receituario ou Histórico de consulta:

    Diagrama 5



🎥 Screencast das Funcionalidades

  1. O vídeo abaixo apresenta a demonstração do protótipo no figma:

    ScreenCast

  2. O vídeo abaixo apresenta a demonstração das funcionalidades implementadas:

    ScreenCast

Funcionalidades demonstradas:

  • UH Cadastro na plataforma:

    Tela de cadastro


  • UH Login na plataforma:

    Tela de login


  • UH Confirmar Senha Para Excluir Conta:

    Tela de inputar senha para exclusão da conta


  • UH Home Page:

    tela de home page


  • UH Histórico de Consulta:

    tela que vizualiza o histórico de consulta


  • UH Modelos receituário CID_10:

    Modelo pré preenchidos


  • UH Gerar novo receituário:

    Novo Receituário


  • UH Print do Receituário Criado:

    Novo Receituário

🐞 Bug Tracker

Durante o desenvolvimento do projeto, enfrentamos algumas dificuldades técnicas e bugs, que documentamos abaixo como parte do nosso processo de aprendizado e evolução do sistema:

🧠 Dificuldades

  • Aprendizado do framework Django: Tivemos dificuldades iniciais no entendimento da estrutura do Django e na prática de suas convenções, especialmente na separação entre models, views e templates.
  • Manipulação do banco de dados: Foi desafiador compreender como o Django ORM funciona e como realizar as migrações corretamente sem corromper os dados.
  • Funcionalidade: Toda vez que atualizamos o modelo do receituário, aparece uma mensagem em excluir conta -Deploy: tivemos uma enorme dificuldade em fazer o deploy pelos seguintes fatos:
  • Trabalho muito extenso;
  • Uso do SQLite;
  • versão do python (python-3.12.1);
  • Servidores que testamos
    • date space
    • pythonanywhere
    • vercel
    • replit
    • fly
    • railaway
    • render
    • Github Utilizei todos esses caminhos para conseguir fazer o deploy,mas pelos motivos acima, não foi aceito.

🐛 Bug Encontrado - IDs não reutilizados

Durante os testes, identificamos um comportamento específico no banco de dados:

Cenário: Ao cadastrar três usuários (1, 2, 3) e deletar o usuário de ID 2, a lista resultante fica como (1, 3).
Problema: O ID 2 não é reutilizado então sempre ficara um espaço vazios sendo ocupado por nada (isso acontece por que o sqlite é um banco de dados relacional com chave primária autoincremental)


👥 Integrantes:

Malu de Faria Neves Bezerra

Nunno Wakiyama Diniz Carvalho

Pablo Felipe dos Santos

Pedro Alves dos Santos

Releases

No releases published

Packages

 
 
 

Contributors