国民健康保険番号

国民健康指標(NHI)番号は、ニュージーランドの医療制度で使用される固有の個人識別子です。厳密には番号ではなく、3つの文字と4つの数字からなる7文字の英数字識別子です。NHIと呼ばれることが多いですが、この略称を使用する際には注意が必要です。NHIは、医療利用者の人口統計データを国レベルで収集したものを指す場合もあり、NHI番号はその固有の識別子です。

NHI番号は、NHIの一部として1993年に制定されました。[ 1 ]

使用法

NHIは主に、ニュージーランドの医療制度において、特に電子システムにおいて個人を一意に識別するために使用されています[ 1 ] [ 2 ]。その一例としては、医療警告システム(MWS)を用いて、特定の患者に対する医療上の意思決定に関連するリスクを医療提供者に警告するために使用されます。

形式

NHI番号はLLLNNNCという形式です。ここで、Lは文字(IとOを除く)、Nは数字、Cは数字のチェックディジットです(例:ABC1235)。最初の文字の割り当ては任意であり、割り当てられた個人とは関係ありません。NHI番号は、ほとんどの場合、アルファベットの大文字で表されます。この形式では13,824,000通りの固有のNHI番号が提供されますが、そのうち1,256,727通りの組み合わせはチェックディジットを生成できません。

NHI番号は、有効か無効かで判断されることがよくあります。正しい形式に合致しない、またはチェックディジットが間違っているNHI番号は無効とみなされます。通常、NHI番号が有効か無効かという判断は、それが正しい個人に正しく関連付けられていることを示すものではありません。識別子は任意であるため、識別子自体のみに基づいて正しい個人を特定することは不可能です。

NHI 番号の有効性をチェックするためのオープンソース パッケージが利用可能です。

既存の番号範囲は2025年以降に枯渇すると予想されています。2019年に改訂された規格では、LLLNNLXという新しい形式が導入されました。ここで、Xは文字のチェックディジットです(例:ABC12DV)。この新しい形式は2022年7月から割り当て可能となり、新たに33,177,600の固有のNHI番号が提供されます。2つの形式は無期限に共存し、すべての事務システムと臨床システムは両方をサポートする必要があります。

Zで始まるすべてのNHI番号はテスト目的で予約されています。[ 3 ]

重複

個人に複数の国民健康保険番号が割り当てられていることが判明した場合、そのうちの1つが主要な識別番号とみなされます。これは通常、割り当てられたすべての番号をアルファベット順に並べ、最初の番号を主要な識別番号として選択することによって行われます。

NHI 内の個人の他のすべての NHI 番号は、主要な NHI 番号にリンクされます。

チェックディジット

チェックディジットアルゴリズムには2つのバリエーションがあり、旧NHI番号形式は数字のチェックディジットを使用し、新形式はアルファベットのチェック文字を使用しています。アルファベットのチェックディジットを使用するように変更されたのは、旧チェックディジット方式では単純な1文字の転記エラーが必ずしも検出されないという、以前から特定されていた弱点を解決するためでした。[ 4 ]しかし、新アルゴリズムの実装では、単純な1文字の転記エラーにおいてチェックディジットの衝突が発生する可能性が大幅に高まります。[ 5 ]

新しい形式では、各アルファベット文字には、IとOを除いたアルファベットのバージョンにおけるその序数に等しい数値が割り当てられます。序数の範囲は1~24です。例えば、A=1、Z=24となります。各数字は、計算において0~9の数値で使用されます。

各文字に対応する数値に、NHI番号内の逆順の順序を掛けます。最初の値には7、2番目の値には6、3番目の値には5、4番目の値には4、5番目の値には3、6番目の値には2を掛けます。6つの積の合計を計算します。23を法とする計算結果を23から引いてインデックス番号を生成します。インデックス番号が0の場合、NHI番号は無効であり、使用できません。

旧形式では、国民健康保険番号にチェックディジットが含まれています。チェックディジットを生成するアルゴリズムは以下のとおりです。

各英字には、A から Z までのアルファベット内の序数に対応する数値表現が与えられます。文字 I と O は省略され、序数の範囲は 1 から 24 になります。

各英字の数値表現は、NHI番号におけるその序数の逆数で乗算されます。最初の値は7倍、2番目の値は6倍、というように続きます。

最初の 3 つの数字文字にも、その序数位置の逆数が掛けられます。

これらの乗算の合計(モジュラス 11 から 11 を引いた値)がチェック ディジットとして取得されます (結果 10 は 0 に変換されます)。

この方式は、ISBN チェック ディジット方式に似ています。

古い形式、新しい形式、両方の形式で国民健康保険番号を検証する Excel の数式

これらの数式はExcel 2010以降(または同等のバージョン)で動作します。入力は英数字と大文字であると想定しています。文字列が7文字であること、文字「I」と「O」が含まれていないこと、英数字が正しい位置にあることを確認します。有効なNHIの場合はTRUEを、そうでない場合はFALSEを返します。

古い形式

= AND ( IF ( LEN ( A2 ) = 7 , TRUE , FALSE )、NOT ( ISNUMBER ( FIND ( "I" , A2 )) )、NOT ( ISNUMBER ( FIND ( "O" , A2 )) )、ISTEXT ( LEFT ( A2 , 3 ) )、IF ( ISNUMBER ( VALUE ( RIGHT ( A2 , 4 )) )、11 - MOD ( 7 * IF ( ISERR ( MID ( A2 , 1 , 1 ) * 1 )、IF ( CODE ( MID ( A2 , 1 , 1 )) > 79 CODE ( MID ( A2 , 1 , 1 )) -66 IF ( CODE ( MID ( A2 , 1 , 1 )) > 72 CODE ( MID ( A2 , 1 , 1 )) -65 CODE ( MID ( A2 1 1 )) -64 )), MID ( A2 1 1 )) + 6 * IF ( ISERR ( MID ( A2 2 1 ) * 1 )), IF ( CODE ( MID ( A2 2 1 )) > 79 CODE ( MID ( A2 2 1 )) -66 IF ( CODE ( MID( A2 , 2 , 1 )) > 72 CODE ( MID ( A2 , 2 , 1 )) -65 CODE ( MID ( A2 , 2 , 1 )) -64 )), MID ( A2 , 2 , 1 )) + 5 * IF ( ISERR ( MID ( A2 , 3 , 1 ) * 1 )、IF ( CODE ( MID ( A2 , 3 , 1 )) > 79 CODE ( MID ( A2 , 3 , 1 )) -66 IF ( CODE ( MID ( A2 , 3 , 1 )) > 72 CODE ( MID ( A2 , 3 , 1 )) -65 CODE ( MID ( A2 , 3、1 ) ) - 64 )), MID ( A2 , 3 , 1 )) + 4 * IF ( NOT ( ISERR ( MID ( A2 , 4 , 1 ) * 1 )), MID ( A2 , 4 , 1 )) + 3 * IF ( NOT ( ISERR ( MID ( A2 , 5 , 1 ) * 1 )), MID ( A2 , 5 , 1 )) + 2 * IF ( NOT ( ISERR ( MID ( A2 , 6 ,1 ) * 1 ))、MID ( A2 , 6 , 1 )), 11 ) = IF ( NOT ( ISERR ( MID ( A2 , 7 , 1 ) * 1 )), MID ( A2 , 7 , 1 ) * 1 )))

新しいフォーマット

= AND ( LEN ( A2 ) = 7 NOT ( ISNUMBER ( FIND ( "I" A2 )) )、NOT ( ISNUMBER ( FIND ( "O" A2 )) )、NOT ( ISERR ( MID ( A2 4 2 ) * 1 ) )、23 - MOD ( 7 * IF ( ISERR ( MID ( A2 1 1 ) * 1 ) )、IF ( CODE ( MID ( A2 1 1 )) > 79 CODE ( MID ( A2 1 1 )) -66 IF ( CODE ( MID ( A2 1 1 )) > 72 CODE ( MID ( A2 1 1 )) -65 CODE ( MID ( A2 1 1 )) -64 )), MID ( A2 , 1 , 1 )) + 6 * IF ( ISERR ( MID ( A2 , 2 , 1 ) * 1 ), IF ( CODE ( MID ( A2 , 2 , 1 )) > 79 , CODE ( MID ( A2 , 2 , 1 )) -66 , IF ( CODE ( MID ( A2 , 2 , 1 )) > 72 , CODE ( MID( A2 2 1 )) -65 CODE ( MID ( A2 2 1 )) -64 )), MID ( A2 2 1 )) + 5 * IF ( ISERR ( MID ( A2 3 1 ) * 1 )、IF ( CODE ( MID ( A2 3 1 )) > 79 CODE ( MID ( A2 3 1 )) -66 IF ( CODE ( MID ( A2 3 1 )) > 72 CODE ( MID ( A2 3 1 )) -65 CODE ( MID ( A2 3 1 )) -64 )), MID ( A2 3 1 )) + 4 * IF ( NOT ( ISERR ( MID ( A2 , 4 , 1 ) * 1 )), MID ( A2 , 4 , 1 )) + 3 * IF ( NOT ( ISERR ( MID ( A2 , 5 , 1 ) * 1 )), MID ( A2 , 5 , 1 )) + 2 * IF ( ISERR ( MID ( A2 , 6 , 1 ) * 1 ), IF ( CODE ( MID ( A2 , 6 ,1 ) ) > 79 CODE ( MID ( A2、6、1 ) ) -66 IF ( CODE ( MID ( A2、6、1 ) ) > 72 CODE ( MID ( A2、6、1 ) ) -65 CODE ( MID ( A2、6、1 ) ) -64 ) ) , MID ( A2、6、1 ) ) , 23 ) = IF ( ISERR ( MID ( A2、7、1 ) * 1 ) , IF ( CODE ( MID ( A2、7、1 ) ) > 79 CODE ( MID ( A2、7、1 ) ) -66 IF ( CODE ( MID ( A2、7、1 ) ) > 72 CODE( MID ( A2 , 7 , 1 )) -65 CODE ( MID ( A2 , 7 , 1 )) -64 ))、MID ( A2 , 7 , 1 )))

両方の形式

= AND ( LEN ( A2 ) = 7 NOT ( ISNUMBER ( FIND ( "I" A2 )) )、NOT ( ISNUMBER ( FIND ( "O" A2 )) )、NOT ( ISERR ( MID ( A2 4 2 ) * 1 ) )、IF ( ISERR ( MID ( A2 6 1 ) * 1 )、23 - MOD ( 7 * IF ( ISERR ( MID ( A2 1 1 ) * 1 )、IF ( CODE ( MID ( A2 1 1 )) > 79 CODE ( MID ( A2 1 1 )) -66 IF ( CODE ( MID ( A2 1 1 )) > 72 CODE ( MID ( A2 1 1 )) -65 CODE ( MID ( A2 1 1 )) -64 )), MID ( A2 1 1 )) + 6 * IF ( ISERR ( MID ( A2 2 1 ) * 1 )), IF ( CODE ( MID ( A2 2 1 )) > 79 CODE ( MID ( A2 2 1 )) -66 IF ( CODE( MID ( A2 , 2 , 1 )) > 72 , CODE ( MID ( A2 , 2 , 1 )) -65 , CODE ( MID ( A2 , 2 , 1 )) -64 )), MID ( A2 , 2 , 1 )) + 5 * IF ( ISERR ( MID ( A2 , 3 , 1 ) * 1 )、IF ( CODE ( MID ( A2 , 3 , 1 )) > 79 CODE ( MID ( A2 , 3 , 1 )) -66 IF ( CODE ( MID ( A2 , 3 , 1 )) > 72 CODE ( MID ( A2 , 3 , 1 )) -65 CODE ( MID ( A2 ) 3 1 )) -64 )), MID ( A2 , 3 , 1 )) + 4 * IF ( NOT ( ISERR ( MID ( A2 , 4 , 1 ) * 1 )), MID ( A2 , 4 , 1 )) + 3 * IF ( NOT ( ISERR ( MID ( A2 , 5 , 1 ) * 1 )), MID ( A2 , 5 , 1 )) + 2 * IF ( ISERR ( MID ( A2 , 6 ,1 ) * 1 )、IF ( CODE ( MID ( A2 6 1 )) > 79 CODE ( MID ( A2 6 1 )) -66 IF ( CODE ( MID ( A2 6 1 )) > 72 CODE ( MID ( A2 6 1 )) -65 CODE ( MID ( A2 6 1 )) -64 ))、MID ( A2 6 1 ))、23 ) = IF ( ISERR ( MID ( A2 7 1 ) * 1 )、IF ( CODE ( MID ( A2 7 1 )) > 79 CODE ( MID ( A2 7 1 )) -66 IF ( CODE ( MID ( A2 , 7 , 1 )) > 72 CODE ( MID ( A2 , 7 , 1 )) -65 CODE ( MID ( A2 , 7 , 1 )) -64 ))、MID ( A2 , 7 , 1 ))、11 - MOD ( 7 * IF ( ISERR ( MID ( A2 , 1 ) , 1 ) * 1 ), IF ( CODE ( MID ( A2 , 1 , 1 ))> 79 CODE ( MID ( A2 1 1 )) -66 IF ( CODE ( MID ( A2 1 1 )) > 72 CODE ( MID ( A2 1 1 )) -65 CODE ( MID ( A2 1 1 )) -64 )), MID ( A2 1 1 )) + 6 * IF ( ISERR ( MID ( A2 2 1 ) * 1 ), IF ( CODE ( MID ( A2 2 1 )) > 79 CODE ( MID ( A2 2 1 )) -66 IF ( CODE ( MID ( A2 2 1 )) > 72 CODE ( MID ( A2 2 1 )) -65 CODE ( MID ( A2 2 1 )) -64 )), MID ( A2 2 1 )) + 5 * IF ( ISERR ( MID ( A2 3 1 ) * 1 )), IF ( CODE ( MID ( A2 3 1 )) > 79 CODE ( MID ( A2 3 1 )) -66 IF ( CODE ( MID( A2 3 1 )) > 72 CODE ( MID ( A2 3 1 )) -65 CODE ( MID ( A2 3 1 )) -64 )), MID ( A2 3 1 )) + 4 * IF ( NOT ( ISERR ( MID ( A2 4 1 ) * 1 )), MID ( A2 4 1 )) + 3 * IF ( NOT ( ISERR ( MID ( A2 5 1 ) * 1 )), MID ( A2 5 1 )) + 2 * IF ( NOT ( ISERR ( MID ( A2 6 1 ) * 1 )), MID ( A2 6 1 )), 11 ) = IF ( NOT ( ISERR ( MID ( A2 , 7 , 1 ) * 1 )), MID ( A2 , 7 , 1 ) * 1 ) ))

参考文献

  1. ^ a bニュージーランド健康情報サービス.国民健康指数 (NHI) . 2007年6月13日閲覧。
  2. ^ニュージーランド健康情報サービスNHI番号。2007年6月13日閲覧。
  3. ^保健省. 「HISO 10046:2019 消費者健康アイデンティティ規格」 . 保健省. 2020年8月15日閲覧
  4. ^ MacRae, Jayden (2015年11月). 「データ入力における転記エラーに対する国民健康指標(NHI)識別子チェックディジットの弱点の評価」(PDF) . Health Informatics New Zealand Conference 2015. 2021年5月13日閲覧.
  5. ^ MacRae, Jayden. 「新しいNHI実装におけるチェックディジットの衝突」 . DataCraft Analytics . 2023年3月5日閲覧