From 5c425e12ea0faaa7f5ef95010c00768b546eeccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Sat, 6 Jun 2026 15:15:35 +0800 Subject: [PATCH] =?UTF-8?q?docs(specs):=20=E4=B8=89=E7=94=B2=E6=A0=B8?= =?UTF-8?q?=E5=BF=83=E7=BC=BA=E5=A4=B1=E6=A8=A1=E5=9D=97=E6=B7=B1=E5=BA=A6?= =?UTF-8?q?=E8=AE=BE=E8=AE=A1=20=E2=80=94=20=E6=9C=AF=E5=89=8D=E8=AE=A8?= =?UTF-8?q?=E8=AE=BA/=E7=9F=A5=E6=83=85=E5=90=8C=E6=84=8F/=E7=97=85?= =?UTF-8?q?=E7=A8=8B=E8=AE=B0=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 铁律17: 禁止浅层糊弄,必须深度分析+深度设计 1. MD/specs/PREOP_DISCUSSION_DESIGN.md (290行) - 三甲硬性: 三级/四级手术必须有术前讨论记录 - 完整业务流程: 创建→签名→审核→绑定手术 - 10条业务规则(PD-001~PD-010) - 数据模型: 讨论记录表+参与者表 - 10个API接口 - 前端页面设计(左右布局弹窗) - 8个测试用例 2. MD/specs/INFORMED_CONSENT_DESIGN.md (161行) - 三甲硬性: 手术/麻醉/输血必须签署知情同意 - 7种知情同意类型 - 完整签署流程: 发起→编辑→医生签→患者签→归档 - 数据模型: 知情同意书表 - 8条业务规则(IC-001~IC-008) - 6个测试用例 3. MD/specs/PROGRESS_NOTES_DESIGN.md (210行) - 三甲硬性: 病程记录时限监控(首次8h/日常3天/上级查房72h) - 12种病程记录类型及时限要求 - 时限监控流程: 定时扫描→预警→通知→上报 - 数据模型: 病程记录表+提醒表 - 12条业务规则(PN-001~PN-012) - 前端设计: 时限监控面板 - 6个测试用例 --- MD/specs/INFORMED_CONSENT_DESIGN.md | 161 +++++++++++++++ MD/specs/PREOP_DISCUSSION_DESIGN.md | 290 ++++++++++++++++++++++++++++ MD/specs/PROGRESS_NOTES_DESIGN.md | 210 ++++++++++++++++++++ 3 files changed, 661 insertions(+) create mode 100644 MD/specs/INFORMED_CONSENT_DESIGN.md create mode 100644 MD/specs/PREOP_DISCUSSION_DESIGN.md create mode 100644 MD/specs/PROGRESS_NOTES_DESIGN.md diff --git a/MD/specs/INFORMED_CONSENT_DESIGN.md b/MD/specs/INFORMED_CONSENT_DESIGN.md new file mode 100644 index 000000000..e2b4017bb --- /dev/null +++ b/MD/specs/INFORMED_CONSENT_DESIGN.md @@ -0,0 +1,161 @@ +# 知情同意管理模块设计文档 + +> **文档类型**: 深度业务设计 +> **版本**: v1.0 +> **编制日期**: 2026-06-06 +> **三甲依据**: 《医疗纠纷预防和处理条例》《侵权责任法》— 患者知情同意权 + +--- + +## 一、业务背景 + +知情同意是医疗行为的法律前提。依据《医疗纠纷预防和处理条例》(2018版): +- 手术/麻醉/输血/特殊检查/特殊治疗必须取得患者或家属书面知情同意 +- 知情同意书必须由患者或其授权代理人签署 +- 知情同意书是医疗纠纷中最关键的法律证据 +- 三甲评审现场必查项 + +--- + +## 二、知情同意类型 + +| 类型 | 适用场景 | 签署人要求 | 三甲依据 | +|------|---------|-----------|---------| +| 手术知情同意 | 所有手术 | 患者或授权代理人 | 手术管理制度 | +| 麻醉知情同意 | 所有麻醉操作 | 患者或授权代理人 | 麻醉管理制度 | +| 输血知情同意 | 输血治疗 | 患者或授权代理人 | 输血管理规范 | +| 特殊检查知情同意 | 有创检查/造影等 | 患者或授权代理人 | 检查管理规范 | +| 特殊治疗知情同意 | 化疗/放疗/介入等 | 患者或授权代理人 | 治疗管理规范 | +| 病危通知书 | 病危/病重 | 患者家属或代理人 | 危重患者管理 | +| 自费项目知情同意 | 自费药品/耗材 | 患者或授权代理人 | 医保管理规范 | + +--- + +## 三、完整业务流程 + +### 3.1 知情同意全流程 + +``` +医生发起知情同意 + │ + ▼ +选择同意类型 + 关联医嘱/手术 + │ + ▼ +系统自动填充模板(患者信息+诊断+拟定方案) + │ + ▼ +医生编辑知情同意内容 +├── 疾病诊断 +├── 拟实施的手术/操作名称 +├── 手术/操作目的 +├── 手术/操作方式 +├── 预期效果 +├── 可能出现的风险和并发症 +├── 替代方案及其利弊 +├── 不接受治疗的后果 +└── 其他需要说明的事项 + │ + ▼ +医生电子签名 + │ + ▼ +患者/家属阅读+理解确认 + │ + ▼ +患者/家属电子签名(手写板/密码) + │ + ▼ +生成知情同意书(PDF) + │ + ▼ +归档到病历 +``` + +### 3.2 异常流程 + +| 场景 | 处理方式 | +|------|---------| +| 患者拒绝签署 | 记录拒绝原因+见证人签名,生成"拒绝知情同意"记录 | +| 患者无签署能力 | 要求法定代理人签署+见证人签名 | +| 紧急情况无法签署 | 记录紧急情况说明+院长/授权人批准 | +| 签署后修改 | 生成新版本,保留原版本,记录修改原因 | +| 超时未签署 | 系统提醒→再次通知→超过时限则禁止执行 | + +--- + +## 四、数据模型 + +### 4.1 知情同意书表 `sys_informed_consent` + +| 字段 | 类型 | 说明 | 必填 | +|------|------|------|------| +| id | BIGSERIAL | 主键 | ✅ | +| encounter_id | BIGINT | 就诊ID | ✅ | +| patient_id | BIGINT | 患者ID | ✅ | +| patient_name | VARCHAR(50) | 患者姓名 | ✅ | +| consent_type | INT | 类型(1手术 2麻醉 3输血 4特殊检查 5特殊治疗 6病危 7自费) | ✅ | +| related_surgery_id | BIGINT | 关联手术ID(手术知情时) | ❌ | +| related_advice_id | BIGINT | 关联医嘱ID | ❌ | +| diagnosis | TEXT | 疾病诊断 | ✅ | +| procedure_name | VARCHAR(200) | 拟实施手术/操作名称 | ✅ | +| procedure_purpose | TEXT | 手术/操作目的 | ✅ | +| procedure_method | TEXT | 手术/操作方式 | ✅ | +| expected_outcome | TEXT | 预期效果 | ✅ | +| risks_and_complications | TEXT | 可能出现的风险和并发症 | ✅ | +| alternative_plans | TEXT | 替代方案及其利弊 | ✅ | +| consequences_of_refusal | TEXT | 不接受治疗的后果 | ✅ | +| other_notes | TEXT | 其他需要说明的事项 | ❌ | +| doctor_user_id | BIGINT | 签署医生ID | ✅ | +| doctor_name | VARCHAR(50) | 签署医生姓名 | ✅ | +| doctor_sign_time | TIMESTAMP | 医生签名时间 | ✅ | +| doctor_sign_image | TEXT | 医生签名图片(base64) | ✅ | +| patient_sign_status | INT | 患者签名状态(0未签 1已签 2拒绝) | ✅ | +| patient_sign_time | TIMESTAMP | 患者签名时间 | ❌ | +| patient_sign_image | TEXT | 患者签名图片(base64) | ❌ | +| guardian_name | VARCHAR(50) | 代理人姓名(患者无签署能力时) | ❌ | +| guardian_relation | VARCHAR(20) | 代理人与患者关系 | ❌ | +| witness_name | VARCHAR(50) | 见证人姓名 | ❌ | +| reject_reason | TEXT | 拒绝原因(患者拒绝时) | ❌ | +| status | INT | 状态(0草稿 1待患者签名 2已完成 3已归档 4已作废) | ✅ | +| version | INT | 版本号(修改后版本递增) | ✅ | + +--- + +## 五、业务规则 + +| 规则编号 | 规则名称 | 规则描述 | +|---------|---------|---------| +| IC-001 | 手术强制签署 | 手术前必须完成手术知情同意书签署 | +| IC-002 | 麻醉强制签署 | 麻醉前必须完成麻醉知情同意书签署 | +| IC-003 | 输血强制签署 | 输血前必须完成输血知情同意书签署 | +| IC-004 | 紧急豁免 | 紧急情况可事后补签,需院长批准+详细记录 | +| IC-005 | 版本管理 | 修改后生成新版本,保留原版本可追溯 | +| IC-006 | 签署时限 | 知情同意签署后24小时内未执行需重新确认 | +| IC-007 | 模板管理 | 支持系统模板+科室模板+个人模板 | +| IC-008 | 归档要求 | 手术/操作完成后自动归档到病历 | + +--- + +## 六、与手术/医嘱的集成 + +``` +手术申请(Surgery) ──1:1──→ 手术知情同意书 +麻醉记录(Anesthesia) ──1:1──→ 麻醉知情同意书 +医嘱(Advice) ──1:N──→ 输血/特殊检查知情同意书 +知情同意书 ──归档──→ 病案管理(MedicalRecord) +``` + +--- + +## 七、测试用例 + +| 用例编号 | 场景 | 预期结果 | +|---------|------|---------| +| TC-IC001 | 正常签署流程 | 医生签署→患者签署→完成→归档 | +| TC-IC002 | 手术前未签署 | 手术安排时拦截,提示"请先完成知情同意" | +| TC-IC003 | 患者拒绝签署 | 记录拒绝原因+见证人,生成拒绝记录 | +| TC-IC004 | 紧急情况 | 记录紧急说明+院长批准,事后补签 | +| TC-IC005 | 修改后版本 | 生成新版本,原版本保留可查看 | +| TC-IC006 | 签署超时 | 超过24小时未执行,系统提醒重新确认 | + diff --git a/MD/specs/PREOP_DISCUSSION_DESIGN.md b/MD/specs/PREOP_DISCUSSION_DESIGN.md new file mode 100644 index 000000000..f1570fdee --- /dev/null +++ b/MD/specs/PREOP_DISCUSSION_DESIGN.md @@ -0,0 +1,290 @@ +# 术前讨论记录模块设计文档 + +> **文档类型**: 深度业务设计 +> **版本**: v1.0 +> **编制日期**: 2026-06-06 +> **三甲依据**: 《三级医院评审标准(2022版)》手术分级管理制度 — 三级/四级手术必须有术前讨论记录 +> **评审条款**: 现场检查必查项,缺失则一票否决 + +--- + +## 一、业务背景 + +### 1.1 为什么要术前讨论? +术前讨论是手术安全管理的核心制度。依据《医疗质量安全核心制度要点》(2018版): +- **三级手术**:必须有术前讨论,由副主任医师及以上主持 +- **四级手术**:必须有科内讨论+全科讨论,由科主任主持 +- 术前讨论记录是病历的必要组成部分,评审专家现场必查 + +### 1.2 当前系统差距 +当前系统已有手术管理模块(申请→审批→安排→执行),但缺少**术前讨论记录**这一关键环节。评审时如果手术病历中没有术前讨论记录,将被判定为不合格。 + +### 1.3 参考标准 +- 《医疗质量安全核心制度要点》(2018版)第5条:术前讨论制度 +- 《病历书写基本规范》(2010版):手术记录要求 +- 《三级医院评审标准(2022版)》:手术质量安全核心指标 +- 《手术分级管理办法》:手术分级与讨论要求对应关系 + +--- + +## 二、完整业务流程 + +### 2.1 术前讨论全流程 + +``` +医生提交手术申请 + │ + ▼ +系统判断手术级别 + │ + ├── 一级/二级手术 → 无需术前讨论(可选) + │ + └── 三级/四级手术 → 强制要求术前讨论 + │ + ▼ + 创建术前讨论记录 + │ + ▼ + 邀请讨论参与者(至少2人) + │ + ▼ + 讨论内容录入 + ├── 患者基本信息(自动带入) + ├── 术前诊断(关联诊断模块) + ├── 手术名称和指征 + ├── 手术方案(主方案+备选方案) + ├── 麻醉方式 + ├── 术中可能风险及对策 + ├── 术后注意事项 + └── 讨论结论(同意手术/需进一步检查/暂不手术) + │ + ▼ + 参与者签名(电子签名) + │ + ▼ + 主持人审核确认 + │ + ▼ + 绑定到手术申请 + │ + ▼ + 手术申请可继续流转(审批→安排→执行) +``` + +### 2.2 异常流程 + +| 场景 | 处理方式 | +|------|---------| +| 讨论结论为"暂不手术" | 手术申请状态变为"讨论后暂停",需修改后重新讨论 | +| 讨论结论为"需进一步检查" | 手术申请状态变为"待补充检查",检查完成后重新讨论 | +| 参与者不足(三级手术<2人) | 拦截提交,提示"三级手术术前讨论至少需要2名医师参与" | +| 四级手术主持人非科主任 | 拦截提交,提示"四级手术必须由科主任主持讨论" | +| 术前讨论记录缺失时尝试安排手术 | 系统拦截,提示"请先完成术前讨论" | + +--- + +## 三、状态流转 + +### 3.1 术前讨论记录状态 + +``` +草稿(0) → 待签名(1) → 待审核(2) → 已完成(3) → 已归档(4) + ↓ + 已驳回(5) → 草稿(0) +``` + +| 状态 | 值 | 触发条件 | 允许操作 | +|------|-----|---------|---------| +| 草稿 | 0 | 创建讨论记录 | 编辑/删除/提交签名 | +| 待签名 | 1 | 提交参与者签名 | 参与者签名 | +| 待审核 | 2 | 所有参与者已签名 | 主持人审核 | +| 已完成 | 3 | 主持人审核通过 | 绑定手术/查看 | +| 已归档 | 4 | 手术完成自动归档 | 查看 | +| 已驳回 | 5 | 主持人驳回 | 编辑后重新提交 | + +--- + +## 四、业务规则 + +| 规则编号 | 规则名称 | 规则描述 | 触发时机 | 处理方式 | +|---------|---------|---------|---------|---------| +| PD-001 | 三级手术讨论 | 三级手术必须有术前讨论记录 | 手术审批时 | 缺失则拦截 | +| PD-002 | 四级手术讨论 | 四级手术必须有科内讨论记录 | 手术审批时 | 缺失则拦截 | +| PD-003 | 主持人资质 | 三级手术:副主任医师以上主持 | 创建讨论时 | 自动校验 | +| PD-004 | 四级手术主持人 | 四级手术必须由科主任主持 | 创建讨论时 | 自动校验 | +| PD-005 | 参与者人数 | 三级手术≥2人,四级手术≥3人 | 提交时 | 不足则拦截 | +| PD-006 | 讨论时效 | 术前讨论必须在手术前24小时内完成 | 创建讨论时 | 超时则提醒 | +| PD-007 | 电子签名 | 所有参与者必须电子签名 | 审核前 | 未签则拦截 | +| PD-008 | 绑定手术 | 讨论完成后自动绑定到对应手术申请 | 审核通过时 | 自动关联 | +| PD-009 | 术前诊断一致性 | 讨论中的术前诊断必须与手术申请一致 | 提交审核时 | 不一致则警告 | +| PD-010 | 手术方案完整性 | 必须包含主方案+至少一个备选方案 | 提交时 | 缺失则拦截 | + +--- + +## 五、数据模型 + +### 5.1 术前讨论记录表 `sys_preop_discussion` + +| 字段 | 类型 | 说明 | 必填 | +|------|------|------|------| +| id | BIGSERIAL | 主键 | ✅ | +| encounter_id | BIGINT | 就诊ID | ✅ | +| surgery_id | BIGINT | 关联手术申请ID | ✅ | +| patient_id | BIGINT | 患者ID | ✅ | +| patient_name | VARCHAR(50) | 患者姓名 | ✅ | +| discussion_type | INT | 讨论类型(1科内讨论 2全科讨论 3全院讨论) | ✅ | +| surgery_level | INT | 手术级别(1/2/3/4) | ✅ | +| preop_diagnosis | TEXT | 术前诊断 | ✅ | +| surgery_name | VARCHAR(200) | 手术名称 | ✅ | +| surgery_indication | TEXT | 手术指征 | ✅ | +| main_plan | TEXT | 主手术方案 | ✅ | +| backup_plan | TEXT | 备选手术方案 | ✅ | +| anesthesia_type | VARCHAR(50) | 麻醉方式 | ✅ | +| risks_and_countermeasures | TEXT | 术中可能风险及对策 | ✅ | +| postop_notes | TEXT | 术后注意事项 | ✅ | +| discussion_conclusion | INT | 讨论结论(1同意手术 2需进一步检查 3暂不手术) | ✅ | +| discussion_result | TEXT | 讨论详细结果 | ✅ | +| host_user_id | BIGINT | 主持人用户ID | ✅ | +| host_user_name | VARCHAR(50) | 主持人姓名 | ✅ | +| status | INT | 状态(0草稿 1待签名 2待审核 3已完成 4已归档 5已驳回) | ✅ | +| discussion_time | TIMESTAMP | 讨论时间 | ✅ | +| discussion_location | VARCHAR(200) | 讨论地点 | ✅ | + +### 5.2 术前讨论参与者表 `sys_preop_discussion_participant` + +| 字段 | 类型 | 说明 | 必填 | +|------|------|------|------| +| id | BIGSERIAL | 主键 | ✅ | +| discussion_id | BIGINT | 关联讨论记录ID | ✅ | +| user_id | BIGINT | 参与者用户ID | ✅ | +| user_name | VARCHAR(50) | 参与者姓名 | ✅ | +| role | VARCHAR(20) | 角色(主持人/参与者/记录人) | ✅ | +| title | VARCHAR(50) | 职称(主任医师/副主任医师/主治医师) | ✅ | +| sign_status | INT | 签名状态(0未签 1已签) | ✅ | +| sign_time | TIMESTAMP | 签名时间 | ✅ | +| sign_image | TEXT | 签名图片(base64) | ✅ | +| opinion | TEXT | 个人意见 | ❌ | + +--- + +## 六、接口设计 + +### 6.1 API列表 + +| 方法 | 路径 | 说明 | +|------|------|------| +| POST | /preop-discussion/add | 创建讨论记录 | +| PUT | /preop-discussion/update | 修改讨论记录 | +| GET | /preop-discussion/detail | 查看讨论详情 | +| GET | /preop-discussion/list | 查询讨论列表 | +| DELETE | /preop-discussion/delete | 删除讨论记录(仅草稿) | +| PUT | /preop-discussion/submit | 提交讨论(草稿→待签名) | +| PUT | /preop-discussion/sign | 参与者签名 | +| PUT | /preop-discussion/review | 主持人审核(通过/驳回) | +| GET | /preop-discussion/check-required | 检查手术是否需要术前讨论 | +| GET | /preop-discussion/statistics | 讨论统计 | + +### 6.2 核心接口时序 + +#### 创建术前讨论 +``` +前端: 弹出讨论表单 → 自动带入患者/手术信息 +API: POST /preop-discussion/add +后端: + 1. 校验手术级别(PD-001/PD-002) + 2. 校验主持人资质(PD-003/PD-004) + 3. 校验讨论时效(PD-006) + 4. 保存讨论记录+参与者 + 5. 设置状态=草稿(0) +返回: {code:200, data:{discussionId}} +``` + +#### 主持人审核 +``` +前端: 主持人查看讨论内容 → 点击"审核通过" +API: PUT /preop-discussion/review +后端: + 1. 校验当前用户是否为主持人 + 2. 校验所有参与者已签名(PD-007) + 3. 校验参与者人数(PD-005) + 4. 校验手术方案完整性(PD-010) + 5. 更新状态=已完成(3) + 6. 自动绑定到手术申请(PD-008) +返回: {code:200, msg:"审核通过"} +``` + +--- + +## 七、前端页面设计 + +### 7.1 页面布局 +``` +┌─────────────────────────────────────────────┐ +│ 术前讨论管理 [新建讨论] │ +├─────────────────────────────────────────────┤ +│ 搜索区: [患者] [手术级别] [状态] [日期] [搜索] │ +├─────────────────────────────────────────────┤ +│ 表格: 序号|患者|手术名称|级别|主持人|状态|操作 │ +│ 1 张三 阑尾切除 三级 李主任 已完成 │ +├─────────────────────────────────────────────┤ +│ 分页: < 1 2 3 > │ +└─────────────────────────────────────────────┘ +``` + +### 7.2 新建讨论弹窗(左右布局) +``` +┌──────────────────────────┬────────────────────┐ +│ 患者信息(自动带入) │ 讨论内容 │ +│ 姓名: 张三 │ 术前诊断: [____] │ +│ 住院号: 2026060001 │ 手术指征: [____] │ +│ 科室: 普外科 │ 主方案: [____] │ +│ 床号: 12床 │ 备选方案: [____] │ +│ │ 麻醉方式: [____] │ +│ 手术信息(自动带入) │ 风险及对策: [____] │ +│ 手术名称: 阑尾切除术 │ 术后注意: [____] │ +│ 手术级别: 三级 │ 讨论结论: [单选] │ +│ 申请医生: 王医生 │ │ +│ │ 讨论参与者: │ +│ 讨论信息 │ □ 李主任(主持) │ +│ 讨论时间: [____] │ □ 赵副主任 │ +│ 讨论地点: [____] │ □ 孙主治 │ +│ 讨论类型: [科内讨论] │ │ +└──────────────────────────┴────────────────────┘ +``` + +--- + +## 八、与手术管理模块的集成 + +### 8.1 数据关联 +``` +手术申请(Surgery) ──1:N──→ 术前讨论记录(PreopDiscussion) +术前讨论记录 ──1:N──→ 参与者(Participant) +``` + +### 8.2 流程集成 +- **手术申请提交时**:检查三级/四级手术是否有术前讨论 +- **手术审批时**:强制校验术前讨论完成状态 +- **手术安排时**:显示术前讨论结论 +- **手术完成时**:自动归档术前讨论记录 + +### 8.3 手术管理页面改造 +在手术管理页面的"操作"列增加"术前讨论"按钮: +- 三级/四级手术:显示"查看讨论"或"新建讨论" +- 一级/二级手术:显示"可选讨论" + +--- + +## 九、测试用例 + +| 用例编号 | 场景 | 操作步骤 | 预期结果 | +|---------|------|---------|---------| +| TC-PD001 | 正常创建讨论 | 填写完整信息→保存 | 状态=草稿,可编辑 | +| TC-PD002 | 三级手术强制讨论 | 三级手术不创建讨论直接审批 | 拦截,提示"请先完成术前讨论" | +| TC-PD003 | 参与者不足 | 三级手术只邀请1人 | 拦截,提示"至少需要2名医师" | +| TC-PD004 | 四级手术非科主任主持 | 主治医师主持四级手术讨论 | 拦截,提示"必须由科主任主持" | +| TC-PD005 | 签名流程 | 所有参与者签名→主持人审核 | 状态变为已完成 | +| TC-PD006 | 驳回后修改 | 主持人驳回→修改→重新提交 | 状态从驳回回到草稿 | +| TC-PD007 | 绑定手术 | 讨论完成→关联手术申请 | 手术申请可继续流转 | +| TC-PD008 | 讨论时效校验 | 手术前48小时创建讨论 | 警告"请在手术前24小时内完成讨论" | + diff --git a/MD/specs/PROGRESS_NOTES_DESIGN.md b/MD/specs/PROGRESS_NOTES_DESIGN.md new file mode 100644 index 000000000..33aac116f --- /dev/null +++ b/MD/specs/PROGRESS_NOTES_DESIGN.md @@ -0,0 +1,210 @@ +# 病程记录模块设计文档 + +> **文档类型**: 深度业务设计 +> **版本**: v1.0 +> **编制日期**: 2026-06-06 +> **三甲依据**: 《病历书写基本规范》《电子病历应用管理规范》 + +--- + +## 一、业务背景 + +病程记录是住院病历的核心组成部分,记录患者住院期间的诊疗过程。依据《病历书写基本规范》(2010版): + +### 1.1 病程记录类型及时限要求 + +| 记录类型 | 书写时限 | 书写人要求 | 三甲依据 | +|---------|---------|-----------|---------| +| 首次病程记录 | 入院8小时内 | 住院医师及以上 | 病历书写规范 | +| 日常病程记录 | 病危:每天至少1次 | 主治医师及以上 | 病历书写规范 | +| | 病重:至少2天1次 | 住院医师及以上 | | +| | 一般:至少3天1次 | 住院医师及以上 | | +| 上级医师查房记录 | 72小时内 | 主治/副主任/主任医师 | 三级查房制度 | +| 疑难病例讨论记录 | 确诊后及时 | 科主任主持 | 疑难病例讨论制度 | +| 阶段小结 | 住院超过30天 | 主管医师 | 病历书写规范 | +| 抢救记录 | 抢救后6小时内 | 参与抢救医师 | 危重患者抢救制度 | +| 转科记录 | 转科前 | 转出科医师 | 转科制度 | +| 接收记录 | 转科后 | 接收科医师 | 转科制度 | +| 出院记录 | 出院当天 | 主管医师 | 出院管理制度 | +| 死亡记录 | 死亡后24小时内 | 主管医师 | 死亡病例讨论制度 | +| 死亡病例讨论 | 死亡后7日内 | 科主任主持 | 死亡病例讨论制度 | + +### 1.2 当前系统差距 +当前系统有电子病历基础模块(模板+录入+签名),但缺少: +- 病程记录的**时限监控和预警** +- 病程记录的**自动提醒** +- 病程记录**完整性检查** +- 病程记录**质控统计** + +--- + +## 二、完整业务流程 + +### 2.1 病程记录生命周期 + +``` +入院 + │ + ├──→ 首次病程记录(8小时内) ──→ 主治医师审核 + │ + ├──→ 日常病程记录(按频率) ──→ 上级医师查阅 + │ ├── 病危:每天1次 + │ ├── 病重:2天1次 + │ └── 一般:3天1次 + │ + ├──→ 上级医师查房记录(72小时内) ──→ 签名 + │ + ├──→ [可选] 疑难病例讨论记录 + ├──→ [可选] 阶段小结(超过30天) + ├──→ [可选] 抢救记录(6小时内) + ├──→ [可选] 转科记录 + │ + ├──→ 出院记录/死亡记录 + │ + └──→ 病历归档 +``` + +### 2.2 时限监控流程 + +``` +系统定时任务(每小时扫描) + │ + ▼ +检查每位住院患者的病程记录 + │ + ├── 首次病程记录超时(>8小时) + │ → 红色预警 → 通知主管医师+科室主任 + │ + ├── 日常病程记录超时 + │ → 黄色预警 → 通知主管医师 + │ + ├── 上级查房记录超时(>72小时) + │ → 橙色预警 → 通知上级医师+科室主任 + │ + └── 阶段小结超时(>30天) + → 红色预警 → 通知主管医师+医务部 +``` + +--- + +## 三、数据模型 + +### 3.1 病程记录表 `sys_progress_note` + +| 字段 | 类型 | 说明 | 必填 | +|------|------|------|------| +| id | BIGSERIAL | 主键 | ✅ | +| encounter_id | BIGINT | 就诊ID | ✅ | +| patient_id | BIGINT | 患者ID | ✅ | +| patient_name | VARCHAR(50) | 患者姓名 | ✅ | +| note_type | INT | 记录类型(1首次 2日常 3上级查房 4疑难讨论 5阶段小结 6抢救 7转科 8接收 9出院 10死亡) | ✅ | +| note_content | TEXT | 记录内容(结构化) | ✅ | +| author_user_id | BIGINT | 书写人ID | ✅ | +| author_name | VARCHAR(50) | 书写人姓名 | ✅ | +| author_title | VARCHAR(50) | 书写人职称 | ✅ | +| review_user_id | BIGINT | 审核人ID(上级查房等) | ❌ | +| review_user_name | VARCHAR(50) | 审核人姓名 | ❌ | +| sign_status | INT | 签名状态(0未签 1已签) | ✅ | +| sign_time | TIMESTAMP | 签名时间 | ❌ | +| deadline | TIMESTAMP | 时限要求(系统自动计算) | ✅ | +| is_overdue | BOOLEAN | 是否超时 | ✅ | +| overdue_hours | INT | 超时小时数 | ❌ | +| template_id | BIGINT | 使用的模板ID | ❌ | +| version | INT | 版本号 | ✅ | + +### 3.2 病程记录提醒表 `sys_progress_note_reminder` + +| 字段 | 类型 | 说明 | +|------|------|------| +| id | BIGSERIAL | 主键 | +| encounter_id | BIGINT | 就诊ID | +| patient_name | VARCHAR(50) | 患者姓名 | +| note_type | INT | 需要书写的记录类型 | +| deadline | TIMESTAMP | 截止时间 | +| status | INT | 状态(0待书写 1已书写 2已超时 3已提醒) | +| remind_user_id | BIGINT | 提醒对象 | +| remind_user_name | VARCHAR(50) | 提醒对象姓名 | +| created_time | TIMESTAMP | 创建时间 | + +--- + +## 四、业务规则 + +| 规则编号 | 规则名称 | 规则描述 | 时限 | +|---------|---------|---------|------| +| PN-001 | 首次病程记录 | 入院后必须在8小时内完成 | 8小时 | +| PN-002 | 日常病程(病危) | 病危患者每天至少记录1次 | 24小时 | +| PN-003 | 日常病程(病重) | 病重患者至少2天记录1次 | 48小时 | +| PN-004 | 日常病程(一般) | 一般患者至少3天记录1次 | 72小时 | +| PN-005 | 上级查房记录 | 入院72小时内必须有上级医师查房记录 | 72小时 | +| PN-006 | 阶段小结 | 住院超过30天必须有阶段小结 | 30天 | +| PN-007 | 抢救记录 | 抢救后6小时内必须完成 | 6小时 | +| PN-008 | 出院记录 | 出院当天必须完成 | 当天 | +| PN-009 | 死亡记录 | 死亡后24小时内完成 | 24小时 | +| PN-010 | 死亡讨论 | 死亡后7日内完成讨论 | 7天 | +| PN-011 | 时限预警 | 超过时限前2小时自动提醒 | -2小时 | +| PN-012 | 超时上报 | 超过时限未完成自动上报科室主任 | 超时后 | + +--- + +## 五、与现有模块的集成 + +### 5.1 与电子病历模块集成 +- 病程记录使用电子病历的模板引擎 +- 病程记录使用电子病历的签名机制 +- 病程记录归档到电子病历系统 + +### 5.2 与护理评估集成 +- 病危/病重标记由护理评估模块更新 +- 标记变化自动调整病程记录频率 + +### 5.3 与病案管理集成 +- 出院时自动检查病程记录完整性 +- 缺失记录的病案不允许归档 + +--- + +## 六、前端页面设计 + +### 6.1 病程记录列表页 +``` +┌─────────────────────────────────────────────────┐ +│ 病程记录管理 [新建记录] [时限监控面板] │ +├─────────────────────────────────────────────────┤ +│ 时限监控面板(顶部): │ +│ 🔴 超时未完成: 3条 ⚠️ 即将超时: 5条 ✅ 正常: 42条│ +├─────────────────────────────────────────────────┤ +│ 搜索: [患者] [记录类型] [书写人] [日期] [搜索] │ +├─────────────────────────────────────────────────┤ +│ 表格: 患者|类型|内容摘要|书写人|时限|状态|操作 │ +├─────────────────────────────────────────────────┤ +│ 分页 │ +└─────────────────────────────────────────────────┘ +``` + +### 6.2 时限监控面板 +``` +┌──────────────────────────────────────────────────┐ +│ 当前住院患者病程记录监控 │ +├────────┬──────┬──────┬──────┬──────┬──────────────┤ +│ 患者 │ 病情 │ 已记录│ 待记录│ 超时 │ 操作 │ +├────────┼──────┼──────┼──────┼──────┼──────────────┤ +│ 张三 │ 病危 │ 5/5 │ 0 │ 0 │ [查看] │ +│ 李四 │ 一般 │ 2/3 │ 1 │ 0 │ [催促书写] │ +│ 王五 │ 病重 │ 1/2 │ 1 │ 1 │ [上报超时] │ +└────────┴──────┴──────┴──────┴──────┴──────────────┘ +``` + +--- + +## 七、测试用例 + +| 用例编号 | 场景 | 预期结果 | +|---------|------|---------| +| TC-PN001 | 首次病程记录8小时提醒 | 入院6小时后黄色预警,8小时后红色预警 | +| TC-PN002 | 日常病程记录频率 | 病危患者24小时未记录,系统自动提醒 | +| TC-PN003 | 上级查房记录 | 入院72小时内无上级查房记录,上报科室主任 | +| TC-PN004 | 阶段小结 | 住院30天无阶段小结,红色预警+上报医务部 | +| TC-PN005 | 出院病程完整性 | 出院时检查所有病程记录是否完整 | +| TC-PN006 | 超时统计 | 科室/全院病程记录超时率统计 | +