{"id":31040066,"url":"https://github.com/wesleywerikis/app-triagem","last_synced_at":"2026-04-17T04:34:15.092Z","repository":{"id":314313706,"uuid":"1055035926","full_name":"wesleywerikis/app-triagem","owner":"wesleywerikis","description":"Trabalho Faculdade UniFil (Análise e Projeto de Algoritmos) com o seguinte tema: Sistema de Triagem de Pacientes","archived":false,"fork":false,"pushed_at":"2025-09-11T17:44:14.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-11T20:18:44.458Z","etag":null,"topics":["algorithms","console-application","data-structrues","healthcare","java","java17","maven","oop","triage-system"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wesleywerikis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-11T17:11:48.000Z","updated_at":"2025-09-11T17:44:17.000Z","dependencies_parsed_at":"2025-09-11T20:22:18.445Z","dependency_job_id":"69336dd8-6c2c-41a9-a956-e534d588d5ce","html_url":"https://github.com/wesleywerikis/app-triagem","commit_stats":null,"previous_names":["wesleywerikis/app-triagem"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/wesleywerikis/app-triagem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesleywerikis%2Fapp-triagem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesleywerikis%2Fapp-triagem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesleywerikis%2Fapp-triagem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesleywerikis%2Fapp-triagem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wesleywerikis","download_url":"https://codeload.github.com/wesleywerikis/app-triagem/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wesleywerikis%2Fapp-triagem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275076599,"owners_count":25401319,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-14T02:00:10.474Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","console-application","data-structrues","healthcare","java","java17","maven","oop","triage-system"],"created_at":"2025-09-14T08:05:42.192Z","updated_at":"2026-04-17T04:34:15.086Z","avatar_url":"https://github.com/wesleywerikis.png","language":"Java","readme":"# 🏥 App Triagem\n\nUm sistema de **triagem médica** em **Java 17** (CLI) para cadastrar pacientes, priorizar por **nível de risco** e **alocar por especialidade**. O projeto demonstra **estruturas de dados**, **algoritmos** (fila com prioridade e backtracking) e **OOP**.\n\n---\n\n## ✨ Funcionalidades\n- Cadastro de pacientes com dados pessoais e sintomas\n- Níveis de risco (Emergência → Não urgente) com prioridade numérica\n- Especialidades médicas (Clínico, Ortopedia, Cardiologia, Pediatria)\n- **Fila de triagem** com prioridade por risco e ordem de chegada\n- **Índice de pacientes** (hash) para busca por CPF\n- **Backtracking** para alocar pacientes conforme capacidade por especialidade\n- Interface simples via **console**\n\n---\n\n## 🛠️ Tecnologias\n- **Java 17**\n- **Maven**\n- Paradigma **OOP**\n- Estruturas de dados: lista/fila com prioridade, hash table\n- Algoritmos: **Backtracking**\n\n---\n\n## 📂 Estrutura\n```\nsrc/\n └── main/java/br/com/apptriagem\n     ├── model/\n     │   ├── CaseData.java\n     │   ├── Patient.java\n     │   ├── TriageEntry.java\n     │   └── enums/\n     │       ├── RiskLevel.java\n     │       └── Specialty.java\n     ├── service/\n     │   ├── Backtracking.java\n     │   ├── PatientIndex.java\n     │   └── TriageQueue.java\n     └── Main.java\n```\n\n---\n\n## ▶️ Como executar\n\n\u003e Requisitos: **Java 17** e **Maven** instalados.\n\n```bash\n# 1) Clonar\ngit clone https://github.com/wesleywerikis/app-triagem.git\ncd app-triagem\n\n# 2) Compilar e executar (sem precisar alterar o pom)\nmvn -q compile exec:java -Dexec.mainClass=\"br.com.apptriagem.Main\"\n```\n\nAlternativa (se preferir empacotar):\n```bash\nmvn -q package\n# Ajuste o nome do .jar se necessário\njava -cp target/classes br.com.apptriagem.Main\n```\n\n---\n\n## 🧭 Uso (menu)\n\nAo iniciar, o app mostra:\n\n```\n1) Cadastrar\n2) Atender próximo\n3) Alocar por especialidade (backtracking)\n0) Sair\n```\n\n- **Cadastrar**: informa dados do paciente, sintomas, risco e especialidade → adiciona à fila e ao índice por CPF  \n- **Atender próximo**: remove o próximo da fila (maior prioridade) e o retira do índice  \n- **Alocar por especialidade**: informa capacidades por especialidade e CPFs a tentar alocar → aplica **backtracking** e exibe a distribuição\n\n---\n\n## 🧩 Principais classes\n\n- `RiskLevel` (enum): níveis de risco com **prioridade numérica** e rótulos  \n- `Specialty` (enum): especialidades médicas do domínio  \n- `Patient`: dados pessoais (nome, CPF, telefone, endereço)  \n- `CaseData`: informações clínicas (sintomas, flags e anotações) + `RiskLevel` e `Specialty`  \n- `TriageEntry`: vínculo `Patient` ↔ `CaseData` com **ordem de chegada** (sequencial)  \n- `TriageQueue`: **fila com prioridade** por risco e tempo de chegada  \n- `PatientIndex`: **hash table** simples para buscar/remover por CPF  \n- `Backtracking`: **alocação** de pacientes por especialidade respeitando capacidades  \n- `Main`: interface de **console** e fluxo do menu\n\n---\n\n## 🧪 Ideias de testes manuais\n\n- Cadastrar vários pacientes com riscos diferentes e conferir a ordem de atendimento  \n- Tentar cadastrar o mesmo CPF novamente (o índice bloqueia)  \n- Alocar com capacidades insuficientes (deve indicar “sem solução”)  \n- Alocar com capacidades suficientes e ver a distribuição por especialidade\n\n---\n\n## 🏷️ Topics (GitHub)\n`java` `java17` `maven` `oop` `healthcare` `triage-system` `data-structures` `algorithms` `console-application`\n\n---\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesleywerikis%2Fapp-triagem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwesleywerikis%2Fapp-triagem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwesleywerikis%2Fapp-triagem/lists"}