Skip to main content
Spec: ../../../specs/cl/specs/CL-45-allergy-adverse-reaction-tracking.md Status: 📝 Draft (event schemas land with Phase 3) Last Updated: 2026-05-08

Publishers

Payload (UUID-only, no PHI)

No allergen names, reaction text, or patient identifiers in payload — consumers fetch via RLS-gated reads.

API Contracts (synchronous)

getActiveAllergies(chartId): AllergyForAlert[]

  • Exposed via @/platform/clinical.
  • Consumers: CL-05 medication ordering, CL-06 e-prescribing.
  • Returns active allergies filtered by RLS + cl_has_sud_consent for SUD-MAT class.
  • Shape: { id, allergen_code, allergen_class_code, allergen_display, reaction_severity, criticality }[].

Idempotency & Retry

  • All events idempotent on (event, payload.allergy_id, metadata.timestamp).
  • Subscribers MUST tolerate at-least-once delivery.

Security

  • No PHI in event payloads (constitution §4).
  • SUD-MAT-class payloads still emit but with is_sud_mat_class=true; consumers re-resolve via consent-gated read before disclosure.
  • Redisclosure log entry written by CL-16 / CL-20 when exporting SUD-MAT class allergies.

Open Items

  • Confirm channel name (cl_events vs spec-specific) with EVENT_CONTRACTS.md owner before Phase 3.
  • Confirm GR audit subscription mechanism (event vs trigger) for cl_allergy_alert_overridden.