医療材料で使用されるバーコード GS1-128 とは

医療材料と切っても切り離せない「バーコード」についてワンポイントアドバイス

バーコードの種類

インターネットなどでバーコードについて調べてみると「よくこれだけ作ったな」と思うほど、多くの種類があります。
形状の違う2次元バーコードと縦縞の一般的なバーコードとの違いはわかりますが、同じ縦縞のバーコードでも種類の多さに呆れてしまいます。
さすがに全ての種類をご説明することは出来ませんが、我々が取り扱う医療材料についているバーコードについてご説明していきます。

医療材料に使用されているバーコードには「EAN-128」と「GS1-128」があります。
名前が違っていますが、実はこのバーコードは全く同じ規格です。

なぜ名前が違うのでしょうか?
EAN-128 は国内で作成されたもので、GS1-128 は国際的な規格です。
ですので、バーコード内の商品識別コードは EAN-128 では国内のコードである JAN コードを使用しています。この2つの規格は同じでも中味がちょっと違っているわけです。

ただし、最近は GS1-128 の商品コードをそのまま国内で登録する輸入業者が増えています。そうすれば輸入時点での GS1-128 バーコードをそのまま国内でも使用出来ます。そのうち GS1-128 だけになるのでは…と考えています。

ポイント

POU LITE では EAN-128 がある場合はそれを利用し、GS1-128 しか無い場合はこちらを利用してください。両方のバーコードがある場合には EAN-128 を優先してください。(日本語のシールにあるバーコードです)

実際にバーコードを読み取る

それでは、GS1-128(以降 EAN-128 を含みます)をもう少し詳しくみてみます。

以下のバーコードを読んでみます。

(01)08714729172772(17)110500(30)1(10)13461815

読み取れました。
0104900001802281172404271019179878301

バーコード下の文字と読み取った値を比較すると、バーコードの方には()の記号がついているだけで、数字は読み込んだ値と一致しています。

この記号で囲まれた部分は何を表しているのでしょうか?
実は、後に続く文字が何を意味するかを示す識別子です。

代表的な識別子を次に示します。
(01) 梱包単位+商品コード(14文字固定/数字)
(17) 使用期限(6文字固定/数字)
(30) 入数(可変長/数字)
(10) 製造ロット番号(可変長/英数文字)
(21) シリアル番号(可変長/英数文字)

つまり、上記のバーコードは

梱包単位:0、商品コード(01):4900001802281、使用期限(17)=240427、ロット番号(10):19179878、入数(30):1

という内容であることが分かります。

この他にも識別子はありますが、我々が扱う医療材料には、

商品コード (01)
必ずあります
使用期限 (17)
まず間違いなくあります
ロット番号 (10) / シリアル番号 (21)
どちらか一方、まれに両方ついています
入数 (30)
複数入りの梱包にはありますが、単包には付いていない事が多いようです

の5種類を覚えておけば問題ありません。

読み込み時に発生する問題

ここで1つ、バーコードを読み込んだ際に発生する問題についてご説明します。

問題が発生する部分は入数や製造ロット番号やシリアル番号は文字数が決まっていない可変長の項目です。
可変長なのでどこまでがその番号なのか、読み取った数字だけを見ても分かりません。
そのため文字列だけでは正確に項目内容を読み取れないケースが発生します。

そこで「GS1-128」の規格では文字数の決まっていない項目の最後に「FNC1」と呼ばれるコントロールコードを付加することになっています。
ただ、残念なことに、この「FNC1」というコードは文字ではありませんので、バーコードから読み取った文字を見ても何も見えません。

そこで、バーコードリーダーのメーカーは「FNC1」を通常使用されない文字(例えば、: * /等)に置き換えて出力してくれるリーダーを開発してくれています。

010871472917277217110500301/1013461815は「FNC1」を「/」で置き換えて出力したものです。
30=入数 1の後に「/」がありますのでそのあとの10がロット番号の識別子であることがわかります。

次に、私のリーダーの設定を少し変えて同じバーコードを読んでみます。
]C1010871472917277217110500301/1013461815
とでてきました。最初に]C1という文字が付いています。

実は、この]C1は、「これから読むバーコードは GS1-128 ですよ!」と教えてくれるコードです。バーコードリーダーはこれをみて、 GS1-128 だと認識しているわけです。

また、これは余談になりますが、GS1-128 のバーコードは通常1列のバーコードですが、表示スペースが小さい場合など、まれに2段になるケースがあります。
これを1段ずつ読んでみると
]C10134987350521959
]C1171203003005/10100405
となります。両方とも]C1が付いています。つまりこのバーコードも立派に GS1-128 コードなのです。

医療現場でのバーコード

医療材料には GS1-128 バーコード添付が義務化されております。我々のような立場にある者にとって、身近な存在であるこのバーコードを POU LITE などで活用するためには、多少の知識が必要かと思いこのコラムを書かせて頂きました。

私自身バーコードの専門家というほどの知識も経験もありません。そのため、この文章も独断と偏見に満ちたものになっているかも知れませんので、お気づきの点はご連絡頂ければ幸いです。