- tasks.md 任务看板(路线图阶段0~2拆为14个小步任务,一次领一个) - progress.md 只追加执行流水(补记文档初始化与JKDA00002联调) - docs/current-state.md 可覆盖当前快照(pre-code现实+已验证事实) - init.sh 统一验证入口(无 go.mod 时指向 T-001) - AGENTS.md 通用 agent 薄入口;CLAUDE.md 会话启动改为三件套流程 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
45 lines
3.2 KiB
Markdown
45 lines
3.2 KiB
Markdown
# chis_osi 对接设计文档
|
||
|
||
本目录是「广东省基层医疗机构管理系统(CHIS)统一对外服务接口(OSI)」对接项目 `chis_osi` 的设计文档集。
|
||
|
||
## 背景
|
||
|
||
省基卫厂家(和宇健康科技)已提供**官方服务端对接接口**《统一对外服务接口 API 规范文档 V1.5.7》。
|
||
本项目基于该官方接口重新对接,并参考既有项目 `chis_upload`(通过逆向 Chrome F12 网页接口实现)的工程经验,
|
||
设计一套**更简洁、更稳定、更易维护**的整体架构。
|
||
|
||
> 关键判断:官方 OSI 接口是**无状态的服务端到服务端 JSON 接口**,鉴权方式为请求头 MD5 签名。
|
||
> 这意味着 `chis_upload` 中为对付网页逆向而引入的大量复杂度(SM2 登录加密、Cookie/Redis 会话、
|
||
> 身份链路反查、Chrome 报文对齐补齐)在新项目中**可以整体删除**。新项目的核心复杂度从「如何骗过网页」
|
||
> 转移到「如何把上游 PHIS 数据正确映射成 OSI 文档约定的字段」。
|
||
|
||
## 文档索引
|
||
|
||
| 文档 | 内容 |
|
||
| --- | --- |
|
||
| [01-OSI接口规范分析.md](01-OSI接口规范分析.md) | 官方 OSI 接口的鉴权、报文约定、全量接口清单与 serviceId 映射、文档坑点 |
|
||
| [02-旧项目架构评估.md](02-旧项目架构评估.md) | `chis_upload` 的分层与组件、哪些复杂度由逆向驱动、哪些经验值得保留 |
|
||
| [03-目标架构设计.md](03-目标架构设计.md) | `chis_osi` 的整体架构、分层、目录结构、数据流与时序、关键设计决策 |
|
||
| [04-字段与接口映射.md](04-字段与接口映射.md) | OSI 接口↔内部能力映射、PHIS→OSI 字段/字典映射策略、checkId 幂等键 |
|
||
| [05-实施路线图.md](05-实施路线图.md) | 分阶段落地计划、配置项、可观测性、测试与联调清单 |
|
||
| [06-厂家联调清单.md](06-厂家联调清单.md) | 向厂家索要的凭据/环境/契约/样本清单,带回填状态,可直接发对接人 |
|
||
| [current-state.md](current-state.md) | **当前实现状态快照**(可覆盖):仓库现实、已验证事实、可运行命令、blocker |
|
||
|
||
## 执行工件(根目录)
|
||
|
||
| 文件 | 作用 |
|
||
| --- | --- |
|
||
| [`../CLAUDE.md`](../CLAUDE.md) | 仓库级硬规则(Claude Code 入口,唯一权威规则源) |
|
||
| [`../AGENTS.md`](../AGENTS.md) | 通用 agent 薄入口,导航到 CLAUDE.md 与三件套 |
|
||
| [`../tasks.md`](../tasks.md) | 任务看板:小步任务 + 依赖 + 验收 + 状态,一次只领一个 |
|
||
| [`../progress.md`](../progress.md) | 执行流水(只追加):每轮变更/验证/阻塞/决策 |
|
||
| [`../init.sh`](../init.sh) | 统一启动与验证入口(Go 骨架建立后:download → test → run) |
|
||
|
||
维护原则:需求/契约变化先改文档再改代码;任务状态变化同步 `tasks.md` + `progress.md` + `current-state.md`;接口契约以 `01`/`04`(含 §8 实测)为准,代码不得另起一套。
|
||
|
||
## 一句话结论
|
||
|
||
> 用一个**无状态 OSI 客户端(MD5 签名 + 统一信封)** + 一个**表驱动的 PHIS→OSI 映射层** +
|
||
> 一个**复用旧项目经验的投递流水线(校验/映射/签名/调用/分类重试/幂等/批次报告)**,
|
||
> 替代旧项目里因网页逆向而堆积的会话与补齐逻辑。
|