ISSN 2758-5042
CODEN:TDGHFG

No.39
2020

目

次

技術報告書
細胞伸展装置の製作
小林 浩三

筑波大学医学医療系技術室

山城 義人

筑波大学生存ダイナミクス研究センター ······································ 1

PHP と SQLite3 を用いた Web アプリケーション ―出席登録システムの作成―
中山 勝

筑波大学システム情報系技術室····················································· 6

薬品倫理システム支援ツールの開発
藤井 邦彦

筑波大学総務部・リスク・安全管理課········································ 10

細胞伸展装置の製作
小林 浩三a、山城 義人ba

筑波大学医学医療系技術室、b 筑波大学生存ダイナミクス研究センター〒305-8575 茨城県つくば市天王台 1-1-1

概要

3.1 機構の決定

血管を構成する細胞は、心臓の拍動・血管内圧に起因する伸展張力を受けている。伸展張力応答のメカニズムを理解し、血管病態発症の根本原因を明らかにすることが重要である。この目的のための血管平滑筋細胞の伸展刺激応答の解析を行う装置は市販されているものの高額であり、簡単には導入できない。そこで、伸展動作を単機能化し、安価に装置を製作した。その装置を使用して血管平滑筋細胞の伸展刺激応答の解析を行った結果、伸展刺激下における細胞外マトリクスの役割と血管病態発症の関わりを明らかにしたので報告する。

仕様を満たすための機構としてサーボモーター等を用いた電子制御式にすると高額になるので採用することは難しい。そこで、機械式の単純なクランク機構を用いることにした。伸展率を変更するにはモーターの回転軸との偏心量を変えることで実現できるので、その偏心量の違う部品(偏心軸)を必要数用意すればよい。
クランク機構の欠点は、偏心軸の回転による水平軸の移動の加速度が一定とならない。しかし、今回の装置では目的に影響がないことを確認の上、採用するに至った(図 1)。

キーワード：血管平滑筋細胞、伸展装置

１．はじめに細胞伸展装置は、シリコーン樹脂製の培養容器で細胞を培養し、培養容器の伸展を繰り返し行う。同時に実験できる培養容器の数、周期、伸展率、使用環境などの仕様をもとに、筑波大学医学工作室が、生命科学分野の研究・教育に使用される実験装置、機器の製作を長年にわたり手がけてきたノウハウを生かし、装置製作を実施した。
図 1 クランク機構

２．設定した装置の仕様
3.2 購入部品の選定

市販の装置は、カタログ上でのスペックを見ると多機能であることがわかる。反面、高額である。そこで、機能を極力削減し、低価格な装置の実現を目
指し、仕様を表 1 のように設定した。

機構の決定に伴い、構成する部品を購入または製作することになる。そこで、方針に従い購入する部品の選定を最初に行った。

表 1 設定した装置の仕様
培養容器装着個数
伸展率
周期
連続運転時間異物混入防止対策

3.2.1 スライドガイド

6個
5％、10％、20％
1Hz
24 時間
アクリル樹脂製カバー

３．デザインおよび部品の構想
仕様をもとにデザインのもととなる構想を進めた。
装置が仕様を満たし機能するための機構を決定する。
仕様以外で求められたのが低価格である。その方針を念頭において作業を進めた。

a

市販のシリコーン製の培養容器を伸展させるため片側を固定して、もう一方の側を牽引する。培養容器には四隅に穴が開いている(図 2)。この穴にピンを差し込むことを想定している。そこで、培養容器に差し込んだピンを直線上に牽引するためにスライドガイドを採用することは、自動的に決まった。スライドガイドとは、そういった直線運動を正確に行うための部品である(図 3)。
培養容器 6 個を同時に伸展させるには横に並べる
デザインが最もよいと判断した。したがって、スライドガイドは培養容器 6 個分よりも幅が広いものが要求されたが、現実的ではなかった。そこで、市販bkkouzou@md.tsukuba.ac.jp

1yamayoshito@tara.tsukuba.ac.jp

あり、偏心軸とスライドガイドの距離を調節する役
目を持っている。距離を調節できることで培養容器をどの位置から牽引するか位置合わせをすることが可能となる(図 5)。

されている中で最も適当と考えられたスライドガイ
ドを 2 列並べるデザインを採用した。

図 5 ドライブシャフト(赤丸)とリニアブッシュハウジングユニット(青丸)3.2.4 リニアブッシュハウジングユニット
偏心軸とスライドガイドは上記各部品によって連結された。しかし、そのふたつの部品間の距離が長く、不安定であった。そこで、スライドガイド側のドライブシャフトをリニアブッシュハウジングユニ
ットで支持し、安定させることにした(図 5)。

図 2 シリコーン製培養容器

3.2.5 ピンレール

培養容器に差し込むためのピンは、全部で 24 本必要となる。適当なものを探したところ、要求された
太さ、長さのものが部品として安価に販売されていたことから購入品に分類した。

ブロック

レールをブロックが正確にトレースする
図 3 スライドガイド

3.2.2 ロッドエンドベアリングとユニバー
サルジョイント
スライドガイドは水平に直線運動する。一方、クランク機構では偏心軸によりスライドガイドに運動を伝えるシャフトは角度が変化する。そこで、ロッ
ドエンドベアリングとユニバーサルジョイントを組み合わせることで、角度の変化を吸収することに成功した(図 4)。

図 6 ピン(4 本で培養容器 1 個分)

3.3 医学工作室で製作する部品
医学工作室では開設当初から錆びにくい材質の材料を使用することを求められた。金属では真鍮・ア
ルミ、樹脂ではアクリルが多かったので、それらの加工に慣れている。
本装置では、全体のベースとなる板をはじめ、製作する部品のほとんどはアルミ板で、一部でアクリル板を使用することを前提とした。
さらにアルミ材料は、穴あけ、ねじ切り加工だけで済むように心がけた。

ロッドエンドベアリング

ユニバーサルジョイント
図 4 角度の変化を吸収する仕組み

3.2.3 ドライブシャフト
ドライブシャフトはモーターに取り付けたロッド
エンドベアリング側とスライドガイド側にそれぞれ2

養容器の穴に 2 本のピンを差し込んでバイスに固定
し、もう一方の穴に差し込んだピンは板に固定してその板をバネばかりに引っ掛けて牽引し力を測定した。
デザインと負荷の測定結果をもとにメーカーにモーターを選定してもらった。今回は、選定結果に｢実機での確認が必要｣と追記があったので、採用したモーターはメーカーに選定してもらったものよりも大きいものであった。

４．装置のデザイン
機構が決定し、デザインや部品の構想が整ったところで、実際に装置をデザインした。

4.1 3DCAD
デザインには、3DCAD ソフトの SolidWorks を用いた。SolidWorks は 3DCAD ソフトの中では、ミッドレンジに位置付けられる。更に本格的な商用ソフ
トには劣るものの医学工作室での使用に十分なソフ
トウェアである。
ここでは、モーター以外のデザインを完了させる。

６．装置の製作
6.1 材料・部品の調達
アルミ材料は、専門の材料販売会社から購入した。
前述したようにアルミ材料は必要最低限の加工にとどめることにしていたので、材料を購入する段階ですでに前処理が完了していることが望ましい。そこ
で、指定のサイズで購入する際にそのサイズの寸法精度が要求する誤差の範囲内に収まっていることが重要である。購入先の材料販売会社は、そのような材料の切断方法を備えていてかつ安価に提供してもらえる。
部品は、頻繁に取引のある機工商社から購入した。
ある程度の部品については、インターネット上で探し、仕様や部品図を入手可能であるが、それが難し
いときに機工商社に依頼すると目的の部品を探してもらえる。今回もいくつかの部品は探してもらった。

4.1.1 部品の 3DCAD 図
現在では、部品の 3DCAD 図がメーカーサイトや部品専用のサイトから多くダウンロードできるようになっている。それらを活用し、デザイン時間の短縮を心がけた。

4.1.2 デザインの 3DPDF 化
SolidWorks にはソフトウェアを持たないユーザーとデザインを共有するためのツールとして
eDrawings が装備されている。
これを使用する方法もあるが、コンピューターの環境に依存されるので誰とでもデザインを共有することはできない。そこで、デザインを共有するツールとして Acrobat の 3DPDF
ファイルを活用した。3DPDF ファイルも一部で表示できないとの報告もあるが、ごくごく希なことである。今回も活用することで問題なくデザインを共有することができた(図 7)。

6.2 部品の加工
部品の加工は、全て医学工作室で実施した。室内での加工は、図面上で特に指定のない限り、要求する寸法精度で部品が仕上がることが、これまでの実績から明らかなので安心である。

図 7 デザインを 3DPDF 化

５．負荷の測定とモーターの選定

図 8 完成した装置

モーターの選定は、モーターメーカーの選定サービスを利用した。選定してもらうための条件として、最低でも、機構と負荷が必要となる。
ここまでで、すでにモーターを除くデザインが完了している。(実際はモーターの選定にあたって仮のモーターもデザイン上で存在している。)
本装置での負荷は主に培養容器を牽引する力となり、装置自体の摩擦抵抗等はほぼ無視できるレベルである。負荷の測定は、バネばかりを使用した。培

6.3 組立・調整
組立は、定盤の上で M ブロックを用いながら平行や直角になるよう行った。その結果、各部品の位置のずれなどからくる抵抗がない、スムースな動きが実現できた。(図 8)
ドライブシャフトは、組み込みの際に培養容器をどの位置から牽引するかの位置合わせをする機能を
3

働きを担う知見を 2018 年 8 月 9 日付 Circulation
Research 誌で報告した1［1］。また、伸展刺激中の細胞上清を回収し、伸展刺激によって分泌される細胞
外マトリクス 85 種を同定した。さらに、伸展刺激によって分泌される Thbs1 が細胞接着斑のインテグリンに結合し、細胞内のメカニカルストレス応答因子 Yes-Associated Protein (YAP)の核内移行を制御している知見を報告した［2］。
これらの成果は、血管病態の根本的な病因となる
細胞内シグナル伝達の分子メカニズムを明らかにするものであり、本装置が果たした貢献度は高い。

持っている。しかし、メモリなどがなく、正確な位置合わせができないので、位置決めのための調整用ブロックを製作した。このブロックを用いてモーターが回転しスライドガイドが往復運動するときの停止する位置、すなわち死点の位置を決めることで、偏心軸を交換したときでも同じ場所を死点とすることが可能となった。

6.4 試運転完成後に試運転を実施した。仕様では連続運転が24 時間ということであったが 30 時間くらいの試運転を実施した。それでもモーターの発熱、機構部品からの異音などの異常は全く見られなかった。

７．成果
研究グループは、血管平滑筋細胞において、周期的な伸展刺激によって細胞外マトリクス
Thrombospondin-1 (Thbs1)の発現が誘導されることを明らかにし(図 9、10)、大動脈瘤の形成に重要な

図 10 伸展刺激による Thbs1 の発現(定量)

謝辞
本装置製作にあたり、部品加工にご協力いただいた筑波大学医学医療系工作室、沼尻久技術専門職員に感謝する。
参考文献[1] Yamashiro Y, Thang BQ, Shin SJ, Lino CA, Nakamura
T, Kim J, Sugiyama K, Tokunaga C, Sakamoto H, Osaka
M, Davis EC, Wagenseil JE, Hiramatsu Y and Yanagisawa
H, Role of thrombospondin-1 in mechanotransduction anddevelopment of thoracic aortic aneurysm in mouse andhumans, Circ. Res. 123(6) (2018) 660-672.
[2] Yamashiro Y, Thang BQ, Ramirez K, Shin SJ, Kohata T,
Ohata S, Nguyen TAV, Ohtsuki S, Nagayama K and
Yanagisawa H, Matrix mechanotransduction mediated bythrombospondin-1/integrin/YAP signaling pathway in theremodeling of blood vessels,
BioRxiv (2020)
https://doi.org/10.1101/814533

図 9 伸展刺激による Thbs1 の発現

1
筑波大学・プレリリース http://www.tsukuba.ac.jp/wpcontent/uploads/180810yanagisawa-3.pdf

4Production of cell stretching device
Kozo Kobayashia), Yoshito Yamashirob)a)Technical Service Office for Medical Sciences, University of Tsukuba,

1-1-1 Tennodai, Tsukuba, Ibaraki, 305-8575 Japanb)

Life Science Center for Survival Dynamics, Tsukuba Advanced Research Alliance (TARA), University of Tsukuba,

1-1-1 Tennodai, Tsukuba, Ibaraki, 305-8577 JapanThe cells that comprise the blood vessels receive tensile-stretch tension due to cardiac pulsation and intravascularpressure. Understanding the physiological response to this may clarify the fundamental role in the vascular pathogenesis.
A device for analyzing the stretch stimulus response of vascular smooth muscle cells (VSMCs) for this purpose iscommercially available but expensive and complex. Therefore, the extension operation was condensed into a single
function and an apparatus was manufactured at low cost. Using this device, we revealed the extracellular matrix protein,
Thrombospondin-1 plays crucial role in response to cyclic stretch and involved in vascular pathogenesis.
Keywords: Vascular smooth muscle cells, Extension apparatus

5PHP と SQLite3 を用いた Web アプリケーション―出席登録システムの作成―
中山 勝
筑波大学システム情報系技術室〒305-8573 茨城県つくば市天王台 1-1-1
ション設定には注意が必要となる(user 以外の write
パーミッションは立てない)。なお SQlite3 は、PHPに DLL (Dynamic Link Library)が同梱されており、本環境では使用可能な設定になっている。

概要
筆者は筑波大学情報科学類の授業で実施される、
ハードウェア系の実験に携わっている。学生が実験を受講する上で、出席率は重要な要素となる。
今回、紙ベースで行われている、出席の集計を自動化するために、Web アプリケーションを作成した。
PHP と SQLite3 を用いて作成したアプリケーション
は、出席の登録や集計を Web ブラウザ上で実行できるシステムである。
また、本システムの試験運用を行ったので、併せて報告する。

３．PHP と SQLite3
今回、出席登録システムの作成には、PHP (PHP:
Hypertext Preprocessor)1と SQLite32データベースを使用することにした。
PHP は、サーバーサイドで動的な Web ページを作成するための機能を、多く備えているプログラミン
グ言語である。また、データベースへのアクセスが容易なのも、その特徴である。さらに、PHP 5.4.0 以
降には、開発支援のために Web サーバー機能(ビルトインサーバー)が付加されている。この簡易サーバ
ーを、自身のパソコン上で走らせ、Web アプリケー
ションの開発に利用できる。
SQLite3 は、サーバーとしてではなくアプリケー
ションに組み込んで利用される。また、データの保存に単一のファイルを使用することと、ユーザーの設定や、パスワードの設定といったことが必要ない
ので、とても軽量である。そのため今回のようなケースでは、とても使い勝手の良いデータベースと言える。

キーワード： PHP、SQLite3、Shibboleth 認証、Apache2.4

１．はじめにシステム情報系技術室では、定年退職による室員の減少に伴い、従来サポートしていた業務の引き継ぎが、難しい状況となっている。
ところで実験における出席は、技術職員が受講者名簿から出欠表を作成し、受講生に手書きのサインを書かせることで出欠を取っている。この場合技術職員は、実験前の出欠表の準備からその後の回収、最後に集計作業をして、担当教員に提出する必要がある。
そこで、業務の効率化のため出席の登録は、自動化されたシステムを提案することにした。本学で導入しているクラウド型の教育支援サービス、manabaの利用も考えたが、担当教員から、｢実験は、実験室(計算機室を含む)に来て行うもので、どこからでも登録できてしまっては困る｣という条件が提示されたため、アクセス制限の掛けやすい情報科学類のコ
ンピューティング環境に、Web アプリケーションを作成することにした。

４．ファイルおよびディレクトリ構造
出席登録システムで作成したファイルは、
l attendance.db3 (SQLite3 データベース)
l schedule.php (日程登録用)
l meibo.php (受講者名簿および出席データ管理)
l index.php (出席登録用)
l .htaccess×2 (Shibboleth 認証用)である。そのディレクトリ構造を図 1 に示す。
・/├─・ファイル格納用ディレクトリ│ └─・attendance.db3└─・ルートディレクトリ
└─・システム格納用ディレクトリ
├─・.htaccess├─・index.php└─・管理ページ用ディレクトリ
├─・.htaccess├─・meibo.php└─・schedule.php

２．コンピューティング環境情報科学類は計算機室を、3C113 室、3C205 室、3C206 室の 3 部屋持っている。今回試験運用を行った論理システム実験は、3C113 室で実施している。
3C113 室のコンピューティング環境は、macOS10.14
Mojave、Windows10、Ubuntu が利用できる、トリプ
ルブートの環境になっている。また、Web サーバーには、Apache 2.4、PHP 5.4.xx が実装されている。ところで、スクリプトの実行には suPHP という仕組みを利用しているので、プログラムはユーザー権限で動作する。そのためスクリプトファイルのパーミッ
1

図 1. ディレクトリ構造
2

https://www.php.net/manual/ja/index.php
6

https://www.sqlite.org/index.html

このページでは、レコードの最後に登録フォームがあり、そこに予定を入力し登録ボタンをクリック
すると、スケジュールに追加される。また、レコー
ド単位での削除が可能である。さらに日程を新規作成するために、テーブル内の値を削除する機能も付加されている。実際には、｢空にする｣のチェックボ
ックスにチェックを入れ、実行ボタンをクリックすると実行される。これにより、テーブル内のセルデータは、すべて空になる。

4.1 データベース(attendance.db3)
出席登録用データベースは、schedule テーブルとmeibo テーブルの 2 つのテーブルを持っている。データベースファイル自体は、セキュリティの観点から、ルートディレクトリの外に配置した(図 1 参
照)。
なお、データベースファイルの作成および、テーブルの作成には、Windows パソコン上で動作する
フリーウェアの DB Browser for SQLite3を使用した。

4.3 出席管理用ページ(meibo.php)
meibo.php も、管理者のみにアクセスが許可されたページである。このページは、meibo テーブルに登録された受講生の出席状況を表示する。その機能は、システム運用開始にあたって、新規に meibo テーブ
ルを作成するものである。実際は、CSV 形式で記述された名簿ファイルを読み込み、schedule テーブルに登録された日付のフィールドを追加した形で、テーブルを作成する。またテーブルに保存されたデー
タを、CSV 形式のファイルとして書き出すこともできる。テーブル作成用の CSV ファイルの記述例を図3 に示す。

4.1.1 schedule テーブル(日程の登録)
schedule テーブルは、実験の日程を登録するテーブルである。その構造は、hizuke (日付)、hajime (登録開始時間)、owari (登録終了時間)の 3 つのフィールドで構成されている。hizuke フィールドには、実験実施日を登録する。また、hajime フィールドには出席登録の受付開始時間を、owari フィールドには
受付終了時間を登録する。

4.1.2 meibo テーブル(受講者名簿と出席状
況データ)

2018xxxxxx1,sxxxxxx1,茨城 太郎,,
2018xxxxxx2,sxxxxxx2,筑波 花子,,
2018xxxxxx2,sxxxxxx2,日本 次郎,,meibo テーブルは、受講者名簿であり、出席状況を管理するテーブルでもある。その構造は、stNum( 学籍番号) 、uId ( ユーザーID) 、sName ( 氏名) 、syuSenkou (未使用)、tNo (未使用)の 5 つの静的フィールド(固定フィールド)と、schedule テーブルを参照
して動的に作成される、出席状況登録用の可変フィールドからなる。

図 3. CSV ファイルの記述例
各行の、後ろにある 2 つのカンマは、2 つの未使
用のフィールドを示すものなので、現状では必ず付加する必要がある。(将来的には、見直す予定)
図 4 に出席管理用ページを示す。

4.2 日程登録用ページ(schedule.php)
schedule.php は、管理者のみにアクセスが許可されたページである。このページは、schedule テーブルの日程データを表示する。機能は、実験の実施日と出席登録を許可する時間帯の設定(schedule テーブルに登録)である(図 2)。

図 4. 出席管理用ページ
図 2. 日程登録用ページ

3

なおこのページも日程登録用ページと同様に、レ
コード単位での登録・削除が可能である。

http://sqlitebrowser.org/
7ところで、SQLite3 で使用されている文字コード
は、UTF-8 である。これを、Microsoft Excel で編集(Windows 上)できるようにするため、読み込み時には Shift_JIS を UTF-8 に、書き出し時には UTF-8 をShift_JIS に変換している。
左から 5 つのフィールドは、CSV ファイルから読み込んだ名簿データである。右側に続く日付が入ったフィールドは、schedule テーブルから読み込んだ日程になっている。

4.5 アクセス制限用ファイル(.htaccess)

4.4 出席登録用ページ(index.php)

AuthType shibboleth
AuthName "Coins Login with University of Tsukuba Shibboleth"
ShibRequireSession On
ShibUseHeaders On
require valid-user

システム格納用ディレクトリと、そのサブディレ
クトリである管理ページ用ディレクトリには、.htaccess ファイルが置かれている。システム格
納用ディレクトリに置かれている.htaccess ファイルは、Shibboleth で、計算機ユーザーの認証を掛けている(図 7)。

index.php は、学生が出席を登録するためのページである(図 5)。

図 7. Shibboleth 認証 (1)管理ページ用ディレクトリに置かれている.htaccess ファイルは、管理者しか入れないようにユーザーを指定して、Shibboleth で記述されている(図 8)。
AuthType shibboleth
AuthName "Coins Login with University of Tsukuba Shibboleth"
ShibRequireSession On
ShibUseHeaders On
require shib-attr uid xxxxx xxxx xxxxxxx

図 5. 出席登録用ページ (1)
このページは meibo テーブルから、認証ユーザー(リモートユーザー)に対応するレコードを選択し、表示する。なお schedule テーブルの開始フィールドに登録された時間から、終了フィールドに登録された時間までの間だけ、出席登録が可能になる。出席の登録ボタンをクリックすると、その時の時間がテーブルに登録される。
開始時間前および開始時間後は、図 6 で示すように登録ボタンは表示されなくなり、出席の登録はできなくなる。

図 8. Shibboleth 認証 (2)５．出席登録システムの運用手順
5.1 schedule テーブルの作成
まず学年暦で、実験科目の実施日と実施時間を調
べ、schedule テーブルに登録する。登録は、日程登録
用ページから行う。
以下、今回試験運用を行った、論理システム実験を例にとって説明する。論理システム実験は、秋 A・
B モジュールに開講され、3、4、5 限に実施される。
そこで図 2 のように、日付フィールドには実施日を登録する。開始フィールドには、2 限目の終了時間、
11 時 25 分を登録することにした。終了フィールドには少し余裕を見て、6 限終了時間の 18 時 00 分を登録した。ただし実際の登録では、実施日は別として、開始・終了時刻は担当者の判断で、適宜決めることになる。

5.2 meibo テーブルの作成
図 6. 出席登録用ページ (2)次に行う作業は、受講生の名簿を作成することである。これは、Microsoft Excel で作成し、カンマ区切
りの CSV ファイルとして保存すればよい。
その後、出席管理用ページにアクセスし、参照ボ
タンをクリックして、CSV ファイルを選択する。さらに、CSV ファイルが選択された状態で、名簿の新規作成ボタンをクリックすると、図 9 のように表示
され、日程が右側に追加された、出席登録用の meibo
テーブルが新しく作成される。以上で、事前の準備は完了となる。あとは、受講生に出席登録用ページ

また、名簿に登録されていないユーザーは、ペー
ジには入れず Top ページに転送される。その他、IP
アドレスも制限されており、3C113 室のクライアン
トマシンからのアクセスしか受け付けないように、
カスタマイズした。なお、IP アドレスのバージョン
が、Windows 環境は IPV4 で、mac と Ubuntu の環境
は IPV6 であったため、両方の形式に対応させる必要があった。
8

分を削除する等、体裁を整え、担当教員に提出する(図 10)。

の URL を知らせ、実験の開始時には必ず出席の登録をするよう、指示する。

図 10. 出席状況

６．まとめ
試験運用は、無事成功に終わった。未使用のフィールドが残っているなど、修正点はまだ存在するが、ターゲットとなるサーバーの環境や、運用する科目の要求に合わせ、カスタマイズして対応する。
なお今後は、仕様書や利用の手引き等の、マニュアルを整備する必要がある。これにより、利用者自身で運用できることが理想である。
図 9. 新規作成された出席管理用ページ

謝辞
5.3 出席状況の集計
全日程が終了後、出席管理用ページにアクセスし、出席表の保存ボタンをクリックすると、meibo テー
ブルの内容が、出欠表.csv のファイル名で保存される。これを、Microsoft Excel で読み込み、不要な部

出席登録システムを作成するきっかけを与えてくださった、システム情報系技術室、山崎豊技術専門職員に感謝いたします。
また、論理システム実験での試験運用を、快く認めてくださった、システム情報系情報工学域、冨安洋史講師に感謝いたします。

Web application using PHP and SQLite3―Creating an attendance registration system―
Masaru Nakayama
Technical Service Office for Systems and Information Engineering, University of Tsukuba,
1-1-1 Tennodai, Tsukuba, Ibaraki, 305-8573 Japan

Keywords: PHP, SQLite3, Shibboleth, Apache2.4

9

薬品管理システム支援ツールの開発
藤井 邦彦aa

筑波大学総務部リスク・安全管理課〒305-8577 茨城県つくば市天王台 1-1-1
ついては、本学の薬品管理システム上では表示・通知対象物質全体の合計量しか集計することができず、ケミカルアブストラクトサービス(CAS)番号毎等、物質毎の使用量集計ができない。また、後者については、機能そのものが実装されておらず、薬品管理
システムから出力した在庫リストを基に一品ずつ手作業で確認する方法しかない状況である。
そこで、この 2 つの問題を解決する、本学内での利用実態に合わせた機能を持つパーソナルコンピュータ(PC)用のツールの開発を行った。

概要
筑波大学では、化学物質管理の一環として、薬品・
高圧ガス管理システム Tsukuba-CRIS を導入・運用している。本システムは、薬品・高圧ガスの在庫および使用量等の情報をサーバー上のデータベースで一元管理するが、集計や棚卸等の機能については、本学が求めている仕様や機能そのものが実装されていない。そこで、薬品管理システムから出力されるデータを基に薬品の使用量集計や棚卸を行うツールを開発したので報告する。

２．ツールの開発方針

キーワード：薬品管理システム、集計、棚卸

2.1 プラットフォームと使用言語

１．はじめに近年はウェブアプリケーションが主流となってきているが、今回開発したツールは、年間を通して継続的に使用するツールではないこと、ウェブアプリ
ケーションの場合、サーバーやプログラム本体のセキュリティ対策等が必要となり、サーバーの保守まで含めた運用が難しいことから、スタンドアロン型のデスクトップアプリケーションとした。プラット
フォームはユーザー数の多い Windows とし、対応
OS は Windows10 以降とした。また、使用言語は C#とし、開発には Visual Studio 2017 を使用した。ライ
ブラリとして、タブ区切りテキストデータの読み書
きには LumenWorksCsvReader 2 、PDF の出力にはiTextSharp3をそれぞれ利用した。

平成 16 年 4 月の国立大学の法人化を機に多くの大学等では薬品管理システムを導入・運用している[1]。本学では、学内における化学物質管理の一環として、薬品・高圧ガス管理ウェブアプリケーションシ
ステム Tsukuba-CRIS (島津 SD 株式会社製、以下薬品管理システムという。)を薬品の受払簿として平成
23 年 9 月より導入・運用している。
薬品管理システムでは、ウェブブラウザ上からローカルエリアネットワーク(LAN)回線を通じてサーバー上のデータベースに所有している薬品の種類、量、法令情報、保管場所、使用量および廃棄量を登録することができ、登録されたデータの一元的な管理が可能である。
こうしたデータベースを用いたシステムにおいて最も威力を発揮するのは、入力されたデータの検索および集計機能であるが、ベースとなるシステムに最初から実装されている機能が導入先の利用方法にマッチしていなかったり、機能そのものが実装されていなかったりすることがある。こうした場合、通常は導入先毎に独自カスタマイズを行うことにより対応するが、担当者がデータベースを理解していな
いと仕様策定が難しい。特に薬品管理システムのよ
うに全学の不特定多数の構成員が使用するシステム
においては、現場(実験室)での利用シーンも考慮する必要があるため、安易な機能実装では、結果として無駄な機能を実装してしまうことにもなりかねない。
本学の薬品管理システムのデータ活用において問題となっているのは、(1)労働安全衛生法(昭和 47 年
法律第 57 号、以下安衛法とする。)第 57 条の 2 に定められている表示・通知対象物質1、所謂リスクアセ
スメント対象物質の物質毎の使用量集計、(2)入庫登録されている薬品の棚卸機能の 2 つである。前者に2.2 開発方針
2 つのツールとも単機能のツールであり、ユーザ
ーが直感的に操作できるよう、以下の開発方針に従って開発した。
(1) ボタン等は極力減らすこと(2) 画面上部から順に操作していくことで必要な結果が得られること(3) 棚卸作業では時間がかかるため、作業の途中でも中断できるようにすること

３．薬品使用量集計ツール｢くしかつ｣
3.1 概要本ツールは、平成 28 年 6 月に施行された改正安衛法に定められたリスクアセスメント対象物質毎の使用量を簡単に集計するツールである。本データの出力結果から健康障害に関わるリスクアセスメントを行うためのツールは、平成 28 年度の本学技術報告
3afujii.kunihiko.ga@un.tsukuba.ac.jp
1
https://anzeninfo.mhlw.go.jp/anzen/gmsds/gmsds640.html
2
https://www.nuget.org/packages/LumenWorksCsvReader/10

https://www.nuget.org/packages/iTextSharp/

図 1 くしかつの実行画面(使用者および使用場所で分けて集計)
健康障害に関わるリスクアセスメントでは、使用
者毎や部屋全体での使用量が評価をする際必要となる。そこで集計の種類としては、研究グループ全体の使用量集計の他、使用者毎、使用場所毎および使用者＆使用場所毎の 4 つの方法で使用量を集計できるようにした。

にて報告している[2]。なお、ツール名の｢くしかつ｣とは、｢CRIS の使用履歴から集計表を簡単に作ります｣
を略したものである。

3.2 集計方法
薬品管理システムでは、各試薬メーカーから提供された薬品カタログデータ(メーカー名、薬品名、グレード、JAN コード、薬品重量、CAS 番号および各種法規情報等)を薬品マスタとしてデータベースに登録しており、この情報と実際の薬品とを紐づけて管理する。集計は、薬品管理システムから出力された薬品使用量のタブ区切りテキストデータのうち
CAS 番号、薬品名および安衛法の表示・通知対象物
質の項目が一致する薬品について行うこととした。
この理由としては以下があげられる。
(1) 項目の抜け落ち
薬品マスタでは CAS 番号が空白となっている
ことがしばしばある。その結果、例えば、CAS
番号のみで集計した場合、CAS 番号が空白のデータは異なる物質であっても全て合算し、意味のない集計値となってしまう。
(2) 薬品名称や法規情報の揺らぎ
アセトンを例にとると、薬品名称は｢アセトン｣、｢ｱｾﾄﾝ｣、｢ジメチルケトン｣または｢2-プロパノン｣等の表記の揺らぎがあり、また、法規情報も｢有機溶剤中毒予防規則｣、｢有機則｣または｢有 2｣等、人間から見れば全て同じ法律を指すことが判断できるが、機械的にはその判断は難しい。
これらのことから、CAS 番号、薬品名および安衛法の 3 項目が一致した物質についてのみ、同じ薬品として集計・出力し、表記等の揺らぎによる相違についての最終的な判断は人間が行うようにした。

3.3 集計結果の出力
くしかつの実行画面を図 1 に示す。図では CAS 番号、薬品名および安衛法に加えて、使用者＆使用場所が一致しているデータについて集計した結果を示している。使用したデータは本学の実際の登録デー
タのうち、メタノール(第 2 種有機溶剤)について、使用場所と使用者を改変して利用しているが、薬品マスタ上の安衛法のフィールドが｢有 1(第 1 種有機溶剤の意)｣と｢有 2(第 2 種同)｣として登録されているものがあるため、別々の物質として表示されていることが分かる。
出力結果はカンマ区切りテキスト形式(CSV 形式)で保存することができ、Excel 等の表計算ソフトを用いて取りまとめることが可能である。

４．棚卸ツール｢くたくた｣
4.1 概要本ツールは本学の毒劇物に関する規程(国立大学
法人筑波大学毒物及び劇物管理規程、平成 17 年 7 月
21 日法人規程 51 号)第 8 条第 3 項で定められている
毒物および劇物の棚卸作業を効率的に行うために開発した。近年、毒物および劇物の盗難や紛失が相次
ぎ、また、令和 2 年夏にはオリンピック・パラリン
ピックが開催されることもあり、厚生労働省等より

11

図 2 くたくたのメイン実行画面
毒劇物の管理徹底化を行うよう、通知による指導が度々なされており4、大学等でも対応が求められている。
薬品の棚卸手順では、在庫リストと在庫とを照合し、在庫量が在庫リストに記録されている量と異なる場合や、在庫が無い場合には数量の修正を行う。
この時、薬品がアルファベット順などで保管されていれば照合は容易であるが、通常は薬品棚に在庫としてある薬品の名称を在庫リストから探すことで確認するため、一品一品の検索に時間がかかる。本ツールでは、薬品管理システム登録時に発行される入庫番号(バーコード)を PC に接続したバーコードス
キャナで読み込むだけで在庫リストから検索することができ、棚卸を迅速にできることが特徴である。
なお、｢くたくた｣とは、｢CRIS の棚卸をくたくたが助けます｣を略したものである。

4.3 棚卸方法
PC に接続したバーコードスキャナを用いるか、キーボードから入庫番号または薬品 ID を入力すると、ダイアログウィンドウが開き、薬品名称とともに購入時の初期量とシステムに登録されている現在量が表示される(図 3)。
修正がある場合には残量を入力後、修正が無い場
合にはそのまま Enter キーを押すか OK ボタンをクリックすることで、棚卸状況が記録される。
また、研究室によっては 1000 本単位の薬品を保有しており、1 回の作業では全ての棚卸作業が終わらないことがある。そこで、ツールを作業途中で終了
した場合には XML 形式でデータを自動的に書き出し、作業状態を保存できるようにした。この XML ファイルは次にツールを起動した時に自動的に読み込
まれ、作業の再開ができるようになっている。

4.2 ユーザーインターフェース
くたくたのメイン実行画面を図 2 に示す。薬品管理システムから出力された在庫データを読み込むと画面下部のデータグリッドビューに在庫リストが表示される。表示項目は入庫番号、薬品 ID、薬品名、
毒劇物の種別、建物名、部屋番号、部屋名、保管庫名、詳細、初期量および在庫量とした。その他、棚卸済の場合には｢●｣を表示し、また、在庫量の修正がある場合には修正量を表示するように列を追加し、さらに棚卸確認済や未完了の薬品の個数表示をし、棚卸実施状況が一目でわかるようにした。なお、データグリッドビューの見出しの各項目をクリックすることにより、棚卸の有無、毒劇物、部屋番号、保管庫等の順でソートできるようになっている。

図 3 在庫量の確認ダイアログウィンドウ4

https://www.nihs.go.jp/mhlw/chemical/doku/tuuti.html
12図 4 PDF で出力された棚卸記録(棚卸済の薬品も含む全薬品のリスト)
成 30 年法律第 70 号)が施行された。今後、法令対応等に伴う単純な作業や業務については、実効性を上げつつ効率化し、本来の業務時間を確保する必要があることから、今回のようなツールの開発等により教職員への負担を削減できるよう努力していきたいと考えている。

4.4 棚卸結果の出力とデータの修正
棚卸作業終了後、棚卸記録として 2 種類のリスト
を PDF で出力できるようにした。一つは棚卸が完了していない、または在庫量の修正があった薬品のリスト。もう一つは棚卸完了済の薬品を含めた全薬品の在庫リストである(図 4)。両リストとも印刷日、バーコード、試薬名、保管場所等が表示されるため、前者は印刷して棚卸未実施の薬品を探すときに使うことができ、後者は棚卸を実施した記録として活用することができる。また、棚卸の結果、在庫量の修正がある場合には、薬品管理システム上で印字されているバーコードをスキャナで読み込むことにより在庫量を修正することができる。

参考文献[1] 藤井邦彦, 中村修, 中山政勝, 川上貴教, 大学等の化学物質管理システムにおけるデータベースの保守と改善点の実態調査, 環境と安全 Vol.4 (2013) 237-246.
https://doi.org/10.11162/daikankyo.13H0801[2] 藤井邦彦, 中村修, 化学物質リスクアセスメントツールの開発, 第 16 回筑波大学技術職員技術発表会報
告集 (2017) 19-23.
http://www.tech.tsukuba.ac.jp/2016/pdf/report/Report2016.pdf

５．おわりに今回開発したツールは、薬品管理システムから出力されたデータを Excel 等の表計算ソフトに読み込
むことでも実行できるものである。例えば、使用量集計についてはピボットテーブルを使うことで計算が可能であり、棚卸についても検索機能を使えば可能である。しかし、表計算ソフトでは操作が煩雑となりミスを伴うことや、読み込んだデータが日付に変換されてしまう等の固有の癖があることから、専用のツールが果たす役割は大きいと言える。
平成 16 年の国立大学の法人化により、国立大学でも民間企業と同様に各種法令への対応・順守が求められているが、一度施行された法令が廃止になることは稀であり、また、大学等の教職員数も年々削減されていることから、教職員への負担が増加することも明らかである。平成 31 年 4 月には、働き方改革を推進するための関係法律の整備に関する法律(平13Development of assistance tool of reagent management system
Fujii Kunihikoa)a)Division of Risk Management, Department of General Affairs, University of Tsukuba,

1-1-1 Tennodai, Tsukuba, Ibaraki, 305-8577 JapanThe University of Tsukuba has introduced and operates Tsukuba-CRIS, a chemical and high-pressure gas
management system, as part of chemical substance management. In this system, the information such as inventory andusage of chemicals and high-pressure gas is unified in a database on the server. However, functions such as aggregate
calculation and inventory clearance are not implemented according to the specifications required by the university.
Therefore, I have developed a program to count the usage of reagents and to perform inventory based on the data of thechemical management system.
Keywords: Reagent management assistance tool, Aggregate calculation, Inventory clearance

14筑波大学技術報告

No.39

令和 2 年 3 月

発行

編集・発行

筑波大学技術職員技術交流実行委員会〒305-8577
茨城県つくば市天王台 1-1-1
E-mail: kouryu@tech.tsukuba.ac.jp