SKILL.md
readonly只读
name
healthcare-emr-patterns
description
EMR/EHR development patterns for healthcare applications. Clinical safety, encounter workflows, prescription generation, clinical decision support integration, and accessibility-first UI for medical data entry.
version
1.0.0
医疗EMR开发模式
构建电子病历(EMR)和电子健康档案(EHR)系统的模式。优先考虑患者安全、临床准确性和医生工作效率。
使用场景
- 构建患者就诊工作流程(主诉、检查、诊断、处方)
- 实现临床记录(结构化 + 自由文本 + 语音转文本)
- 设计处方/用药模块,包含药物相互作用检查
- 集成临床决策支持系统(CDSS)
- 构建带有参考范围高亮的实验室结果显示
- 实现临床数据的审计追踪
- 设计面向医疗无障碍的临床数据录入UI
工作原理
患者安全第一
每个设计决策都必须评估:"这会不会伤害患者?"
- 药物相互作用必须发出警报,不能静默通过
- 异常实验室值必须视觉标记
- 关键生命体征必须触发升级工作流程
- 没有审计追踪就不能修改临床数据
单页就诊流程
临床就诊应在单页上垂直流动——无需切换标签页:
患者头部(固定——始终可见)
├── 人口统计信息、过敏史、当前用药
│
就诊流程(垂直滚动)
├── 1. 主诉(结构化模板 + 自由文本)
├── 2. 现病史
├── 3. 体格检查(按系统)
├── 4. 生命体征(自动触发临床评分)
├── 5. 诊断(ICD-10/SNOMED搜索)
├── 6. 用药(药品数据库 + 相互作用检查)
├── 7. 检查(实验室/放射学医嘱)
├── 8. 计划与随访
└── 9. 签名/锁定/打印
智能模板系统
interface ClinicalTemplate {
id: string;
name: string; // 例如 "胸痛"
chips: string[]; // 可点击的症状标签
requiredFields: string[]; // 必填数据项
redFlags: string[]; // 触发不可关闭的警报
icdSuggestions: string[]; // 预映射的诊断代码
}
任何模板中的红色标记必须触发可见且不可关闭的警报——而不是toast通知。
用药安全模式
用户选择药品
→ 检查当前用药是否存在相互作用
→ 检查就诊用药是否存在相互作用
→ 检查患者过敏史
→ 根据体重/年龄/肾功能验证剂量
→ 如果是严重相互作用:完全阻止开处方
→ 临床医生必须记录覆盖原因才能继续
→ 如果是重大相互作用:显示警告,要求确认
→ 将所有警报和覆盖原因记录在审计追踪中
严重相互作用默认阻止开处方。临床医生必须明确覆盖,并在审计追踪中记录原因。系统永远不会静默允许严重相互作用。
锁定就诊模式
一旦临床就诊被签名:
- 不允许编辑——只能添加附录(一个独立的关联记录)
- 原始记录和附录都出现在患者时间线中
- 审计追踪记录谁签名、何时签名以及任何附录记录
临床数据的UI模式
生命体征显示: 当前值带有正常范围高亮(绿/黄/红),与之前值的趋势箭头,自动计算的临床评分(NEWS2、qSOFA),内联的升级指导。
实验室结果显示: 正常范围高亮,与之前值比较,关键值带有不可关闭的警报,采集/分析时间戳,待处理医嘱及预期周转时间。
处方PDF: 一键生成,包含患者人口统计信息、过敏史、诊断、药品详情(通用名+商品名、剂量、给药途径、频率、疗程)、临床医生签名栏。
医疗无障碍
医疗UI比典型Web应用有更严格的要求:
- 最小对比度4.5:1(WCAG AA)——临床医生在不同光照下工作
- 大触摸目标(最小44x44px)——用于戴手套或匆忙操作
- 键盘导航——供快速输入数据的熟练用户使用
- 无纯颜色指示——始终将颜色与文本/图标配对(色盲临床医生)
- 所有表单字段都有屏幕阅读器标签
- 临床警报不能自动消失——临床医生必须主动确认
反模式
- 将临床数据存储在浏览器localStorage中
- 药物相互作用检查静默失败
- 关键临床警报使用可关闭的toast
- 基于标签页的就诊UI碎片化临床工作流程
- 允许编辑已签名/锁定的就诊记录
- 显示临床数据但没有审计追踪
- 对临床数据结构使用
any类型
示例
示例1:患者就诊流程
医生打开患者#4521的就诊
→ 固定头部显示:"Rajesh M, 58岁男, 过敏: 青霉素, 当前用药: 二甲双胍500mg"
→ 主诉:选择"胸痛"模板
→ 点击标签:"胸骨后", "向左臂放射", "压榨性"
→ 红色标记"压榨性胸骨后胸痛"触发不可关闭的警报
→ 检查:心血管系统——"S1 S2正常,无杂音"
→ 生命体征:心率110,血压90/60,血氧饱和度94%
→ NEWS2自动计算:评分8,风险高,显示升级警报
→ 诊断:搜索"ACS" → 选择ICD-10 I21.9
→ 用药:选择阿司匹林300mg
→ CDSS检查与二甲双胍的相互作用:无相互作用
→ 签名就诊 → 锁定,此后只能添加附录
示例2:用药安全工作流程
医生为患者#4521开具华法林
→ CDSS检测到:华法林 + 阿司匹林 = 严重相互作用
→ UI:红色不可关闭模态框阻止开处方
→ 医生点击"覆盖并说明原因"
→ 输入:"获益大于风险——已监测INR方案"
→ 覆盖原因和警报存储在审计追踪中
→ 处方继续,带有记录的覆盖
示例3:锁定就诊 + 附录
就诊#E-2024-0891由Shah医生于14:30签名
→ 所有字段锁定——无编辑按钮可见
→ "添加附录"按钮可用
→ Shah医生点击附录,添加:"实验室结果已收到——肌钙蛋白升高"
→ 新记录E-2024-0891-A1链接到原始记录
→ 时间线显示两者:原始就诊 + 附录,带有时间戳






