博主们,能讲一下OpenVigil2.1的使用,怎么用MedDRA中的首选术语(PT)和系统器官分类(SOC)对 ADE报告进行分类和描述。还有ROR、PRR和BCPNN怎么做吗?想学习一下,谢谢!
2条回答 默认 最新
檀越@新空间 2026-01-26 16:17关注下午好🌅🌅🌅
本答案参考通义千问当然可以!OpenVigil 2.1 是一个用于药物安全监测和不良事件(ADE)分析的工具,支持使用 MedDRA 的 首选术语(PT) 和 系统器官分类(SOC) 对不良事件进行分类与描述。同时,它也支持多种统计方法,如 ROR(Reporting Odds Ratio)、PRR(Proportional Reporting Ratio)和 BCPNN(Bayesian Confidence Propagation Neural Network) 来识别潜在的药物-不良事件关联。
以下将详细讲解如何在 OpenVigil 2.1 中使用 MedDRA 分类、进行 ADE 报告分类,并实施 ROR、PRR 和 BCPNN 方法。
一、OpenVigil 2.1 的基本使用流程
1. 安装与配置
- 下载并安装 OpenVigil 2.1。
- 确保已安装 Java 8 或更高版本。
- 配置数据库(如 MySQL 或 PostgreSQL)以存储 ADE 数据。
2. 数据准备
- 准备 ADE 报告数据,通常为 CSV 或 Excel 格式。
- 数据字段应包括:
- 药物名称(Drug)
- 不良事件(AE)
- 患者性别、年龄等人口学信息
- 报告来源(如自发报告、临床试验等)
3. 导入数据到 OpenVigil
- 在 OpenVigil 界面中选择 “Import Data”。
- 上传准备好的 ADE 报告文件。
- 确认字段映射(如 AE 映射到 MedDRA PT)。
二、使用 MedDRA 分类对 ADE 进行分类和描述
1. 加载 MedDRA 数据库
- OpenVigil 支持导入 MedDRA 数据库(通常为
.db文件)。 - 在 “Settings” > “MedDRA Configuration” 中加载 MedDRA 数据。
2. 使用 PT 和 SOC 对 ADE 报告进行分类
步骤如下:
-
选择 ADE 报告表单:确保你的 ADE 数据中有
AE字段。 -
自动映射到 PT:
- 在 OpenVigil 中,你可以启用 自动映射 功能,将原始 AE 描述映射到对应的 PT(Preferred Term)。
- 例如:“头痛” → “Headache (PT)”。
-
生成 SOC 分类:
- SOC(System Organ Class) 是对 PT 的更高层级分类,如 “Nervous System Disorders”。
- 在 OpenVigil 中,可以通过 “Analysis” > “MedDRA Mapping” 工具生成 SOC 分类。
-
查看分类结果:
- 在 “Report Summary” 或 “Adverse Event Summary” 中查看按 PT 和 SOC 分类的 ADE 数量。
三、使用 ROR、PRR 和 BCPNN 方法进行信号检测
1. ROR(Reporting Odds Ratio)
定义:
ROR 用于比较某药物与对照药物中特定不良事件的报告比例,判断是否可能存在不良反应风险。公式:
$$ ROR = \frac{(a / b)}{(c / d)} $$
其中:- a = 某药物中出现 AE 的数量
- b = 该药物总报告数
- c = 对照药物中出现 AE 的数量
- d = 对照药物总报告数
在 OpenVigil 中实现:
- 选择 “Signal Detection” > “ROR”。
- 输入药物名称和 AE 名称。
- 设置对照药物(可选)。
- 系统会自动计算 ROR 值并给出显著性判断。
2. PRR(Proportional Reporting Ratio)
定义:
PRR 衡量某药物中某一 AE 的报告比例是否高于所有药物中的平均比例。公式:
$$ PRR = \frac{(a / b)}{(c / d)} $$
其中:- a = 某药物中 AE 的数量
- b = 该药物总报告数
- c = 所有药物中 AE 的数量
- d = 所有药物总报告数
在 OpenVigil 中实现:
- 选择 “Signal Detection” > “PRR”。
- 输入药物名称和 AE 名称。
- 系统会自动计算 PRR 并判断是否具有统计意义。
3. BCPNN(Bayesian Confidence Propagation Neural Network)
定义:
BCPNN 是一种基于贝叶斯网络的信号检测方法,能够处理多维数据,适用于复杂药物-不良事件关系的分析。在 OpenVigil 中实现:
- 选择 “Signal Detection” > “BCPNN”。
- 输入药物名称和 AE 名称。
- 可以设置参数(如置信区间、阈值等)。
- 系统会输出 BCPNN 得分,用于判断是否存在潜在信号。
四、示例:使用 OpenVigil 2.1 进行信号检测
示例数据(CSV 格式):
Drug,AE Paracetamol,Headache Paracetamol,Nausea Ibuprofen,Nausea Ibuprofen,Abdominal Pain Paracetamol,Abdominal Pain步骤:
- 导入上述数据到 OpenVigil。
- 自动映射 AE 到 MedDRA PT。
- 使用 ROR 分析 “Nausea” 是否与 “Paracetamol” 相关。
- 使用 PRR 分析 “Nausea” 的报告比例是否异常。
- 使用 BCPNN 分析多个药物和 AE 的复杂关系。
五、代码示例(Python + PyOpenVigil)
如果你希望用 Python 脚本操作 OpenVigil,可以使用其 API 或通过调用命令行接口。
示例代码(假设你已配置好 OpenVigil API):
import requests # 配置 OpenVigil API 地址 base_url = "http://localhost:8080/openvigil/api" # 登录 login_data = { "username": "admin", "password": "admin" } response = requests.post(f"{base_url}/login", data=login_data) token = response.json()["token"] # 导入 ADE 报告 data = { "drug": "Paracetamol", "ae": "Headache" } headers = {"Authorization": f"Bearer {token}"} response = requests.post(f"{base_url}/import", json=data, headers=headers) # 执行 ROR 分析 ror_data = { "drug": "Paracetamol", "ae": "Nausea", "control_drug": "Ibuprofen" } response = requests.post(f"{base_url}/signal/ror", json=ror_data, headers=headers) print(response.json())注意:以上代码仅为示意,实际使用需根据 OpenVigil 的 API 文档调整。
六、总结
| 功能 | 说明 | |------|------| | MedDRA 分类 | 使用 PT 和 SOC 对 ADE 报告进行标准化分类 | | ROR | 比较药物与对照药物中 AE 的报告比例 | | PRR | 比较药物中 AE 的报告比例与整体比例 | | BCPNN | 基于贝叶斯网络的复杂信号检测方法 |
如果你需要更详细的文档或源码支持,建议访问 OpenVigil 官方网站 或查阅其 GitHub 仓库。也可以关注一些药物流行病学课程或开源项目,如 OpenPharma,来获取更多实践案例。
如需进一步帮助,请随时告诉我!
解决 无用评论 打赏 举报