mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-05-15 19:24:46 +08:00
162 lines
6.1 KiB
Markdown
162 lines
6.1 KiB
Markdown
---
|
||
name: healthcare-emr-patterns
|
||
description: 医疗应用中EMR/EHR的开发模式。临床安全、就诊工作流程、处方生成、临床决策支持集成以及以可访问性为先的医疗数据录入用户界面。
|
||
origin: Health1 Super Speciality Hospitals — contributed by Dr. Keyur Patel
|
||
version: "1.0.0"
|
||
---
|
||
|
||
# 医疗电子病历开发模式
|
||
|
||
构建电子病历(EMR)和电子健康档案(EHR)系统的模式。优先考虑患者安全、临床准确性和医生工作效率。
|
||
|
||
## 使用场景
|
||
|
||
* 构建患者就诊工作流(主诉、检查、诊断、处方)
|
||
* 实现临床记录(结构化文本 + 自由文本 + 语音转文字)
|
||
* 设计含药物相互作用检查的处方/用药模块
|
||
* 集成临床决策支持系统(CDSS)
|
||
* 构建带参考范围高亮显示的检验结果展示
|
||
* 实现临床数据审计追踪
|
||
* 设计医疗场景下易用的临床数据录入界面
|
||
|
||
## 工作原理
|
||
|
||
### 患者安全优先
|
||
|
||
每个设计决策必须通过以下问题评估:"这会对患者造成伤害吗?"
|
||
|
||
* 药物相互作用**必须**发出警报,不能静默通过
|
||
* 异常检验值**必须**以视觉方式标记
|
||
* 关键生命体征**必须**触发升级工作流
|
||
* 无审计追踪不得修改临床数据
|
||
|
||
### 单页就诊流程
|
||
|
||
临床就诊应在单页上垂直流动——无需切换标签页:
|
||
|
||
```
|
||
患者头部信息(固定显示 — 始终可见)
|
||
├── 人口学信息、过敏史、当前用药
|
||
│
|
||
就诊流程(垂直滚动)
|
||
├── 1. 主诉(结构化模板 + 自由文本)
|
||
├── 2. 现病史
|
||
├── 3. 体格检查(按系统分类)
|
||
├── 4. 生命体征(自动触发临床评分)
|
||
├── 5. 诊断(ICD-10/SNOMED 搜索)
|
||
├── 6. 用药(药品数据库 + 相互作用检查)
|
||
├── 7. 检查(实验室/影像学医嘱)
|
||
├── 8. 计划与随访
|
||
└── 9. 签名 / 锁定 / 打印
|
||
```
|
||
|
||
### 智能模板系统
|
||
|
||
```typescript
|
||
interface ClinicalTemplate {
|
||
id: string;
|
||
name: string; // e.g., "Chest Pain"
|
||
chips: string[]; // clickable symptom chips
|
||
requiredFields: string[]; // mandatory data points
|
||
redFlags: string[]; // triggers non-dismissable alert
|
||
icdSuggestions: string[]; // pre-mapped diagnosis codes
|
||
}
|
||
```
|
||
|
||
任何模板中的危险信号必须触发可见且不可关闭的警报——而非通知提示。
|
||
|
||
### 用药安全模式
|
||
|
||
```
|
||
用户选择药物
|
||
→ 检查当前用药是否存在相互作用
|
||
→ 检查就诊用药是否存在相互作用
|
||
→ 检查患者过敏史
|
||
→ 根据体重/年龄/肾功能验证剂量
|
||
→ 若为严重相互作用:完全阻止开药
|
||
→ 临床医生必须记录覆盖理由才能继续操作
|
||
→ 若为重大相互作用:显示警告,要求确认
|
||
→ 将所有警报和覆盖理由记录在审计追踪中
|
||
```
|
||
|
||
关键相互作用**默认阻止开药**。临床医生必须明确覆盖,并在审计追踪中记录原因。系统绝不允许静默通过关键相互作用。
|
||
|
||
### 锁定就诊模式
|
||
|
||
临床就诊一旦签署:
|
||
|
||
* 不允许编辑——仅可添加附录(独立的关联记录)
|
||
* 原始记录和附录均显示在患者时间线中
|
||
* 审计追踪记录签署人、签署时间及所有附录记录
|
||
|
||
### 临床数据界面模式
|
||
|
||
**生命体征显示:** 当前值带正常范围高亮(绿/黄/红),与上次对比的趋势箭头,自动计算的临床评分(NEWS2、qSOFA),内联升级指导。
|
||
|
||
**检验结果展示:** 正常范围高亮,与上次值对比,关键值带不可关闭警报,采集/分析时间戳,待处理医嘱及预期周转时间。
|
||
|
||
**处方PDF:** 一键生成,包含患者基本信息、过敏史、诊断、药物详情(通用名+商品名、剂量、给药途径、频率、疗程)、临床医生签名栏。
|
||
|
||
### 医疗场景无障碍设计
|
||
|
||
医疗界面的要求比典型网页应用更严格:
|
||
|
||
* 最小对比度4.5:1(WCAG AA)——临床医生在不同光照条件下工作
|
||
* 大触摸目标(最小44x44px)——适用于戴手套或快速操作
|
||
* 键盘导航——供快速录入数据的熟练用户使用
|
||
* 不使用纯颜色指示——始终将颜色与文字/图标配对(色盲临床医生)
|
||
* 所有表单字段带屏幕阅读器标签
|
||
* 临床警报不使用自动消失的提示——临床医生必须主动确认
|
||
|
||
### 反模式
|
||
|
||
* 在浏览器localStorage中存储临床数据
|
||
* 药物相互作用检查静默失败
|
||
* 关键临床警报使用可关闭提示
|
||
* 基于标签页的就诊界面导致临床工作流碎片化
|
||
* 允许编辑已签署/锁定的就诊记录
|
||
* 无审计追踪显示临床数据
|
||
* 使用`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 检测到:华法林 + 阿司匹林 = 严重相互作用
|
||
→ 用户界面:红色不可关闭的模态框阻止开药
|
||
→ 医生点击“输入理由并覆盖”
|
||
→ 输入:“获益大于风险 — 已监测 INR 方案”
|
||
→ 覆盖理由及警报记录在审计追踪中
|
||
→ 处方在记录覆盖后继续执行
|
||
```
|
||
|
||
### 示例3:锁定就诊 + 附录
|
||
|
||
```
|
||
Encounter #E-2024-0891 signed by Dr. Shah at 14:30
|
||
→ All fields locked — no edit buttons visible
|
||
→ "Add Addendum" button available
|
||
→ Dr. Shah clicks addendum, adds: "Lab results received — Troponin elevated"
|
||
→ New record E-2024-0891-A1 linked to original
|
||
→ Timeline shows both: original encounter + addendum with timestamps
|
||
```
|