39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
# 患者模块说明(`src/patients`)
|
||
|
||
## 1. 目标
|
||
|
||
- B 端:维护患者、手术、植入设备及生命周期数据。
|
||
- C 端:患者本人小程序登录后,按当前手机号查询自己的生命周期。
|
||
|
||
## 2. B 端能力
|
||
|
||
- 患者列表、详情、创建、更新、删除
|
||
- 手术记录新增
|
||
- 植入设备录入与历史保留
|
||
|
||
## 3. C 端能力
|
||
|
||
- 患者本人通过小程序手机号登录
|
||
- `GET /c/patients/me`
|
||
- `GET /c/patients/my-lifecycle`
|
||
- 查询口径:按 `FamilyMiniAppAccount.phone` 唯一命中 `Patient.phone`
|
||
- `me` 返回内容:当前 C 端账号信息 + 当前手机号命中的患者基础档案
|
||
- `my-lifecycle` 返回内容:顶层患者信息 + 手术事件/调压事件时间线
|
||
|
||
## 4. 当前规则
|
||
|
||
- 同一个手机号在 C 端只允许命中 1 份患者档案。
|
||
- 若同一个手机号命中多份患者档案,登录阶段直接返回冲突错误。
|
||
- C 端手机号来源于患者手术/档案中维护的联系电话。
|
||
- 仅已登录的 C 端小程序账号可访问 `me` 与 `my-lifecycle`。
|
||
- C 端登录账号不存在或 token 无效时返回 `401`。
|
||
- 手机号下无患者档案时,登录阶段直接拦截,不进入生命周期查询。
|
||
|
||
## 5. 典型接口
|
||
|
||
- `GET /b/patients`
|
||
- `POST /b/patients`
|
||
- `POST /b/patients/:id/surgeries`
|
||
- `GET /c/patients/me`
|
||
- `GET /c/patients/my-lifecycle`
|