Add per-action AI privacy mode
This commit is contained in:
@@ -5,7 +5,7 @@
|
||||
仓库地址:
|
||||
|
||||
```text
|
||||
https://gitea.huijutec.cn/admin/HIS_Front_Page.git
|
||||
https://gitea.huijutec.cn/admin/HIS.git
|
||||
```
|
||||
|
||||
仓库只保存程序、文档和配置说明。不要提交原始 PDF、处理结果、明文密码、`.env` 文件,也不再提交加密本地工作流压缩包。
|
||||
@@ -31,17 +31,18 @@ README.md
|
||||
|
||||
## PostgreSQL 存储约定
|
||||
|
||||
目标数据库:
|
||||
数据库连接信息只放在本地 `.env` 或运行环境变量中,不写入 Gitea。需要配置:
|
||||
|
||||
```text
|
||||
主机/IP: DB_HOST
|
||||
端口: 5432
|
||||
数据库名: DB_NAME
|
||||
用户名: DB_USER
|
||||
表名: Patient_FrontPages
|
||||
PGHOST
|
||||
PGPORT
|
||||
PGDATABASE
|
||||
PGUSER
|
||||
PGPASSWORD
|
||||
PGTABLE
|
||||
```
|
||||
|
||||
脚本会在首次写入时自动创建或迁移表 `"Patient_FrontPages"`。表是宽表结构,`payload` 中的顶层信息会展开为独立列;不再保存 `payload`、`parsed_at`、`created_at`、`updated_at`。
|
||||
脚本会在首次写入时自动创建或迁移 `PGTABLE` 指向的宽表,`payload` 中的顶层信息会展开为独立列;不再保存 `payload`、`parsed_at`、`created_at`、`updated_at`。
|
||||
|
||||
脚本会为表和全部字段写入 PostgreSQL 注释,数据库客户端中可直接查看每列含义。
|
||||
|
||||
@@ -50,7 +51,7 @@ README.md
|
||||
- `review_logs`:记录人工保存时间、修改字段、修改前后值和人工备注。
|
||||
- `audit_logs`:记录抽查来源、抽查状态、抽查备注和更新时间。
|
||||
|
||||
历史辅助表 `"Patient_FrontPages_review_logs"`、`"Patient_FrontPages_audit_logs"` 会自动迁移进主表并删除,最终只保留 `"Patient_FrontPages"` 一张业务表。
|
||||
历史辅助日志表会自动迁移进主表并删除,最终只保留 `PGTABLE` 指向的一张业务表。
|
||||
|
||||
核心列包括:
|
||||
|
||||
@@ -85,8 +86,8 @@ README.md
|
||||
1. 克隆仓库:
|
||||
|
||||
```bash
|
||||
git clone https://gitea.huijutec.cn/admin/HIS_Front_Page.git
|
||||
cd HIS_Front_Page
|
||||
git clone https://gitea.huijutec.cn/admin/HIS.git
|
||||
cd HIS
|
||||
```
|
||||
|
||||
2. 准备目录:
|
||||
@@ -112,7 +113,7 @@ README.md
|
||||
```bash
|
||||
python3 数据处理工作区/02_解析入库/02_患者首页PDF解析与入库.py \
|
||||
--text-source mineru \
|
||||
--mineru-url "http://MINERU_HOST:4000/extract"
|
||||
--mineru-url "$MINERU_URL"
|
||||
```
|
||||
|
||||
也可以先单独转 Markdown:
|
||||
@@ -121,20 +122,20 @@ README.md
|
||||
python3 数据处理工作区/05_备用读取/05_备用PDF转Markdown_Mineru.py \
|
||||
-s 待处理-患者首页PDF \
|
||||
-t 数据处理结果区/06_Mineru_MD \
|
||||
-u "http://MINERU_HOST:4000/extract"
|
||||
-u "$MINERU_URL"
|
||||
```
|
||||
|
||||
5. 正式处理并写入 PostgreSQL:
|
||||
|
||||
```bash
|
||||
export PGPASSWORD='请填写数据库密码'
|
||||
export PGPASSWORD='从安全渠道获取数据库密码'
|
||||
python3 数据处理工作区/02_解析入库/02_患者首页PDF解析与入库.py \
|
||||
--write-postgres \
|
||||
--pg-host DB_HOST \
|
||||
--pg-host "$PGHOST" \
|
||||
--pg-port 5432 \
|
||||
--pg-database DB_NAME \
|
||||
--pg-user DB_USER \
|
||||
--pg-table Patient_FrontPages
|
||||
--pg-database "$PGDATABASE" \
|
||||
--pg-user "$PGUSER" \
|
||||
--pg-table "$PGTABLE"
|
||||
unset PGPASSWORD
|
||||
```
|
||||
|
||||
@@ -166,12 +167,14 @@ README.md
|
||||
http://localhost:8501
|
||||
```
|
||||
|
||||
首次进入会显示登录界面;默认管理员为 `admin`,默认密码为 `change-me`。设置页创建的本地用户会同步作为登录账号,并按权限控制各页面。
|
||||
首次进入会显示登录界面;默认管理员为 `admin`,默认密码请在本地 `.env` 中通过 `REVIEW_ADMIN_PASSWORD` 设置。设置页创建的本地用户会同步作为登录账号,并按权限控制各页面。
|
||||
|
||||
页面顶部显示数据库连接状态、总记录数、需复核数、PDF 数量;顶部页签包括概览、复核、抽查、抽查一览、设置,设置内合并用户与权限、数据库状态和目录信息。复核页默认进入“全部复核数据”,包含需复核、自动修正、已人工复核/已人工修改;左侧选择病例,中间查看 PDF,右侧以表格方式编辑摘录字段。点击“复核并保存”后会同步写回 PostgreSQL,把 `manual_corrected` 标记为 `true`,自动把 `review_status` 标记为 `reviewed`;`Patient_Lists.has_front_page/front_page_id/front_page_source_file` 由数据库触发器按住院号自动维护。
|
||||
|
||||
复核提示会定位到右侧模块和字段:需要核对的位置标红,无关模块默认收起。人工备注下方会显示修改记录表,主表 `review_logs` 记录修改时间、修改字段、修改前后值和人工备注。
|
||||
|
||||
设置页的 AI 核验按钮可分别配置模型/Thinking 和隐私模式。“AI当前项”“AI后5项”“AI后全部”默认均开启隐私模式;关闭某个按钮的隐私模式后,该按钮对应任务会允许上传基本信息、地址联系人等相关局部内容用于核验和修正。
|
||||
|
||||
抽查页可从已人工复核或自动通过记录中随机抽样;右侧和复核页一样显示并可编辑全部结构化信息,下方有人工备注和修改记录。随机抽取不会写入“待抽查”记录,只有点击“归类通过并保存”“归类异常并保存”“归类不确定并保存”后,才把通过、异常、不确定记录写入主表 `audit_logs`;抽查一览展示修改内容、人工备注和更新时间。
|
||||
|
||||
PDF 以 `inline` 方式展示,不再作为附件触发保存。浏览器内核不能彻底禁止用户保存已展示内容。
|
||||
@@ -210,13 +213,13 @@ sed -n '1,50p' 数据处理结果区/04_复核与人工校正/患者首页_复
|
||||
1. 导出待复核表:
|
||||
|
||||
```bash
|
||||
export PGPASSWORD='请填写数据库密码'
|
||||
export PGPASSWORD='从安全渠道获取数据库密码'
|
||||
python3 数据处理工作区/03_人工复核/03_人工复核导出与回写.py export \
|
||||
--pg-host DB_HOST \
|
||||
--pg-host "$PGHOST" \
|
||||
--pg-port 5432 \
|
||||
--pg-database DB_NAME \
|
||||
--pg-user DB_USER \
|
||||
--pg-table Patient_FrontPages
|
||||
--pg-database "$PGDATABASE" \
|
||||
--pg-user "$PGUSER" \
|
||||
--pg-table "$PGTABLE"
|
||||
unset PGPASSWORD
|
||||
```
|
||||
|
||||
@@ -237,13 +240,13 @@ sed -n '1,50p' 数据处理结果区/04_复核与人工校正/患者首页_复
|
||||
3. 回写 PostgreSQL:
|
||||
|
||||
```bash
|
||||
export PGPASSWORD='请填写数据库密码'
|
||||
export PGPASSWORD='从安全渠道获取数据库密码'
|
||||
python3 数据处理工作区/03_人工复核/03_人工复核导出与回写.py import \
|
||||
--pg-host DB_HOST \
|
||||
--pg-host "$PGHOST" \
|
||||
--pg-port 5432 \
|
||||
--pg-database DB_NAME \
|
||||
--pg-user DB_USER \
|
||||
--pg-table Patient_FrontPages
|
||||
--pg-database "$PGDATABASE" \
|
||||
--pg-user "$PGUSER" \
|
||||
--pg-table "$PGTABLE"
|
||||
unset PGPASSWORD
|
||||
```
|
||||
|
||||
@@ -252,13 +255,13 @@ sed -n '1,50p' 数据处理结果区/04_复核与人工校正/患者首页_复
|
||||
4. 做数据库体检:
|
||||
|
||||
```bash
|
||||
export PGPASSWORD='请填写数据库密码'
|
||||
export PGPASSWORD='从安全渠道获取数据库密码'
|
||||
python3 数据处理工作区/04_质量体检/04_字段核验与数据库体检.py \
|
||||
--pg-host DB_HOST \
|
||||
--pg-host "$PGHOST" \
|
||||
--pg-port 5432 \
|
||||
--pg-database DB_NAME \
|
||||
--pg-user DB_USER \
|
||||
--pg-table Patient_FrontPages
|
||||
--pg-database "$PGDATABASE" \
|
||||
--pg-user "$PGUSER" \
|
||||
--pg-table "$PGTABLE"
|
||||
unset PGPASSWORD
|
||||
```
|
||||
|
||||
|
||||
Reference in New Issue
Block a user