# 🏥 DetalhePacienteActivity.java — Detalhes do Paciente > **Ficheiro:** `app/src/main/java/com/example/medcuida/pro/DetalhePacienteActivity.java` > **Layout:** `activity_detalhe_paciente.xml` | **Linhas:** 150 --- ## Descrição Geral Mostra os **dados detalhados de um paciente** selecionado, incluindo a sua medicação ativa. Permite abrir o chat com o paciente. --- ## Dados Apresentados | Campo | Origem Firestore | |---|---| | Nome | `utilizadores/{id}.nome_completo` | | Idade | `utilizadores/{id}.idade` | | Nº Utente | `utilizadores/{id}.numero_utente` | | Sexo | `utilizadores/{id}.sexo` | | Email | `utilizadores/{id}.email` | | Medicação | Coleção `medicamentos` (filtrada por `userId`) | --- ## Inicialização (`onCreate`) — Linhas 27–64 1. **Associa as views** do layout (TextViews + botões) 2. **Recebe via Intent:** - `PACIENTE_ID` → ID do paciente (obrigatório) - `CONSULTA_ID` → ID da consulta (opcional, para o chat) 3. **Botão "Sair"** → `finish()` (volta à Activity anterior) 4. **Botão "Chat":** - Se tem `consultaId` → abre chat diretamente - Se não tem → procura uma consulta existente via `buscarConsultaEParaChat()` --- ## `buscarConsultaEParaChat()` — Linhas 66–79 ```java db.collection("consultas") .whereEqualTo("pacienteId", pacienteId) .limit(1) .get() ``` - Procura uma consulta associada ao paciente - Se encontrar → abre o `ChatActivity` com o `consultaId` - Se não encontrar → mostra aviso "Não existe consulta ativa" --- ## `carregarDadosPaciente()` — Linhas 88–148 ### Parte 1: Dados pessoais (Linhas 89–111) - Lê o documento do paciente em `utilizadores/{pacienteId}` - Preenche nome, idade, nº utente, sexo e email - Campos nulos aparecem como `"N/D"` ### Parte 2: Medicação (Linhas 113–138) ```java db.collection("medicamentos") .whereEqualTo("userId", pacienteId) .get() ``` - Pesquisa na coleção `medicamentos` todos os registos do paciente - Suporta nomes de campos em **PT** (`nome`, `hora`) e **EN** (`name`, `time`) - Formata como lista: `• Paracetamol (08:00)` - Se não houver medicação → mostra "Nenhuma medicação ativa"