跳转至

医疗 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