42 lines
1.6 KiB
Markdown
42 lines
1.6 KiB
Markdown
# backend/elder Specification
|
||
|
||
## Purpose
|
||
定义服务机构端待遇档案(elder)域的后端行为——老人建档、十态状态机、评估结论承载、身份证防重与掩码。
|
||
|
||
## Requirements
|
||
|
||
### Requirement: 老人建档
|
||
`POST /elder` MUST 校验身份证 18 位+校验位、出生日期由身份证带出、同机构 id_card_no 唯一、待遇止 > 起;建档后按待遇有效期置初始状态(active 或 waiting_period)。
|
||
|
||
#### Scenario: 身份证防重
|
||
- **WHEN** 同机构重复录入同一 id_card_no
|
||
- **THEN** 提示「已有档案」,不创建重复档案
|
||
|
||
### Requirement: 等级唯一来源
|
||
建档时 assess_level/care_level MUST 绑定评估结论副本(assess_evidence_file):有等级必须有副本,否则拒绝(ELDER_LEVEL_REQUIRES_EVIDENCE)。
|
||
|
||
#### Scenario: 等级绑定副本
|
||
- **WHEN** 建档请求携带 assess_level 但无 assess_evidence_file
|
||
- **THEN** 拒绝并返回 ELDER_LEVEL_REQUIRES_EVIDENCE
|
||
|
||
### Requirement: 十态状态机
|
||
`elder.treat_status` MUST 支持十态;状态变更 MUST 写 elder_status_log 且 change_reason 必填。
|
||
|
||
#### Scenario: 状态变更留痕
|
||
- **WHEN** 变更状态缺 change_reason
|
||
- **THEN** 拒绝并返回校验错误
|
||
|
||
### Requirement: 评估结论副本上传
|
||
`POST /elder/assess-evidence` MUST 上传文件到 MinIO 并返回 file key。
|
||
|
||
#### Scenario: 上传成功
|
||
- **WHEN** 上传评估结论副本
|
||
- **THEN** 返回 file key,供建档引用
|
||
|
||
### Requirement: 身份证明文查看留痕
|
||
仅 admin/qc 可查看身份证明文,且每次明文查看 MUST 落审计。
|
||
|
||
#### Scenario: 明文查看留痕
|
||
- **WHEN** qc 查看老人身份证明文
|
||
- **THEN** 写一条审计日志
|