API RESTful e Interface Web para consulta de características de pacientes terminais internados em hospital, conforme o desafio proposto pela Anlix.
- Backend: Python 3.10+, FastAPI
- Frontend: HTML, JavaScript, Vue Js
- Banco de Dados: PostgreSQL
- ORM: SQLAlchemy
- Exportação CSV: Pandas
- Gráficos: Chart.js via frontend
- Containerização: Docker
anlix-hospital-api/
├── backend/
│ ├── dados/
│ ├── import_data.py
│ ├── main.py
│ ├── models.py
│ ├── properties.py
│ ├── requirements.txt
├── frontend/
│ ├── vue-anlix/
│ ├── src/
│ ├── components/
│ ├── CaracteristicasResumo.vue
│ ├── GraficoTemporal.vue
│ ├── PacienteBusca.vue
│ ├── main.js
│ ├── App.vue
│ ├── index.html
├── docker-compose.yml
├── Dockerfile
└── README.mderDiagram
PACIENTES ||--o{ MEDICOES : tem
PACIENTES {
string id
string nome
string cpf
string email
date data_nasc
string sexo
}
MEDICOES {
string id
string paciente_id
string nome
string valor
date data_registro
}
graph TD
A[Arquivos .txt] -->|Parser| B[(Banco de Dados PostgreSQL)]
B --> C[API FastAPI]
C --> D[Interface Web React]
C --> E[Exportação CSV]
C --> F[Consulta por Nome, Data, Intervalos]
Requer: Docker instalado
git clone https://github.com/seu-usuario/anlix-hospital-api.git
cd anlix-hospital-apidocker-compose up --buildA aplicação estará disponível em:
- API: https://desafio-anlix-api.up.railway.app/docs (Swagger)
- Frontend: https://desafio-anlix.netlify.app/
- Buscar paciente por nome (parcial ou completo)
- Obter as últimas características de um paciente
- Obter todas as características de um paciente para uma data específica
- Obter uma característica em intervalo de datas
- Obter as características em intervalo de datas e do tipo de caracteristica
- Buscar pacientes cujo valor de uma característica está em um intervalo numérico
- 🔎 Buscar paciente por nome
- 📊 Exibir gráfico de evolução de uma característica
- 📄 Exportar características de um ou mais pacientes em CSV
Crie ou mova os arquivos .txt para o diretório /dados e a aplicação os processará ao subir.