Modelo funcional y reglas de negocio
Tablas de interacciones

Tablas de interacciones

interacciones

Define la relación estructural entre dos entidades farmacológicas.

Campo Función
idEntidad1 Primera entidad normalizada
idEntidad2 Segunda entidad normalizada
clasificacion CONTRAINDICADA o GRAVE

Ambos campos referencian entidades_farmacologicas.

Por eso una interacción puede representar:

DROGA - DROGA
DROGA - GRUPO_TERAPEUTICO
GRUPO_TERAPEUTICO - GRUPO_TERAPEUTICO

Normalización del par

Antes de insertar una interacción:

idEntidad1 = MIN(idA, idB)
idEntidad2 = MAX(idA, idB)

La base aplica:

UNIQUE(idEntidad1, idEntidad2)
CHECK(idEntidad1 < idEntidad2)

Esto evita tanto el duplicado directo como el almacenamiento del mismo par invertido.

interacciones_descripciones

La descripción es la única parte de una interacción que depende simultáneamente de idioma y diccionario.

Campos:

idInteraccion
idDiccionario
idIdioma
descripcion

Existe una sola descripción por:

idInteraccion + idDiccionario + idIdioma

interacciones_contenidos

Contiene los textos que dependen del idioma pero no del diccionario:

idInteraccion
idIdioma
conductaMedicaRecomendada
referenciaBibliografica

Existe una sola fila por:

idInteraccion + idIdioma

Prioridad

La prioridad no se almacena en una columna.

Se calcula durante la compilación según la especificidad:

DROGA-DROGA
    >
DROGA-GRUPO
    >
GRUPO-GRUPO

La base editorial conserva las reglas originales.

La base compilada conserva solamente el resultado efectivo para cada par droga-droga.