news 2026/5/15 19:53:06

[开源] 病案翻拍质量自动检测器:面向病案无纸化归档的合规质检工具,支持CLI批量扫描与Web API集成

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[开源] 病案翻拍质量自动检测器:面向病案无纸化归档的合规质检工具,支持CLI批量扫描与Web API集成

本项目是专为医院病案室、信息科和医保结算部门设计的图像级质检系统,解决病案翻拍件在无纸化归档前「缺页、模糊、非授权复印」三大合规风险。我们不依赖人工抽检,而是通过多维度图像分析(清晰度/分辨率/对比度)、OCR页码连续性校验、水印模板匹配、翻拍与复印特征识别四大核心机制,自动生成带问题定位的HTML报告、可筛选Excel清单和结构化JSON数据。它同时提供命令行(CLI)快速单图诊断、多进程批量处理、可视化Web服务(FastAPI + Uvicorn)及RESTful API接口,技术栈基于Python 3.8+、OpenCV、Tesseract/PaddleOCR、NumPy与Pandas,所有检测逻辑均可配置阈值与权重,适配不同等级医院的归档标准。

定位与能力范围

我们不做通用图像质检,只聚焦病案场景的刚性要求:必须能判断一页是否该有、是否够清、是否被翻拍过、是否带有效授权水印。因此系统边界非常明确,不处理病历文本内容理解,不替代临床质控规则引擎,也不做原始扫描仪驱动控制。它的输出永远是「这张图是否符合归档图像质量规范」的确定性结论,而非概率建议。所有检测项都对应《电子病历系统功能应用水平分级评价标准》《医疗机构病历管理规定》中关于图像完整性、可读性、来源合法性的条款。例如「缺页检测」不是简单数文件个数,而是用OCR识别每张图中的页码(支持阿拉伯数字、罗马数字、中文格式如“第1页”),再按序列逻辑校验中断、重复、乱序;「非授权复印检测」则专攻摩尔纹、屏幕边框、反光点、灰度异常等翻拍特有痕迹,而非泛泛的“图像失真”。

核心功能模块

系统能力由五个正交模块构成,彼此解耦,可独立启用或组合调用:

模块

输入对象

输出结果

典型使用场景

图像质量评估

单张图像

清晰度(拉普拉斯方差)、分辨率(DPI/像素尺寸)、对比度(灰度标准差)三维度分数与等级判定

扫描后即时筛查,过滤模糊、低DPI、过暗/过亮图像

页码连续性校验

图像集合(含OCR识别结果)

缺页、重复页、乱序页、无法识别页四类问题标记及起止位置

归档前整套病案完整性核验,支撑“一页不漏”审计要求

授权水印识别

单张图像 + 水印模板PNG

匹配得分、匹配点数、是否命中授权模板

判断是否为院内授权翻拍,拦截外部复印或手机拍摄件

非授权复印检测

单张图像

摩尔纹/屏幕边框/反光点/灰度异常四项子分,合成风险等级(无/低/中/高)

识别手机翻拍屏幕、复印件、扫描件二次翻拍等违规来源

报告生成引擎

JSON检测结果

HTML(含图表与问题高亮)、Excel(多Sheet+条件格式)、JSON(结构化字段)三种交付物

向病案管理员提交归档质检台账,向信息科提供API对接数据

使用与配置方式

我们提供三层使用入口,按需选用:

  • 命令行(CLI)

    :适合日常抽检、脚本化集成、服务器批量调度

  • Web服务(API)

    :适合嵌入HIS、EMR、档案系统,实现归档流程自动触发

  • 配置文件(YAML/JSON)

    :所有检测阈值、权重、OCR语言、并发策略均可外部定义

例如调整清晰度合格线,既可在CLI中临时覆盖:

mrqa scan-single image.jpg --clarity-threshold 150

也可在config.yaml中持久化:

clarity: threshold: 150.0

甚至用环境变量全局生效:

export MRQA_CLARITY_THRESHOLD=150.0

这种三层配置体系确保一线人员能快速上手,而信息科可统一管控全院质检标准。

环境与运行依赖

系统对运行环境要求清晰且轻量,不捆绑重型中间件:

组件

要求

说明

是否必需

Python

3.8+

主程序运行环境

Tesseract OCR

可选安装

仅当启用页码识别时需要

否(可用PaddleOCR替代)

中文语言包

tesseract-ocr-chi-sim

paddleocr

支持“第1页”等中文页码格式

否(英文页码可不装)

OpenCV / NumPy / Pandas

pip install -r requirements.txt

图像处理与数值计算基础库

FastAPI / Uvicorn

Web服务依赖

提供API文档(Swagger UI)与异步任务管理

否(CLI模式无需)

Windows用户安装Tesseract只需下载Mannheim版并加入PATH;Linux(Ubuntu)一行命令即可:

sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim

macOS用户则用Homebrew:

brew install tesseract tesseract-lang

数据与扩展机制

所有检测结果均以结构化JSON为中间态,字段设计直指业务可读性:
-quality.overall_score(综合分)、quality.overall_level(优秀/良好/合格/不合格)
-page_number.page_number(识别出的页码)、page_number.confidence(OCR置信度)
-unauthorized_copy.risk_level(高/中/低/无风险)
-issues.by_type(按问题类型统计:blur/low_resolution/contrast/moire等)

这使得Excel报告能自动映射为「问题清单」「详细结果」「页码序列」三个工作表,并用颜色标注严重程度;HTML报告则内置质量分布饼图、分数柱状图、问题条形图;而JSON可直接被下游系统解析为质控看板数据源。扩展水印模板也极简:只需准备PNG文件,通过-w watermark1.png -w watermark2.png参数传入,或统一放在./watermarks/目录由配置文件指定,系统自动完成模板匹配。

限制与说明

我们坦诚说明当前能力边界,避免误用:
- OCR页码识别效果高度依赖图像质量,若页码区域模糊、倾斜或被遮挡,识别率会下降,此时建议先用CLI的--verbose参数查看原始OCR文本,再针对性优化扫描参数。
- 非授权复印检测对纯黑白复印件的判别强于彩色翻拍,因摩尔纹等特征在彩色图像中易被压缩算法削弱,建议启用reflection_thresholdgray_anomaly_threshold双校验。
- 批量处理内存占用与图像尺寸正相关,处理超大图(如A3幅面300DPI扫描件)时,建议启用--checkpoint-dir保存中间状态,防止单点失败导致全量重跑。
- 所有阈值(如清晰度100.0、DPI 200)均为行业通用起点,实际部署时请依据本院历史归档图像样本,在config.yaml中微调至最适值,而非机械套用。

项目地址:
https://github.com/nexorin9/medical-record-scanner-qa

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/15 19:49:05

3步完成HTML网页到Figma设计稿的终极转换指南

3步完成HTML网页到Figma设计稿的终极转换指南 【免费下载链接】figma-html Convert any website to editable Figma designs 项目地址: https://gitcode.com/gh_mirrors/fi/figma-html HTML转Figma工具是一个革命性的开源Chrome扩展程序,它能够将任何网页瞬间…

作者头像 李华
网站建设 2026/5/15 19:45:08

观察使用Taotoken前后项目在API调用稳定性上的直观变化

🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 观察使用Taotoken前后项目在API调用稳定性上的直观变化 对于依赖大模型API的项目而言,服务调用的稳定性直接影响开发节…

作者头像 李华
网站建设 2026/5/15 19:37:26

MicroG:为什么这款免费开源项目能完美替代Google服务?

MicroG:为什么这款免费开源项目能完美替代Google服务? 【免费下载链接】GmsCore Free implementation of Play Services 项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore 你是否曾经因为手机没有Google服务而无法使用某些应用&#xf…

作者头像 李华
网站建设 2026/5/15 19:33:06

基于ResNet18的驾驶分心检测实战:从Kaggle数据集到模型部署

1. 驾驶分心检测的现实意义与技术选型 开车时刷手机、回消息这类行为已经成为现代交通的重大安全隐患。我去年参与过一个车载监控项目,亲眼看过因为司机低头看手机导致追尾的监控录像——从分心到事故发生往往只有3秒反应时间。这正是为什么State Farm保险公司会联合…

作者头像 李华