Skip to content

HirokiVitor/PEWS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏥 PEWS - Sistema de Triagem Infantil

📌 Descrição do Projeto

O PEWS (Pediatric Early Warning Score) é um sistema para triagem pediátrica hospitalar, permitindo que profissionais da saúde registrem avaliações de pacientes e monitorem sua evolução clínica. O sistema auxilia na previsão de intervenções médicas necessárias.

🔹 Funcionalidades

✅ Cadastro de Pacientes
✅ Registro de Avaliações com cálculo automático do PEWS Score
✅ Histórico de Avaliações com gráficos interativos
✅ Autenticação de Usuários e Controle de Acesso
✅ Perfis de Funcionários e Administração
Gestão de Pacientes (internação e alta médica)
✅ Testes de unidade para validação do sistema


🚀 Tecnologias Utilizadas

🔹 Backend

  • Django - Framework principal
  • Django REST Framework - Criação das APIs
  • SQLite - Banco de dados

🔹 Frontend

  • HTML + CSS + JavaScript
  • Bootstrap - Estilização da interface
  • Chart.js - Exibição de gráficos

🔹 Outros

  • Git e GitHub - Controle de versão e colaboração
  • Pytest - Testes de unidade

🔧 Instalação e Execução do Projeto

1️⃣ Clonar o Repositório

git clone https://github.com/HirokiVitor/PEWS.git
cd PEWS

2️⃣ Criar um Ambiente Virtual e Instalar Dependências

python -m venv venv source venv/bin/activate
venv\Scripts\activate #(Linux/macOS)
pip install -r requirements.txt #(Windows)

3️⃣ Aplicar Migrações e Criar Superusuário

    python manage.py migrate
    python manage.py createsuperuser

Após criar o superusuário, ele poderá cadastrar funcionários e gerenciar avaliações.

4️⃣ Rodar o Servidor Django

python manage.py runserver {porta}

Agora, acesse http://127.0.0.1:{porta}/ e o sistema estará funcionando!


📌 Padrão de Projeto Utilizado: Facade

Para simplificar a lógica de negócios do sistema, utilizamos o padrão de projeto Facade, que centraliza operações complexas em uma única classe.

🔹 Implementação do Facade (services.py)

from datetime import datetime
from .models import Paciente, Avaliacao

class TriagemService:
    """
    Classe Facade para operações de Paciente e Avaliação.
    """
    @staticmethod
    def cadastrar_paciente(nome, idade, leito, dih, diagnostico, data_internacao=None):
        if data_internacao is None:
            data_internacao = datetime.now()
        return Paciente.objects.create(
            nome=nome, idade=idade, leito=leito, dih=dih, 
            diagnostico=diagnostico, data_internacao=data_internacao
        )
    @staticmethod
    def registrar_avaliacao(paciente_id, score, freq_cardiaca, freq_respiratoria, 
                            av_neuro, av_cardio, av_resp, extras, analise=None):
        paciente = Paciente.objects.get(id=paciente_id)
        return Avaliacao.objects.create(
            paciente=paciente,
            score=score,
            freq_cardiaca=freq_cardiaca,
            freq_respiratoria=freq_respiratoria,
            av_neuro=av_neuro,
            av_cardio=av_cardio,
            av_resp=av_resp,
            extras=extras,
            analise=analise
        )
    @staticmethod
    def dar_alta_paciente(paciente_id):
        paciente = Paciente.objects.get(id=paciente_id)
        paciente.delete()
        return f"{paciente.nome} recebeu alta com sucesso!"

✅ Isso melhora a organização do código e facilita a manutenção do sistema!

📌 Testes Implementados O sistema contém testes de unidade para garantir o funcionamento correto.

🧪 Testes de Unidade from django.test import TestCase from .models import Paciente

class PacienteTestCase(TestCase):
    def test_criacao_paciente(self):
        paciente = Paciente.objects.create(
            nome="João Silva", idade=5, leito="A12", dih="123456",
            diagnostico="Bronquite", data_internacao="2024-06-01"
        )
        self.assertEqual(paciente.nome, "João Silva")

📌 Executar os testes

python manage.py test

✅ Os testes garantem que o sistema está funcionando como esperado!

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors