# 患者首页可视化对照网页端 这个网页端用于人工复核患者首页:概览看批次状态,复核页只处理需复核记录,中间查看 PDF,右侧编辑结构化摘录信息;保存后直接同步到 `.env` 中 `PGTABLE` 指向的 PostgreSQL 表。 ## 启动 在项目根目录确认 `.env` 已存在,然后运行: ```bash docker compose -f 数据可视化网页端/docker-compose.yml up -d --build ``` 浏览器打开: ```text http://localhost:8501 ``` 首次进入会显示登录界面。管理员用户名和密码请在本地 `.env` 中通过 `REVIEW_ADMIN_USER`、`REVIEW_ADMIN_PASSWORD` 设置。设置页创建的本地用户会同步作为登录账号,并按权限控制概览、复核、抽查、抽查一览、设置页面。 ## 目录挂载 - 本地 `PDF_DIR_HOST` 挂载为容器内 `/data/pdfs`,只读。 - 网页端只预览 PDF,不再挂载或依赖 PDF 转图片目录。 ## 保存规则 右侧字段保存后会: - 更新被编辑的 PostgreSQL 字段。 - 设置 `manual_corrected = true`。 - 自动将 `review_status` 标记为 `reviewed`。 - 把人工备注追加到 `review_notes` JSONB 数组中。 - 在主表 `review_logs` JSONB 列中记录修改时间、修改字段、修改前后值和人工备注。 - PostgreSQL 触发器会按非空 `inpatient_no` 自动同步 `Patient_Lists.has_front_page/front_page_id/front_page_source_file`;本网页端只校验患者号不能为空,不校验编号格式,同一患者号只保留一个首页,迁移时保留最新记录,后续同号写入会覆盖旧首页,删除首页记录时旧关联会自动解除;同一患者号姓名不一致时,以首页表中的非空姓名覆盖 `Patient_Lists.patient_name`。只有自动补建新列表记录时,才把主要诊断、入院时间、出院时间写入 `Patient_Lists`。 `.env` 含数据库密码,只保留本地,不提交到 Gitea;可参考 `.env.example` 创建。 ## 页面规则 - 顶部页签包括:概览、复核、抽查、抽查一览、设置;设置内合并用户与权限、数据库状态和目录信息。 - 复核页以住院号作为第一识别项;住院号由住院次数 2 位和首页病案号 10 位自动生成,例如 `ZY020001447443`。 - 复核页默认进入“全部复核数据”,包含需复核、自动修正、已人工复核/已人工修改,不处理无需复核的自动通过记录。 - 复核提示会自动定位到右侧模块;命中的模块和字段标红,无关模块默认收起。 - 人工备注下方展示修改记录表,时间由 PostgreSQL 后台记录。 - PDF 以 `inline` 方式展示,不再作为附件触发保存;浏览器不能彻底禁止保存已展示内容。 - 顶部数据库/PDF 状态读取缓存;设置页可手动“立即检查”,也可设置每日凌晨等固定时间自动检查。 - 复核状态、质控状态显示在 PDF 下方,只读。 - 诊断、手术、费用等 JSONB 字段以表格方式展示和编辑。 - 手术操作按编码、日期、级别、名称、术者、I助、II助、切口愈合等级、麻醉方式、麻醉医师拆分。 - 设置页可分别为“AI当前项”“AI后5项”“AI后全部”配置使用模型和隐私模式;隐私模式默认开启,关闭后对应按钮会允许上传基本信息、地址联系人等相关局部内容用于核验和修正。 ## 抽查规则 - 抽查页可从 `reviewed` 或 `auto_pass` 中随机抽样。 - 抽查页右侧和复核页一样展示并可编辑全部结构化信息,下方有人工备注和修改记录。 - 随机抽取不会写入“待抽查”记录;只有点击“归类通过并保存”“归类异常并保存”“归类不确定并保存”后,才写入主表 `audit_logs` JSONB 列。 - 抽查一览只展示已归类的通过、异常、不确定记录,并显示修改内容、人工备注和更新时间。 - 可选的 `07_Kimi图片识别辅助.py` 仍只在人工运行时上传指定图片;网页端 AI 核验是否上传敏感区域由对应按钮的隐私模式控制。