DirectSurface UIDirectSurface UI
开始使用
文档/企业架构

审计与操作日志

复杂业务系统里的审计通常包含两类:业务操作审计和内容变更留痕。DirectSurface UI 提供命令、上下文、病历编辑器留痕和调试日志能力,但最终审计口径需要业务系统定义。

两类记录

业务操作审计记录用户动作:

  • 打开患者。
  • 保存文档。
  • 提交审核。
  • 接受或退回任务。
  • 打印、导出或删除。

内容变更留痕记录文档内容变化:

  • 插入文本。
  • 删除文本。
  • 修改数据元值。
  • 修改批注内容。
  • 锚定内容发生变化。

这两类记录的保存位置、展示形式和合并策略可以不同。业务操作审计通常进入服务端审计表,内容变更留痕通常跟随文档或业务对象保存。

何时产生审计

框架不强制“实时审计”或“保存时审计”。推荐按业务状态决定:

  • 草稿未保存阶段:可以只保留本地编辑状态。
  • 已保存但未归档阶段:是否留痕由业务配置决定。
  • 归档后修改:通常需要开启留痕和操作审计。
  • 上级医生批注或质控意见:建议写入独立意见记录,并保留处理状态。

编辑器侧只根据业务传入的开关决定是否启用留痕。是否启用、何时保存、如何归并,应该由业务状态控制。

病历编辑器中的具体开关、批注状态、审阅侧栏和锚点状态说明见 病历编辑器接入

批注与修改记录

批注不是简单文本框。它通常代表一次沟通或质控意见,应包含作者、时间、状态、内容、处理记录和锚定关系。

建议规则:

  • 新建批注时先创建意见草稿。
  • 同一次打开批注框内的连续编辑,不必每个字符都生成审计。
  • 批注框失焦或用户确认时,再生成一次修改记录。
  • 批注关联的正文被修改后,应标记锚定内容变化,而不是默默失效。

这样既保留医疗信息追溯能力,又避免审计项膨胀到不可读。

与命令系统结合

命令可以成为操作审计的统一入口。按钮、菜单和快捷键都走命令后,业务服务就能统一记录动作来源、命令编号、操作者和页面上下文。

不要把所有低层输入事件都写成业务审计。键盘输入、鼠标移动、hover 这些事件通常不是业务审计对象。它们最多进入调试日志,不应进入正式审计表。

展示建议

审计展示要服务医生和管理人员,不是展示所有技术细节。

  • 对医生:展示谁改了什么、意见是否处理、是否需要响应。
  • 对质控:展示关键节点、责任人和处理状态。
  • 对开发:通过对象查看器和运行时诊断查看技术状态。

正式 UI 和开发诊断 UI 应分开,避免把调试信息暴露给业务用户。