医薬品等承認情報関連ファイルのリアルタイム読込とその表示について③

医薬品等承認情報関連ファイルの自動取得システム

とりあえず形にしてみました。

ここにある医薬品情報の更新を自動で転記しています。暇な時にでも覗いてみると該当医薬品のPMDAの添付文書が更新されているかもしれません。

自動転記ですので、こちらで文字を入力はしていません。内容を自動で取得し、自動で表示してます。リアルタイムに取得しているので、PMDA側のデータが新しくなれば、自動で更新されます。

コードを載せるのはかなり恥ずかしいですが、中身はこんな感じで取得したデータをforループさせてます。データソースの取得自体は、他に数行付け足してます。

次は転記内容を見やすいように表に入れてみようと思います。

風邪ひいて体調不良が続いています。皆さんも季節の変わり目にはご注意ください。

—–

//直近12週まで表示

for($i = 0;$i < 12; $i++){

//csvファイルを直接取得すると文字化けするので、一時的にfile_get_contentsで取得してファイルを保存し、文字列をコンバート
setlocale(LC_ALL, ‘ja_JP.UTF-8’);
$data = file_get_contents($urlcsv[$i]);
$data = mb_convert_encoding($data, ‘UTF-8’, ‘sjis-win’);
$temp = tmpfile();
$meta = stream_get_meta_data($temp);

fwrite($temp, $data);
rewind($temp);
//csvファイルの再取得と読み込み
$file = new SplFileObject($meta[‘uri’]);
$file->setFlags(SplFileObject::READ_CSV);

$csv = array();

foreach($file as $line) {
$csv[] = $line;
}

fclose($temp);
$file = null;
//日付の表示(太字)
echo “<b>”.$csv[1][0].”</b><br>”;
$csvdata = array_slice($csv, 3);
//取得データ数の分だけ薬品名、製薬会社を繰り返して表示
for($j = 0;$j < count($csvdata)-1; $j++){
echo “ ”.$csvdata[$j][2].”:”.$csvdata[$j][3].”,”.$csvdata[$j][4].”,”.$csvdata[$j][7].”<br>”;
}
}