Files
hms/docs/event-registry.md
iven 22e35ad233
Some checks failed
CI / rust-check (push) Has been cancelled
CI / rust-test (push) Has been cancelled
CI / frontend-build (push) Has been cancelled
CI / security-audit (push) Has been cancelled
docs(event): 创建事件注册表文档 — 28 个事件类型全量记录
2026-04-30 08:35:32 +08:00

5.2 KiB
Raw Blame History

HMS 事件注册表

生成日期: 2026-04-30 | 审计后状态

概述

所有模块间通信通过 EventBus + DomainEvent 实现outbox 模式)。本文档记录每个事件类型的发布者、消费者和当前状态。

状态标记

  • OK: 发布者和消费者均正常
  • FIRE-AND-FORGET: 发布者正常,消费者为日志记录(无业务逻辑)
  • PENDING: 常量已定义但功能未实现

事件清单

预约管理

事件类型 发布者 消费者 状态
appointment.created appointment_service.rs erp-message (预约创建通知) OK
appointment.confirmed appointment_service.rs erp-message (预约确认通知患者) OK
appointment.cancelled appointment_service.rs erp-message (预约取消通知) OK
appointment.reminder appointment_service.rs (后台任务) erp-message (预约提醒) OK

咨询管理

事件类型 发布者 消费者 状态
consultation.opened consultation_service.rs erp-message (医生新会话通知) OK
consultation.closed consultation_service.rs erp-message (患者会话结束通知) OK
consultation.new_message consultation_service.rs erp-message (医生新消息通知) OK

随访管理

事件类型 发布者 消费者 状态
follow_up.created follow_up_service.rs erp-message (被分配人新任务通知) OK
follow_up.completed follow_up_service.rs erp-message (患者随访完成通知) OK
follow_up.overdue follow_up_service.rs (后台6h扫描) erp-message (逾期提醒) OK

化验与健康数据

事件类型 发布者 消费者 状态
lab_report.uploaded health_data_service.rs erp-message (审计日志) FIRE-AND-FORGET
lab_report.reviewed health_data_service.rs erp-message (患者审核完成通知) OK
health_data.critical_alert health_data_service.rs erp-message (医生危急值通知) OK
daily_monitoring.created daily_monitoring_service.rs erp-message (审计日志) FIRE-AND-FORGET

患者管理

事件类型 发布者 消费者 状态
patient.created patient_service.rs erp-health event.rs (欢迎通知) OK
patient.updated patient_service.rs erp-message (审计日志) FIRE-AND-FORGET
patient.verified — (功能未实现) PENDING
patient.deceased — (功能未实现) PENDING

积分系统

事件类型 发布者 消费者 状态
points.earned points_service.rs erp-message (患者积分到账通知) OK
points.exchanged points_service.rs erp-message (患者兑换成功通知) OK
points.expired points_service.rs (后台24h清理) erp-message (患者过期提醒) OK

内容管理

事件类型 发布者 消费者 状态
article.published article_service.rs erp-message (审计日志) FIRE-AND-FORGET
article.rejected article_service.rs erp-message (作者审核驳回通知) OK

知情同意

事件类型 发布者 消费者 状态
consent.granted consent_service.rs erp-health event.rs (审计) OK
consent.revoked consent_service.rs erp-health event.rs (审计) OK

设备数据

事件类型 发布者 消费者 状态
device.readings.synced device_reading_service.rs erp-health event.rs (告警引擎评估) OK

医生管理

事件类型 发布者 消费者 状态
doctor.online_status_changed doctor_service.rs erp-message (审计日志) FIRE-AND-FORGET

AI 模块

事件类型 发布者 消费者 状态
ai.analysis.completed erp-ai/handler erp-health event.rs (透析统计联动) OK
ai.analysis.failed erp-ai/handler erp-message (医生失败通知) OK
dialysis.record.created erp-dialysis/service erp-health event.rs (透析统计) OK

基础设施事件(非健康模块)

事件类型 发布者 消费者 状态
workflow.task.completed erp-workflow erp-health event.rs OK
message.sent erp-message erp-health event.rs (日志) FIRE-AND-FORGET
message.send (内部命令) erp-health event.rs erp-message (消息发送触发) OK

统计

指标 数量
事件类型总数 28
OK完整链路 20
FIRE-AND-FORGET仅日志 6
PENDING未实现 2

后台任务

任务 间隔 模块 说明
随访逾期扫描 6h erp-health 标记过期任务并发布 follow_up.overdue
积分过期清理 24h erp-health 批量过期积分并发布 points.expired
预约提醒 1h erp-health 扫描明天预约并发布 appointment.reminder