Qué es TriaCR
TriaCR es una plataforma de evidencia asistida por IA para investigación clínica. Su posicionamiento regulatorio es preciso e intencional:
- 🚫 AI diagnosis engine
- 🚫 Autonomous clinical decision system
- 🚫 Autonomous trial enrollment engine
- 🚫 Medical advice platform
- ✅ AI-assisted research evidence platform
- ✅ Human-supervised pre-evaluation system
- ✅ Governed longitudinal evidence platform
- ✅ Validated research workflow system
14 Normas No Negociables
La plataforma cumple con 14 frameworks regulatorios de forma no negociable. Ninguna funcionalidad puede activarse que viole cualquiera de estas normas.
10 Principios Fundamentales
Estos principios son arquitectónicos — afectan cada decisión de diseño, no son capas adicionales.
human_review_queue. Ninguna decisión clínica puede marcarse como final sin que un investigador haya aprobado. SLA: 24h máximo.is_final_decision en ai_outputs no puede ser true sin human_reviewed_by. Constraint a nivel de BD.evidence_provenance.v1.00.YYYYMMDD.NNN.access_log y admin_sessions. Cada login, consulta y operación queda registrada con timestamp, IP hash, y user agent hash.subject_uid (UUID v4). La tabla subject_registry tiene constraint que rechaza patrones de email o cédula.workflow_definitions, workflow_steps y workflow_executions. Cada ejecución tiene un execution_log append-only.ai_outputs.ai_label: AI_GENERATED, AI_ASSISTED, PRE_EVALUATION_ONLY, REQUIRES_HUMAN_REVIEW.longitudinal_events inmutable con sequence_number garantizado. NUNCA se pierde fecha de evento, orden temporal ni relación farmacológica.Arquitectura por Capas
Las 7 capas están estrictamente separadas. Nunca se mezcla AI generation con source evidence ni human approvals.
Blockchain e Inmutabilidad
TriaCR implementa inmutabilidad en tres capas independientes.
⛓️ Hash-Chain Local (PostgreSQL)
Cada inserción en audit_trail_log genera automáticamente un anchor en blockchain_anchors vía trigger. Cada anchor encadena el hash del registro con el hash anterior, creando una cadena criptográfica verificable.
chain_hash[N] = SHA256(chain_hash[N-1] + record_hash[N] + source_table + source_record_id + timestamp)
GENESIS → SHA256(...) → SHA256(...) → SHA256(...) → SHA256(...) → [current]
Verificación: GET /rest/v1/triacr.v_blockchain_integrity → integrity_status IN ('INTACT','GAP_DETECTED')
AWS QLDB (Quantum Ledger)
Ledger criptográfico administrado por AWS. Inmutable por definición de arquitectura — ningún usuario, ni AWS, puede modificar registros sin dejar evidencia. Cada documento tiene un digest verificable.
triacr-ledger · us-east-1Norma: 21 CFR Part 11 §11.10(e) · ALCOA+
Estado: ⚠️ Crear en AWS Console
Contratos de Integridad
Las restricciones de inmutabilidad están implementadas a nivel de base de datos mediante constraints y triggers que son independientes de la capa de aplicación. No pueden desactivarse vía API.
Mecanismo: PostgreSQL BEFORE UPDATE/DELETE TRIGGER → RAISE EXCEPTION
Matriz de Implementación
Estado actual de implementación por componente y norma.
| Componente | Normas cubiertas | Tablas/Funciones | Estado |
|---|---|---|---|
| Audit Trail Inmutable | 21 CFR Part 11ALCOA+ICH GCP 5.18 | audit_trail_log, fn_protect_audit_log | ✅ Live |
| Blockchain Hash-Chain | ALCOA+21 CFR Part 11 | blockchain_anchors, anchor_to_chain() | ✅ Live |
| AWS QLDB Ledger | 21 CFR Part 11ALCOA+ | triacr-ledger · us-east-1 | ⏳ Crear |
| 8 Roles Regulatorios | ICH GCP 4.1Ley 9234 | system_roles, Cognito Pool | ✅ Live |
| Privacy by Design | Ley 8968HIPAAGDPR | subject_registry, SHA-256 PII | ✅ Live |
| AI Output Labeling | WHO AI EthicsOECD AI | ai_outputs, human_review_queue | ✅ Live |
| Human-in-the-loop | WHO AI EthicsICH GCP | human_review_queue, trigger auto | ✅ Live |
| Versionado de Protocolos | ALCOA+ICH GCP 6.0 | protocol_versions (append-only) | ✅ Live |
| SNOMED/LOINC/ICD-10 Bindings | SNOMED CTLOINCICD-10 | snomed_bindings, loinc_bindings, icd10_bindings | ✅ Live |
| OMOP CDM v5.4 Real | OMOP CDMHL7 FHIR R4 | omop.person/visit/condition/drug/measurement | ✅ Live |
| Longitudinal Events | OMOP CDMICH GCP | longitudinal_events (inmutable) | ✅ Live |
| Pharmacovigilance | WHO PVICH E2A | safety_signals, CIOMS Form I | ⚠️ Parcial |
| RAG Layer | ICH GCPALCOA+ | rag_chunks, rag_embeddings (pgvector) | ⚠️ En implementación |
| GAMP 5 Validation | GAMP 521 CFR Part 11 | system_validation (IQ/OQ/PQ) | 📋 Pendiente |
| CLOBI/IRB Approval | Ley 9234 Art.30 | Registro ante CLOBI | 📋 Pendiente |
Formato de Versionado
Todos los artefactos versionados usan un formato estándar consistente.
v{major}.{minor:02d}.{YYYYMMDD}.{seq:03d}
Ejemplo: v1.00.20260513.001 — Major 1, Minor 00, Fecha 13 mayo 2026, Secuencia 001
Aplica a: chunks, embeddings, prompts, protocolos, RAG datasets, fine-tuning datasets, configuraciones AI, workflows, reglas de elegibilidad. Implementado en función triacr.generate_version_code().
Contacto Regulatorio
Para consultas sobre protocolos activos, criterios de elegibilidad o participación en estudios.
Ejercicio de derechos ARCO (Ley 8968 CR), consultas sobre tratamiento de datos, solicitudes de eliminación.
Auditores CLOBI, monitores CRO, autoridades regulatorias. Acceso al portal de cumplimiento documentado.