Skip to Content
Luna AICompliance Logging

Compliance Logging

Luna logs all clinical interactions and escalations for regulatory compliance and quality assurance.

Clinical Interaction Logging

Every conversation that involves clinical content is logged via logClinicalInteraction():

logClinicalInteraction({ userId: user.id, sessionId: conversationId, interactionType: 'chat', toolsUsed: ['getLabResults', 'checkContraindication'], biomarkersDiscussed: ['testosterone-total', 'tsh'], peptidesDiscussed: ['bpc-157'], guardrailResult: { passed: true, violations: [], }, timestamp: new Date().toISOString(), });

What Gets Logged

FieldDescription
userIdClerk user ID
sessionIdConversation session ID
interactionTypechat, voice, support
toolsUsedWhich Luna tools were invoked
biomarkersDiscussedBiomarker codes mentioned
peptidesDiscussedPeptides mentioned
guardrailResultPost-response guardrail check outcome
timestampISO timestamp

Escalation Logging

Escalations are logged when:

  • Emergency detection triggers
  • Guardrail violations are critical
  • Patient context contains emergency flags
logEscalation({ userId: user.id, type: 'guardrail_violation', severity: 'critical', details: { layer: 'safety', violation: 'dosage_exceeded', message: 'Response suggested dosage above safety limit', }, timestamp: new Date().toISOString(), });

Escalation Types

TypeTriggerSeverity
emergency_detectedCrisis keywords in user messageCritical
guardrail_violationCritical guardrail failureCritical
patient_emergency_flagPatient context has emergency flagsCritical
emergency_dismissalUser dismisses emergency concernWarning

Guardrail-Triggered Logging

After every AI response, the guardrail result is checked:

const guardrailResult = await checkGuardrails(guardrailInput); if (guardrailResult.shouldEscalate) { logEscalation({ userId: user.id, type: 'guardrail_violation', severity: 'critical', details: guardrailResult.violations, }); } logClinicalInteraction({ ...interactionData, guardrailResult, });

Compliance Reports

The compliance logging data supports:

  • Audit trail — Complete record of all clinical AI interactions
  • Quality review — Identify conversations with guardrail violations
  • Regulatory reporting — HIPAA-compliant interaction records
  • Safety monitoring — Track emergency detection and escalation patterns
  • Tool usage analytics — Understand which tools are most used

Data Flow

AI Response Generated Guardrails Check ──→ Violations? ──→ logEscalation() logClinicalInteraction() Store in conversation_history Record patient_event (if clinical)