-- ============================================================================
-- FUNCIONES RLS - ERP Clínicas
-- ============================================================================
-- Versión: 1.0.0
-- Fecha: 2025-12-09
-- Nota: Usa las funciones de contexto de ERP-Core (auth schema)
-- ============================================================================

-- Las funciones principales están en ERP-Core:
--   auth.get_current_tenant_id()
--   auth.get_current_user_id()
--   auth.get_current_company_id()

-- Función auxiliar para verificar acceso a expediente médico
CREATE OR REPLACE FUNCTION clinica.can_access_medical_record(
    p_patient_id UUID,
    p_user_id UUID DEFAULT NULL
)
RETURNS BOOLEAN AS $$
DECLARE
    v_user_id UUID;
    v_has_access BOOLEAN := FALSE;
BEGIN
    v_user_id := COALESCE(p_user_id, current_setting('app.current_user_id', true)::UUID);

    -- TODO: Implementar lógica de permisos específicos
    -- Por ahora, cualquier usuario del tenant puede acceder
    RETURN TRUE;
END;
$$ LANGUAGE plpgsql SECURITY DEFINER;

COMMENT ON FUNCTION clinica.can_access_medical_record IS
'Verifica si el usuario tiene permiso para acceder al expediente médico del paciente';

-- ============================================================================
-- FIN FUNCIONES RLS
-- ============================================================================
