Skip to content

Events catalog

Every event declared in app.core.events.types.EventType, with its publishers (grepped from event_bus.publish callsites) and subscribers (modules that return the event from get_event_handlers()). Publisher rows anchor at file level — no absolute line numbers, because any unrelated edit above a callsite would shift the line and churn this committed snapshot. Find the call by grepping the file for the publish statement.

Maintained by backend/scripts/generate_catalogs.py.

Summary

EventConstantPublishersSubscribers
agenda.visit_note_updatedEventType.AGENDA_VISIT_NOTE_UPDATEDagendapatient_timeline
appointment.cabinet_changedEventType.APPOINTMENT_CABINET_CHANGEDagenda
appointment.cancelledEventType.APPOINTMENT_CANCELLEDagendaactivity_journal, copilot, integrations, notifications, patient_timeline, recalls, schedules
appointment.checked_inEventType.APPOINTMENT_CHECKED_INagendaactivity_journal, patient_timeline
appointment.completedEventType.APPOINTMENT_COMPLETEDagendaactivity_journal, integrations, patient_timeline, recalls, treatment_plan
appointment.confirmedEventType.APPOINTMENT_CONFIRMEDagendaactivity_journal, patient_timeline
appointment.in_treatmentEventType.APPOINTMENT_IN_TREATMENTagendaactivity_journal, patient_timeline
appointment.no_showEventType.APPOINTMENT_NO_SHOWagendaactivity_journal, integrations, patient_timeline
appointment.scheduledEventType.APPOINTMENT_SCHEDULEDagendaactivity_journal, integrations, notifications, patient_timeline, recalls, schedules
appointment.status_changedEventType.APPOINTMENT_STATUS_CHANGEDagenda
appointment.updatedEventType.APPOINTMENT_UPDATEDagendaschedules
budget.acceptedEventType.BUDGET_ACCEPTEDbudgetactivity_journal, integrations, notifications, patient_timeline, treatment_plan
budget.cancelledEventType.BUDGET_CANCELLEDbudgetactivity_journal, treatment_plan
budget.createdEventType.BUDGET_CREATED
budget.expiredEventType.BUDGET_EXPIREDbudgetpatient_timeline
budget.rejectedEventType.BUDGET_REJECTEDbudgetactivity_journal, integrations, patient_timeline, treatment_plan
budget.reminder_sentEventType.BUDGET_REMINDER_SENTbudgetnotifications, patient_timeline
budget.renegotiatedEventType.BUDGET_RENEGOTIATEDbudgetactivity_journal, patient_timeline, treatment_plan
budget.sentEventType.BUDGET_SENTbudgetactivity_journal, integrations, notifications, patient_timeline
budget.supersededEventType.BUDGET_SUPERSEDEDbudgetactivity_journal, treatment_plan
budget.viewedEventType.BUDGET_VIEWEDbudgetpatient_timeline
call.answeredEventType.CALL_ANSWEREDtelephony
call.endedEventType.CALL_ENDEDtelephony
call.missedEventType.CALL_MISSEDtelephony
call.ringingEventType.CALL_RINGINGtelephony
call.unknown_callerEventType.CALL_UNKNOWN_CALLERtelephony
clinic.createdEventType.CLINIC_CREATEDcore:coreagenda, billing, catalog, medication_catalog, schedules
clinical_notes.administrative_createdEventType.CLINICAL_NOTE_ADMINISTRATIVE_CREATEDclinical_notespatient_timeline
clinical_notes.appointment_administrative_createdEventType.CLINICAL_NOTE_APPOINTMENT_ADMINISTRATIVE_CREATEDclinical_notes
clinical_notes.appointment_clinical_createdEventType.CLINICAL_NOTE_APPOINTMENT_CLINICAL_CREATEDclinical_notes
clinical_notes.diagnosis_createdEventType.CLINICAL_NOTE_DIAGNOSIS_CREATEDclinical_notespatient_timeline
clinical_notes.plan_createdEventType.CLINICAL_NOTE_PLAN_CREATEDclinical_notespatient_timeline
clinical_notes.treatment_createdEventType.CLINICAL_NOTE_TREATMENT_CREATEDclinical_notespatient_timeline
copilot.budget.threshold_reachedEventType.COPILOT_BUDGET_THRESHOLD_REACHED
copilot.digest.sentEventType.COPILOT_DIGEST_SENTcopilot
copilot.session.endedEventType.COPILOT_SESSION_ENDEDcopilot
copilot.session.startedEventType.COPILOT_SESSION_STARTEDcopilot
copilot.tool.invokedEventType.COPILOT_TOOL_INVOKED
credit_note.issuedEventType.CREDIT_NOTE_ISSUED
document.archivedEventType.DOCUMENT_ARCHIVED
document.deletedEventType.DOCUMENT_DELETEDmedia
document.generatedEventType.DOCUMENT_GENERATEDdocumentsactivity_journal
document.uploadedEventType.DOCUMENT_UPLOADEDmediapatient_timeline
email.failedEventType.EMAIL_FAILEDnotifications
email.sentEventType.EMAIL_SENTnotifications
gdpr.breach.reportedEventType.GDPR_BREACH_REPORTEDgdpr
gdpr.consent.grantedEventType.GDPR_CONSENT_GRANTEDgdpr
gdpr.consent.withdrawnEventType.GDPR_CONSENT_WITHDRAWNgdpr
gdpr.erasure.executedEventType.GDPR_ERASURE_EXECUTEDgdpr
gdpr.request.createdEventType.GDPR_REQUEST_CREATEDgdpr
gdpr.request.status_changedEventType.GDPR_REQUEST_STATUS_CHANGEDgdpr
inventory.low_stockEventType.INVENTORY_STOCK_LOWinventory
invoice.cancelledEventType.INVOICE_CANCELLED
invoice.createdEventType.INVOICE_CREATED
invoice.issuedEventType.INVOICE_ISSUEDbillingpatient_timeline
invoice.paidEventType.INVOICE_PAIDbillingpatient_timeline, verifactu
invoice.partial_paidEventType.INVOICE_PARTIAL_PAID
invoice.sentEventType.INVOICE_SENTbillingactivity_journal, notifications
invoice.voidedEventType.INVOICE_VOIDED
lab_order.status_changedEventType.LAB_ORDER_STATUS_CHANGEDlab_ordersactivity_journal
media.attachment_linkedEventType.ATTACHMENT_LINKEDmedia
media.attachment_unlinkedEventType.ATTACHMENT_UNLINKEDmedia
media.pair_createdEventType.PAIR_CREATEDmediapatient_timeline
media.pair_removedEventType.PAIR_REMOVEDmedia
media.photo_uploadedEventType.PHOTO_UPLOADEDmediapatient_timeline
migration.binary.resolvedEventType.MIGRATION_BINARY_RESOLVEDmigration_import
migration.entity.persistedEventType.MIGRATION_ENTITY_PERSISTEDmigration_import
migration.job.completedEventType.MIGRATION_JOB_COMPLETEDmigration_import
migration.job.failedEventType.MIGRATION_JOB_FAILEDmigration_import
migration.job.startedEventType.MIGRATION_JOB_STARTEDmigration_import
notification.deliveredEventType.NOTIFICATION_DELIVEREDnotifications
notification.failedEventType.NOTIFICATION_FAILEDnotificationspatient_timeline
notification.queuedEventType.NOTIFICATION_QUEUEDnotifications
notification.reply_receivedEventType.NOTIFICATION_REPLY_RECEIVEDnotificationspatient_timeline
notification.sentEventType.NOTIFICATION_SENTnotificationspatient_timeline
odontogram.condition.changedEventType.ODONTOGRAM_CONDITION_CHANGEDodontogram
odontogram.surface.updatedEventType.ODONTOGRAM_SURFACE_UPDATEDodontogram
odontogram.tooth.updatedEventType.ODONTOGRAM_TOOTH_UPDATEDodontogram
odontogram.treatment.addedEventType.ODONTOGRAM_TREATMENT_ADDEDodontogram
odontogram.treatment.deletedEventType.ODONTOGRAM_TREATMENT_DELETEDodontogram
odontogram.treatment.performedEventType.ODONTOGRAM_TREATMENT_PERFORMEDodontogramactivity_journal, patient_timeline, payments, periodontogram, treatment_consumables, treatment_plan
odontogram.treatment.status_changedEventType.ODONTOGRAM_TREATMENT_STATUS_CHANGEDodontogram
patient.archivedEventType.PATIENT_ARCHIVEDpatientsactivity_journal, media, periodontogram, recalls
patient.createdEventType.PATIENT_CREATEDpatientsactivity_journal, integrations, notifications
patient.medical_updatedEventType.PATIENT_MEDICAL_UPDATEDpatients_clinicalpatient_timeline
patient.updatedEventType.PATIENT_UPDATEDpatients
payment.allocatedEventType.PAYMENT_ALLOCATEDpaymentsactivity_journal, billing
payment.recordedEventType.PAYMENT_RECORDEDpayments
payment.refundedEventType.PAYMENT_REFUNDEDpaymentsactivity_journal, billing
payment.voidedEventType.PAYMENT_VOIDED
payroll.period.status_changedEventType.PAYROLL_PERIOD_STATUS_CHANGEDpayroll
payroll.profile.updatedEventType.PAYROLL_PROFILE_UPDATEDpayroll
periodontogram.snapshot.closedEventType.PERIODONTOGRAM_SNAPSHOT_CLOSEDperiodontogram
purchase_order.createdEventType.PURCHASE_ORDER_CREATEDpurchase_orders
purchase_order.receivedEventType.PURCHASE_ORDER_RECEIVEDpurchase_orders
purchase_order.status_changedEventType.PURCHASE_ORDER_STATUS_CHANGEDpurchase_orders
recall.cancelledEventType.RECALL_CANCELLEDrecalls
recall.completedEventType.RECALL_COMPLETEDrecalls
recall.createdEventType.RECALL_CREATEDrecallsactivity_journal, recall_reminders
recall.dueEventType.RECALL_DUE
recall.snoozedEventType.RECALL_SNOOZEDrecalls
staff_task.createdEventType.STAFF_TASK_CREATEDstaff_tasks
staff_task.status_changedEventType.STAFF_TASK_STATUS_CHANGEDstaff_tasks
tenant.resolvedEventType.TENANT_RESOLVED
treatment.completedEventType.TREATMENT_COMPLETED
treatment_plan.budget_sync_requestedEventType.TREATMENT_PLAN_BUDGET_SYNC_REQUESTEDtreatment_planactivity_journal, budget
treatment_plan.closedEventType.TREATMENT_PLAN_CLOSEDtreatment_planpatient_timeline
treatment_plan.confirmedEventType.TREATMENT_PLAN_CONFIRMEDtreatment_planpatient_timeline
treatment_plan.createdEventType.TREATMENT_PLAN_CREATEDtreatment_planpatient_timeline
treatment_plan.item_completed_without_noteEventType.TREATMENT_PLAN_ITEM_COMPLETED_WITHOUT_NOTEtreatment_planpatient_timeline
treatment_plan.item_session_completedEventType.TREATMENT_PLAN_ITEM_SESSION_COMPLETEDtreatment_planactivity_journal, payments
treatment_plan.items_reorderedEventType.TREATMENT_PLAN_ITEMS_REORDEREDtreatment_plan
treatment_plan.reactivatedEventType.TREATMENT_PLAN_REACTIVATEDtreatment_planpatient_timeline
treatment_plan.status_changedEventType.TREATMENT_PLAN_STATUS_CHANGEDtreatment_plan
treatment_plan.treatment_addedEventType.TREATMENT_PLAN_TREATMENT_ADDEDtreatment_planactivity_journal, budget
treatment_plan.treatment_completedEventType.TREATMENT_PLAN_TREATMENT_COMPLETEDtreatment_planpatient_timeline, recalls
treatment_plan.treatment_removedEventType.TREATMENT_PLAN_TREATMENT_REMOVEDtreatment_planactivity_journal, budget
verifactu.record.rejectedEventType.VERIFACTU_RECORD_REJECTEDverifactuverifactu

Detail

agenda.visit_note_updated

  • Constant: EventType.AGENDA_VISIT_NOTE_UPDATED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • patient_timeline

appointment.cabinet_changed

  • Constant: EventType.APPOINTMENT_CABINET_CHANGED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:

appointment.cancelled

  • Constant: EventType.APPOINTMENT_CANCELLED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • copilot
    • integrations
    • notifications
    • patient_timeline
    • recalls
    • schedules

appointment.checked_in

  • Constant: EventType.APPOINTMENT_CHECKED_IN
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • patient_timeline

appointment.completed

  • Constant: EventType.APPOINTMENT_COMPLETED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • integrations
    • patient_timeline
    • recalls
    • treatment_plan

appointment.confirmed

  • Constant: EventType.APPOINTMENT_CONFIRMED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • patient_timeline

appointment.in_treatment

  • Constant: EventType.APPOINTMENT_IN_TREATMENT
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • patient_timeline

appointment.no_show

  • Constant: EventType.APPOINTMENT_NO_SHOW
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • integrations
    • patient_timeline

appointment.scheduled

  • Constant: EventType.APPOINTMENT_SCHEDULED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • activity_journal
    • integrations
    • notifications
    • patient_timeline
    • recalls
    • schedules

appointment.status_changed

  • Constant: EventType.APPOINTMENT_STATUS_CHANGED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:

appointment.updated

  • Constant: EventType.APPOINTMENT_UPDATED
  • Publishers:
    • agendabackend/app/modules/agenda/service.py
  • Subscribers:
    • schedules

budget.accepted

  • Constant: EventType.BUDGET_ACCEPTED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • activity_journal
    • integrations
    • notifications
    • patient_timeline
    • treatment_plan

budget.cancelled

  • Constant: EventType.BUDGET_CANCELLED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • activity_journal
    • treatment_plan

budget.created

  • Constant: EventType.BUDGET_CREATED
  • Publishers: none in tree — declared but unused
  • Subscribers:

budget.expired

  • Constant: EventType.BUDGET_EXPIRED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • patient_timeline

budget.rejected

  • Constant: EventType.BUDGET_REJECTED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • activity_journal
    • integrations
    • patient_timeline
    • treatment_plan

budget.reminder_sent

  • Constant: EventType.BUDGET_REMINDER_SENT
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • notifications
    • patient_timeline

budget.renegotiated

  • Constant: EventType.BUDGET_RENEGOTIATED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • activity_journal
    • patient_timeline
    • treatment_plan

budget.sent

  • Constant: EventType.BUDGET_SENT
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • activity_journal
    • integrations
    • notifications
    • patient_timeline

budget.superseded

  • Constant: EventType.BUDGET_SUPERSEDED
  • Publishers:
    • budgetbackend/app/modules/budget/router.py
  • Subscribers:
    • activity_journal
    • treatment_plan

budget.viewed

  • Constant: EventType.BUDGET_VIEWED
  • Publishers:
    • budgetbackend/app/modules/budget/workflow.py
  • Subscribers:
    • patient_timeline

call.answered

  • Constant: EventType.CALL_ANSWERED
  • Publishers:
    • telephonybackend/app/modules/telephony/service.py
  • Subscribers:

call.ended

  • Constant: EventType.CALL_ENDED
  • Publishers:
    • telephonybackend/app/modules/telephony/service.py
  • Subscribers:

call.missed

  • Constant: EventType.CALL_MISSED
  • Publishers:
    • telephonybackend/app/modules/telephony/service.py
  • Subscribers:

call.ringing

  • Constant: EventType.CALL_RINGING
  • Publishers:
    • telephonybackend/app/modules/telephony/service.py
  • Subscribers:

call.unknown_caller

  • Constant: EventType.CALL_UNKNOWN_CALLER
  • Publishers:
    • telephonybackend/app/modules/telephony/service.py
  • Subscribers:

clinic.created

  • Constant: EventType.CLINIC_CREATED
  • Publishers:
    • core:corebackend/app/core/auth/router.py
  • Subscribers:
    • agenda
    • billing
    • catalog
    • medication_catalog
    • schedules

clinical_notes.administrative_created

  • Constant: EventType.CLINICAL_NOTE_ADMINISTRATIVE_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:
    • patient_timeline

clinical_notes.appointment_administrative_created

  • Constant: EventType.CLINICAL_NOTE_APPOINTMENT_ADMINISTRATIVE_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:

clinical_notes.appointment_clinical_created

  • Constant: EventType.CLINICAL_NOTE_APPOINTMENT_CLINICAL_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:

clinical_notes.diagnosis_created

  • Constant: EventType.CLINICAL_NOTE_DIAGNOSIS_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:
    • patient_timeline

clinical_notes.plan_created

  • Constant: EventType.CLINICAL_NOTE_PLAN_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:
    • patient_timeline

clinical_notes.treatment_created

  • Constant: EventType.CLINICAL_NOTE_TREATMENT_CREATED
  • Publishers:
    • clinical_notesbackend/app/modules/clinical_notes/service.py
  • Subscribers:
    • patient_timeline

copilot.budget.threshold_reached

  • Constant: EventType.COPILOT_BUDGET_THRESHOLD_REACHED
  • Publishers: none in tree — declared but unused
  • Subscribers:

copilot.digest.sent

  • Constant: EventType.COPILOT_DIGEST_SENT
  • Publishers:
    • copilotbackend/app/modules/copilot/tasks.py
  • Subscribers:

copilot.session.ended

  • Constant: EventType.COPILOT_SESSION_ENDED
  • Publishers:
    • copilotbackend/app/modules/copilot/router.py
  • Subscribers:

copilot.session.started

  • Constant: EventType.COPILOT_SESSION_STARTED
  • Publishers:
    • copilotbackend/app/modules/copilot/router.py
  • Subscribers:

copilot.tool.invoked

  • Constant: EventType.COPILOT_TOOL_INVOKED
  • Publishers: none in tree — declared but unused
  • Subscribers:

credit_note.issued

  • Constant: EventType.CREDIT_NOTE_ISSUED
  • Publishers: none in tree — declared but unused
  • Subscribers:

document.archived

  • Constant: EventType.DOCUMENT_ARCHIVED
  • Publishers: none in tree — declared but unused
  • Subscribers:

document.deleted

  • Constant: EventType.DOCUMENT_DELETED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:

document.generated

  • Constant: EventType.DOCUMENT_GENERATED
  • Publishers:
    • documentsbackend/app/modules/documents/service.py
  • Subscribers:
    • activity_journal

document.uploaded

  • Constant: EventType.DOCUMENT_UPLOADED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:
    • patient_timeline

email.failed

  • Constant: EventType.EMAIL_FAILED
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:

email.sent

  • Constant: EventType.EMAIL_SENT
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:

gdpr.breach.reported

  • Constant: EventType.GDPR_BREACH_REPORTED
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:
  • Constant: EventType.GDPR_CONSENT_GRANTED
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:
  • Constant: EventType.GDPR_CONSENT_WITHDRAWN
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:

gdpr.erasure.executed

  • Constant: EventType.GDPR_ERASURE_EXECUTED
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:

gdpr.request.created

  • Constant: EventType.GDPR_REQUEST_CREATED
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:

gdpr.request.status_changed

  • Constant: EventType.GDPR_REQUEST_STATUS_CHANGED
  • Publishers:
    • gdprbackend/app/modules/gdpr/service.py
  • Subscribers:

inventory.low_stock

  • Constant: EventType.INVENTORY_STOCK_LOW
  • Publishers:
    • inventorybackend/app/modules/inventory/service.py
  • Subscribers:

invoice.cancelled

  • Constant: EventType.INVOICE_CANCELLED
  • Publishers: none in tree — declared but unused
  • Subscribers:

invoice.created

  • Constant: EventType.INVOICE_CREATED
  • Publishers: none in tree — declared but unused
  • Subscribers:

invoice.issued

  • Constant: EventType.INVOICE_ISSUED
  • Publishers:
    • billingbackend/app/modules/billing/workflow.py
  • Subscribers:
    • patient_timeline

invoice.paid

  • Constant: EventType.INVOICE_PAID
  • Publishers:
    • billingbackend/app/modules/billing/workflow.py
  • Subscribers:
    • patient_timeline
    • verifactu

invoice.partial_paid

  • Constant: EventType.INVOICE_PARTIAL_PAID
  • Publishers: none in tree — declared but unused
  • Subscribers:

invoice.sent

  • Constant: EventType.INVOICE_SENT
  • Publishers:
    • billingbackend/app/modules/billing/router.py
  • Subscribers:
    • activity_journal
    • notifications

invoice.voided

  • Constant: EventType.INVOICE_VOIDED
  • Publishers: none in tree — declared but unused
  • Subscribers:

lab_order.status_changed

  • Constant: EventType.LAB_ORDER_STATUS_CHANGED
  • Publishers:
    • lab_ordersbackend/app/modules/lab_orders/service.py
  • Subscribers:
    • activity_journal

media.attachment_linked

  • Constant: EventType.ATTACHMENT_LINKED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:

media.attachment_unlinked

  • Constant: EventType.ATTACHMENT_UNLINKED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:

media.pair_created

  • Constant: EventType.PAIR_CREATED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:
    • patient_timeline

media.pair_removed

  • Constant: EventType.PAIR_REMOVED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:

media.photo_uploaded

  • Constant: EventType.PHOTO_UPLOADED
  • Publishers:
    • mediabackend/app/modules/media/service.py
  • Subscribers:
    • patient_timeline

migration.binary.resolved

  • Constant: EventType.MIGRATION_BINARY_RESOLVED
  • Publishers:
    • migration_importbackend/app/modules/migration_import/events.py
  • Subscribers:

migration.entity.persisted

  • Constant: EventType.MIGRATION_ENTITY_PERSISTED
  • Publishers:
    • migration_importbackend/app/modules/migration_import/events.py
  • Subscribers:

migration.job.completed

  • Constant: EventType.MIGRATION_JOB_COMPLETED
  • Publishers:
    • migration_importbackend/app/modules/migration_import/events.py
  • Subscribers:

migration.job.failed

  • Constant: EventType.MIGRATION_JOB_FAILED
  • Publishers:
    • migration_importbackend/app/modules/migration_import/events.py
  • Subscribers:

migration.job.started

  • Constant: EventType.MIGRATION_JOB_STARTED
  • Publishers:
    • migration_importbackend/app/modules/migration_import/events.py
  • Subscribers:

notification.delivered

  • Constant: EventType.NOTIFICATION_DELIVERED
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:

notification.failed

  • Constant: EventType.NOTIFICATION_FAILED
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:
    • patient_timeline

notification.queued

  • Constant: EventType.NOTIFICATION_QUEUED
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:

notification.reply_received

  • Constant: EventType.NOTIFICATION_REPLY_RECEIVED
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:
    • patient_timeline

notification.sent

  • Constant: EventType.NOTIFICATION_SENT
  • Publishers:
    • notificationsbackend/app/modules/notifications/gateway.py
  • Subscribers:
    • patient_timeline

odontogram.condition.changed

  • Constant: EventType.ODONTOGRAM_CONDITION_CHANGED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

odontogram.surface.updated

  • Constant: EventType.ODONTOGRAM_SURFACE_UPDATED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

odontogram.tooth.updated

  • Constant: EventType.ODONTOGRAM_TOOTH_UPDATED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

odontogram.treatment.added

  • Constant: EventType.ODONTOGRAM_TREATMENT_ADDED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

odontogram.treatment.deleted

  • Constant: EventType.ODONTOGRAM_TREATMENT_DELETED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

odontogram.treatment.performed

  • Constant: EventType.ODONTOGRAM_TREATMENT_PERFORMED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:
    • activity_journal
    • patient_timeline
    • payments
    • periodontogram
    • treatment_consumables
    • treatment_plan

odontogram.treatment.status_changed

  • Constant: EventType.ODONTOGRAM_TREATMENT_STATUS_CHANGED
  • Publishers:
    • odontogrambackend/app/modules/odontogram/service.py
  • Subscribers:

patient.archived

  • Constant: EventType.PATIENT_ARCHIVED
  • Publishers:
    • patientsbackend/app/modules/patients/service.py
  • Subscribers:
    • activity_journal
    • media
    • periodontogram
    • recalls

patient.created

  • Constant: EventType.PATIENT_CREATED
  • Publishers:
    • patientsbackend/app/modules/patients/service.py
  • Subscribers:
    • activity_journal
    • integrations
    • notifications

patient.medical_updated

  • Constant: EventType.PATIENT_MEDICAL_UPDATED
  • Publishers:
    • patients_clinicalbackend/app/modules/patients_clinical/router.py
  • Subscribers:
    • patient_timeline

patient.updated

  • Constant: EventType.PATIENT_UPDATED
  • Publishers:
    • patientsbackend/app/modules/patients/service.py
  • Subscribers:

payment.allocated

  • Constant: EventType.PAYMENT_ALLOCATED
  • Publishers:
    • paymentsbackend/app/modules/payments/workflow.py
  • Subscribers:
    • activity_journal
    • billing

payment.recorded

  • Constant: EventType.PAYMENT_RECORDED
  • Publishers:
    • paymentsbackend/app/modules/payments/workflow.py
  • Subscribers:

payment.refunded

  • Constant: EventType.PAYMENT_REFUNDED
  • Publishers:
    • paymentsbackend/app/modules/payments/workflow.py
  • Subscribers:
    • activity_journal
    • billing

payment.voided

  • Constant: EventType.PAYMENT_VOIDED
  • Publishers: none in tree — declared but unused
  • Subscribers:

payroll.period.status_changed

  • Constant: EventType.PAYROLL_PERIOD_STATUS_CHANGED
  • Publishers:
    • payrollbackend/app/modules/payroll/service.py
  • Subscribers:

payroll.profile.updated

  • Constant: EventType.PAYROLL_PROFILE_UPDATED
  • Publishers:
    • payrollbackend/app/modules/payroll/service.py
  • Subscribers:

periodontogram.snapshot.closed

  • Constant: EventType.PERIODONTOGRAM_SNAPSHOT_CLOSED
  • Publishers:
    • periodontogrambackend/app/modules/periodontogram/service.py
  • Subscribers:

purchase_order.created

  • Constant: EventType.PURCHASE_ORDER_CREATED
  • Publishers:
    • purchase_ordersbackend/app/modules/purchase_orders/service.py
  • Subscribers:

purchase_order.received

  • Constant: EventType.PURCHASE_ORDER_RECEIVED
  • Publishers:
    • purchase_ordersbackend/app/modules/purchase_orders/service.py
  • Subscribers:

purchase_order.status_changed

  • Constant: EventType.PURCHASE_ORDER_STATUS_CHANGED
  • Publishers:
    • purchase_ordersbackend/app/modules/purchase_orders/service.py
  • Subscribers:

recall.cancelled

  • Constant: EventType.RECALL_CANCELLED
  • Publishers:
    • recallsbackend/app/modules/recalls/service.py
  • Subscribers:

recall.completed

  • Constant: EventType.RECALL_COMPLETED
  • Publishers:
    • recallsbackend/app/modules/recalls/service.py
  • Subscribers:

recall.created

  • Constant: EventType.RECALL_CREATED
  • Publishers:
    • recallsbackend/app/modules/recalls/service.py
  • Subscribers:
    • activity_journal
    • recall_reminders

recall.due

  • Constant: EventType.RECALL_DUE
  • Publishers: none in tree — declared but unused
  • Subscribers:

recall.snoozed

  • Constant: EventType.RECALL_SNOOZED
  • Publishers:
    • recallsbackend/app/modules/recalls/service.py
  • Subscribers:

staff_task.created

  • Constant: EventType.STAFF_TASK_CREATED
  • Publishers:
    • staff_tasksbackend/app/modules/staff_tasks/service.py
  • Subscribers:

staff_task.status_changed

  • Constant: EventType.STAFF_TASK_STATUS_CHANGED
  • Publishers:
    • staff_tasksbackend/app/modules/staff_tasks/service.py
  • Subscribers:

tenant.resolved

  • Constant: EventType.TENANT_RESOLVED
  • Publishers: none in tree — declared but unused
  • Subscribers:

treatment.completed

  • Constant: EventType.TREATMENT_COMPLETED
  • Publishers: none in tree — declared but unused
  • Subscribers:

treatment_plan.budget_sync_requested

  • Constant: EventType.TREATMENT_PLAN_BUDGET_SYNC_REQUESTED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • activity_journal
    • budget

treatment_plan.closed

  • Constant: EventType.TREATMENT_PLAN_CLOSED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline

treatment_plan.confirmed

  • Constant: EventType.TREATMENT_PLAN_CONFIRMED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline

treatment_plan.created

  • Constant: EventType.TREATMENT_PLAN_CREATED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline

treatment_plan.item_completed_without_note

  • Constant: EventType.TREATMENT_PLAN_ITEM_COMPLETED_WITHOUT_NOTE
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline

treatment_plan.item_session_completed

  • Constant: EventType.TREATMENT_PLAN_ITEM_SESSION_COMPLETED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • activity_journal
    • payments

treatment_plan.items_reordered

  • Constant: EventType.TREATMENT_PLAN_ITEMS_REORDERED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:

treatment_plan.reactivated

  • Constant: EventType.TREATMENT_PLAN_REACTIVATED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline

treatment_plan.status_changed

  • Constant: EventType.TREATMENT_PLAN_STATUS_CHANGED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:

treatment_plan.treatment_added

  • Constant: EventType.TREATMENT_PLAN_TREATMENT_ADDED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • activity_journal
    • budget

treatment_plan.treatment_completed

  • Constant: EventType.TREATMENT_PLAN_TREATMENT_COMPLETED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/events.py
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • patient_timeline
    • recalls

treatment_plan.treatment_removed

  • Constant: EventType.TREATMENT_PLAN_TREATMENT_REMOVED
  • Publishers:
    • treatment_planbackend/app/modules/treatment_plan/service.py
  • Subscribers:
    • activity_journal
    • budget

verifactu.record.rejected

  • Constant: EventType.VERIFACTU_RECORD_REJECTED
  • Publishers:
    • verifactubackend/app/modules/verifactu/services/submission_queue.py
  • Subscribers:
    • verifactu