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