dsh-industry-medical:医疗信息化项目的行业增量自查

前言

医院 HIS、电子病历、互联网医院等项目,等保基线和通用安全插件能覆盖「所有系统都该有的」项,但医疗行业测评问卷里还会单独追问:病历和处方保存年限是否写对、病历修改能否追溯到人、新建信息化项目网络安全预算是否达到 5%、人脸识别有没有非人脸替代、基因样本相关模块有没有伦理与知情同意材料。这些问题往往在正式测评前才集中暴露。

dsh-industry-medical(npm 包名 @deepwhale-cn/dsh-industry-medical,维护者 feely0208)是 DeepSeek Harness(DSH)生态里面向医疗行业特有要求的静态自查插件,分类为工作流。它只做只读文本扫描,把仓库里「看起来有医疗特征、却缺证据或写法不达标」的点列出来,供测评前自查;不下合规结论,也不替代等保、漏洞扫描等通用插件。

这是什么、不是什么

是:针对医疗信息化项目中「通用安全工具不查、行业测评常会问」的静态自查,包括病历/处方保存期限、病历操作留痕、医疗设备全生命周期网络安全制度、新建项目网络安全预算占比、外包合同安全条款、人脸识别替代方式、人类遗传资源伦理与知情同意等。

不是:

  • 不是合规认证,也不保证通过测评;命中项表示需要你去确认和补材料。
  • 不是通用安全扫描器;等保基线、漏洞、依赖、密钥等由其它 DSH 插件负责。
  • 不是法律意见;判据引用条款号与要点,是否适用以主管部门解释为准。
  • 不对仓库下「安全/不安全」「合规/不合规」做终局判定;命中 = 提示确认。

一句话分界:别的插件查「所有项目都该有」的,它查「医疗项目才多出来」的。

核心功能:8 条判据、11 条规则

每条判据配有 when 条件:项目里没有对应特征(无病历、无处方、无医疗设备、无人脸、无基因模块等)时,规则标记为「不适用」,避免误伤非医疗仓库。

规则 ID 查什么 级别
MED-EMR-RETENTION-1 病历/EMR 保存期限声明低于门急诊 15 年(5475 天)、住院 30 年(10950 天) 高
MED-EMR-RETENTION-2 有病历相关库表/配置,却找不到写明 15 年 / 30 年的保存期限声明 高
MED-EMR-AUDIT-TRAIL-1 病历库表/实体缺操作留痕字段(如 updated_by、操作人、version、trace_id) 高
MED-EMR-AUDIT-TRAIL-2 全项目找不到独立操作日志表,也未使用框架级审计(Envers、JPA Auditing 等) 高
MED-PRESCRIPTION-RETENTION 处方保存期限低于 1 年(365 天)法定下限 高
MED-DEVICE-CYBER-POLICY 有 DICOM/HL7/PACS/监护/输液泵等特征,却找不到覆盖采购→安装→运行→维护→报废至少 4 环节的医疗设备网络安全制度 中
MED-CYBER-BUDGET-5PCT 新建项目的预算/立项/概算文档里,网络安全占比低于 5%(纯运维/改造/升级场景不跑此规则) 中
MED-VENDOR-CYBER-CLAUSE 外包/设备厂商合同未同时出现「网络安全/数据安全义务」与「违约责任」 中
MED-FACE-FALLBACK 有人脸识别/活体检测,却没有任何非人脸替代方式(密码/短信/人工核验等) 中
MED-HGR-ETHICS-CONSENT-1 有基因/生物样本/遗传资源模块,却找不到伦理审查批件或审查记录 中
MED-HGR-ETHICS-CONSENT-2 有基因/生物样本/遗传资源模块,却找不到知情同意模板或签署记录 中

同一主题可能拆成两条规则,是因为 file-pattern(匹配到违规写法就报)与 files-lack(全项目找不到才报)语义相反,一条规则只能挂一种检查方式。例如病历保存期限分为「写短了」与「根本没写合规声明」两条。

规则出处在 README 中已标注,主要包括:《电子病历应用管理规范(试行)》(国卫办医发〔2017〕8 号)第十四条、第十六条、第十九条;《医疗机构病历管理规定(2013年版)》(国卫医发〔2013〕31 号)第二十九条;《处方管理办法》(卫生部令第 53 号)第五十条;《医疗卫生机构网络安全管理办法》(国卫规划发〔2022〕29 号)相关条款;《中华人民共和国人类遗传资源管理条例》(国务院令第 717 号)第九条、第二十八条。人类遗传资源「对外提供备案」仅在跨境等场景适用,插件不单独硬报,相关说明见 MED-HGR-ETHICS-CONSENT-2 的建议。

安装与启用

插件以 DSH 的 web profile 安装,命令来自官方 README:

dsh plugin --profile web add @deepwhale-cn/dsh-industry-medical

package.json 标明:许可证 MIT,Node.js >= 18,DSH 引擎 >=0.1.0-rc.6 <0.3.0,当前发布版本 0.1.1。插件会以当前 dsh 进程权限读取你指定的项目目录;安装前建议自行查看 GitHub 仓库 源码与许可证,确认符合团队政策。

典型用法

安装后通过 CLI dsh-industry-medical 调用。下面介绍常用参数。

检查当前工作目录下的项目:

dsh-industry-medical

检查指定 HIS 或医疗子系统根目录:

dsh-industry-medical --root /path/to/his-project

查看内置演示样本(结构「看起来正常」,但医疗行业该有的证据都没写齐):

dsh-industry-medical --demo

列出全部判据与出处:

dsh-industry-medical --list-rules

测评前留档,输出 HTML 报告:

dsh-industry-medical --root . --html medical.html

接入 CI:有 high 级别命中时进程退出码为 1,可用 --quiet 减少输出:

dsh-industry-medical --root . --quiet

--demo 样本的典型命中包括:病历保存期限写成 10 年、处方写成 180 天、EMR 表缺少留痕字段、有 DICOM/PACS 却无设备网络安全制度文档、新建项目网络安全预算 3%、运维合同缺安全义务与违约责任、人脸登录无替代方式、基因组样本模块缺伦理批件与知情同意等。仓库内另有 tests/fixtures/pass/clean-project 等合规边界用例,用于验证「配置写对、证据齐全」时不误报。

适用场景与边界

适合谁:正在做或准备做医疗行业信息化测评、等保与行业问卷并行的研发团队、安全与合规接口人;希望在与测评方对表之前,先对代码库和文档仓做一次「医疗增量」静态核对。

使用边界(README 已说明,使用时需心里有数):

  1. 只读静态文本:不连数据库、不启动应用、不验证制度是否真实执行;配置里写 30 年不等于线上真留 30 年。
  2. 只覆盖医疗增量:请与等保对照、日志留存、数据出境、密钥扫描等 DSH 插件配套使用。
  3. when 为启发式:医疗模块在别的仓库或敏感文档在 OA/纸质档案时,可能显示「不适用」或「找不到」——表示本仓未查到,不是证明无风险。
  4. 制度/合同类:命中后先确认材料是否在其它系统,再决定是否补文档。

与通用 DSH 插件的关系

现有多数 DSH 安全/合规插件面向所有项目的通用项。dsh-industry-medical 不重复那些检查,专门补医疗测评里多出来的几项。深鲸网安守护系列中,它与教育、金融等行业专项插件并列;编排上可与 dsh-guard-suite 等一键体检类插件组合,但本文不展开其它插件细节。

结尾

医疗信息化项目在通用安全达标之外,还有一批「只有这个行业才会被问到」的文本与配置证据。dsh-industry-medical 用 11 条可列出的规则,在测评前把可疑点摊开,便于确认和整改;它不负责认证,也不替代律师或测评机构结论。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜