HMS 事件注册表
生成日期: 2026-05-04 | 全系统审计后更新
概述
所有模块间通信通过 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 |
告警系统
| 事件类型 |
发布者 |
消费者 |
状态 |
alert.triggered |
alert_engine.rs |
erp-health (告警通知) + alert_aggregator (聚合检测) |
OK |
alert.aggregated |
alert_aggregator |
SSE 推送 (聚合通知) |
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 |
用户与认证(erp-auth)
| 事件类型 |
发布者 |
消费者 |
状态 |
user.login |
auth_service.rs:161 |
— |
FIRE-AND-FORGET |
user.created |
user_service.rs:94 |
— |
FIRE-AND-FORGET |
user.deleted |
user_service.rs:284 |
erp-workflow (终止用户流程实例) |
OK |
role.created |
role_service.rs:129 |
— |
FIRE-AND-FORGET |
role.deleted |
role_service.rs:250 |
— |
FIRE-AND-FORGET |
organization.created |
org_service.rs:123 |
— |
FIRE-AND-FORGET |
organization.deleted |
org_service.rs:310 |
— |
FIRE-AND-FORGET |
department.created |
dept_service.rs:141 |
— |
FIRE-AND-FORGET |
department.deleted |
dept_service.rs:350 |
— |
FIRE-AND-FORGET |
position.created |
position_service.rs:109 |
— |
FIRE-AND-FORGET |
position.deleted |
position_service.rs:240 |
— |
FIRE-AND-FORGET |
系统配置(erp-config)
| 事件类型 |
发布者 |
消费者 |
状态 |
setting.updated |
setting_service.rs:117 |
— |
FIRE-AND-FORGET |
setting.created |
setting_service.rs:163 |
— |
FIRE-AND-FORGET |
dictionary.created |
dictionary_service.rs:121 |
— |
FIRE-AND-FORGET |
dictionary.deleted |
dictionary_service.rs:240 |
— |
FIRE-AND-FORGET |
menu.created |
menu_service.rs:148 |
— |
FIRE-AND-FORGET |
menu.deleted |
menu_service.rs:284 |
— |
FIRE-AND-FORGET |
numbering_rule.created |
numbering_service.rs:142 |
— |
FIRE-AND-FORGET |
numbering_rule.deleted |
numbering_service.rs:276 |
— |
FIRE-AND-FORGET |
工作流引擎(erp-workflow)
| 事件类型 |
发布者 |
消费者 |
状态 |
process_definition.created |
definition_service.rs:103 |
— |
FIRE-AND-FORGET |
process_definition.published |
definition_service.rs:266 |
— |
FIRE-AND-FORGET |
process_definition.deprecated |
definition_service.rs:325 |
— |
FIRE-AND-FORGET |
process_instance.started |
instance_service.rs:126 |
— |
FIRE-AND-FORGET |
task.completed |
task_service.rs:231 |
erp-health (匹配 workflow.task.completed) |
OK |
task.timeout |
module.rs:115 |
— |
FIRE-AND-FORGET |
插件系统(erp-plugin)
| 事件类型 |
发布者 |
消费者 |
状态 |
plugin.trigger.{manifest_id}.{trigger_name} |
data_service.rs:79 |
notification.rs (管理通知) |
OK |
plugin.config.updated |
service.rs:477 |
— |
FIRE-AND-FORGET |
| (WASM 动态事件) |
engine.rs:817 |
动态订阅(manifest 声明) |
OK |
统计
| 指标 |
数量 |
| 事件类型总数 |
51 |
| OK(完整链路) |
24 |
| FIRE-AND-FORGET(仅日志/审计) |
25 |
| PENDING(未实现) |
2 |
| erp-health 域事件 |
26 |
| erp-auth 域事件 |
11 |
| erp-config 域事件 |
8 |
| erp-workflow 域事件 |
6 |
| erp-plugin 域事件 |
2+(含动态) |
后台任务
| 任务 |
间隔 |
模块 |
说明 |
| 随访逾期扫描 |
6h |
erp-health |
标记过期任务并发布 follow_up.overdue |
| 积分过期清理 |
24h |
erp-health |
批量过期积分并发布 points.expired |
| 预约提醒 |
1h |
erp-health |
扫描明天预约并发布 appointment.reminder |