Investigacion: DrugBank API - Especificaciones e Integracion
Identificador: MTS-INV-003
Version: 1.0.0
Fecha: 2025-12-02
Autor: SpecQueen
Solicitado en: GAP-KB-001, GAP-KB-002 (Round 10)
Estado: Completado
Resumen Ejecutivo
Investigacion tecnica de DrugBank API para integracion en el motor de interacciones medicamentosas de MedTime. Cubre especificaciones tecnicas, licenciamiento, costos y consideraciones de implementacion.
Conclusion Principal
| Aspecto |
Evaluacion |
Notas |
| Cobertura |
Excelente |
1M+ interacciones |
| Documentacion |
Buena |
API REST bien documentada |
| Licencia |
Comercial |
Requiere contrato |
| HIPAA |
Compatible |
Con BAA disponible |
| Costo |
Variable |
Segun volumen |
1. Descripcion de DrugBank
1.1 Que es DrugBank
DrugBank es una base de datos farmaceutica comprehensiva que combina informacion detallada de medicamentos con datos de targets de medicamentos. Es mantenida por la Universidad de Alberta, Canada.
| Aspecto |
Valor |
| Fundacion |
2006 |
| Medicamentos |
14,000+ aprobados |
| Interacciones |
1,000,000+ pares |
| Actualizacion |
Continua |
| Jurisdicciones |
Global |
1.2 Tipos de Datos Disponibles
| Categoria |
Contenido |
Uso en MedTime |
| Drug-Drug Interactions |
Interacciones entre medicamentos |
Motor de deteccion |
| Drug-Food Interactions |
Interacciones con alimentos |
Alertas nutricionales |
| Drug Targets |
Proteinas objetivo |
Contexto para IA |
| Pharmacology |
Farmacocinetica/dinamica |
Analisis avanzado |
| Identification |
Nombres, codigos, sinonimos |
Normalizacion |
2. Especificaciones Tecnicas de la API
2.1 Endpoints Principales
| Endpoint |
Metodo |
Uso |
/drugs/{drugbank_id} |
GET |
Obtener info de medicamento |
/drugs/search |
GET |
Buscar por nombre/codigo |
/interactions/{drugbank_id} |
GET |
Obtener interacciones |
/interactions/check |
POST |
Verificar lista de medicamentos |
2.2 Autenticacion
Authorization: Bearer {API_KEY}
Content-Type: application/json
| Metodo |
Descripcion |
| API Key |
Clave unica por aplicacion |
| Rate Limiting |
Segun plan contratado |
| SSL |
TLS 1.2+ requerido |
{
"interaction": {
"drug_1": {
"drugbank_id": "DB00001",
"name": "Lepirudin"
},
"drug_2": {
"drugbank_id": "DB00006",
"name": "Bivalirudin"
},
"severity": "major",
"description": "Both drugs affect anticoagulation...",
"mechanism": "Pharmacodynamic synergism",
"management": "Avoid combination or monitor closely"
}
}
2.4 Mapeo de Severidad
| DrugBank |
MedTime |
Accion |
| major |
CONTRAINDICADO |
Alerta bloqueante |
| moderate |
SERIO |
Alerta prominente |
| minor |
MODERADO |
Advertencia |
| unknown |
MENOR |
Nota informativa |
3. Licenciamiento y Costos (GAP-KB-002)
3.1 Tipos de Licencia
| Licencia |
Uso |
Costo Estimado |
| Academic |
Investigacion sin fines comerciales |
Gratis |
| Commercial API |
Aplicaciones comerciales |
Por consulta |
| Enterprise |
Acceso completo + soporte |
Contrato anual |
3.2 Modelo de Precios API
Nota: Los precios exactos requieren contacto directo con DrugBank. Estimaciones basadas en informacion publica 2024.
| Plan |
Consultas/Mes |
Costo Estimado |
Uso MedTime |
| Starter |
1,000 |
~$200/mes |
Desarrollo |
| Growth |
10,000 |
~$500/mes |
MVP |
| Professional |
100,000 |
~$2,000/mes |
Produccion inicial |
| Enterprise |
Ilimitado |
Negociable |
Escala |
3.3 Consideraciones de Costo para MedTime
| Escenario |
Consultas Estimadas |
Plan Recomendado |
| 1,000 usuarios Pro activos |
~5,000/mes |
Growth |
| 10,000 usuarios Pro/Perfect |
~50,000/mes |
Professional |
| 100,000+ usuarios |
~500,000/mes |
Enterprise |
3.4 Optimizacion de Costos
| Estrategia |
Ahorro |
Implementacion |
| Cache local |
70-80% |
Almacenar interacciones consultadas |
| Batch queries |
20-30% |
Consultar multiples medicamentos juntos |
| Prefetch comunes |
10-20% |
Pre-cargar interacciones frecuentes |
| Validacion local primero |
50%+ |
Solo consultar online si hay duda |
4. Integracion en MedTime
4.1 Arquitectura Propuesta
+------------------+ +------------------+ +------------------+
| App MedTime | | Backend MT | | DrugBank API |
| | | | | |
| Cache Local |<----->| Cache Redis |<----->| API Comercial |
| ~50K interac. | | TTL: 24h | | |
+------------------+ +------------------+ +------------------+
| | |
v v v
[Consulta local] [Si no en cache] [Consulta API]
[< 100ms] [Agregar a cache] [~200-500ms]
4.2 Flujo de Consulta
flowchart TD
A[Usuario agrega medicamento] --> B{En cache local?}
B -->|Si| C[Retornar interacciones]
B -->|No| D{Usuario Pro/Perfect?}
D -->|No| E[Usar base local estatica]
D -->|Si| F[Consultar DrugBank API]
F --> G{Respuesta OK?}
G -->|Si| H[Guardar en cache]
G -->|No| I[Fallback a base local]
H --> C
I --> C
E --> C
4.3 Manejo de Errores
| Codigo |
Descripcion |
Accion MedTime |
| 200 |
OK |
Procesar y cachear |
| 401 |
No autorizado |
Verificar API key |
| 429 |
Rate limit |
Esperar + fallback |
| 500 |
Error servidor |
Fallback a cache |
| Timeout |
> 3 segundos |
Fallback a local |
5. Requisitos de Implementacion
5.1 Desarrollo
| Requisito |
Detalle |
| SDK |
No oficial, usar REST directo |
| Lenguaje |
Cualquiera con HTTP client |
| Testing |
Sandbox disponible (solicitar) |
| Documentacion |
https://docs.drugbank.com |
5.2 Produccion
| Requisito |
Detalle |
| API Key |
Separada de desarrollo |
| Monitoreo |
Dashboards de uso disponibles |
| Soporte |
Email + tickets (Enterprise: SLA) |
| Uptime |
99.9% SLA (Enterprise) |
5.3 Compliance
| Requisito |
Estado |
| HIPAA BAA |
Disponible (solicitar) |
| SOC 2 |
Certificado |
| Data Residency |
Canada (ver requisitos LGPD) |
| Audit Logs |
Disponibles via API |
6. Alternativas Evaluadas
| Fuente |
Costo |
Cobertura |
Decision |
| DrugBank |
$$$ |
Excelente |
Principal |
| RxNorm |
Gratis |
Buena (USA) |
Complemento |
| OpenFDA |
Gratis |
Limitada |
Backup |
| Micromedex |
$$$$ |
Excelente |
Muy costoso |
7. Recomendaciones
7.1 Fase MVP
- Usar base local estatica (50K interacciones)
- Integrar DrugBank solo para Perfect tier
- Plan Growth (~$500/mes)
- Cache agresivo (24h TTL)
7.2 Fase Escalamiento
- Migrar a Professional segun crecimiento
- Implementar prefetch de interacciones comunes
- Considerar acuerdo Enterprise si > 50K usuarios Pro/Perfect
| Accion |
Responsable |
Plazo |
| Contactar DrugBank ventas |
Director |
Pre-MVP |
| Solicitar sandbox |
Desarrollo |
Sprint 1 |
| Negociar BAA |
Legal |
Pre-produccion |
| Definir presupuesto API |
Director |
Antes de lanzamiento |
Referencias
Documento generado por SpecQueen - La especificacion funcional ES el sistema.