110 lines
4.0 KiB
Markdown
110 lines
4.0 KiB
Markdown
# medical-sign
|
||
|
||
医签通(医疗知情同意电子签署平台)前端项目。
|
||
|
||
## 当前状态
|
||
|
||
已完成两个 Vite 应用的基础初始化、ESLint + Prettier 工程化配置,以及第一版业务页面骨架:
|
||
|
||
- `clinical-web`:医护端布局、工作台、签署任务、文书库、报表和设置页面;
|
||
- `patient-h5`:签署入口、文书确认、签署人信息、手写签名和结果页面;
|
||
- 默认仍使用演示数据,但医护端已按 MEDISIGN 接口文档接入登录、患者/就诊、模板、签署任务、文件产物、投递、用户组织和模板权限等真实接口;患者 H5 已接入一次性 Token 消费和签名上传请求;
|
||
- `packages` 目录暂时保留,等接口和公共类型稳定后再接入共享包。
|
||
|
||
## 项目定位
|
||
|
||
医签通用于管理医疗知情同意文书的生成、签署、回传、校验和审计,核心对象是:
|
||
|
||
> 患者 + 就诊 + 医嘱/项目 + 签署任务 + 文书版本 + 签署证据
|
||
|
||
目标流程:
|
||
|
||
```text
|
||
医生在电子病历中发起
|
||
→ 患者或家属通过手机 H5 / 现场签字板签署
|
||
→ 医签通保存签署证据
|
||
→ 结果回传电子病历
|
||
→ 收费、检查或治疗前校验
|
||
```
|
||
|
||
## 目录结构
|
||
|
||
```text
|
||
medical-sign/
|
||
├─ clinical-web/ 医护端、电子病历嵌入端和管理功能
|
||
├─ patient-h5/ 患者/家属手机签署端
|
||
└─ packages/
|
||
├─ api-client/ 公共接口客户端
|
||
└─ types/ 公共 TypeScript 类型
|
||
```
|
||
|
||
## 前端规划
|
||
|
||
### clinical-web
|
||
|
||
面向医生、护士和系统管理人员,电脑端优先,后续可适配医院平板。
|
||
|
||
计划包含:
|
||
|
||
- 电子病历嵌入入口;
|
||
- 患者、就诊和医嘱关联;
|
||
- 签署任务创建和查询;
|
||
- 手机签署和签字板签署;
|
||
- 文书模板、版本、权限和报表;
|
||
- 签署结果回传及异常处理。
|
||
|
||
### patient-h5
|
||
|
||
面向患者和家属的手机网页,不是完整的移动版电子病历。
|
||
|
||
计划包含:
|
||
|
||
- 短信/二维码打开;
|
||
- 身份和签署人关系确认;
|
||
- 阅读知情同意文书;
|
||
- 勾选同意/不同意项目;
|
||
- 手写签名和提交;
|
||
- 成功、过期、拒签和异常状态展示。
|
||
|
||
### packages
|
||
|
||
存放两个前端共同使用的类型、接口和基础逻辑,不单独部署。
|
||
|
||
## 技术栈规划
|
||
|
||
- 医护端:Vue 3 + TypeScript + Vite + Vue Router + Pinia + Element Plus + Axios;
|
||
- 患者端:Vue 3 + TypeScript + Vite + Vue Router + Axios,移动端先使用原生 Canvas 完成签名演示;
|
||
- 接口数据:先通过 Axios 封装请求,接口稳定后再评估 OpenAPI 类型生成;
|
||
- 服务端数据:医护端后续再评估 TanStack Vue Query;
|
||
- 测试:待最小业务闭环稳定后再补充 Vitest + Playwright。
|
||
|
||
## 开发原则
|
||
|
||
- 签署任务必须尽量关联具体就诊和医嘱/项目;
|
||
- 解释医生、实际签署人和协助操作人员需要分别记录;
|
||
- 术中新增处置应创建追加签署任务,不修改已签署文书;
|
||
- 文书版本、签署时间、签署渠道和文档哈希必须可追溯;
|
||
- 前端不负责最终权限和签署有效性判断,后端必须重新校验;
|
||
- 患者 H5 不在 URL 中暴露身份证号、完整病历等敏感信息。
|
||
|
||
## 构建与部署规划
|
||
|
||
两个应用分别构建为 ```dist```:
|
||
|
||
```text
|
||
clinical-web/dist/ → 医护端网页
|
||
patient-h5/dist/ → 患者手机签署网页
|
||
```
|
||
|
||
```packages``` 中被使用的代码会在构建时打包进对应应用。生产环境不需要部署 ```node_modules``` 或 ```packages``` 源码。
|
||
|
||
医护端通常部署在医院内网;患者 H5 如果需要院外访问,应通过医院安全网关、DMZ 或反向代理提供服务。
|
||
|
||
## 后续工作
|
||
|
||
1. 用真实调研结果校准页面字段、状态和角色权限;
|
||
2. 完成“医护端发起 → 患者 H5 签署 → 结果回传”的最小闭环;
|
||
3. 再接入 `packages` 中的公共类型和接口客户端;
|
||
4. 验证电子病历 iframe、单点登录和签字板调用;
|
||
5. 补充收费拦截、动态补签和急诊例外流程。
|