医学文献检索网关
核心原则
- 先定义问题与检索范围,再选择数据库。
- 结构化数据库记录、网页线索和全文阅读是三种不同证据状态,不能混写。
- 不虚构检索式、结果数、PMID、DOI、被引数或数据库覆盖。
- 不绕过登录、机构权限、验证码或付费墙。
- 本技能生成候选池,不把摘要阅读称为深度精读。
工作流程
1. 明确输入
至少确认:
- 研究问题及 PICO、PECO 或 PCC 要素;
- 研究设计、日期、语种和人群限制;
- 是否必须覆盖中国人群、国内实践、政策或指南;
- 这是一般背景检索、选题缺口核查,还是系统综述检索;
- 用户可访问哪些数据库或已提供哪些导出记录。
信息不足时,只追问会改变检索式或覆盖范围的问题。
2. 选择来源
| 来源 | 适用角色 | 可声明的完成状态 |
|---|---|---|
| PubMed | 生物医学结构化主检索、MeSH 扩展 | 可复现检索 |
| Google Scholar 或普通网页检索 | 灰色文献、跨学科线索、引文追溯 | 补充发现 |
| CNKI、万方、维普 | 中国人群、本土政策、国内期刊 | 仅在实际进入数据库并记录查询时称为数据库检索 |
| 用户提供的 RIS、BibTeX、CSV | 已有候选记录导入 | 按文件来源标注 |
| 注册平台、预印本和开放仓库 | 在研项目、注册报告、预印本、开放数据 | 补充核查 |
若无法直接进入中文数据库:
- 可用网页检索发现标题、作者、期刊、年份和页面链接;
- 将记录标为
discovery_only; - 告知用户需要自行登录数据库或通过机构图书馆核实、导出或下载;
- 对系统综述明确指出:网页线索发现不能替代规范的数据库检索。
3. 构建查询
先读取 templates/data/search-protocol.yaml。领域匹配时,再读取
templates/data/search-templates/ 下的对应模板。
- 拆出主题词、自由词、同义词、缩写和拼写变体。
- 使用当前环境可用的 PubMed/MeSH 工具核实主题词。
- 用布尔逻辑组合概念,并明确字段、日期、语种、物种和研究设计限制。
- 为每个数据库保留其原生查询式,不把 PubMed 语法直接复制到其他平台。
- 不使用尚未执行的占位查询式生成结果数。
4. 执行与记录
每次检索记录:
- 检索日期和数据库;
- 完整查询式;
- 过滤条件;
- 返回记录数;
- 导出或分页范围;
- 关键 PMID、DOI 或平台标识符;
- 访问与全文状态;
- 未覆盖来源及原因。
项目模式下,以 templates/search-record-skeleton.md 为骨架,将记录追加到
paper/evidence/search-record.md;不要覆盖既有记录。
5. 核实与去重
- 优先用 DOI、PMID 或其他稳定标识符去重。
- 无稳定标识符时,使用规范化标题、年份和第一作者辅助判断,并保留人工复核标记。
- Google Scholar、网页片段或中文线索在引用前,应尽可能通过期刊官网、Crossref、PubMed 或数据库原始记录核实。
- 被引数、影响力标签和“高质量”判断必须注明来源和查询日期。
- 合法开放全文定位成功只表示可以访问;实际读取并核对全文后才能标为
full_text_read。 - 可选使用自包含标准库
scripts/verify_references.py对规范化JSON/CSV题录做确定性身份核验; 该身份核验脚本不承担RIS/BibTeX导入,也不自动改原始文献库;导入使用下述独立工具。具体字段、授权合同与命令见 检索记录模板的题录核验接口。 - 工具默认离线,接受有版本绑定的固定响应;离线matched只是重放结果,不是实时数据库核验。
联网须显式
--online及完整当前人类授权记录,只发送获准裸DOI/PMID到固定Crossref/PubMed API。 不发送题名、作者、摘要或稿件正文,不读取凭据、不跟随重定向、不访问题录提供的任意URL。 - 外部处理前核对内容类别、用途、具体接收方/目的地、允许字段及当前人类来源,任一未知整批零发送。 授权绑定题录工件的artifact_id/version/sha256,并保留角色、确认时间、原话及来源路径/哈希/定位。 机器只能确认记录结构和字节,不认证身份/权限;用途、目的地或输入改变须重新确认。
- 题录身份
matched/mismatch/unverified与访问范围、全文已读、六类论断支持裁定分列。真DOI配错题名 输出mismatch;超时、429、404、无结果或缺DOI均不能判断文献虚构。无DOI但有PMID仍可核对; 无标识符不联网猜搜题名,保留人工核实。 - 只消费当前输入绑定的报告。记录实际接口、日期、核对字段与差异;报告和引用其哈希的独立check分开。 输入变化使旧检查失效;检查completed/退出0不代表全文已读、论断SUPPORTED或医学质量通过。
使用以下状态:
full_text_read:全文已获取并实际核对;abstract_only:只核对摘要或结构化记录;discovery_only:仅网页或二手线索,尚未核实原始记录;access_failure_recorded:已尝试但受权限、登录或全文可得性限制。
6. 交付
输出:
- 检索范围与来源覆盖说明;
- 每个来源的完整检索记录;
- 去重后的候选文献表;
- 关键未覆盖来源和人工补充步骤;
- 推荐交给
dyz-med-key-literature深读的候选文献; - 若用于系统综述,明确转交
dyz-med-screening-pipeline的导入与筛选要求。
可重复导入与主题检索
已有 RIS、字面值 BibTeX、NBIB 或 PubMed XML 时,按文献工具接口使用 import_references.py,生成有来源的文献库与每批最多100条的身份核验输入。 需要主题检索时可使用 search_pubmed.py,保留完整查询、分页、失败和在线/重放身份;partial 不能声明全量完成。上述任务不扩大到全文阅读。
完成检查
- 查询式、日期、过滤条件和结果数可追溯;
- 所有 PMID、DOI 和题录信息均来自实际记录;
- 不同来源的记录已去重或标为待复核;
- 每条候选文献有来源与访问状态;
- 中文数据库访问限制已如实披露;
- 网页线索未被描述为完整数据库检索;
- 未把摘要阅读描述为全文精读;
- 系统综述场景已记录未覆盖数据库及补救计划。
配套资源
templates/data/search-protocol.yaml:PRISMA-S 检索记录骨架。templates/data/search-templates/:心血管、肿瘤和公共卫生查询结构。templates/search-record-skeleton.md:项目检索记录模板。scripts/verify_references.py:默认离线的规范化题录身份核验器;无兄弟技能导入依赖。examples/worked-example.md:虚构教学示例。references/规范与文献清单.md:检索报告方法学参考。


