調剤に関わるデータを効率的に最大限利用するには、調剤薬の各種コードとそれを扱うための関数を理解する必要があります。
今回は各種コードの意味と特徴について紹介します。
各種コードの意味と特徴
YJコード
(12桁=7桁数字+英1字+4桁数字)
別名:個別医薬品コード、販売名コードなど
薬価収載されている全ての医薬品についてユニーク(重複がない)に割り当てられるコード
薬価収載コード
(12桁=7桁数字+英1字+4桁数字)
別名:厚労省コードなど
見た目はほぼYJコードと同じだが、銘柄(販売)名が官報告示されず統一名収載されているものは、販売名が違っても同じ薬価収載コードが付与されています。したがってこれらの品目は 「YJコード≠薬価収載コード」となります。
「≠」と言いましたが、12桁のコード全てが違うわけではなく、最後の3桁(ブランドを表す2桁+チェックデジット1桁)に相違があります。逆に言うと頭からの9桁(9文字)は一緒なのです。
これらの違いについては、”YJコードとは|医薬品情報なら医薬情報研究所”が参考になります。
コードを扱う上で大切なのは、今扱おうとしているコードがYJコードなのか、薬価収載コードなのか、をはっきりしておくことです。
YJコードのつもりが薬価収載コードだったら、1対1の処理ができない恐れが発生するからです。
YJコードが表すもの
YJコードの特徴は頭から何文字目まで等しいかで、関係性が分かります。
頭4桁(4文字)が同じ:薬効分類が同じ
頭7桁(7文字)が同じ:成分名が同じ
頭8桁(8文字)が同じ:剤形まで同じ
頭9桁(9文字)が同じ:規格まで同じ
となっています。
したがって、YJコードから頭何文字かを取り出せるようになれば、例えば後発品の一覧などが簡単に作成できます。
Excelの文字列操作関数で処理すればあっという間にできてしまいます。使う関数は、
=LEFT(対象となる文字列、左から何文字抜き出すか)
だけです。
私が頻繁に利用するのは、頭9文字を抜き出し、「一般名コード」として薬剤集計をしたりしています。
レセプト電算コード(9桁数字)
レセプトをオンラインで請求する際に医薬品名とともに記される6で始まる9桁の数字。特定保険医療材料(ペンニードルなど)は7で始まる9桁の数字が割り当てられています。
基本的には、薬価収載された時期で数字の小さい、大きいの違いがありますが、YJコードののようにその数字に規則性はありません。
JANコード(13桁数字)
販売包装単位の箱に記載された13桁数字のコード
医療用医薬品の流通においては既に「表記してはいけない」ことになっていますが、卸や薬局の在庫管理システムでは内部処理のためにJANコードが使われています。
JANコードが表すもの
頭2桁 49または45 :「日本」で流通しているもの
次の2桁 87:医薬品関連製品
次の3桁 メーカー番号
次の5桁 各メーカーで管理付番される5桁の数字
最後の1桁 チェックデジット(導き方は後述します)
GS1コード(14桁数字)
医療事故防止の観点から、平成27年7月から原則としてすべての医療用医薬品に記載が義務付けられました。「調剤包装単位」「販売包装単位」「元梱包包装単位」に大別されます。
調剤包装単位コード
現在PTP包装された医薬品には裏側に「調剤包装単位」のGS1コードが記されています。
これは主に、病院での注射薬の払い出しや、調剤薬局の鑑査支援システムなどで利用されています。
GS1コードでは、10錠シート、14錠シートなどの区別がありますので、鑑査支援システムのデータを活用できれば、これまでシステム上在庫管理が困難だった外用剤の5gチューブ、10gチューブの違い、エンシュア・リキッドの味違いなどの在庫管理も理論上可能(容易)になります。(ただし、今のところそのようなシステムは販売されていないようです)
販売包装単位コード
今までのJANコードの代わりに包装箱に記載されるようになった14桁の数字です。
JANコードとは1対1の関係にあるため、互いに「変換」することができます。
GS1コード=1+JANコードのチェックデジットを除いた頭12桁+新たなチェックデジット
となります。
GS1コードとJANコードの関係
具体的には
GS1のチェックデジット=JANコードのチェックデジットに7を足した数の1の位の数
となります。
例えば、JANコードのチェックデジットが「5」だったとすると、「5+7=12」となるので、1の位つまり「2」がGS1コードでのチェックデジットとなります。
だったら3を引けばいい?とも思いますが、JANコードのチェックデジットが「2」の場合3を引くと「-1」となってしまいうまく行きません。(この場合9になるのが正解)
これをExcelの計算式にすると
GS1コード=1&LEFT(JANコード,12)&RIGHT(RIGHT(JANコード,1)+7,1)
として14桁の数字の文字列として表します。
数値にしたければ、全体に1を掛けます。
GS1コード=(1&LEFT(JANコード,12)&RIGHT(RIGHT(JANコード,1)+7,1))*1
とすれば、数値として扱えます。
チェックデジットとは
チェックデジットについては、いろいろなサイトで詳しく述べられているので、検索参照してください。簡単に言うと「数字などの入力間違いを検出するために、ある求め方によって一意に決まる数字」ということになるでしょうか。