fetch( 'SELECT direccion, barrio, ciudad FROM lab_pacientes WHERE id = ?', [$pacienteId] ); // Direcciones distintas de domicilios anteriores (máx 10 más recientes) $previas = $db->fetchAll( "SELECT DISTINCT direccion, barrio, ciudad FROM lab_domicilios WHERE paciente_id = ? AND direccion IS NOT NULL AND direccion != '' ORDER BY id DESC LIMIT 10", [$pacienteId] ); // Combinar: perfil primero, luego domicilios previos deduplicando $resultado = []; $vistas = []; $agregar = function(array $row) use (&$resultado, &$vistas) { $dir = trim($row['direccion'] ?? ''); if (!$dir) return; $key = strtolower($dir); if (isset($vistas[$key])) return; $vistas[$key] = true; $resultado[] = [ 'direccion' => $dir, 'barrio' => $row['barrio'] ?? '', 'ciudad' => $row['ciudad'] ?? '', ]; }; if ($pac) $agregar($pac); foreach ($previas as $p) $agregar($p); jsonOk(['data' => $resultado]); } catch (Exception $e) { jsonError($e->getMessage(), 500); }