515 lines
14 KiB
YAML
515 lines
14 KiB
YAML
# =============================================================================
|
|
# TRACEABILITY MATRIX - ERP Clínicas (Vertical)
|
|
# =============================================================================
|
|
# Generado: 2025-12-08
|
|
# Sistema: NEXUS + SIMCO v2.2.0
|
|
# Propósito: Matriz de trazabilidad Módulos -> SPECS -> Componentes
|
|
# =============================================================================
|
|
|
|
metadata:
|
|
proyecto: ERP Clínicas
|
|
codigo: CL
|
|
version: 1.0.0
|
|
fecha_actualizacion: 2025-12-08
|
|
base_core: erp-core v0.6.0
|
|
normativa: NOM-024-SSA3-2012, LFPDPPP
|
|
|
|
# =============================================================================
|
|
# RESUMEN GLOBAL
|
|
# =============================================================================
|
|
resumen:
|
|
modulos_total: 12
|
|
modulos_documentados: 12
|
|
story_points_total: 395
|
|
specs_core_aplicables: 22
|
|
specs_implementadas: 0
|
|
cobertura_specs: 0%
|
|
estado: PLANIFICACION_COMPLETA
|
|
|
|
# =============================================================================
|
|
# TRAZABILIDAD POR MÓDULO
|
|
# =============================================================================
|
|
trazabilidad:
|
|
# ---------------------------------------------------------------------------
|
|
# CL-001: Fundamentos (90% herencia + 2FA obligatorio)
|
|
# ---------------------------------------------------------------------------
|
|
CL-001:
|
|
nombre: Fundamentos
|
|
herencia: 90%
|
|
prioridad: P0
|
|
sp: 0
|
|
extiende:
|
|
- MGN-001 (auth)
|
|
- MGN-002 (users)
|
|
- MGN-003 (roles)
|
|
- MGN-004 (tenants)
|
|
database:
|
|
heredadas: [auth.users, auth.sessions, auth.roles, tenants.tenants]
|
|
extensiones:
|
|
- auth.two_factor_configs
|
|
- auth.medical_certifications
|
|
backend:
|
|
heredados: [AuthService, UserService, RoleService, TenantService]
|
|
extensiones:
|
|
- TwoFactorService
|
|
- MedicalAuthService
|
|
frontend:
|
|
heredados: [LoginForm, UserProfile, RoleSelector]
|
|
extensiones:
|
|
- TwoFactorSetup
|
|
- TwoFactorVerify
|
|
specs_core:
|
|
- SPEC-SISTEMA-SECUENCIAS
|
|
- SPEC-SEGURIDAD-API-KEYS-PERMISOS
|
|
seguridad:
|
|
- 2FA_obligatorio_personal_medico
|
|
- encriptacion_datos_sensibles
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-002: Pacientes
|
|
# ---------------------------------------------------------------------------
|
|
CL-002:
|
|
nombre: Pacientes
|
|
herencia: 40%
|
|
prioridad: P0
|
|
sp: 34
|
|
database:
|
|
tablas:
|
|
- clinical.patients
|
|
- clinical.patient_contacts
|
|
- clinical.patient_insurance
|
|
- clinical.patient_allergies
|
|
- clinical.emergency_contacts
|
|
backend:
|
|
servicios:
|
|
- PatientService
|
|
- PatientSearchService
|
|
- InsuranceService
|
|
frontend:
|
|
componentes:
|
|
- PatientList
|
|
- PatientForm
|
|
- PatientDetail
|
|
- PatientSearch
|
|
- InsuranceCard
|
|
- AllergyBadge
|
|
specs_core:
|
|
- SPEC-MAIL-THREAD-TRACKING (comunicación pacientes)
|
|
seguridad:
|
|
- datos_encriptados: [allergies, medical_history]
|
|
- consentimiento_requerido: true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-003: Citas
|
|
# ---------------------------------------------------------------------------
|
|
CL-003:
|
|
nombre: Citas
|
|
herencia: 30%
|
|
prioridad: P0
|
|
sp: 42
|
|
database:
|
|
tablas:
|
|
- clinical.appointments
|
|
- clinical.appointment_slots
|
|
- clinical.doctors
|
|
- clinical.specialties
|
|
- clinical.appointment_reminders
|
|
backend:
|
|
servicios:
|
|
- AppointmentService
|
|
- DoctorService
|
|
- ScheduleService
|
|
- ReminderService
|
|
frontend:
|
|
componentes:
|
|
- AppointmentCalendar
|
|
- AppointmentForm
|
|
- DoctorScheduleView
|
|
- SlotSelector
|
|
- ReminderConfig
|
|
- AppointmentConfirmation
|
|
specs_core:
|
|
- SPEC-INTEGRACION-CALENDAR (Google Calendar, Outlook)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-004: Consultas
|
|
# ---------------------------------------------------------------------------
|
|
CL-004:
|
|
nombre: Consultas
|
|
herencia: 0%
|
|
prioridad: P0
|
|
sp: 47
|
|
database:
|
|
tablas:
|
|
- clinical.consultations
|
|
- clinical.vital_signs
|
|
- clinical.diagnoses
|
|
- clinical.icd10_codes
|
|
- clinical.consultation_notes
|
|
backend:
|
|
servicios:
|
|
- ConsultationService
|
|
- VitalSignsService
|
|
- DiagnosisService
|
|
- ICD10Service
|
|
frontend:
|
|
componentes:
|
|
- ConsultationForm
|
|
- SOAPNote
|
|
- VitalSignsCapture
|
|
- DiagnosisSearch
|
|
- ICD10Selector
|
|
- ConsultationHistory
|
|
specs_core: []
|
|
normativa:
|
|
- NOM-024-SSA3-2012 (estructura SOAP)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-005: Recetas
|
|
# ---------------------------------------------------------------------------
|
|
CL-005:
|
|
nombre: Recetas
|
|
herencia: 20%
|
|
prioridad: P0
|
|
sp: 34
|
|
database:
|
|
tablas:
|
|
- clinical.prescriptions
|
|
- clinical.prescription_items
|
|
- clinical.medications
|
|
- clinical.drug_interactions
|
|
backend:
|
|
servicios:
|
|
- PrescriptionService
|
|
- MedicationService
|
|
- InteractionChecker
|
|
- PrescriptionPrintService
|
|
frontend:
|
|
componentes:
|
|
- PrescriptionForm
|
|
- MedicationSearch
|
|
- DosageCalculator
|
|
- InteractionAlert
|
|
- PrescriptionPrint
|
|
specs_core:
|
|
- SPEC-WIZARD-TRANSIENT-MODEL (asistente receta)
|
|
caracteristicas:
|
|
- firma_electronica: true
|
|
- validacion_interacciones: true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-006: Laboratorio
|
|
# ---------------------------------------------------------------------------
|
|
CL-006:
|
|
nombre: Laboratorio
|
|
herencia: 10%
|
|
prioridad: P1
|
|
sp: 42
|
|
database:
|
|
tablas:
|
|
- laboratory.lab_orders
|
|
- laboratory.lab_tests
|
|
- laboratory.test_results
|
|
- laboratory.reference_ranges
|
|
- laboratory.test_panels
|
|
backend:
|
|
servicios:
|
|
- LabOrderService
|
|
- TestResultService
|
|
- ReferenceRangeService
|
|
frontend:
|
|
componentes:
|
|
- LabOrderForm
|
|
- TestSelector
|
|
- ResultsCapture
|
|
- ResultsViewer
|
|
- AbnormalHighlight
|
|
- TrendChart
|
|
specs_core:
|
|
- SPEC-TRAZABILIDAD-LOTES-SERIES (muestras)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-007: Farmacia
|
|
# ---------------------------------------------------------------------------
|
|
CL-007:
|
|
nombre: Farmacia
|
|
herencia: 60%
|
|
prioridad: P1
|
|
sp: 34
|
|
database:
|
|
tablas:
|
|
- pharmacy.pharmacy_stock
|
|
- pharmacy.medication_lots
|
|
- pharmacy.dispensations
|
|
- pharmacy.controlled_substances
|
|
backend:
|
|
servicios:
|
|
- PharmacyStockService
|
|
- DispensationService
|
|
- ControlledSubstanceService
|
|
frontend:
|
|
componentes:
|
|
- PharmacyStock
|
|
- DispensationForm
|
|
- LotSelector
|
|
- ExpirationAlert
|
|
- ControlledLog
|
|
specs_core:
|
|
- SPEC-VALORACION-INVENTARIO
|
|
- SPEC-TRAZABILIDAD-LOTES-SERIES
|
|
- SPEC-INVENTARIOS-CICLICOS
|
|
caracteristicas:
|
|
- control_caducidades: true
|
|
- sustancias_controladas: true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-008: Facturación
|
|
# ---------------------------------------------------------------------------
|
|
CL-008:
|
|
nombre: Facturacion
|
|
herencia: 70%
|
|
prioridad: P0
|
|
sp: 21
|
|
database:
|
|
tablas:
|
|
- invoicing.medical_invoices
|
|
- invoicing.insurance_claims
|
|
- invoicing.service_charges
|
|
backend:
|
|
servicios:
|
|
- MedicalInvoiceService
|
|
- InsuranceClaimService
|
|
- CFDIService
|
|
frontend:
|
|
componentes:
|
|
- MedicalInvoiceForm
|
|
- InvoiceList
|
|
- InsuranceClaimForm
|
|
- PaymentCapture
|
|
specs_core:
|
|
- SPEC-FACTURACION-CFDI (servicios médicos)
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-009: Reportes
|
|
# ---------------------------------------------------------------------------
|
|
CL-009:
|
|
nombre: Reportes
|
|
herencia: 40%
|
|
prioridad: P1
|
|
sp: 34
|
|
database:
|
|
tablas: []
|
|
backend:
|
|
servicios:
|
|
- MedicalReportService
|
|
- StatisticsService
|
|
- ExportService
|
|
frontend:
|
|
componentes:
|
|
- AppointmentReport
|
|
- RevenueReport
|
|
- PatientStatistics
|
|
- DoctorProductivity
|
|
- DiagnosisDistribution
|
|
specs_core: []
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-010: Telemedicina
|
|
# ---------------------------------------------------------------------------
|
|
CL-010:
|
|
nombre: Telemedicina
|
|
herencia: 0%
|
|
prioridad: P2
|
|
sp: 47
|
|
database:
|
|
tablas:
|
|
- telemedicine.video_sessions
|
|
- telemedicine.session_recordings
|
|
- telemedicine.waiting_room
|
|
backend:
|
|
servicios:
|
|
- VideoSessionService
|
|
- WaitingRoomService
|
|
- RecordingService
|
|
frontend:
|
|
componentes:
|
|
- VideoConsultation
|
|
- WaitingRoom
|
|
- VirtualExamRoom
|
|
- ScreenShare
|
|
- ChatPanel
|
|
specs_core: []
|
|
caracteristicas:
|
|
- encriptacion_e2e: true
|
|
- grabacion_opcional: true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-011: Expediente Clínico
|
|
# ---------------------------------------------------------------------------
|
|
CL-011:
|
|
nombre: Expediente
|
|
herencia: 10%
|
|
prioridad: P0
|
|
sp: 39
|
|
database:
|
|
tablas:
|
|
- clinical.medical_records
|
|
- clinical.clinical_notes
|
|
- clinical.attachments
|
|
- clinical.consent_forms
|
|
- clinical.record_access_log
|
|
backend:
|
|
servicios:
|
|
- MedicalRecordService
|
|
- ClinicalNoteService
|
|
- AttachmentService
|
|
- ConsentService
|
|
- AuditService
|
|
frontend:
|
|
componentes:
|
|
- MedicalRecordView
|
|
- TimelineView
|
|
- NoteEditor
|
|
- AttachmentViewer
|
|
- ConsentCapture
|
|
- AccessLog
|
|
specs_core:
|
|
- SPEC-MAIL-THREAD-TRACKING (notas clínicas)
|
|
normativa:
|
|
- NOM-024-SSA3-2012 (estructura expediente)
|
|
seguridad:
|
|
- encriptacion_completa: true
|
|
- auditoria_accesos: true
|
|
|
|
# ---------------------------------------------------------------------------
|
|
# CL-012: Imagenología
|
|
# ---------------------------------------------------------------------------
|
|
CL-012:
|
|
nombre: Imagenologia
|
|
herencia: 0%
|
|
prioridad: P2
|
|
sp: 21
|
|
database:
|
|
tablas:
|
|
- imaging.imaging_studies
|
|
- imaging.dicom_metadata
|
|
- imaging.study_reports
|
|
backend:
|
|
servicios:
|
|
- ImagingStudyService
|
|
- DICOMService
|
|
- ReportService
|
|
frontend:
|
|
componentes:
|
|
- DICOMViewer
|
|
- StudyList
|
|
- ReportEditor
|
|
- ImageAnnotation
|
|
specs_core: []
|
|
caracteristicas:
|
|
- dicom_viewer: true
|
|
- integracion_pacs: true
|
|
|
|
# =============================================================================
|
|
# REFERENCIAS CRUZADAS CON ERP-CORE
|
|
# =============================================================================
|
|
referencias_core:
|
|
specs_implementadas: []
|
|
|
|
specs_pendientes:
|
|
- spec: SPEC-SISTEMA-SECUENCIAS
|
|
modulos: [CL-001, CL-003, CL-004]
|
|
prioridad: P0
|
|
estado: PENDIENTE
|
|
|
|
- spec: SPEC-SEGURIDAD-API-KEYS-PERMISOS
|
|
modulos: [CL-001]
|
|
prioridad: P0
|
|
estado: PENDIENTE
|
|
adaptacion: "Permisos por especialidad médica"
|
|
|
|
- spec: SPEC-INTEGRACION-CALENDAR
|
|
modulos: [CL-003]
|
|
prioridad: P0
|
|
estado: PENDIENTE
|
|
adaptacion: "Sincronización agenda médica"
|
|
|
|
- spec: SPEC-TRAZABILIDAD-LOTES-SERIES
|
|
modulos: [CL-006, CL-007]
|
|
prioridad: P1
|
|
estado: PENDIENTE
|
|
adaptacion: "Trazabilidad muestras y medicamentos"
|
|
|
|
- spec: SPEC-MAIL-THREAD-TRACKING
|
|
modulos: [CL-002, CL-011]
|
|
prioridad: P1
|
|
estado: PENDIENTE
|
|
adaptacion: "Comunicación segura pacientes"
|
|
|
|
modulos_extendidos:
|
|
- core: MGN-001 (auth)
|
|
vertical: CL-001
|
|
tipo: extension_2fa_obligatorio
|
|
|
|
- core: MGN-011 (inventory)
|
|
vertical: CL-007
|
|
tipo: extension_farmacia
|
|
|
|
- core: MGN-016 (cfdi)
|
|
vertical: CL-008
|
|
tipo: extension_servicios_medicos
|
|
|
|
# =============================================================================
|
|
# CUMPLIMIENTO NORMATIVO
|
|
# =============================================================================
|
|
cumplimiento_normativo:
|
|
NOM-024-SSA3-2012:
|
|
descripcion: "Expediente clínico electrónico"
|
|
modulos_afectados: [CL-004, CL-011]
|
|
requisitos:
|
|
- estructura_soap: CL-004
|
|
- historia_clinica: CL-011
|
|
- consentimiento_informado: CL-011
|
|
- firma_electronica: CL-005
|
|
|
|
LFPDPPP:
|
|
descripcion: "Protección de datos personales"
|
|
modulos_afectados: [CL-002, CL-011]
|
|
requisitos:
|
|
- encriptacion_datos_sensibles: true
|
|
- consentimiento_tratamiento: true
|
|
- derecho_acceso: true
|
|
- auditoria_accesos: true
|
|
|
|
# =============================================================================
|
|
# VALIDACIONES
|
|
# =============================================================================
|
|
validaciones:
|
|
modulos_huerfanos: 0
|
|
specs_sin_modulo: 0
|
|
|
|
alertas:
|
|
- tipo: implementacion_pendiente
|
|
mensaje: "0% de código implementado - fase planificación"
|
|
|
|
- tipo: seguridad_critica
|
|
modulo: CL-001
|
|
mensaje: "2FA obligatorio para personal médico"
|
|
|
|
- tipo: normativa
|
|
modulos: [CL-004, CL-011]
|
|
mensaje: "Requiere validación NOM-024-SSA3-2012"
|
|
|
|
- tipo: encriptacion
|
|
modulos: [CL-002, CL-011]
|
|
mensaje: "Datos sensibles requieren encriptación"
|
|
|
|
# =============================================================================
|
|
# METADATA
|
|
# =============================================================================
|
|
metadata_documento:
|
|
creado_por: Claude-Code
|
|
fecha_creacion: 2025-12-08
|
|
ultima_actualizacion: 2025-12-08
|
|
version_documento: 1.0.0
|