Especificacion Tecnica de MedTime¶
Identificador: TECH-INDEX-001 Version: 1.0.0 Fecha: 2025-12-08 Ultima Revision: IT-15 - Consolidacion v1.0 Autor: SpecQueen Technical Division
- 1. Introduccion
- 1.1. Proposito
- 1.2. Alcance
- 1.3. Relacion con Otras Especificaciones
- 2. Documentos Principales
- 3. Especificaciones de API
- 4. Base de Datos
- 5. Servicios
- 6. Mobile
- 7. Seguridad
- 8. Performance
- 9. Knowledge Base Tecnica
- 9.1. Architecture Decision Records (ADRs)
- 9.2. Patrones Tecnicos
- 10. Drones Tecnicos
- 11. Sistema de Iteraciones
- 12. Matriz de Trazabilidad
1. Introduccion¶
1.1. Proposito¶
Este documento es el indice maestro de la Especificacion Tecnica de MedTime. Define la arquitectura de software, contratos de API, modelos de datos, decisiones arquitectonicas y guias de implementacion para el ecosistema MedTime.
La especificacion tecnica traduce los requisitos funcionales (functional-spec) y de interfaz (UiSpec) en una arquitectura implementable.
1.2. Alcance¶
La especificacion tecnica cubre:
- Arquitectura de Software: Clean Architecture, patrones, principios SOLID
- APIs: Contratos OpenAPI 3.0, JSON Schemas, autenticacion
- Base de Datos: Modelos, esquemas, migraciones, seguridad de datos
- Servicios: Microservicios, comunicacion inter-servicio
- Mobile: Arquitectura iOS/Android, estrategia offline-first
- Seguridad: Cifrado, OWASP, compliance tecnico HIPAA/FDA
- Performance: Benchmarks, caching, escalabilidad
1.3. Relacion con Otras Especificaciones¶
flowchart LR
subgraph FS["functional-spec/"]
FS1["MTS-*-001.md<br/>(QUE hacer)"]
FS2["28 modulos funcionales"]
FS3["Reglas de negocio"]
end
subgraph UI["UiSpec/"]
UI1["UI-MTS-*<br/>(COMO se ve)"]
UI2["207 pantallas<br/>28 flujos UI"]
UI3["Design System"]
end
subgraph TS["technical-spec/"]
TS1["API-*-001.md<br/>(COMO se hace)"]
TS2["28 APIs<br/>28 modelos<br/>~23 ADRs"]
TS3["Arquitectura"]
end
FS <--> UI <--> TS
style FS fill:#e1f5fe,stroke:#01579b
style UI fill:#fff3e0,stroke:#e65100
style TS fill:#e8f5e9,stroke:#1b5e20
| Especificacion | Proposito | Audiencia |
|---|---|---|
| functional-spec | Define QUE debe hacer el sistema | Product, BA, QA |
| UiSpec | Define COMO se ve y se interactua | Designers, Frontend |
| technical-spec | Define COMO se implementa | Developers, DevOps |
2. Documentos Principales¶
| ID | Documento | Descripcion | Estado |
|---|---|---|---|
| TECH-SUMMARY-001 | TECH-SUMMARY-001.md | Resumen ejecutivo de la especificacion | v1.0.0 |
| TECH-INDEX-001 | 00-tech-spec-index.md | Este indice | v1.0.0 |
| TECH-ARC-001 | 01-arquitectura-tecnica.md | Arquitectura de software, C4, Clean Architecture | v1.0.0 |
| TECH-CS-001 | 02-arquitectura-cliente-servidor.md | Arquitectura dual dispositivo/servidor (66KB) | v1.0.0 |
| TECH-DATA-001 | 03-estrategia-datos.md | Clasificacion, sincronizacion, retencion, anonimizacion | v1.0.0 |
| TECH-SEC-CLIENT-001 | 04-seguridad-cliente.md | Seguridad cliente: Zero-Knowledge, E2E, KeyChain (77KB) | v1.0.0 |
| TECH-SEC-SRV-001 | 05-seguridad-servidor.md | Seguridad servidor: RLS, audit, OWASP (53KB) | v1.0.0 |
| TECH-INF-001 | 06-infraestructura.md | Cloud, CI/CD, monitoring, DR | v1.0.0 |
| TECH-TST-001 | 07-testing-strategy.md | Estrategia de testing completa | v1.0.0 |
Nota: Todos los documentos principales completados - v1.0.0
3. Especificaciones de API¶
Ubicacion: technical-spec/apis/
| ID | API | Modulo Funcional | Documento | Version |
|---|---|---|---|---|
| API-AUTH-001 | Autenticacion | MTS-AUTH-001 | OpenAPI | v1.0.0 |
| API-MED-001 | Medicamentos | MTS-MED-001 | OpenAPI | v1.0.0 |
| API-USR-001 | Usuarios | MTS-USR-001 | OpenAPI | v1.0.0 |
| API-SYNC-001 | Sincronizacion | - | OpenAPI | v1.0.0 |
| API-ALT-001 | Alertas | MTS-ALT-001 | OpenAPI | v1.0.0 |
| API-NTF-001 | Notificaciones | MTS-NTF-001 | OpenAPI | v1.0.0 |
| API-CAL-001 | Calendario | MTS-CAL-001 | OpenAPI | v1.0.0 |
| API-ADH-001 | Adherencia | MTS-ADH-001 | OpenAPI | v1.0.0 |
| API-ANA-001 | Analisis | MTS-ANA-001 | OpenAPI | v1.0.0 |
| API-RX-001 | Recetas | MTS-RX-001 | OpenAPI | v1.0.0 |
| API-INT-001 | Interacciones Med-Med | MTS-INT-001 | OpenAPI | v1.0.0 |
| API-INT-002 | Interacciones Med-Estudio | MTS-INT-002 | OpenAPI | v1.0.0 |
| API-CAT-001 | Catalogos Secundarios | MTS-CAT-001 | OpenAPI | v1.0.0 |
| API-EST-001 | Estudios Clinicos | MTS-EST-001 | OpenAPI | v1.0.0 |
| ... | ... | ... | ... | ... |
Schemas Compartidos: technical-spec/apis/schemas/
| ID | Schema | Descripcion | Version |
|---|---|---|---|
| SCH-COMMON-001 | common.yaml | Error, Pagination, EncryptedBlob, Sync, Security | v1.0.0 |
Postman Collections: technical-spec/apis/postman/ (Pendiente)
4. Base de Datos¶
Ubicacion: technical-spec/database/
| ID | Documento | Descripcion | Version |
|---|---|---|---|
| DB-ERD-001 | Diagrama ER | Modelo entidad-relacion completo (Mermaid) | v1.0.0 |
| DB-SCHEMA-001 | Esquemas | DDL y definiciones | Pendiente |
| DB-MIGRATIONS-001 | Migraciones | Estrategia de migraciones | Pendiente |
| DB-SECURITY-001 | Seguridad BD | RLS, cifrado, backups | Pendiente |
Modelos por Dominio: technical-spec/database/models/
| ID | Modelo | Entidades | Version |
|---|---|---|---|
| MDL-AUTH-001 | Autenticacion | users, sessions, devices, relations, invitations | v1.0.0 |
| MDL-MED-001 | Medicamentos | medications, schedules, doses, inventory, catalog | v1.0.0 |
| MDL-USR-001 | Usuarios | profiles, preferences, dependents, caregivers | v1.0.0 |
| MDL-ALT-001 | Alertas | push_tokens, notification_queue, sms_log, escalation_log, scheduled_alerts | v1.0.0 |
| MDL-NTF-001 | Notificaciones Inteligentes | pattern_data, detected_patterns, suggestions, ml_model_state | v1.0.0 |
| MDL-CAL-001 | Calendario | user_habits, day_moments, scheduled_doses, dose_events, dose_records | v1.0.0 |
| MDL-ADH-001 | Adherencia | adherence_daily, adherence_streaks, adherence_patterns, insights | v1.0.0 |
| MDL-ANA-001 | Analisis | clinical_analyses, analysis_results, parameters, alerts | v1.0.0 |
| MDL-RX-001 | Recetas | prescriptions, medications, prescriber, ocr_results | v1.0.0 |
| MDL-INT-001 | Interacciones Med-Med | interaction_cache, detected_interactions, acknowledgments, history | v1.0.0 |
| MDL-INT-002 | Interacciones Med-Estudio | med_study_rules, detected_med_study, suspension_reminders | v1.0.0 |
| ... | ... | ... | ... |
5. Servicios¶
Ubicacion: technical-spec/services/
| ID | Servicio | Descripcion | Dependencias |
|---|---|---|---|
| SVC-AUTH-001 | Auth Service | Autenticacion y autorizacion | Firebase Auth |
| SVC-MED-001 | Medications Service | Gestion de medicamentos | DrugBank API |
| SVC-NTF-001 | Notification Service | Notificaciones push | FCM/APNs |
| SVC-SYNC-001 | Sync Service | Sincronizacion offline | - |
| ... | ... | ... | ... |
6. Mobile¶
Ubicacion: technical-spec/mobile/
| ID | Documento | Plataforma | Version |
|---|---|---|---|
| MOB-IOS-001 | Arquitectura iOS | iOS 15+ | v1.0.0 |
| MOB-AND-001 | Arquitectura Android | Android 8+ | v1.0.0 |
| MOB-OFFLINE-001 | Estrategia Offline | Ambas | Pendiente |
| MOB-PUSH-001 | Notificaciones Push | Ambas | Pendiente |
| MOB-CRYPTO-001 | Cifrado Local | Ambas | Pendiente |
7. Seguridad¶
Ubicacion: technical-spec/security/
| ID | Documento | Descripcion | Compliance |
|---|---|---|---|
| SEC-CRYPTO-001 | Cifrado | AES-256, TLS 1.3 | HIPAA |
| SEC-AUTH-001 | Autenticacion | MFA, session mgmt | HIPAA, FDA |
| SEC-AUDIT-001 | Auditoria | Logging, trazabilidad | HIPAA, FDA |
| SEC-INCIDENT-001 | Incidentes | Breach response | HIPAA |
8. Performance¶
Ubicacion: technical-spec/performance/
| ID | Documento | Descripcion | Version |
|---|---|---|---|
| PERF-001 | PERF-001-benchmarks.md | SLAs, benchmarks, metricas globales, capacity planning | v1.0.0 |
| PERF-002 | PERF-002-mobile.md | Performance mobile iOS/Android, cross-platform | v1.0.0 |
9. Knowledge Base Tecnica¶
Ubicacion: technical-spec/knowledge-base/
9.1. Architecture Decision Records (ADRs)¶
| ID | ADR | Estado | Fecha |
|---|---|---|---|
| ADR-001 | Clean Architecture | Aceptado | 2025-12-07 |
| ADR-002 | Firebase Auth vs Custom | Aceptado | 2025-12-07 |
| ADR-003 | Offline-First Strategy | Aceptado | 2025-12-07 |
| ADR-004 | Database Selection (PostgreSQL) | Aceptado | 2025-12-07 |
| ADR-005 | API Versioning | Aceptado | 2025-12-07 |
| ADR-006 | iOS/Android Min Versions | Pendiente | - |
| ADR-007 | REST vs GraphQL | Pendiente | - |
9.2. Patrones Tecnicos¶
| ID | Patron | Descripcion |
|---|---|---|
| TPAT-001 | Repository Pattern | Abstraccion de datos |
| TPAT-002 | Use Case Pattern | Logica de negocio |
| TPAT-003 | Error Handling | Manejo de errores |
10. Drones Tecnicos¶
El Colectivo de SpecQueen incluye 7 drones tecnicos especializados:
| Drone | Archivo | Proposito |
|---|---|---|
| ArchitectureDrone | .claude/agents/ArchitectureDrone.md |
Coherencia arquitectonica, SOLID, Clean Architecture |
| ApiContractDrone | .claude/agents/ApiContractDrone.md |
Contratos de API, OpenAPI, breaking changes |
| SecurityDrone | .claude/agents/SecurityDrone.md |
Seguridad, OWASP, compliance HIPAA/FDA |
| DatabaseDrone | .claude/agents/DatabaseDrone.md |
Base de datos, modelos, RLS, migraciones |
| PerformanceDrone | .claude/agents/PerformanceDrone.md |
Performance, SLAs, caching, benchmarks |
| TestingDrone | .claude/agents/TestingDrone.md |
Testing, cobertura, trazabilidad |
| DevOpsDrone | .claude/agents/DevOpsDrone.md |
Infraestructura, CI/CD, monitoring |
Ubicacion: Los drones tecnicos estan consolidados en
.claude/agents/como agentes funcionales de Claude Code.
11. Sistema de Iteraciones¶
La especificacion tecnica se desarrolla en iteraciones (IT-XX):
NOTA: Post-RESET (IT-01-RESET), el plan original de 23 iteraciones fue reemplazado por un enfoque de ~15 iteraciones con prioridad "seguridad primero".
| Fase | Iteraciones | Foco | Estado |
|---|---|---|---|
| Consolidacion | IT-01-RESET | Actualizar indice, documentar RESET | Completado |
| Seguridad Servidor | IT-02 | RLS, audit, OWASP | Completado |
| Base de Datos Core | IT-03 | ERD, modelos AUTH/MED/USR | Completado |
| APIs Core | IT-04 | API-AUTH, API-MED, API-USR, API-SYNC | Completado |
| Alertas/Notif | IT-05 | MDL-ALT, MDL-NTF, API-ALT, API-NTF | Completado |
| Testing | IT-06 | Estrategia de testing | Completado |
| Infraestructura | IT-07 | Cloud, CI/CD, monitoring | Completado |
| Calendario/Adherencia | IT-08 | MDL-CAL, MDL-ADH, APIs | Completado |
| Analisis/Recetas | IT-09 | MDL-ANA, MDL-RX, APIs | Completado |
| Interacciones | IT-10 | MDL-INT, API-INT-001, API-INT-002 | Completado |
| Catalogos | IT-11 | API-CAT-001, API-EST-001 | Completado |
| Mobile iOS | IT-12 | MOB-IOS-001 | Completado |
| Mobile Android | IT-13 | MOB-AND-001 | Completado |
| Performance | IT-14 | PERF-001, PERF-002 | Completado |
| Consolidacion v1.0 | IT-15 | Review completo, TECH-SUMMARY | Completado |
Documentos de iteracion: technical-spec/iterations/IT-XX/
Plan detallado: Ver .claude/plans/tech-spec-v2-plan.md
12. Matriz de Trazabilidad¶
| Modulo Funcional | UI Spec | API | Modelo | Servicio |
|---|---|---|---|---|
| MTS-AUTH-001 | UI-MTS-AUTH-001 | API-AUTH-001 | MDL-AUTH-001 | SVC-AUTH-001 |
| MTS-MED-001 | UI-MTS-MED-001 | API-MED-001 | MDL-MED-001 | SVC-MED-001 |
| MTS-USR-001 | UI-MTS-USR-001 | API-USR-001 | MDL-USR-001 | SVC-USR-001 |
| MTS-ALT-001 | UI-MTS-ALT-001 | API-ALT-001 | MDL-ALT-001 | SVC-NTF-001 |
| MTS-NTF-001 | UI-MTS-NTF-001 | API-NTF-001 | MDL-NTF-001 | SVC-NTF-001 |
| MTS-CAL-001 | UI-MTS-CAL-001 | API-CAL-001 | MDL-CAL-001 | SVC-MED-001 |
| MTS-ADH-001 | UI-MTS-ADH-001 | API-ADH-001 | MDL-ADH-001 | SVC-MED-001 |
| ... | ... | ... | ... | ... |
Documento generado por SpecQueen Technical Division - IT-15 v1.0.0 "La resistencia es futil cuando la arquitectura es perfecta."