> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Domain Events Reference

> Platform domain events from KnownEventName, reconciled against the fw_workflow_events DB registry and publishEvent call sites. Generated from code.

The durable domain events the platform can publish via `publishEvent` — **204 typed events** across 11 areas, extracted from the `KnownEventName` union and reconciled against the `fw_workflow_events` DB registry (**183 registered**) and **76 `publishEvent` call sites** (**66 distinct event names** published; 2 sites use a computed name). This is the generated catalog; payload contracts and when-to-use guidance live in EVENT\_CONTRACTS.md.

The **Reg.** column marks whether each typed event is registered in the DB registry, and **Pub.** whether a `publishEvent` call site references it. Divergence is summarized at the end.

## HR — Workforce

| Event                                         | Reg. | Pub. | Notes |
| --------------------------------------------- | :--: | :--: | ----- |
| `hr_benefits_enrollment_approved`             |   ✓  |   —  |       |
| `hr_benefits_enrollment_terminated`           |   ✓  |   —  |       |
| `hr_contractor_contract_renewal_due`          |   ✓  |   —  |       |
| `hr_contractor_created`                       |   ✓  |   —  |       |
| `hr_contractor_credential_expiring`           |   ✓  |   —  |       |
| `hr_credential_expired`                       |   ✓  |   —  |       |
| `hr_credential_verified`                      |   ✓  |   —  |       |
| `hr_disciplinary_action_termination`          |   ✓  |   —  |       |
| `hr_employee_hired`                           |   ✓  |   ✓  |       |
| `hr_employee_terminated`                      |   ✓  |   —  |       |
| `hr_employee_transferred`                     |   ✓  |   ✓  |       |
| `hr_everify_case_created`                     |   ✓  |   —  |       |
| `hr_everify_deadline_approaching`             |   ✓  |   —  |       |
| `hr_everify_status_changed`                   |   ✓  |   —  |       |
| `hr_everify_tnc_opened`                       |   ✓  |   —  |       |
| `hr_final_paycheck_status_changed`            |   ✓  |   —  |       |
| `hr_fingerprint_clearance_expiration_warning` |   ✓  |   —  |       |
| `hr_fingerprint_clearance_status_changed`     |   ✓  |   ✓  |       |
| `hr_incident_reported`                        |   ✓  |   ✓  |       |
| `hr_internal_application_advanced`            |   ✓  |   ✓  |       |
| `hr_internal_application_submitted`           |   ✓  |   ✓  |       |
| `hr_interview_scorecard_assigned`             |   ✓  |   —  |       |
| `hr_interview_scorecard_submitted`            |   ✓  |   —  |       |
| `hr_leave_request_approved`                   |   ✓  |   —  |       |
| `hr_leave_request_submitted`                  |   ✓  |   —  |       |
| `hr_offboarding_started`                      |   ✓  |   —  |       |
| `hr_offboarding_task_created`                 |   ✓  |   —  |       |
| `hr_onboarding_started`                       |   ✓  |   —  |       |
| `hr_onboarding_task_created`                  |   ✓  |   —  |       |
| `hr_pip_terminated`                           |   ✓  |   —  |       |
| `hr_timesheet_exception_created`              |   ✓  |   —  |       |

## RH — Recovery Housing

| Event                           | Reg. | Pub. | Notes |
| ------------------------------- | :--: | :--: | ----- |
| `rh_bed_assigned`               |   ✓  |   —  |       |
| `rh_bed_released`               |   ✓  |   —  |       |
| `rh_invoice_creation_requested` |   ✓  |   —  |       |
| `rh_phase_advanced`             |   ✓  |   —  |       |
| `rh_resident_admitted`          |   ✓  |   —  |       |
| `rh_resident_discharged`        |   ✓  |   —  |       |

## CL — Clinical

| Event                                    | Reg. | Pub. | Notes |
| ---------------------------------------- | :--: | :--: | ----- |
| `cl_allergy_alert_overridden`            |   ✓  |   ✓  |       |
| `cl_allergy_recorded`                    |   ✓  |   ✓  |       |
| `cl_allergy_status_changed`              |   ✓  |   ✓  |       |
| `cl_assessment_completed`                |   ✓  |   ✓  |       |
| `cl_care_gap_identified`                 |   —  |   —  |       |
| `cl_ccda_document_received`              |   ✓  |   —  |       |
| `cl_ccda_document_sent`                  |   ✓  |   —  |       |
| `cl_diagnosis_confirmed`                 |   ✓  |   ✓  |       |
| `cl_fhir_bundle_exported`                |   ✓  |   —  |       |
| `cl_group_encounters_approved`           |   ✓  |   —  |       |
| `cl_group_session_documented`            |   ✓  |   —  |       |
| `cl_incident_reported`                   |   ✓  |   —  |       |
| `cl_intake_finalized`                    |   ✓  |   ✓  |       |
| `cl_lab_order_created`                   |   ✓  |   ✓  |       |
| `cl_lab_result_received`                 |   ✓  |   —  |       |
| `cl_lab_result_reviewed`                 |   ✓  |   ✓  |       |
| `cl_loc_assessment_completed`            |   ✓  |   ✓  |       |
| `cl_loc_override_recorded`               |   ✓  |   ✓  |       |
| `cl_loc_recommendation_changed`          |   ✓  |   ✓  |       |
| `cl_marketplace_bundle_imported`         |   ✓  |   —  |       |
| `cl_medication_synced`                   |   —  |   —  |       |
| `cl_moud_adherence_risk`                 |   ✓  |   —  |       |
| `cl_moud_monitoring_overdue`             |   ✓  |   —  |       |
| `cl_nka_confirmed`                       |   ✓  |   ✓  |       |
| `cl_outcome_assessment_recorded`         |   —  |   —  |       |
| `cl_outcome_measure_recorded`            |   ✓  |   —  |       |
| `cl_pathway_milestone_completed`         |   ✓  |   —  |       |
| `cl_pathway_milestone_overdue`           |   ✓  |   —  |       |
| `cl_pathway_variance_created`            |   ✓  |   —  |       |
| `cl_pdmp_query_completed`                |   ✓  |   —  |       |
| `cl_problem_list_updated`                |   ✓  |   ✓  |       |
| `cl_quality_measure_period_calculated`   |   ✓  |   —  |       |
| `cl_restraint_event_documented`          |   ✓  |   —  |       |
| `cl_risk_screening_high_risk`            |   ✓  |   ✓  |       |
| `cl_safety_plan_activated`               |   ✓  |   —  |       |
| `cl_safety_plan_signed`                  |   ✓  |   —  |       |
| `cl_sdoh_screening_completed`            |   ✓  |   —  |       |
| `cl_tefca_exchange_blocked`              |   ✓  |   —  |       |
| `cl_tefca_exchange_completed`            |   ✓  |   —  |       |
| `cl_tefca_query_submitted`               |   ✓  |   —  |       |
| `cl_telehealth_consent_captured`         |   ✓  |   —  |       |
| `cl_telehealth_consent_expiring`         |   ✓  |   —  |       |
| `cl_telehealth_consent_revoked`          |   ✓  |   —  |       |
| `cl_telehealth_session_safety_completed` |   ✓  |   —  |       |
| `cl_virtual_group_concluded`             |   ✓  |   —  |       |
| `cl_virtual_group_started`               |   ✓  |   —  |       |

## PM — Practice Management

| Event                        | Reg. | Pub. | Notes |
| ---------------------------- | :--: | :--: | ----- |
| `pm_eligibility_verified`    |   ✓  |   ✓  |       |
| `pm_group_session_cancelled` |   ✓  |   ✓  |       |
| `pm_group_session_scheduled` |   ✓  |   ✓  |       |
| `pm_message_sent`            |   ✓  |   —  |       |
| `pm_time_off_approved`       |   ✓  |   ✓  |       |
| `pm_time_off_denied`         |   ✓  |   ✓  |       |
| `pm_time_off_requested`      |   ✓  |   ✓  |       |
| `pm_urgent_message_sent`     |   ✓  |   —  |       |

## FA — Finance & Revenue

| Event                         | Reg. | Pub. | Notes |
| ----------------------------- | :--: | :--: | ----- |
| `fa_budget_approved`          |   ✓  |   —  |       |
| `fa_close_period_approved`    |   ✓  |   —  |       |
| `fa_close_period_completed`   |   ✓  |   ✓  |       |
| `fa_close_period_started`     |   ✓  |   —  |       |
| `fa_close_task_assigned`      |   ✓  |   ✓  |       |
| `fa_close_task_completed`     |   ✓  |   —  |       |
| `fa_expense_report_approved`  |   ✓  |   ✓  |       |
| `fa_expense_report_rejected`  |   ✓  |   ✓  |       |
| `fa_expense_report_submitted` |   ✓  |   ✓  |       |
| `fa_idc_allocated`            |   ✓  |   —  |       |
| `fa_idc_rate_calculated`      |   ✓  |   —  |       |
| `fa_invoice_created`          |   ✓  |   —  |       |
| `fa_invoice_finalized`        |   ✓  |   —  |       |
| `fa_invoice_paid`             |   ✓  |   —  |       |
| `fa_reconciliation_completed` |   ✓  |   ✓  |       |
| `fa_reimbursement_processed`  |   ✓  |   ✓  |       |
| `fa_revenue_contract_signed`  |   ✓  |   —  |       |

## GR — Governance & Compliance

| Event                               | Reg. | Pub. | Notes |
| ----------------------------------- | :--: | :--: | ----- |
| `gr_coi_cycle_launched`             |   ✓  |   —  |       |
| `gr_incident_created`               |   ✓  |   —  |       |
| `gr_whistleblower_report_submitted` |   ✓  |   —  |       |

## FW — Forms & Workflow

| Event                        | Reg. | Pub. | Notes |
| ---------------------------- | :--: | :--: | ----- |
| `fw_event_deprecated`        |   ✓  |   ✓  |       |
| `fw_event_schema_updated`    |   ✓  |   —  |       |
| `fw_external_form_submitted` |   ✓  |   —  |       |
| `fw_form_submitted`          |   ✓  |   —  |       |

## IT — IT Asset Management

| Event                           | Reg. | Pub. | Notes |
| ------------------------------- | :--: | :--: | ----- |
| `it_account_deactivated`        |   ✓  |   —  |       |
| `it_account_provisioned`        |   ✓  |   —  |       |
| `it_asset_assigned`             |   ✓  |   —  |       |
| `it_asset_disposed`             |   ✓  |   —  |       |
| `it_asset_purchased`            |   ✓  |   —  |       |
| `it_contract_expiring`          |   ✓  |   —  |       |
| `it_license_expiring`           |   ✓  |   —  |       |
| `it_license_renewed`            |   ✓  |   —  |       |
| `it_provisioning_completed`     |   ✓  |   —  |       |
| `it_provisioning_started`       |   ✓  |   —  |       |
| `it_purchase_request_approved`  |   ✓  |   —  |       |
| `it_purchase_request_submitted` |   ✓  |   —  |       |
| `it_ticket_created`             |   ✓  |   —  |       |
| `it_ticket_status_changed`      |   ✓  |   —  |       |

## CE — Community Engagement

| Event                                | Reg. | Pub. | Notes |
| ------------------------------------ | :--: | :--: | ----- |
| `ce_contact_created`                 |   ✓  |   —  |       |
| `ce_crisis_alert_created`            |   ✓  |   ✓  |       |
| `ce_hubspot_backfill_completed`      |   ✓  |   —  |       |
| `ce_hubspot_connected`               |   ✓  |   —  |       |
| `ce_hubspot_connection_needs_reauth` |   ✓  |   —  |       |
| `ce_hubspot_sync_dead_letter`        |   ✓  |   —  |       |
| `ce_lead_assigned`                   |   ✓  |   —  |       |
| `ce_lead_converted`                  |   ✓  |   ✓  |       |
| `ce_lead_converted_to_patient`       |   ✓  |   ✓  |       |
| `ce_lead_converted_to_resident`      |   ✓  |   ✓  |       |
| `ce_lead_reassigned`                 |   ✓  |   —  |       |
| `ce_lead_unassigned`                 |   ✓  |   —  |       |
| `ce_lead_waitlisted`                 |   ✓  |   ✓  |       |
| `ce_screening_completed`             |   ✓  |   ✓  |       |
| `ce_web_form_submitted`              |   ✓  |   —  |       |

## PF — Platform

| Event                                 | Reg. | Pub. | Notes |
| ------------------------------------- | :--: | :--: | ----- |
| `pf_agent_run_budget_exceeded`        |   —  |   —  |       |
| `pf_agent_run_checkpointed`           |   —  |   —  |       |
| `pf_agent_run_completed`              |   —  |   —  |       |
| `pf_agent_run_failed`                 |   —  |   —  |       |
| `pf_agent_run_started`                |   —  |   —  |       |
| `pf_analytics_dashboard_scheduled`    |   —  |   —  |       |
| `pf_analytics_dataset_registered`     |   —  |   —  |       |
| `pf_analytics_embed_token_minted`     |   —  |   —  |       |
| `pf_analytics_embed_token_revoked`    |   —  |   —  |       |
| `pf_analytics_mart_refreshed`         |   —  |   —  |       |
| `pf_analytics_report_delivered`       |   —  |   —  |       |
| `pf_compliance_drift_detected`        |   ✓  |   —  |       |
| `pf_compliance_evidence_ready`        |   ✓  |   —  |       |
| `pf_cowork_agent_joined`              |   —  |   —  |       |
| `pf_cowork_agent_left`                |   —  |   —  |       |
| `pf_cowork_thread_created`            |   —  |   —  |       |
| `pf_edge_api_deprecated_version_used` |   ✓  |   —  |       |
| `pf_sla_breached`                     |   ✓  |   —  |       |
| `pf_sla_completed`                    |   ✓  |   —  |       |
| `pf_sla_warning_triggered`            |   ✓  |   —  |       |

## Other

| Event                                 | Reg. | Pub. | Notes |
| ------------------------------------- | :--: | :--: | ----- |
| `appointment_cancelled`               |   ✓  |   ✓  |       |
| `appointment_checked_in`              |   ✓  |   —  |       |
| `appointment_completed`               |   ✓  |   —  |       |
| `appointment_no_show`                 |   ✓  |   ✓  |       |
| `appointment_scheduled`               |   ✓  |   ✓  |       |
| `audit_finding_created`               |   ✓  |   —  |       |
| `bank_balance_updated`                |   ✓  |   ✓  |       |
| `capitation_payment_received`         |   —  |   ✓  |       |
| `cash_position_updated`               |   ✓  |   ✓  |       |
| `cds_alert_triggered`                 |   ✓  |   ✓  |       |
| `cds_rule_overridden`                 |   ✓  |   ✓  |       |
| `charge_status_changed`               |   ✓  |   ✓  |       |
| `claim_status_changed`                |   ✓  |   ✓  |       |
| `claim_submitted`                     |   ✓  |   ✓  |       |
| `clearinghouse_batch_error`           |   ✓  |   —  |       |
| `clearinghouse_batch_submitted`       |   ✓  |   —  |       |
| `clinical_note_finalized`             |   ✓  |   ✓  |       |
| `compensation_cost_allocated`         |   —  |   ✓  |       |
| `credit_limit_approaching`            |   ✓  |   ✓  |       |
| `encounter_completed`                 |   ✓  |   ✓  |       |
| `incident_created`                    |   ✓  |   —  |       |
| `incident_resolved`                   |   ✓  |   —  |       |
| `investment_maturity_approaching`     |   ✓  |   ✓  |       |
| `medication_reconciliation_completed` |   ✓  |   ✓  |       |
| `merit_increase_approved`             |   —  |   ✓  |       |
| `patient_registered`                  |   ✓  |   ✓  |       |
| `payment_posted`                      |   ✓  |   ✓  |       |
| `payment_processed`                   |   ✓  |   ✓  |       |
| `peer_encounter_finalized`            |   ✓  |   ✓  |       |
| `prescription_sent`                   |   ✓  |   —  |       |
| `procedure_gap_identified`            |   ✓  |   ✓  |       |
| `process_discovered`                  |   ✓  |   —  |       |
| `process_health_changed`              |   ✓  |   —  |       |
| `referral_accepted`                   |   ✓  |   —  |       |
| `regulatory_report_submitted`         |   ✓  |   ✓  |       |
| `skill_gap_identified`                |   —  |   ✓  |       |
| `telehealth_session_completed`        |   ✓  |   —  |       |
| `telehealth_session_started`          |   ✓  |   —  |       |
| `treatment_plan_event_triggered`      |   ✓  |   —  |       |
| `write_off_approved`                  |   ✓  |   ✓  |       |

## Registry reconciliation

Divergence across the three sources of truth — the `KnownEventName` union, the `fw_workflow_events` DB registry, and `publishEvent` call sites. `check-event-registry-sync` is the live gate for union↔DB drift; this page also surfaces the call-site dimension the typed catalog alone cannot see.

### Typed but not registered in the DB (21)

In `KnownEventName` but absent from `fw_workflow_events` — consumers/edge functions cannot discover them.

* `capitation_payment_received`
* `cl_care_gap_identified`
* `cl_medication_synced`
* `cl_outcome_assessment_recorded`
* `compensation_cost_allocated`
* `merit_increase_approved`
* `pf_agent_run_budget_exceeded`
* `pf_agent_run_checkpointed`
* `pf_agent_run_completed`
* `pf_agent_run_failed`
* `pf_agent_run_started`
* `pf_analytics_dashboard_scheduled`
* `pf_analytics_dataset_registered`
* `pf_analytics_embed_token_minted`
* `pf_analytics_embed_token_revoked`
* `pf_analytics_mart_refreshed`
* `pf_analytics_report_delivered`
* `pf_cowork_agent_joined`
* `pf_cowork_agent_left`
* `pf_cowork_thread_created`
* `skill_gap_identified`

### Registered in the DB but not typed (0)

In `fw_workflow_events` but absent from `KnownEventName` — publishers lose type safety.

*None — in sync.*

### Published but not typed (0)

Referenced by a `publishEvent` call site but absent from `KnownEventName`.

*None — in sync.*

### Published but not registered (4)

Referenced by a `publishEvent` call site but absent from `fw_workflow_events`.

* `capitation_payment_received`
* `compensation_cost_allocated`
* `merit_increase_approved`
* `skill_gap_identified`
