本技能将医疗相关文档(指南、共识、政策、操作规范等)自动转化为结构化数据录入表单,输出主题HTML / 原生HTML / JSON / XML / Excel五种格式,支持多种表单控件类型,适用于临床、管理和研究三大业务场景。
读取上传附件,判断以下两个维度:
体裁类型(从下列选一或多个)
| 体裁代码 | 中文名 | 特征描述 |
|---------|--------|---------|
| LIT | 文献 | 有引用、摘要、作者、期刊等结构 |
| GUIDE | 指南 | 有推荐等级、循证依据、诊疗路径 |
| CONS | 共识 | 专家意见、投票结果、建议表述 |
| POLICY | 政策通知 | 文号、发文机关、执行日期 |
| LAW | 法律 | 条款编号、罚则、适用范围 |
| CHARTER | 章程 | 职责条款、组织架构 |
| SOP | 操作规范/流程 | 步骤编号、操作要点、注意事项 |
| STD | 行业/团体标准 | 标准编号、技术要求、验证条款 |
| MEASURE | 办法/细则 | 管理条款、执行规则 |
业务类型(从下列选一)
| 业务代码 | 类型 | 判断依据 |
|---------|------|---------|
| CLN | 临床类 | 涉及患者诊断、治疗、检验检查 |
| MGT | 管理类 | 涉及科室管理、规则制度、统计指标 |
| RES | 研究类 | 涉及科研方法、研究对象、验证条件 |
输出格式(示例):
体裁:GUIDE(临床指南)
业务:CLN(临床类)
置信度:0.92
按以下三类策略提取信息:
| 体裁 | 重点提取内容 |
|------|------------|
| GUIDE/CONS | 推荐建议条目、操作流程步骤、诊断标准分级 |
| POLICY/LAW/MEASURE | 执行要求、上报周期、填报字段、责任部门 |
| SOP | 操作步骤名称、判断节点、记录要求 |
| STD | 检验/检测指标名称、合格判定条件 |
| LIT | 研究变量、测量工具、主要结局指标 |
| CHARTER | 岗位职责、考核指标、职务名称 |
若文档内含现成表格,直接提取:
根据业务类型,选择对应字段体系建模,输出 字段清单(Field Schema):
| 字段分组 | 典型字段示例 | 推荐控件 |
|---------|------------|---------|
| 基本信息 | 患者姓名、性别、年龄、住院号、就诊日期、科室、床号 | text, select, date |
| 诊断信息 | 主诊断(ICD编码)、诊断日期、诊断依据、分期分级 | text, select, matrix |
| 治疗信息 | 治疗方案、用药名称+剂量、手术名称、治疗开始日期、治疗效果评估 | text, select, date, textarea |
| 检验检查信息 | 检查项目名称、检查日期、检查结果、参考范围、异常标记 | text, date, matrix |
| 字段分组 | 典型字段示例 | 推荐控件 |
|---------|------------|---------|
| 科室信息 | 科室名称、病区、归属部门 | select |
| 工作内容 | 工作项目、执行人员、执行时间、工作量 | text, date, number |
| 规则要求 | 规范依据、执行标准、违规情况描述 | textarea, checkbox |
| 统计指标 | 目标值、实际值、完成率、周期 | number, date, matrix |
| 人员信息 | 负责人姓名、职务、联系方式、签字 | text, select |
| 字段分组 | 典型字段示例 | 推荐控件 |
|---------|------------|---------|
| 研究方法 | 研究设计类型、随机化方式、盲法设置、统计方法 | select, radio |
| 技术路线 | 实验步骤名称、技术要点、时间节点 | textarea, date |
| 研究对象 | 入组标准、排除标准、年龄范围、基础疾病、知情同意 | checkbox, text, date |
| 研究条件 | 实验设备、试剂规格、环境条件 | text, select |
| 验证方法及要求 | 验证指标、阈值要求、重复次数、合格判定标准 | number, text, matrix |
字段清单输出格式(JSON Schema):
{
"form_name": "表单名称",
"business_type": "CLN|MGT|RES",
"version": "1.0",
"fields": [
{
"id": "field_001",
"group": "基本信息",
"label": "患者姓名",
"type": "text",
"required": true,
"placeholder": "请输入患者姓名",
"validation": "",
"options": []
}
]
}
输出四种格式文件,保存到工作目录的 form_output/ 子目录下:
| 字段语义 | 推荐控件类型 | HTML元素 |
|---------|------------|---------|
| 短文本(姓名、编号等) | text | |
| 长文本(描述、备注) | textarea | |
| 是/否判断 | checkbox | |
| 单选(性别、分级等) | radio | |
| 多选(并发症、药物等) | multi-select | |
| 日期(就诊日期等) | date | |
| 矩阵表(多项检查等) | matrix | | 附件(报告单等) | file | | 数字(年龄、剂量等) | number | | 下拉选择(科室等) | select | HTML输出样式规范参考 ① HTML文件( ② 原生HTML文件( 纯原生 原生HTML代码示例:
③ JSON文件( ④ XML文件( ⑤ Excel文件( 当用户需要可运行的数据录入+存储+历史查询系统时,调用 或在 主数据表 | 系统列 | 类型 | 说明 |
|--------|------|------|
| | | | | | 审计日志表 | 功能模块 | 说明 |
|---------|------|
| 📝 新增记录 | 动态渲染所有字段,支持矩阵添加行 |
| 📊 历史查询 | 关键词搜索 + 日期范围 + 状态过滤 + 分页 |
| 📄 记录详情 | 弹窗查看完整字段内容 |
| 🗑️ 软删除 | 标记为deleted,保留在审计日志中 |
| ⬇️ CSV导出 | 导出全部有效记录(UTF-8 BOM,兼容Excel) |
| 📊 统计面板 | 顶部导航栏实时显示总记录数和今日新增 |
| 方法 | 路径 | 说明 |
|------|------|------|
| GET | | POST | | GET | | GET | | PUT | | DELETE | | GET | | GET | Windows(推荐双击 Linux / macOS(推荐运行 手动启动:
BAT脚本内容说明:
| 步骤 | 说明 |
|------|------|
| | Python检测 | 若未安装Python,提示下载地址并退出 |
| Flask安装 | | 数据目录 | 自动创建 | 延迟打开浏览器 | 后台启动,等待2秒服务就绪后自动打开 |
| | 脚本 | 功能 |
|-----|------|
| | | 共 1 个版本 with inputs |
|
|
|
4.2 HTML表单规范
references/html_style_guide.md,核心要点:
和
*
4.3 五种输出格式
form_output/form.html)
#1A6FC4,渐变 Header,fieldset+legend 分组
form_output/form_native.html)
代码,不含标题、样式、操作按钮,零依赖,可直接嵌入HIS/EMR页面。
<form>
<!-- 基本信息 -->
患者姓名(必填):<input type="text" name="field_001" placeholder="请输入患者姓名" required><br>
性别(必填):<select name="field_002" required>
<option value="男">男</option>
<option value="女">女</option>
</select>
<br>
年龄(岁)(必填):<input type="number" name="field_003" placeholder="请输入年龄" min="0" max="150" required><br>
就诊日期(必填):<input type="date" name="field_005" required><br>
<!-- 诊断信息 -->
高血压分级(必填):<input type="radio" name="field_008" value="1级"> 1级(140-159/90-99 mmHg)
<input type="radio" name="field_008" value="2级"> 2级(160-179/100-109 mmHg)
<input type="radio" name="field_008" value="3级"> 3级(≥180/≥110 mmHg)
<br>
并发症/合并症(可多选):<input type="checkbox" name="field_010" value="糖尿病"> 糖尿病
<input type="checkbox" name="field_010" value="冠心病"> 冠心病
<input type="checkbox" name="field_010" value="心力衰竭"> 心力衰竭
<br>
<!-- 检验检查信息 -->
检验检查结果:<br>
<table border="1" cellpadding="4" cellspacing="0">
<tr><td>检查项目</td><td>检查日期</td><td>检查结果</td><td>参考范围</td><td>是否异常</td></tr>
<tr><td><input type="text" placeholder="如血压/血糖/肌酐"></td>
<td><input type="date"></td>
<td><input type="text" placeholder="结果+单位"></td>
<td><input type="text" placeholder=""></td>
<td><select><option value="">-</option><option value="否">否</option><option value="是">是</option></select></td></tr>
</table>
<br>
</form>
form_output/form_schema.json)
form_output/form.xml)
references/xml_template.md
form_output/form_template.xlsx)
STEP 5(可选)— 完整登记系统生成
scripts/generate_system.py 生成完整 Flask + SQLite 项目包。
5.1 系统生成命令
python scripts/generate_system.py <schema.json> --outdir form_output
generate_form.py 中追加参数:
python scripts/generate_form.py <schema.json> --outdir form_output --with-system
5.2 生成目录结构
form_output/
└── 表单名_registry/
├── app.py # Flask 后端服务(含所有API路由)
├── schema.json # 表单字段定义(Schema副本)
├── requirements.txt # 依赖:flask
├── start.bat # Windows一键启动(自动安装Flask+打开浏览器)
├── start.sh # Linux/Mac一键启动(自动安装Flask+打开浏览器)
├── templates/
│ └── index.html # 前端SPA页面(表单录入+历史查询)
├── data/
│ ├── registry.db # SQLite数据库(运行时自动创建)
│ └── uploads/ # 附件目录
└── README.md
5.3 SQLite 数据模型
form_records:自动根据 schema.json 中字段动态创建列
id | INTEGER PK | 自增主键 |
created_at | TEXT | 创建时间(YYYY-MM-DD HH:MM:SS) |
updated_at | TEXT | 最近更新时间 |
submitter | TEXT | 提交人标识 |
status | TEXT | 状态:submitted/draft/deleted |
field_xxx | TEXT/REAL | 各字段数据(多选/矩阵存JSON字符串) |
audit_log:
5.4 前端功能说明
5.5 API 接口说明
/api/schema | 获取表单Schema定义 |
/api/records | 新增记录 |
/api/records?page=1&search=&date_from=&status= | 查询历史记录 |
/api/records/:id | 获取单条记录 |
/api/records/:id | 更新记录 |
/api/records/:id | 软删除记录 |
/api/stats | 统计:总数+今日新增 |
/api/export | 导出CSV |
5.6 启动方式
start.bat):
:: start.bat 执行流程:
:: 1. 自动检测Python环境
:: 2. pip install flask(静默安装,跳过已安装)
:: 3. 创建 data/ 目录
:: 4. 启动 Flask 服务
:: 5. 延迟2秒后自动在默认浏览器打开 http://localhost:5000
:: 6. 按 Ctrl+C 停止服务
start.bat
start.sh):
chmod +x start.sh
./start.sh
# 自动安装Flask,启动服务,macOS自动打开浏览器
pip install flask
python app.py
# → 浏览器访问 http://localhost:5000
chcp 65001 | 切换到UTF-8编码,避免中文乱码 |
pip install flask -q 静默安装 |
data/ 目录(首次运行) |
pause | 服务停止后保持终端可见,方便排查日志 |
执行脚本
scripts/generate_form.py | 根据字段JSON生成五种格式表单文件(--with-system 同时生成登记系统) |
scripts/generate_system.py | 生成完整Flask+SQLite登记系统 |
scripts/extract_fields.py | 文本信息提取与字段推断工具(辅助STEP2-3) |
注意事项
markitdown 或 pdf skill先转为文本,再进行信息提取
python app.py 启动服务
版本历史
🔗 相关推荐
All-Market Financial Data Hub
Stock Market Pro