Saltar a contenido

Investigacion: Anonimizacion de Interacciones Medicamento-Estudio

Identificador: MTS-INV-013 Version: 1.0.0 Fecha: 2025-12-07 Autor: SpecQueen Solicitado por: Director del Proyecto Estado: Completado


1. Resumen Ejecutivo

Esta investigacion define el proceso de anonimizacion para datos de interacciones entre medicamentos y estudios clinicos (laboratorio, imagen, procedimientos), permitiendo enriquecer el catalogo de interacciones medicamento-estudio (MTS-INT-002).

1.1. Concepto Clave: Separacion de Identidad

PRINCIPIO FUNDAMENTAL: MedTime usaseparacion de identidad, NO generalizacion. - SI se envian: Medicamento especifico, nombre de estudio, tipo de afectacion - NO se envian: user_id, resultado especifico del usuario, diagnostico

1.2. Tipos de Interaccion Med-Estudio

Codigo Tipo Descripcion Ejemplo
AFE Afecta Resultados Medicamento falsea resultado del estudio Biotina afecta TSH
SUS Requiere Suspension Medicamento debe suspenderse antes del estudio Anticoagulante antes de biopsia
INC Incompatibilidad No realizar estudio mientras toma medicamento Metformina antes de contraste yodado
POS Restriccion Post Restriccion despues del estudio No AINES post-biopsia renal

2. Datos que SI se Envian (Anonimizados)

2.1. Estructura de Datos

interface InteraccionMedEstudioAnonima {
    // Token efimero
    session_token: string;  // 32 bytes, nuevo cada sesion

    // Medicamento (SI se envia especifico)
    medicamento: string;  // "Biotina" (nombre generico)

    // Estudio (SI se envia especifico)
    estudio: string;       // "TSH" (nombre)
    codigo_loinc: string;  // "3016-3" (codigo estandar)

    // Tipo de interaccion
    tipo_interaccion: string;  // "AFE" | "SUS" | "INC" | "POS"

    // Contexto (generalizado)
    resultado_afectado: string;  // "ELEVADO" | "DISMINUIDO" | "ALTERADO"
    periodo_suspension: string;  // "< 24h" | "1-7 dias" | "> 7 dias"

    // Metadata minima
    region: string;   // "Mexico" (pais)
    periodo: string;  // "2025-Q4" (trimestre)
}

2.2. Lo que SI se Reporta

Dato Ejemplo Original Ejemplo Anonimizado
Medicamento "Biotina 10000mcg" "Biotina" (sin dosis)
Estudio "TSH ultrasensible" "TSH"
Tipo "Afecta resultados" "AFE"
Efecto "TSH 0.1 (falso bajo)" "DISMINUIDO"
Suspension "5 dias antes" "1-7 dias"

3. Datos que NUNCA se Envian

Dato Razon
user_id, email, device_id, IP Identificadores directos
Resultado exacto del estudio PHI directo
Diagnostico subyacente PHI directo
Nombre del laboratorio Reduce anonimato
Nombre del medico PHI de tercero
Dosis exacta del medicamento Puede ser identificable
Fecha exacta del estudio Permite correlacion

4. Tecnicas de Anonimizacion

4.1. Normalizacion de Estudios a LOINC

# Mapeo de nombres comunes a codigos LOINC
ESTUDIOS_LOINC = {
    "TSH": "3016-3",
    "TSH ultrasensible": "3016-3",
    "Hormona estimulante tiroides": "3016-3",
    "Glucosa ayunas": "2345-7",
    "Glucosa en ayuno": "2345-7",
    # ...
}

def normalizar_estudio(nombre: str) -> tuple[str, str]:
    """Retorna (nombre_normalizado, codigo_loinc)"""
    for variante, loinc in ESTUDIOS_LOINC.items():
        if variante.lower() in nombre.lower():
            return (variante.split()[0], loinc)  # Nombre corto + codigo
    return (nombre, "UNKNOWN")

4.2. Agrupacion de Periodos de Suspension

PERIODOS_SUSPENSION = {
    (0, 24): "< 24h",
    (24, 168): "1-7 dias",
    (168, float('inf')): "> 7 dias",
}

def agrupar_suspension(horas: int) -> str:
    for (min_h, max_h), label in PERIODOS_SUSPENSION.items():
        if min_h <= horas < max_h:
            return label
    return "DESCONOCIDO"

4.3. Supresion por Rareza

UMBRAL_INTERACCION = 500  # Minimo usuarios con misma interaccion

def debe_reportar(medicamento: str, estudio: str) -> bool:
    freq = obtener_frecuencia_interaccion(medicamento, estudio)
    return freq >= UMBRAL_INTERACCION

5. Umbrales de Seguridad

5.1. K-Anonymity

Combinacion Umbral k Accion
Medicamento comun + Estudio comun >= 500 Reportar
Medicamento especializado + Estudio >= 1000 Reportar con precaucion
Medicamento sensible + Estudio INFINITO NUNCA reportar

5.2. Medicamentos Sensibles

Interacciones con estos medicamentos NUNCA se reportan:

Categoria Ejemplos Razon
Antirretrovirales - Revela VIH
Quimioterapicos - Revela cancer
Psiquiatricos especificos Clozapina Revela condicion severa

5.3. Estudios Sensibles

Interacciones con estos estudios requieren precaucion especial:

Estudio Tratamiento Razon
Carga viral NUNCA reportar Indica VIH
Marcadores tumorales Generalizar a "Oncologico" Indica cancer
Pruebas geneticas NUNCA reportar Informacion genetica

6. Flujo de Anonimizacion

DISPOSITIVO                              SERVIDOR
+---------------------------+            +---------------------------+
| Sistema detecta:          |            |                           |
| Medicamento: Biotina      |            |                           |
| Estudio: TSH ultrasens.   |            |                           |
| Tipo: AFE (afecta result.)|            |                           |
| Efecto: TSH 0.1 (bajo)    |            |                           |
+------------+--------------+            |                           |
             |                           |                           |
             v                           |                           |
+---------------------------+            |                           |
| ANONIMIZADOR LOCAL        |            |                           |
|                           |            |                           |
| 1. Normalizar medicamento |            |                           |
|    "Biotina 10000" →      |            |                           |
|    "Biotina"              |            |                           |
|                           |            |                           |
| 2. Normalizar estudio     |            |                           |
|    "TSH ultrasens." →     |            |                           |
|    "TSH" (LOINC 3016-3)   |            |                           |
|                           |            |                           |
| 3. Verificar sensibilidad |            |                           |
|    ¿Med o estudio sens.?  |            |                           |
|    NO → Continuar         |            |                           |
|                           |            |                           |
| 4. Verificar k-anonymity  |            |                           |
|    Biotina+TSH >= 500?    |            |                           |
|    SI → Continuar         |            |                           |
|                           |            |                           |
| 5. Generalizar resultado  |            |                           |
|    "TSH 0.1" → "DISMINU"  |            |                           |
|                           |            |                           |
| 6. Eliminar identificador.|            |                           |
+------------+--------------+            |                           |
             |                           |                           |
             v                           v                           |
+---------------------------+     +---------------------------+      |
| PAQUETE ANONIMO           |---->| SERVIDOR RECIBE           |      |
|                           |     |                           |      |
| session_token: xyz789...  |     | Puede agregar al catalogo:|      |
| medicamento: "Biotina"    |     | "Biotina afecta TSH       |      |
| estudio: "TSH"            |     |  (falso bajo)"            |      |
| loinc: "3016-3"           |     |                           |      |
| tipo: "AFE"               |     | NO sabe:                  |      |
| resultado: "DISMINUIDO"   |     | - Usuario especifico      |      |
| region: "Mexico"          |     | - Resultado exacto (0.1)  |      |
| periodo: "2025-Q4"        |     | - Diagnostico             |      |
+---------------------------+     +---------------------------+      |

7. Casos de Uso del Enriquecimiento

7.1. Descubrir Nuevas Interferencias

ESCENARIO: Suplemento popular afecta estudio

1. 2000 usuarios toman Vitamina X
2. 500 de ellos tienen estudio Y con resultado "ALTERADO"
3. Sistema identifica correlacion estadistica
4. Sugiere nueva interferencia para validacion

7.2. Validar Tiempos de Suspension

ESCENARIO: Verificar guias de suspension

Guia dice: Suspender Medicamento Z 7 dias antes de Estudio W
Usuarios reportan: Con 3 dias suficiente (resultados normales)

→ Enriquecimiento sugiere revisar tiempo de suspension

7.3. Patrones Regionales

ESCENARIO: Suplementos populares por region

Mexico: Biotina muy popular (afecta tiroides)
Brasil: Otro suplemento mas popular

→ Personalizar alertas por region

8. Validacion y Auditoria

8.1. Pruebas de Re-identificacion

def test_reidentificacion_med_estudio(datos, conocimiento_auxiliar):
    """
    Umbral: < 0.1% tasa de exito
    """
    tasa = calcular_tasa_exito(datos, conocimiento_auxiliar)
    assert tasa < 0.001

8.2. Auditorias

Tipo Frecuencia Foco
Automatizada Diaria Verificar umbrales k
Interna Mensual Revisar interacciones reportadas
Externa Trimestral Validacion de anonimizacion

9. Cumplimiento Regulatorio

Regulacion Requisito Cumplimiento
LFPDPPP Disociacion Normalizacion + supresion
HIPAA De-identification Eliminacion identificadores
LGPD Anonimizacao Datos no vinculables

10. Referencias

10.1. Documentos MedTime

10.2. Fuentes Tecnicas

  • LOINC (codigos de laboratorio)
  • AACC Guidance Documents (interferencias)
  • Guias clinicas de preparacion para estudios

Documento generado por SpecQueen - "Tus interacciones med-estudio seran anonimizadas... con LOINC."