elemento	estado	contenido
COMMENT fuentes_conocimiento_vinculos.mencion_detectada	PRESENTE	Nombre institucional o referencia detectada en el registro, por ejemplo SERNAPESCA, SUBPESCA o DIRECTEMAR.
FUNCTION fn_neutralizar_referencias_sensibles_v2(text)	PRESENTE	"CREATE OR REPLACE FUNCTION pesca_knowledge.fn_neutralizar_referencias_sensibles_v2(p_texto text)
 RETURNS text
 LANGUAGE plpgsql
 IMMUTABLE
AS $function$
DECLARE
    v text;
BEGIN
    IF p_texto IS NULL OR btrim(p_texto) = '' THEN
        RETURN p_texto;
    END IF;

    v := p_texto;

    -- --------------------------------------------------------
    -- ENLACES Y DOMINIOS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        'https?://[^[:space:]<>""'']+',
        'antecedentes públicos disponibles',
        'gi'
    );

    v := regexp_replace(
        v,
        'www[.][^[:space:]<>""'']+',
        'antecedentes públicos disponibles',
        'gi'
    );

    -- --------------------------------------------------------
    -- ORGANISMOS PESQUEROS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        '(Servicio Nacional de Pesca( y Acuicultura)?|SERNAPESCA)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Subsecretar[ií]a de Pesca( y Acuicultura)?|SUBPESCA)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Instituto de Fomento Pesquero|IFOP|FIPA)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    -- --------------------------------------------------------
    -- ORGANISMOS AMBIENTALES Y TERRITORIALES
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        '(Ministerio del Medio Ambiente|MMA|SIMBIO)',
        'antecedentes públicos y técnicos',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Corporaci[oó]n Nacional Forestal|CONAF)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Servicio Agr[ií]cola y Ganadero|SAG)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Direcci[oó]n General de Aguas|DGA)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Biblioteca del Congreso Nacional|BCN)',
        'antecedentes públicos disponibles',
        'gi'
    );

    v := regexp_replace(
        v,
        'Diario Oficial',
        'antecedentes públicos disponibles',
        'gi'
    );

    -- --------------------------------------------------------
    -- SEGURIDAD, MAR Y EMERGENCIAS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        '(Direcci[oó]n General del Territorio Mar[ií]timo[^,.;/]*|DIRECTEMAR)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Servicio Hidrogr[aá]fico y Oceanogr[aá]fico[^,.;/]*|SHOA)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Servicio Nacional de Prevenci[oó]n y Respuesta ante Desastres|SENAPRED)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Armada de Chile|Autoridad Mar[ií]tima|Capitan[ií]a de Puerto)',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        'Direcci[oó]n Meteorol[oó]gica de Chile',
        'organismos oficiales competentes',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Ministerio de Salud|MINSAL)',
        'organismos oficiales competentes',
        'gi'
    );

    -- --------------------------------------------------------
    -- ORGANISMOS Y MEDIOS INTERNACIONALES
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        '(Organizaci[oó]n de las Naciones Unidas para la Alimentaci[oó]n y la Agricultura|FAO)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    v := regexp_replace(
        v,
        '(National Oceanic and Atmospheric Administration|NOAA)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Organizaci[oó]n Mundial de la Salud|OMS)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    v := regexp_replace(
        v,
        '(Uni[oó]n Internacional para la Conservaci[oó]n de la Naturaleza|UICN|IUCN)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    v := regexp_replace(
        v,
        '(SciELO|FishBase|BBC|National Geographic|STRI)',
        'antecedentes técnicos y especializados',
        'gi'
    );

    -- --------------------------------------------------------
    -- NORMAS ESPECÍFICAS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        'Ley[[:space:]]*(N([°ºo.]|ro[.]?|úmero)?[[:space:]]*)?[0-9]+([.][0-9]+)*',
        'normativa aplicable vigente',
        'gi'
    );

    v := regexp_replace(
        v,
        'Decreto([[:space:]]+Supremo)?[[:space:]]*(N([°ºo.]|ro[.]?|úmero)?[[:space:]]*)?[0-9]+([/.-][0-9]+)*',
        'normativa aplicable vigente',
        'gi'
    );

    v := regexp_replace(
        v,
        'Resoluci[oó]n([[:space:]]+Exenta)?[[:space:]]*(N([°ºo.]|ro[.]?|úmero)?[[:space:]]*)?[0-9]+([/.-][0-9]+)*',
        'normativa aplicable vigente',
        'gi'
    );

    v := regexp_replace(
        v,
        '(reglamento|resoluci[oó]n|decreto|ley)[[:space:]]+(vigente|aplicable)',
        'normativa aplicable vigente',
        'gi'
    );

    -- --------------------------------------------------------
    -- ATRIBUCIONES DIRECTAS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        '(respaldad[oa]s?|sustentad[oa]s?)[[:space:]]+por[[:space:]]+(organismos oficiales competentes|antecedentes públicos y técnicos|antecedentes técnicos y especializados)',
        'revisado mediante diversos antecedentes públicos y técnicos',
        'gi'
    );

    v := regexp_replace(
        v,
        'basad[oa]s?[[:space:]]+en[[:space:]]+(informaci[oó]n|antecedentes)[[:space:]]+oficial(es)?',
        'elaborado mediante revisión de antecedentes públicos disponibles',
        'gi'
    );

    v := regexp_replace(
        v,
        'basad[oa]s?[[:space:]]+en[[:space:]]+(organismos oficiales competentes|antecedentes públicos y técnicos|antecedentes técnicos y especializados)',
        'elaborado mediante revisión de diversos antecedentes disponibles',
        'gi'
    );

    v := regexp_replace(
        v,
        '(seg[uú]n|conforme a|de acuerdo con)[[:space:]]+(organismos oficiales competentes|antecedentes públicos y técnicos|antecedentes técnicos y especializados)',
        'de acuerdo con antecedentes revisados durante su elaboración',
        'gi'
    );

    v := regexp_replace(
        v,
        '(proviene|provienen|extra[ií]do|extra[ií]da|obtenido|obtenida)[[:space:]]+de[[:space:]]+(organismos oficiales competentes|antecedentes públicos y técnicos|antecedentes técnicos y especializados)',
        'fue elaborado mediante revisión de diversos antecedentes disponibles',
        'gi'
    );

    v := regexp_replace(
        v,
        '(fuente|sitio|p[aá]gina)[[:space:]]+oficial',
        'antecedentes públicos disponibles',
        'gi'
    );

    -- --------------------------------------------------------
    -- FRASES OPERATIVAS
    -- --------------------------------------------------------

    v := regexp_replace(
        v,
        'verificar normativa vigente',
        'verificar la normativa aplicable vigente',
        'gi'
    );

    v := regexp_replace(
        v,
        'cumplir normativa chilena vigente',
        'cumplir la normativa aplicable vigente',
        'gi'
    );

    v := regexp_replace(
        v,
        'verificar([[:space:]]+la)?[[:space:]]+exigencia vigente ante[[:space:]]+organismos oficiales competentes',
        'verificar las exigencias vigentes ante los organismos oficiales competentes',
        'gi'
    );

    v := pesca_knowledge.fn_limpiar_texto_neutralizado_v2(v);

    RETURN v;
END;
$function$
"
