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.
✅ 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
- Django - Framework principal
- Django REST Framework - Criação das APIs
- SQLite - Banco de dados
- HTML + CSS + JavaScript
- Bootstrap - Estilização da interface
- Chart.js - Exibição de gráficos
- Git e GitHub - Controle de versão e colaboração
- Pytest - Testes de unidade
git clone https://github.com/HirokiVitor/PEWS.git
cd PEWSpython -m venv venv source venv/bin/activate
venv\Scripts\activate #(Linux/macOS)
pip install -r requirements.txt #(Windows) python manage.py migrate
python manage.py createsuperuserApós criar o superusuário, ele poderá cadastrar funcionários e gerenciar avaliações.
python manage.py runserver {porta}Agora, acesse http://127.0.0.1:{porta}/ e o sistema estará funcionando!
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.
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!