4.2 KiB
4.2 KiB
07 · 本项目 HTTP 接口
chis_osi server 模式对外提供的 HTTP 查询接口——供前端/运维/PHIS 侧调用。
这是本项目自己对外的接口的单一事实来源;调用上游厂家 OSI 的接口契约看
docs/01、docs/04。 新增/修改端点后同步本文(与handler/、server.go保持一致)。
启动
go run . -mode server # 默认监听 127.0.0.1:8080
go run . -mode server -addr 127.0.0.1:9000 # 指定地址
凭据从 config.yaml(嵌套 osi: 段)读取;服务经 SOCKS5 代理访问内网 OSI 主机。
⚠ 默认仅绑 127.0.0.1:所有端点回写真实居民档案/体检(含身份证等 PII)。切勿绑 0.0.0.0 或反代到公网;确需对外必须自行加鉴权。
通用约定
| 项 | 说明 |
|---|---|
| 方法 | 一律 GET,查询条件走 query string |
| 成功响应 | 直接回写平台完整 JSON({code,message,data},不裁字段),Content-Type: application/json |
| 平台成功码 | code="01"(字符串,见 docs/01 §1)——本服务不改写,原样透传 |
| 参数错误 | 400,体为 {"error":"..."}(如缺必填标识符) |
| 上游失败/网络错误 | 502,体为 {"error":"..."} |
| 方法不对 | 405 |
设计取舍:端点原样回写平台响应(同
Result.Raw),不做字段裁剪/转换——保证平台未建模字段也能拿到,便于查看完整档案/体检。
端点清单
1. 查询个人健康档案
GET /api/health-record/find
| 参数 | 必填 | 说明 |
|---|---|---|
idCard / phrid / personName / empiId |
四选一 | 查询标识符,只能给一个 |
- 上游:
JKDA00002/auto/jkda/find - 返回:
data为数组(档案聚合,含 healthRecord/pastHistory/既往史等,见 docs/04 §8)
2. 查询人群分类/子档案标记
GET /api/health-record/crowd
| 参数 | 必填 | 说明 |
|---|---|---|
idCard / phrid |
二选一 | 查询标识符,只能给一个 |
- 上游:
JKDA00005/auto/jkda/findrqbj - 返回:
data为对象,含personSign、idCard、phrId(见 docs/04 §12) personSign是人群分类码,可能为逗号分隔多值;码表见 docs/04 §3
2. 最近一次体检
GET /api/health-check/last
| 参数 | 必填 | 说明 |
|---|---|---|
idCard / phrid / empiId |
三选一 |
- 上游:
JKTJLSJL00002/auto/jktjlscx/query - 返回:
data为单个对象(最近一次完整体检,约 260 字段,见 docs/04 §11.3)
4. 某人全部体检
GET /api/health-check/all
| 参数 | 必填 | 说明 |
|---|---|---|
idCard / phrid / empiId |
三选一 |
- 上游:
JKTJ00002/auto/jktj/query - 返回:
data为数组(该人全部体检历史,每条完整) - 注意:历史记录
checkId可能为null(仅近年有),历史体检按checkDate区分(docs/04 §11.1)
5. 年度已检/未检人员名单
GET /api/health-check/list
| 参数 | 必填 | 说明 |
|---|---|---|
checkYear |
是 | 检查年度,如 2025 |
idCard |
否 | 过滤到某人 |
checkType |
否 | 0已检 / 1未检 / 2全部 |
page rows |
否 | 分页,默认 1 / 10 |
- 上游:
JKTJLIST00002/auto/jktjlist/query - 返回:
data为数组(人员名单 +checkType状态,非体检明细,见 docs/04 §11.4)
调用示例
curl "http://127.0.0.1:8080/api/health-record/find?idCard=<身份证>"
curl "http://127.0.0.1:8080/api/health-record/crowd?idCard=<身份证>"
curl "http://127.0.0.1:8080/api/health-check/last?idCard=<身份证>"
curl "http://127.0.0.1:8080/api/health-check/all?idCard=<身份证>"
curl "http://127.0.0.1:8080/api/health-check/list?checkYear=2025&idCard=<身份证>"
尚未提供(后续)
- 写入类端点(档案/体检 create/update):
handler侧/api/health-record/save等待 T-204/T-206 及厂家写入授权。 - 老年人自理/体质、中医指导查询端点:待对应 OSI serviceId 联调(docs/06 B4)。
- 鉴权、访问日志、限流:当前是本机联调工具形态,对外前必须补齐。