医疗 EMR 开发模式¶
用于构建电子病历(EMR)和电子健康记录(EHR)系统的模式。优先考虑患者安全、临床准确性和医生工作效率。
何时使用¶
- 构建患者就诊流程(主诉、检查、诊断、处方)
- 实现临床记录(结构化 + 自由文本 + 语音转文本)
- 设计包含药物相互作用检查的处方/用药模块
- 集成临床决策支持系统(CDSS)
- 构建带参考范围高亮显示的化验结果展示
- 为临床数据实现审计追踪
- 设计用于临床数据录入的医疗可访问性 UI
工作原理¶
患者安全优先¶
每个设计决策都必须经过评估:“这会不会伤害患者?”
- 药物相互作用必须发出警报,不能静默放行
- 异常化验值必须用视觉标记标出
- 关键生命体征必须触发升级处理流程
- 没有审计追踪,不得修改临床数据
单页就诊流程¶
临床就诊应在单页上垂直流转——无标签页切换:
Patient Header (sticky — always visible)
├── Demographics, allergies, active medications
│
Encounter Flow (vertical scroll)
├── 1. Chief Complaint (structured templates + free text)
├── 2. History of Present Illness
├── 3. Physical Examination (system-wise)
├── 4. Vitals (auto-trigger clinical scoring)
├── 5. Diagnosis (ICD-10/SNOMED search)
├── 6. Medications (drug DB + interaction check)
├── 7. Investigations (lab/radiology orders)
├── 8. Plan & Follow-up
└── 9. Sign / Lock / Print
智能模板系统¶
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
}
任何模板中的危险信号都必须触发可见且不可关闭的警报——而不是 toast 通知。
用药安全模式¶
User selects drug
→ Check current medications for interactions
→ Check encounter medications for interactions
→ Check patient allergies
→ Validate dose against weight/age/renal function
→ If CRITICAL interaction: BLOCK prescribing entirely
→ Clinician must document override reason to proceed past a block
→ If MAJOR interaction: display warning, require acknowledgment
→ Log all alerts and override reasons in audit trail
严重相互作用默认阻止开具处方。临床医生必须明确覆盖,并在审计追踪中记录原因。系统绝不会静默允许严重相互作用。
锁定就诊记录模式¶
一旦临床就诊记录完成签署:
- 不允许编辑——只能添加补充记录(一条独立的关联记录)
- 原始记录和补充记录都会出现在患者时间线上
- 审计追踪记录签署人、签署时间以及任何补充记录
临床数据的 UI 模式¶
生命体征显示: 当前值带正常范围高亮(绿/黄/红),与上次相比的趋势箭头,自动计算的临床评分(NEWS2、qSOFA),内联的升级处理指导。
化验结果展示: 正常范围高亮,与上次结果比较,带不可关闭警报的危急值,采集/分析时间戳,以及带有预计周转时间的待处理医嘱。
处方 PDF: 一键生成,包含患者人口统计学信息、过敏史、诊断、药品详细信息(通用名+商品名、剂量、给药途径、频次、疗程)、临床医生签名区。
医疗可访问性¶
医疗 UI 比典型 Web 应用有更严格的要求:
- 最低 4.5:1 对比度(WCAG AA)——临床医生在多种光照条件下工作
- 大触摸目标(最小 44x44px)——用于戴手套/匆忙操作
- 键盘导航——供快速录入数据的高阶用户使用
- 不能仅用颜色作指示——始终将颜色与文字/图标配对(色盲临床医生)
- 所有表单字段都带屏幕阅读器标签
- 临床警报不得使用自动消失的 toast——临床医生必须主动确认
反模式¶
- 将临床数据存储在浏览器 localStorage 中
- 药物相互作用检查中的静默失败
- 对关键临床警报使用可关闭的 toast
- 基于标签页的就诊 UI 割裂临床工作流
- 允许编辑已签署/锁定的就诊记录
- 在无审计追踪的情况下显示临床数据
- 对临床数据结构使用
any类型
示例¶
示例 1:患者就诊流程¶
Doctor opens encounter for Patient #4521
→ Sticky header shows: "Rajesh M, 58M, Allergies: Penicillin, Active Meds: Metformin 500mg"
→ Chief Complaint: selects "Chest Pain" template
→ Clicks chips: "substernal", "radiating to left arm", "crushing"
→ Red flag "crushing substernal chest pain" triggers non-dismissable alert
→ Examination: CVS system — "S1 S2 normal, no murmur"
→ Vitals: HR 110, BP 90/60, SpO2 94%
→ NEWS2 auto-calculates: score 8, risk HIGH, escalation alert shown
→ Diagnosis: searches "ACS" → selects ICD-10 I21.9
→ Medications: selects Aspirin 300mg
→ CDSS checks against Metformin: no interaction
→ Signs encounter → locked, addendum-only from this point
示例 2:用药安全工作流¶
Doctor prescribes Warfarin for Patient #4521
→ CDSS detects: Warfarin + Aspirin = CRITICAL interaction
→ UI: red non-dismissable modal blocks prescribing
→ Doctor clicks "Override with reason"
→ Types: "Benefits outweigh risks — monitored INR protocol"
→ Override reason + alert stored in audit trail
→ Prescription proceeds with documented override
示例 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
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC