Potential Safety Signal of Medical Product

PMDA (Pharmaceuticals and Medical Devices Agency)が公開するJADER (Japanese Adverse Drug Event Report database) データベースで、WHOが使用するシグナル検出の手法であるBCPNN  (A Bayesian Confidence Neural Network) を計算しました。結果はこちらのページに示します。<https://wp.me/P9b6zl-gt> ここでは、手法について概要を記します。

SQLでデータ集計

SELECT Drug201711.識別番号, Drug201711.医薬品(一般名), Drug201711.医薬品の関与, Reac201711.有害事象 INTO [0010 AnalysisLineList]
FROM Drug201711 INNER JOIN Reac201711 ON Drug201711.識別番号 = Reac201711.識別番号
GROUP BY Drug201711.識別番号, Drug201711.医薬品(一般名), Drug201711.医薬品の関与, Reac201711.有害事象
HAVING (((Drug201711.医薬品の関与)=”被疑薬”));

SELECT [0010 AnalysisLineList].医薬品(一般名) AS drug, [0010 AnalysisLineList].有害事象 AS event, Count([0010 AnalysisLineList].識別番号) AS 識別番号のカウント INTO [0020 PhViDdata]
FROM [0010 AnalysisLineList]
GROUP BY [0010 AnalysisLineList].医薬品(一般名), [0010 AnalysisLineList].有害事象;

元データに入っている『”』の様な余計なごみを削除して、つぎのRスクリプトへ

Rでデータマイニング

setwd(“C:/Users/Oshima/Documents/2017/PMDA”)
library(PhViD)

JADERdata <- read.csv(“0020PhViDdata.csv”, head=T)
PhViDdata <- as.PhViD(JADERdata)
res <- BCPNN(PhViDdata, MIN.n11=3)

write.table(res$ALLSIGNALS, “BCPNN_out.csv”, quote=F, col.names=T, append=F, sep=”,”)

本質的にはこれでOK。GPSでもRORでも出力できますが、その辺の設定を変える場合はPhViDの取説参照。また、WHOはシグナル検出に用いる手法の軸足をBCPNNから、vigiRankという手法に移してきている模様です。

以前のs社にいたときに、これと同じ動作をするプログラムを、F通が「本当なら億の価値があるヤツだが、一緒に開発してもらうことを前提に2000万円ほどで開発しますよ」と持ちかけてきたことがありました。以前よりこんな感じのスクリプトを自分で作ってデータを見ていましたから、当然お断りしました。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください