(57)【要約】【課題】個人情報を完全に、かつ、重複なく余すことなく匿名化することによって、個人が容易に特定できないようにすることが可能な匿名化方法および匿名化プログラムを提供すること。【解決手段】被匿名化データを構成する各位の数字を並べ替え２つの数字を作成し、これらの数字をそれぞれ２進数化した後、これらの各位の０／１の数字を並べ替えることにより２つの数字を作成し、これら並べ替えられた数字をそれぞれ１０進数化する。そして、１０進数化された数字を構成する数列と、別の１０進数化された数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成し、上記別の１０進数化された数字を構成する残りの数列のうち任意の数列を５２進数化し、最後に、これら５２進数化された数字と、上記１０進数化された数字を構成する残りの数列とを並べることにより、匿名化データを作成する。【選択図】      図１
2004180229.tif 000002
【特許請求の範囲】
【請求項１】
情報管理システムにおいて実行される匿名化プログラムであって、
入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字を作成する手順と、
前記作成された第１の数字および前記作成された第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字を作成する手順と、
前記２進数化された第１の２進数字および前記２進数化された第２の２進数字を構成する各位の０または１の数字を並べ替え、第３の２進数字と第４の２進数字を作成する手順と、
前記第３の２進数字および前記第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成する手順と、
前記１０進数化された第３の数字を構成する数列と、前記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成する手順と、
前記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成する手順と、
前記５２進数化された第１の５２進数字と、前記５２進数化された第２の５２進数字と、前記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成する手順と、
を実現させるための匿名化プログラム。
【請求項２】
情報管理システムにおいて実行される匿名化プログラムであって、
乱数発生器によって、１からｎまでの整数ｋをランダムに発生させる手順と、
ｎ個のアイテムが順に並んで格納された第１の格納領域から、前記ランダムに発生したｋ番目のアイテムを読み出させる手順と、
第２の格納領域の先頭から順に、前記読み出したｋ番目のアイテムを格納する手順と、
前記第１の格納領域の最後に格納されたアイテムを、前記読み出された箇所に移動する手順と、
前記ｎを１減じる手順と、
前記発生させる手順、前記読み出させる手順、前記格納する手順、前記移動する手順、前記１減じる手順を、ｎが０になるまで繰り返し実行させる手順と、
を実現させるための匿名化プログラム。
【請求項３】
情報管理システムにおいて実行される匿名化プログラムであって、
乱数発生器によって、１からｎまでの整数ｋをランダムに発生させる手順と、
ｎ個のアイテムが順に並んで格納された第１の格納領域から、前記ランダムに発生したｋ番目のアイテムを読み出させる手順と、
第２の格納領域の先頭から順に、前記読み出したｋ番目のアイテムを格納する手順と、
前記第１の格納領域の最後に格納されたアイテムを、前記読み出された箇所に移動する手順と、
前記ｎを１減じる手順と、
前記発生させる手順、前記読み出させる手順、前記格納する手順、前記移動する手順、前記１減じる手順を、ｎが０になるまで繰り返し実行させる手順と、
前記第２の格納領域に格納された任意のアイテムを、被匿名化データとして入力させる手順と、
前記入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字を作成する手順と、
前記作成された第１の数字および前記作成された第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字を作成する手順と、
前記２進数化された第１の２進数字および前記２進数化された第２の２進数字を構成する各位の０または１の数字を並べ替え、第３の２進数字と第４の２進数字を作成する手順と、
前記第３の２進数字および前記第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成する手順と、
前記１０進数化された第３の数字を構成する数列と、前記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成する手順と、
前記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成する手順と、
前記５２進数化された第１の５２進数字と、前記５２進数化された第２の５２進数字と、前記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成する手順と、
を実現させる進数化プログラム。
【請求項４】
情報管理システムにおいて実行される匿名化方法であって、
入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字を作成し、
前記作成された第１の数字および前記作成された第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字を作成し、
前記２進数化された第１の２進数字および前記２進数化された第２の２進数字を構成する各位の０または１の数字を並べ替え、第３の２進数字と第４の２進数字を作成し、
前記第３の２進数字および前記第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成し、
前記１０進数化された第３の数字を構成する数列と、前記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成し、
前記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成し、
前記５２進数化された第１の５２進数字と、前記５２進数化された第２の５２進数字と、前記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成することを特徴とする匿名化方法。
【請求項５】
情報管理システムにおいて実行される匿名化方法であって、
乱数発生器によって、１からｎまでの整数ｋをランダムに発生させ、
ｎ個のアイテムが順に並んで格納された第１の格納領域から、前記ランダムに発生したｋ番目のアイテムを読み出させ、
第２の格納領域の先頭から順に、前記読み出したｋ番目のアイテムを格納し、
前記第１の格納領域の最後に格納されたアイテムを、前記読み出された箇所に移動し、
前記ｎを１減じる処理を、
ｎが０になるまで繰り返すことを特徴とする匿名化方法。
【請求項６】
情報管理システムにおいて実行される匿名化方法であって、
乱数発生器によって、１からｎまでの整数ｋをランダムに発生させ、
ｎ個のアイテムが順に並んで格納された第１の格納領域から、前記ランダムに発生したｋ番目のアイテムを読み出させ、
第２の格納領域の先頭から順に、前記読み出したｋ番目のアイテムを格納し、
前記第１の格納領域の最後に格納されたアイテムを、前記読み出された箇所に移動し、
前記ｎを１減じる処理を、
ｎが０になるまで繰り返し、
前記第２の格納領域に格納された任意のアイテムを、被匿名化データとして入力し、
前記入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字を作成し、
前記作成された第１の数字および前記作成された第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字を作成し、
前記２進数化された第１の２進数字および前記２進数化された第２の２進数字を構成する各位の０または１の数字を並べ替え、第３の２進数字と第４の２進数字を作成し、
前記第３の２進数字および前記第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成し、
前記１０進数化された第３の数字を構成する数列と、前記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成し、
前記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成し、
前記５２進数化された第１の５２進数字と、前記５２進数化された第２の５２進数字と、前記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成することを特徴とする匿名化方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報管理システムにおいて実行される匿名化方法および匿名化プログラムに関し、特に、ヒトゲノム・遺伝子解析研究において取り扱うような個人情報を管理する情報管理システムにおいて、個人情報を完全に、かつ、重複なく余すことなく匿名化することが可能な匿名化方法および匿名化プログラムに関する。
【０００２】
【従来の技術】
近年、遺伝子研究の進歩により、ヒトゲノムの全塩基配列の決定や遺伝子の持つ機能の解明が着実に進んでいる。このような中で、個人が持つ遺伝学的な多様性と疾病との関連性等を研究し、疾病の予防、早期発見、早期治療に活用する試みが開始されている。
【０００３】
個人が持つ遺伝学的な多様性と疾病との関連性を調べる等の研究を遂行するためには、遺伝子検査結果や遺伝子検査結果を解析して得られる所見等、個人の遺伝子に関連する情報（以下、遺伝子情報という）と、既往歴等、個人の疾病に関連する情報（以下、疾病情報という）とを多数収集し、統括的に管理することが必要となる。
【０００４】
このような個人の疾病情報は、電子カルテシステム等の診療録の一部として各医療機関が個別に管理しているのが現実である。
診療録には、個人の疾病情報のほか、家族歴、所見、検査結果、生活習慣、症状経過、治療経過、薬剤の処方等に関する情報が含まれているだけでなく、個人の氏名、住所、生年月日、診療録ＩＤ等の情報（以下、個人識別情報という）も含まれている。
【０００５】
一方、個人の遺伝子情報を用いる研究は、その結果もしくは結果から得られる情報が、当該個人またはその血縁者、家族に対して倫理的、法律的に社会的問題を引き起こす恐れがあるため、研究に用いる遺伝子情報の匿名性の確保等、個人の遺伝子情報および疾病情報の管理に際しては特別の注意を要する。
【０００６】
ところが、現実的には、個人識別情報と個人の遺伝子情報および疾病情報の管理方法は、医療・研究機関ごとに差異があり、遺伝子情報の匿名性が確保されているとは言い難い。
【０００７】
また、遺伝子情報および疾病情報を秘匿に管理していたとしても、シーケンシャルに付された番号に対して、乱数を関与させる程度の方法である。
【０００８】
【特許文献１】
特開２００２−９９７７３号公報
【非特許文献１】
「遺伝子解析による疾病解析・創薬推進事業」，２．２匿名化システム，［ｏｎｌｉｎｅ］，［平成１４年６月２４日検索］，Ｇｅｎｏｘ社，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ．ｇｅｎｅｘ．ｃｏ．ｊｐ／ｍｉｌｌｅｎｎｉｕｍ／ｋｅｎｎｋｙｕ．ｈｔｍ＞
【非特許文献２】
ＥＧＳＳ  Ｅｔｈｉｃａｌ  Ｇｕｉｄｅｌｉｎｅ−ｂａｓｅｄ  Ｓｏｌｕｔｉｏｎ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｇｅｎｅｒｉｃ  Ｒｅｓｅａｒｃｈ「倫理指針に基づく遺伝子解析研究試料の個人情報匿名化ソフトウェア」
【非特許文献３】
ヒトゲノム・遺伝子解析研究に関する倫理指針ホームページ，［ｏｎｌｉｎｅ］，［平成１４年６月２４日検索］，文部科学省、厚生労働省、経済産業省，インターネット＜ＵＲＬ：ｈｔｔｐ：／／ｗｗｗ２．ｎｃｃ．ｇｏ．ｊｐ／ｅｌｓｉ／ｉｎｄｅｘ．ｈｔｍ＞
【０００９】
【発明が解決しようとする課題】
しかしながら、従来の方法では、個人識別情報と当該個人の遺伝子情報および疾病情報とが容易に結びつき、当該個人を特定することが可能となるため、遺伝子情報を用いた研究の結果が当該個人またはその血縁者、家族に対して倫理的、法律的に社会的問題を引き起こす可能性を有しているという問題点があった。
【００１０】
また、乱数を関与させる方法では、同じ乱数が発行されていないかどうかのチェックに、システムへの負荷および時間がかかってしまい、実用的ではないという問題点があった。
【００１１】
本発明は、上述のような問題点に鑑みてなされたもので、ヒトゲノム・遺伝子解析研究において取り扱うような個人情報を管理する情報管理システムにおいて、個人情報を完全に、かつ、重複なく余すことなく匿名化することによって、個人識別情報と遺伝子情報および疾病情報とが容易に結びつかないようにし、個人が容易に特定できないようにすることが可能な匿名化方法および匿名化プログラムを提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明は、上記課題を解決するため、下記のような構成を採用した。
すなわち、本発明の一態様によれば、本発明の匿名化方法および匿名化プログラムは、ヒトゲノム・遺伝子解析研究において取り扱うような個人情報を管理する情報管理システムにおいて実行される。
【００１３】
まず、入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字との２つの数字を作成する。
そして、これら作成された第１の数字および第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字とを作成する。
【００１４】
次に、２進数化された第１の２進数字および第２の２進数字を構成する各位の０または１の数字を並べ替えることにより、第３の２進数字と第４の２進数字との２つの数字を作成する。
【００１５】
そして、これら並べ替えられた第３の２進数字および第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成する。
その次に、上記１０進数化された第３の数字を構成する数列と、上記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成する。
【００１６】
さらに、上記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成する。
最後に、上記５２進数化された第１の５２進数字と、上記５２進数化された第２の５２進数字と、上記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成する。
【００１７】
また、本発明の一態様によれば、本発明の匿名化方法および匿名化プログラムは、ヒトゲノム・遺伝子解析研究において取り扱うような個人情報を管理する情報管理システムにおいて実行される。
【００１８】
まず、乱数発生器によって、１からｎまでの整数ｋをランダムに発生させる。次に、ｎ個のアイテムが順に並んで格納された第１の格納領域から、上記ランダムに発生したｋ番目のアイテムを読み出させる。
【００１９】
さらに、第２の格納領域の先頭から順に、上記読み出したｋ番目のアイテムを格納し、上記第１の格納領域の最後に格納されたアイテムを、上記読み出された箇所に移動する。
【００２０】
そして、上記ｎを１減じ、これらの処理を、ｎが０になるまで繰り返す。
また、本発明の匿名化方法および匿名化プログラムは、さらに、上記第２の格納領域に格納された任意のアイテムを、被匿名化データとして入力する。
【００２１】
そして、上記入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字との２つの数字を作成する。
これら作成された第１の数字および第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字とを作成する。
【００２２】
次に、２進数化された第１の２進数字および第２の２進数字を構成する各位の０または１の数字を並べ替えることにより、第３の２進数字と第４の２進数字との２つの数字を作成する。
【００２３】
そして、これら並べ替えられた第３の２進数字および第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成する。
その次に、上記１０進数化された第３の数字を構成する数列と、上記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成する。
【００２４】
さらに、上記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成する。
最後に、上記５２進数化された第１の５２進数字と、上記５２進数化された第２の５２進数字と、上記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成する。
【００２５】
これらにより、個人情報を完全に、かつ、重複なく余すことなく匿名化することが可能となる。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態を、図１乃至図５を参照しながら詳細に説明する。図１は、本発明を適用した情報管理システムの機能ブロック図である。
【００２７】
図１において、情報管理システム１は、乱数発生器２、第１の格納領域３、第２の格納領域４、第１の並替部１０、第１の２進化部１１、第２の２進化部１２、第２の並替部１３、第１の１０進化部１４、第２の１０進化部１５、第１の５２進化部１６、第２の５２進化部１７、および結合部１８を備える。
【００２８】
そして、情報管理システム１は、ヒトゲノム・遺伝子解析研究において取り扱うような個人情報を管理し、匿名化プログラムを実行する。匿名化プログラムは前処理と本処理とを備えている。
【００２９】
匿名化プログラムが実行されると、乱数発生器２は、１からｎまでの整数ｋをランダムに発生させる。
そして、ｎ個のアイテムが順に並んで格納された第１の格納領域３から、上記ランダムに発生したｋ番目のアイテムを読み出させ、第２の格納領域４の先頭から順に、上記読み出したｋ番目のアイテムを格納する。
【００３０】
次に、上記第１の格納領域３の最後に格納されたアイテムを、上記読み出された箇所に移動し、上記ｎを１減じる。
これらの処理を、ｎが０になるまで繰り返すことにより、順に並んでいたｎ個のアイテムは、第２の格納領域４において、完全にランダムに格納される。
【００３１】
以上が前処理である。これは、以下の本処理を実行する前に各部署ごとに１回だけ実行されるものである。
次に、匿名化プログラムの本処理が実行される。
【００３２】
匿名化する被匿名化データとして、上記前処理でランダムに並べられ第２の格納領域に格納された任意のアイテムそのもの、あるいはそのアイテムを一部に有する数字を、被匿名化データとして入力する。
【００３３】
入力された被匿名化データを構成する各位の数字を並べ替え、第１の数字と第２の数字との２つの数字を作成する。
そして、これら作成された第１の数字および第２の数字を、それぞれ２進数化して第１の２進数字と第２の２進数字とを作成する。
【００３４】
次に、２進数化された第１の２進数字および第２の２進数字を構成する各位の０または１の数字を並べ替えることにより、第３の２進数字と第４の２進数字との２つの数字を作成する。
【００３５】
そして、これら並べ替えられた第３の２進数字および第４の２進数字を、それぞれ１０進数化して第３の数字と第４の数字を作成する。
その次に、上記１０進数化された第３の数字を構成する数列と、上記１０進数化された第４の数字を構成する数列とを並べ、５２進数化して第１の５２進数字を作成する。
【００３６】
さらに、上記１０進数化された第４の数字を構成する残りの数列のうち任意の数列を、５２進数化して第２の５２進数字を作成する。
最後に、上記５２進数化された第１の５２進数字と、上記５２進数化された第２の５２進数字と、上記１０進数化された第３の数字を構成する残りの数列とを並べることにより、匿名化データを作成する。
【００３７】
なお、上記前処理の代わりに、すでにランダムに並んでいる被匿名化データを入力とすることも可能である。
次に、図２乃至図５を用いて、上記情報管理システム上で実行される匿名化処理について具体例を用いて説明する。
【００３８】
具体的な入力データとしては、１２桁の数字を用いる。この１２桁のうち上位３桁は、医療機関の部署や大学病院の教室を示すコードで、ここでは教室コードと呼ぶ。次の３桁は、研究テーマ毎に付されるコードで、ここでは研究コードと呼ぶ。通常これら教室コードと研究コードは、シーケンシャルに番号が付される。例えば、教室コードとして「１２３」、研究コードとして「７８９」が付される。
【００３９】
そして、下位６桁は、検体にユニークに付されるコードで、ここでは検体コードと呼ぶ。
この検体コードは、以前に入力した検体コードと重複しないように生成される。その生成について以下に説明する。
【００４０】
図２乃至図４は、データテーブルの作成処理を説明するための図である。
まず、所定数の要素数を有する配列を作成する。例えば、図２に示すように、セル数２０万の配列Ｃ２１を作成し、先頭のセルから順に０から１９９９９９までの２０万個の整数を昇べきの順に重複なく代入する。
【００４１】
次に、１から２０万までの整数をランダムに発生する乱数発生器２２により乱数ｐを発生させ、配列Ｃ２１のｐ番目の要素Ｃ〔ｐ〕を取り出し、それを要素数２０万の配列Ｘ２３の１番目のセルＸ〔１〕に格納する。
【００４２】
例えば、乱数発生器２２が乱数「１２３４５７」を発生したら、配列Ｃ２１の１２３４５７番目の要素「１２３４５６」を取り出し、これを配列Ｘ２３の１番目のセルに格納する。
【００４３】
そして、図３に示すように、配列Ｃ２１の最後のセルに格納されている要素「１９９９９９」を取り出し、これを要素「１２３４５６」が取り出された１２３４５７番目のセルに代入して配列長を１減じる。
【００４４】
以後、配列Ｃ２１の配列長が０になるまで上述の処理を繰り返す。
すなわち、図４に示すように、乱数発生器２２が乱数「８７５１５」を発生したら、配列Ｃ２１の８７５１５番目の要素「８７５１４」を取り出し、これを配列Ｘ２３の２番目のセルに格納する。この配列Ｘ２３が２０万個の要素を有するまで繰り返す。
【００４５】
なお、配列長を１減じていくことにより、配列Ｃ２１が発生する乱数番目のセルを有しない場合には、処理をスキップすれば良いことは言うまでもないが、配列Ｃ２１の配列長を１減じるに従って、乱数発生器２２の発生する乱数の上限を１減じるようにしても良い。
【００４６】
このようにして作成された配列Ｘ２３は、０から１９９９９９までの整数がランダムに並んだデータテーブルとなる。通常このデータテーブルは、医療機関の部署や大学医学部の教室毎に作成される。すなわち、上述の例では、０から９９９までの１０００個のデータテーブルが作成される。
【００４７】
図５は、匿名化処理を説明するための流れ図である。
匿名化するデータとして「１２３７８９１２３４５６」を用いる。これは、教室コード「１２３」、研究コード「７８９」、データテーブルとしての配列Ｘ２３の１番目のセルから取り出した検体コード「１２３４５６」から構成されている。
【００４８】
ここで、教室コードの各位の数字をＬｉ（ｉ＝１，２，３）、研究コードの各位の数字をＳｉ（ｉ＝１，２，３）、検体コードの各位の数字をＮｉ（ｉ＝１，２，３，４，５，６）と表記すると、上記の教室コード「１２３」、研究コード「７８９」、検体コード「１２３４５６」の場合、Ｌ３＝１，Ｌ２＝２，Ｌ１＝３，Ｓ３＝７，Ｓ２＝８，Ｓ１＝９，Ｎ６＝１，Ｎ５＝２，Ｎ４＝３，Ｎ３＝４，Ｎ２＝５，Ｎ１＝６となる。
【００４９】
まず、上記１２個の数字から、１０進数９桁の数字α＝Ｎ４Ｌ３Ｓ３Ｎ３Ｌ２Ｎ２Ｓ２Ｌ１Ｎ１とβ＝Ｎ６Ｎ５Ｓ１の２つの数字を作成する。ここでは、α＝３１７４２５８３６、β＝１２９となる。
【００５０】
αは、９桁であるので、０＜α≦９９９９９９９９９となり、２２９−１＜９９９９９９９９９＜２３０−１であることから、αは２進数３０桁までで表す（３０ビット化する）ことが出来る。
【００５１】
同様に、βは３桁であり、かつ、Ｎ１は１であることから、０＜β≦１９９、２７−１＜１９９＜２８−１となり、βは２進数８桁までで表す（８ビット化する）ことが出来る。
【００５２】
つまり、αは２進数で１００１０１１１０１０１１１０００１０００１０１０１１００と表せ、βは１００００００１と表せる。
次に、この２進数で表したαをｈ１５ｈ１４ｈ１３ｈ１２ｈ１１ｈ１０ｈ９ｈ８ｈ７ｈ６ｈ５ｈ４ｈ３ｈ２ｈ１ｌ１５ｌ１４ｌ１３ｌ１２ｌ１１ｌ１０ｌ９ｌ８ｌ７ｌ６ｌ５ｌ４ｌ３ｌ２ｌ１、βをＨ４Ｈ３Ｈ２Ｈ１Ｌ４Ｌ３Ｌ２Ｌ１と表記する。
【００５３】
そして、これらｈ１５〜ｈ１，ｌ１５〜ｌ１，Ｈ４〜２Ｈ１，Ｌ４〜Ｌ１の３８個の０，１からランダムに選択した数字を２つ作成する。
たとえば、１１桁のｈ１ｌ１Ｈ４ｈ２ｌ２Ｌ４ｈ３ｌ３Ｈ３ｈ４ｌ４と、２７桁のｈ５ｌ５ｈ６ｌ６Ｌ３ｈ７ｌ７ｈ８ｌ８Ｈ２ｈ９ｌ９ｈ１０ｌ１０Ｌ２ｈ１１ｌ１１ｈ１２ｌ１２Ｈ１ｈ１３ｌ１３ｈ１４ｌ１４Ｌ１ｈ１５ｌ１５を作成する。具体的には、１０１１００１１００１と１００１０１０１１０１００００１００１０００１０１００となる。これら２つの数字の取りうる範囲は、１０進数でそれぞれ０以上２０４７（＝２１１−１）以下、０以上１３４２１７７２７（＝２２７−１）以下である。
【００５４】
この２つの数字を１０進数で表すと１４３３と７８４４８９１６となるが、その各位の数字をそれぞれＡｉ（ｉ＝１，２，３，４）、Ｂｉ（ｉ＝１，２，３，４，５，６，７，８，９）と表記して、γ＝Ａ４Ａ３Ｂ３Ｂ２，δ＝Ｂ９Ｂ８Ｂ７Ｂ６Ｂ５Ｂ４，ε＝Ａ２Ａ１Ｂ１という３つの数字を作成する。すなわち、γ＝１４９１，δ＝７８４４８，ε＝３３６となる。これら３つの数字の取りうる範囲は、１０進数でそれぞれ、０＜γ≦２０９９，０＜δ≦１３４２１７，０＜ε≦９９９となる。
【００５５】
最後に、γとδを用いて文字列を作成し、εを用いて数列を作成し、匿名化された匿名化コードを作成する。
γは０より大きく２０９９以下の任意の数字を取りうるので、γを５２進数で表記すると２桁必要となる（５２１−１＜２０９９＜５２２−１）。ここで、５２進数とは、０，１，２，３，・・・，５０，５１をＡ，Ｂ，Ｃ，Ｄ，・・・，ｙ，ｚと表記することをいう。例えば、０はＡであり、５０は、ｙ、５１はｚである。従って、γ＝１４９１は、アルファベット文字２文字で表記され、ｃｊとなる。
【００５６】
同様に、δは０より大きく１３４２１７以下の任意の数字を取りうるので、δを５２進数で表記すると、３桁必要になり（５２２−１＜１３４２１７＜５２３−１）、アルファベット文字３文字で表記され、ｄＡｇとなる。
【００５７】
そして、文字列化したγとδおよび数列としてのεを連結して最終的な匿名化コード「ｃｊｄＡｇ３３６」を作成する。
本発明では、１０進数、２進数、５２進数を用いて匿名化データを作成したが、一般には、ｌ進数、ｍ進数、ｎ進数の組合せへの拡張も容易に可能である。
【００５８】
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、本発明が適用される匿名化プログラムは、そのプログラムコードを記録したＲＯＭやＲＡＭ等のメモリ、外部記録装置、可搬記録媒体を、コンピュータに供給し、そのコンピュータがプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【００５９】
この場合、可搬記録媒体等から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記録した可搬記録媒体等は本発明を構成することになる。
【００６０】
プログラムコードを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、磁気テープ、不揮発性のメモリーカード、ＲＯＭカード、電子メールやパソコン通信等のネットワーク接続装置（言い換えれば、通信回線）を介して記録した種々の記録媒体などを用いることができる。
【００６１】
また、コンピュータがメモリ上に読み出したプログラムコードを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
【００６２】
さらに、可搬型記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
【００６３】
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成を取ることが出来る。
【００６４】
【発明の効果】
以上説明してきたように、本発明によれば、高いセキュリティレベルで、かつ、容易に遺伝子情報および疾病情報を管理することができ、個人の遺伝子情報および疾病情報を不用意に漏曳させることを確実に防止することが可能となる。
【００６５】
また本発明によれば、さらに、システムの構築コストおよび運用コストが抑制されるため、中小規模の病院や個人医院においても運用が可能で、従って、安全かつ平易に遺伝子情報等に基づく先端的な診断が可能となり、糖尿病、肥満、動脈硬化、癌等のリスク患者に対し早期診断を行う事により発病前の予防的医療に対処することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した情報管理システムの機能ブロック図である。
【図２】データテーブルの作成処理（その１）を説明するための図である。
【図３】データテーブルの作成処理（その２）を説明するための図である。
【図４】データテーブルの作成処理（その３）を説明するための図である。
【図５】匿名化処理を説明するための流れ図である。
【符号の説明】
１  情報管理システム
２  乱数発生器
３  第１の格納領域
４  第２の格納領域
１０  第１の並替部
１１  第１の２進化部
１２  第２の２進化部
１３  第２の並替部
１４  第１の１０進化部
１５  第２の１０進化部
１６  第１の５２進化部
１７  第２の５２進化部
１８  結合部
２１  配列Ｃ
２２  乱数発生器
２３  配列Ｘ
【図１】
2004180229.tif 000003
【図２】
2004180229.tif 000004
【図３】
2004180229.tif 000005
【図４】
2004180229.tif 000006
【図５】
2004180229.tif 000007