liuyun 19876fdadd chore(openspec): 归档 C1/C2/C3 change,spec 合并进主 specs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-15 01:13:08 +08:00

42 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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** 写一条审计日志