DATA_GUIDE.md 5.3 KB

药典数据准备操作指南

版本:v1.0
适用于:数据录入人员、药典内容整理人员


一、数据格式

药典数据使用 JSON 格式,每条药品一个对象。必须严格遵循以下 Schema:

{
  "drug_id": "H20000001",
  "name": "阿莫西林",
  "name_en": "Amoxicillin",
  "pinyin": "Amoxilin",
  "category": "化学药",
  "subcategory": "β-内酰胺类抗生素",
  "sections": {
    "性状": "...",
    "鉴别": "...",
    "检查": "...",
    "含量测定": "...",
    "类别": "...",
    "贮藏": "...",
    "制剂": "...",
    "用法与用量": "...",
    "禁忌": "...",
    "不良反应": "...",
    "注意事项": "..."
  },
  "source": {
    "version": "2020年版",
    "volume": "二部",
    "page": "567-569"
  }
}

字段说明

字段 类型 必填 说明
drug_id 字符串 唯一标识。化学药格式 H + 8 位数字,中药 Z + 8 位数字,生物制品 S + 8 位数字
name 字符串 药品通用名(中文)
name_en 字符串 英文名
pinyin 字符串 汉语拼音
category 字符串 必须为以下值之一化学药 中药 生物制品 辅料
subcategory 字符串 药理分类,如 β-内酰胺类抗生素 清热药 解热镇痛抗炎药
sections 对象 药品各栏目内容,见下方栏目说明
source.version 字符串 药典版本,如 2020年版
source.volume 字符串 部,如 一部 二部 三部 四部
source.page 字符串 页码,如实填写

sections 栏目说明

栏目名 说明 示例
性状 药品的物理形态、颜色、气味、溶解性 本品为白色结晶性粉末...
鉴别 化学鉴别方法 (1) 取本品约10mg...
检查 质量标准检查项 酸度 取本品0.5g...
含量测定 有效成分含量测定方法 照高效液相色谱法...
类别 药品药理类别 β-内酰胺类抗生素
贮藏 保存条件 遮光,密封保存
制剂 该药的制剂类型 片剂、胶囊剂、注射剂
用法与用量 给药方式、剂量 口服,一次0.5g...
禁忌 禁忌症 对本品过敏者禁用
不良反应 已知不良反应 常见恶心、呕吐...
注意事项 使用注意 孕妇慎用...

原则:逐字照搬药典原文,不要改写、不要省略、不要添加个人理解。


二、文件准备

步骤 1:创建 JSON 文件

data-pipeline/data/ 目录下创建 .json 文件,数组格式:

data-pipeline/
└── data/
    ├── sample_drugs.json      ← 示例数据(已有4条,可参考)
    ├── chem_drugs.json         ← 化学药数据(你创建的)
    ├── tcm_drugs.json          ← 中药数据
    └── biologics.json          ← 生物制品数据

步骤 2:验证格式

# 在项目根目录执行
python3 -c "
import json
with open('data-pipeline/data/你的文件.json') as f:
    data = json.load(f)
print(f'共 {len(data)} 条,第1条药品名:{data[0][\"name\"]}')
"

步骤 3:入库

# 修改 data-pipeline/ingest.py 中最后几行的文件路径,或直接执行:
source .venv/bin/activate
python3 -c "
import asyncio, json, sys
sys.path.insert(0, 'data-pipeline')
from ingest import ingest_drugs
asyncio.run(ingest_drugs('data-pipeline/data/你的文件.json'))
"

三、数据来源

来源 方式 说明
药典 PDF 拷贝粘贴 手动 打开药典 PDF,逐个药品复制粘贴到 JSON 模板
NMPA 官网说明书 半自动 通过批准文号搜索,复制说明书内容
结构化表格 Excel → JSON 如有 Excel 格式的药品数据表,可写脚本批量转换

从药典 PDF 录入技巧

  1. 用 Adobe Acrobat 或任意 PDF 阅读器打开《中国药典》
  2. Ctrl+F 搜索药品名
  3. 逐栏目复制到 JSON 模板
  4. 特别注意:化学符号上标下标(如 C₁₆H₁₈O₉),建议保留为普通文本 C16H18O9

四、批量导入模板

如果数据量大,可以先填 Excel 再脚本转换。Excel 表头如下:

drug_id name category subcategory 性状 鉴别 检查 含量测定 类别 贮藏 制剂 用法与用量 禁忌 不良反应 注意事项 version volume page

五、常见问题

Q: 一个药品的栏目太多,有些没有内容怎么办? A: 不填该栏目即可,sections 中只保留有内容的栏目。

Q: 来源页码怎么写? A: 如实写药典原文所在页码。如 567-569(跨页),216(单页)。

Q: drug_id 怎么编? A: 化学药用批准文号去掉地区码,如国药准字H20000001 → H20000001。中药同理。没有批准文号的药品按 H00000001 自增编号。

Q: 入库后怎么更新? A: 修改 JSON 文件重新执行入库脚本即可,脚本会 ON CONFLICT DO UPDATE 自动覆盖同名 drug_id。