---
title: 事件枚举(Action / SubjectType)
description: push 事件的 subjectType 与 action 全量封闭集速查。
icon: ListTree
---

> Push **形态 C** 事件的 `subjectType` + `action` 取值必须落在下表封闭集内(`subjectType` 16 个、`action` 23 个)。真理源:`packages/types`(`SubjectType` / `Action`)。
>
> 形态 A / 文件 / 直连由 PAC 内部归一,宿主无需关心本表。

---

## 全量速查(按 `subjectType` 分组)

每个 `subjectType` 对应一组 `action`;同一 `subjectType` 的不同 `action` = 同一类对象的不同业务时机。

| `subjectType` | `action` | 业务时机 |
|---|---|---|
| `consultation` 咨询 | `consultation_created` | 咨询创建 |
| `appointment` 预约 | `appointment_created` | 预约创建 |
| | `appointment_changed` | 预约变更 |
| | `appointment_cancelled` | 预约取消 |
| | `appointment_fulfilled` | 患者到诊(预约履约) |
| `visit_registration` 挂号 | `visit_registered` | 挂号 |
| `visit_reception` 接待登记 | `reception_completed` | 前台接待完成 |
| `encounter` 医生接诊 | `doctor_encounter_started` | 医生接诊开始(只元数据) |
| `diagnosis` 诊断 | `diagnosis_recorded` | 诊断记录 |
| `treatment` 治疗 | `treatment_planned` | 治疗计划录入 |
| | `treatment_started` | 治疗开始 |
| | `treatment_completed` | 治疗完成 |
| `recommendation` 医生建议 | `recommendation_extracted` | 医生建议(抽出 / 规则识别) |
| `emr` 病历文档 | `emr_submitted` | 病历提交 |
| | `emr_rejected` | 病历打回 |
| `order` 医嘱 / 收费单 | `order_submitted` | 收费单 / 医嘱提交 |
| `payment` 收款 | `payment_received` | 收款 |
| `refund` 退费 | `refund_created` | 退费 |
| `image` 影像资料 | `image_uploaded` | 影像上传 |
| `recharge` 充值 / 储值 | `recharge_received` | 充值 / 储值 / 办卡入账 |
| `complaint` 投诉 | `complaint_filed` | 投诉提交 |
| | `complaint_resolved` | 投诉结案 |
| `referral` 转介绍 | `referral_recorded` | 转介绍记录 |

---

## 说明

- `subjectType` / `action` 都是**封闭集** —— 宿主侧 resource 不允许造新名,必须归一化到上表;不认识的值按校验失败(`10002`)拒绝。
- `撤回 / 删除`:对应记录重发,`action` 用同类的 `*_cancelled`(目前枚举内仅 `appointment_cancelled`;其它资源的撤回语义后续补)。详见 [Push 通道 §6](/docs/integration/channel-push)。
- `treatment` 的"计划 vs 实际"由 PAC 内部按 fact 区分,宿主只发对应 `action`(`treatment_planned` / `treatment_started` / `treatment_completed`)。
