以下、本発明による血糖値測定装置の第1の実施形態について、図1ないし20を参照しながら説明する。血糖値のデータには、瞬時時の血糖値(単位は、mg/dL)、及び血糖値の累積値であるヘモグロビン(Hb)A1C(単位は、%)がある。
近赤外線の特定の波長(例えば、500nmないし1200nm)の光ビームを人の皮膚に照射して、その反射光を受光した場合には、照射した光ビームの一部が血液中の糖分に吸収されるので、反射光の強度を測定することで、血糖値を間接的に測定することができる。また、数10日の血糖値の累積値によってHbA1Cを測定することができる。
図1は、第1の実施形態の血糖値測定装置に使用する光学部品を示す図である。図1(A)は、透明なガラス基板を使用して形成されたレンズ基板の一部を構成する正六角形のレンズ1の平面図である。図1(B)は、図1(A)のX−X線に沿ったレンズ基板のレンズ1を含む一部の断面図である。このガラス基板の材料は、ケイ酸、炭酸カルシウム、酸化鉛を含み、透明度が高く屈折率が大きい鉛ガラス、または酸化鉛を含まない無鉛ガラスである。中でもドイツのツヴィーゼル・クリスタルガラス社等によって開発されたトリタン・クリスタル(登録商標)が好ましい。または、ポリエチレンテレフタレートやポリエーテルスルホン等からなる透明プラスチックでもよい。
図1(A)、(B)において、レンズ1は、レンズ基板の一方の面(図1(B)の右側)に凸部を有し、他方の面(図1(B)の左側)が平坦な形状になっている。この平坦な面には、発光素子2及び受光素子3が、図1(A)及び(B)に示されるように形成されている。発光素子2から血管400に照射された光ビームは、血管400内の血液によって一部が吸収され、一部が通過し、残りが反射されて受光素子3によって受光される。
発光素子2は、特定の範囲の波長の光、詳しくは、近赤外線の波長λの光を発光する。受光素子3は、図1(A)に示すように、発光素子2の外縁に近接する内縁によって発光素子2を囲み、かつ、その内縁とその内縁の外側の外縁とによって画定される領域(すなわち、ドーナツ型の領域)において、レンズ1を透過して入射する波長λの光を受光して、その光の強度値を示す電気信号を発生する。レンズ1の中心、発光素子2の中心、及び受光素子3の中心は、一点鎖線で表わす同一の光軸5を有する。
レンズ基板には、図1(C)に示されるように、平面が正六角形の領域を単位とするレンズ1、発光素子2、及び受光素子3の光学ユニットが複数形成されている。すなわち、複数の正六角形の領域によってハニカム(蜂の巣)構造のマイクロレンズの配列を実現する。このハニカム構造によって、多種多様なバリエーションが可能になる。このバリエーションについてはさらに後述する。
図1(C)において、複数の光学ユニットは、発光素子2及び受光素子3が形成されたレンズ1(0)を中心として、その周囲にレンズ1(1)、レンズ1(2)、レンズ1(3)・・・が形成されている。なお、この複数の光学ユニット及び後述する半導体回路は、第1の実施形態において、最も重要な部品である光学半導体デバイスを構成する。
レンズ基板の光学ユニットの数をXiとすると、Xiは、Xi=6i(iは1以上の整数)によって表される。i=0の場合のX0はレンズ基板の中心に位置する1つの光学ユニットである。
i=1、2、3、4・・・16の場合には、中心の光学ユニット(X0)を囲む光学ユニットの個数は、それぞれ、6、12、18、24・・・90個となる。すなわち、光学ユニット数は6の等差数列となる。そして、中心の1個以外の光学ユニットの総数は720個となる(中心の1個を加えると、光学ユニットの数は721個)。本実施形態の場合には、光学半導体デバイスにおけるセンサの直径は約30mmのほぼ円形となる。本実施形態における血糖値測定装置11は、40mm×40mm以上の略正方形であり、この光学半導体デバイスを十分に収容できる。
図2は、第1の実施形態における発光素子2及び受光素子3の原理的構造並びにこれら発光素子2、受光素子3、駆動回路、受光回路等を含む半導体回路である薄膜トランジスタを示す図である。
図2(A)は、発光素子2の断面図である。発光素子2は、PN接合の発光ダイオードで構成されている。発光素子2は、p型半導体2a、n型半導体2b、透明電極からなるアノード電極2c及びカソード電極2dで構成される。発光素子2は、後述する薄膜トランジスタからの駆動信号である順方向電流に応じて特定の波長λの近赤外線を発光する。
図2(B)は、受光素子3の断面図である。受光素子3は、n型半導体3a、n型半導体3aの表面に形成されたp型半導体3b、p型半導体3bの表面に形成されたn型半導体3c、p型半導体3bの表面に形成された透明なゲート電極3d、n型半導体3cの表面に形成された透明なソース電極3e、及びn型半導体3aの表面(図では下面)に形成された透明なドレイン電極3fで構成される。
さらに、図2(C)は光学半導体デバイスの断面図であり、半導体層6を挟むようにレンズ1の表面1aに形成された透明電極層7及び電極層8その他図示しない半導体層及び電極層によって、発光素子2の駆動回路及び受光素子3の増幅回路、並びに後述する記憶回路その他を含む薄膜トランジスタ(TFT)が形成されている。TFTの製造方法は、従来技術を踏襲するものであり、例えば、特開2008−288424号公報の詳細な説明、図1及び図2を参照されたい。
図3は、両面が曲面で構成されたレンズ1の断面図である。図1(B)の場合と同様に、一方の表面に発光素子2及び受光素子3が形成されている。また、図には示していないが、発光素子2及び受光素子3を包含するTFTが形成されている。このような曲面上に発光素子2、受光素子3及びTFTを形成するには、平面に形成するよりも高い技術及びコストを要するが、光の屈折率を大きくできる利点がある。この場合も、発光素子2から血管400に照射された光ビームは、血管400内の血液によって一部が吸収され、一部が通過し、残りが反射されて受光素子3によって受光される。
次に、721個の光学ユニット(レンズ1、発光素子2、受光素子3及び半導体回路)で構成された光学半導体デバイスを使用した血糖値測定装置について説明する。
図4は、第1の実施形態における腕時計型の血糖値測定装置11を示す図である。図4(A)において、血糖値測定装置11の本体12の1つの面に設けられた表示部13、表示部13に表示されたアナログ時計14(後述するが、これは「タッチスイッチ」である)、ベルト15、伸縮可能なベルト材16、及び本体12の両端に設けられたフックスイッチ12g(1)及びヒンジ12(2)(これらについても後述する)を備えている。なお、ベルト15の全体を伸縮可能な材料で構成してもよい。
表示部13と反対側の本体12の背面には、図4(B)に示されるように、測定面(すなわち、図1のレンズ1)を含む光学半導体デバイス12aが構成される。ただし、レンズ1の表面には透明なプレートで保護層が形成されている。以下、保護層を含むレンズ1の外面を測定面1とも言う。
図5は、血糖値測定装置11の本体12b及び光学半導体デバイスア12aに収容されている電子回路の構成を示す図である。図5(A)において、本体12bは、表示部13及びタッチスイッチからなる操作部14、及び時計部31を含む。また、光学半導体デバイスア12aは、測定部1、制御部30、通信部32及びBATT(バッテリー)35aを含む。測定部1は、発光素子2及び受光素子3を含むとともに、発光素子2を駆動する駆動回路33及び受光素子3によって受光される光信号を電気信号に変換して増幅処理等の信号処理を行う受信回路34が接続されている。各光学ユニットの受光回路34は、さらに、図5(B)に示されるように、増幅回路341及びアナログ信号をデジタル信号に変換するA/D変換回路342を含む。
駆動回路33は、制御部30からの制御信号に応じて、721個の発光素子2を順次すなわち択一的に発光させる。本実施形態においては、721個の発光素子2及び受光素子3をグループに分類してもよい。各グループは、それぞれ異なる波長の近赤外線を発光し且つ受光してもよい。なお、本発明の実施形態では、単一波長λを適用する。
通信部32は、パソコン、携帯端末(スマートフォン等)、家電製品等用に普及している近距離通信であるブルートゥース(登録商標)を使用して、血糖値測定に関する情報をパソコンや携帯端末との間で送受信する。詳細については後述する。
制御回路30は、この血糖値測定装置11の全体を制御するCPU301、内部電池(図示せず)でバックアップされるSRAM302、書き換え可能な不揮発性のEEPROM303、及びこれらを接続する内部バスを有する。また、図には示していないが、CPU301の内部には、処理するデータを一時的にストアするメモリ(例えば、CPU内のキャッシュメモリ)が設けられている。
詳細については後述するが、図5(A)において、光学半導体デバイス12aは、フック(図4の12g(1))及びヒンジ(図4の12g(2))によって着脱可能に本体12に装着されている。そのため、両者の間はコネクタにより接続される。バッテリー35aの電源は、そのコネクタによって本体12bに供給されるが、本体12bにもバッテリー35bを設けてもよい。
図5(C)は、SRAM302の内部構成を示す図である。SRAM302の記憶領域は、第1の記憶領域302a、第2の記憶領域302b、及びその他の記憶領域を含む。
第1の記憶領域は、配列C{p,q}、配列E{j,k}及び血糖値データをストアする。各配列については後述する。
第2の記憶領域302bは、受光回路34から得られる電気信号の強度と血糖値との対応データを記憶する。この対応データは、この血糖値測定装置11の製造の際にあらかじめEEPROM303に書き込まれている。
血糖値測定装置11の製造においては、種々の研究や治験によって分析された対応データをEEPROM303に書き込む。したがって、受光回路34から得られる電気信号の強度と血糖値との対応関係について高い精度を持っている。しかし、万人における対応関係を保証している訳ではないので、各人がこの血糖値測定装置11を使用する過程において、適宜、各人の個性に合わせて修正できる構成になっている。このことについてはさらに後述する。
CPU301は、電源オンの際のイニシャライズで、EEPROM303から制御プログラムを内部のキャッシュメモリにロードし、対応データをSRAM302の第2の記憶領域302bにロードする。また、SRAM302の対応データが修正された場合には、適宜、EEPROM303の対応データをその修正データに書き換える。
次に、血糖値測定装置11の操作及び動作について図6ないし図21を参照して説明する。制御部30のCPU301は、EEPRM302からロードした制御プログラムに従って、表示部13のタッチスイッチ14のオン操作を検出して、その操作に応じた処理を実行する。
詳細については後述するが、CPU301は、レンズ基板に近接する測定対象(具体的には手首)内の血管の位置を推定する推定部と、推定部によって推定された血管の位置の中から少なくとも一部の範囲を演算により決定し、その決定した範囲の血糖値を測定対象の血糖値として確定して表示部13に表示する演算部と、を含む。
図6〜9は、CPU301によって実行される血糖値検出処理の動作を示すフローチャートである。
CPU301は、メインフロー(図示せず)におけるイニシャライズにおいて、EEPRM302にあらかじめ格納されている対応データをSRAM302にロードして迅速な処理速度の実現に備える。
図6(A)において、CPU301は、まず、時計表示を行って時刻を表示部13に表示する(ステップS101)。時計表示は、図4(A)に示されるように、デジタル表示及びアナログ表示を行うが、上述したように、アナログ表示のエリアはタッチスイッチを構成するアイコン14である。
CPU301は、このアイコン14がオンされたか否かを判別して(ステップS102)、オンされたと判別したときは(ステップS102;YES)、表示部13にメニュー画面を表示する(ステップS103)。図10にメニュー画面の例を示す。メニュー画面には、選択候補アイコン13a、決定(OK)アイコン13b、切替(サイクリック)アイコン13cが表示される。
すなわち、図10(A)においては、「血糖値測定」の選択候補アイコン13aが表示される。ユーザは、決定アイコン13bまたは切替アイコン13cのいずれかをオンすることになる。
CPU301は、血糖値測定がオンすなわち決定アイコン13bがオンされたか否かを判別する(ステップS104)。血糖値測定がオンされたと判別したときは(ステップS104;YES)、血糖値測定処理を実行する(ステップS105a)。一方、血糖値測定がオンでない場合、すなわち切替アイコン13cがオンされたときは(ステップS104;NO)、CPU301は図10(B)に示される「食事開始」の選択候補アイコン13aの画面を表示する。
CPU301は、食事開始アイコン13aが選択されたか否かを判別し(ステップS106)、選択されたと判別したときは(ステップS106;YES)、血糖値測定処理を実行する(ステップS105b)。さらに、フラグFを「1」にセットし、かつ時刻を設定する(ステップS107)。
例えば、午後0時5分に食事開始が選択されたときは、30分経過ごとの間隔、午後0時35分、13時5分、13時35分、14時5分及び14時6分(最終時刻)を設定する。図5(A)に示された時計部31は、例えば、1秒経過ごとにタイマインタラプトをCPU301に入力して、その中に日時と時刻情報を含める。例えば、14時5分の場合は、「2017;07;03;14;05;00」を入力する。
食事開始アイコン13aが選択されない場合、すなわち切替アイコン13cがオンされた場合には(ステップS106;NO)、CPU301は、新たな選択候補の画面を表示部13に表示して、他のアイコンスイッチがオンされたか否かを判別する(ステップS108)。他のアイコンスイッチがオンされたときは(ステップS108;YES)、CPU301は、選択に係る他のメニュー処理を実行する(ステップS109)。
このように、CPU301は、切替アイコン13cがオンされるごとに、メニュー画面の選択候補の内容を切り替える。他の選択候補としては、「データ入力」、「採血開始」、「測定モード」、「履歴情報」等がある。
データ入力が選択されると、CPU301は、修正される血糖値及びまたはHbA1Cの入力スペースとテンキー等を表示する。
採血開始が選択されると、CPU301は、その選択された時間に血糖値測定を行うとともに、その測定結果を時間情報とともにSRAM302の第1の記憶領域302aの血糖値データの領域にストアする。これによって、同じ時間における採血による血糖値とこの血糖値測定装置による血糖値との比較を行うことができる。この比較によって、EEPROM303に格納されている対応データの精度(誤差)が分かる。採血による血糖値とこの血糖値測定装置による血糖値との比較の詳細について、さらに後述する。
測定モードが選択されると、CPU301は、さらに測定モードの画面を表示部13に表示する。表示される測定モードには、「手動測定モード」、「連続測定モード」その他の測定モードがある。デフォルトは手動測定モードである。連続測定モードが選択された場合には、CPU301は、その時から(設定可能な)一定時間が経過するごとに測定を開始して、例えば、翌日の24時まで連続して測定を行う。
履歴情報が選択されると、CPU301は、日時または期間を指定できる画面を表示部13に表示して、日時または期間が指定されると、SRAM302を検索してその指定に係る過去のデータを表示する。
次に、図6(B)のタイマインタラプトについて説明する。時計部31からタイマインタラプトが入力されると、CPU301は、フラグFが「1」であるか否かを判別する(ステップS301)。Fが「1」である場合には(ステップS301;YES)、CPU301は、最終時刻が経過したか否かを判別する(ステップS302)。
最終時刻が経過していなければ(ステップS302;NO)、測定時刻であるか否かを判別する(ステップS303)。すなわち、時計部31からの時間情報がステップS107において設定した時刻と一致するか否かを判別する。時刻が一致した場合には(ステップS303;YES)。血糖値測定処理を実行する(ステップS105c)。
一方、最終時刻が経過していなければ(ステップS302;YES)、Fを「0」にリセットし、かつ設定時刻をクリアする(ステップS304)。
Fが「1」でない場合(ステップS301;NO)、測定時刻でない場合(ステップS303;NO)、血糖値測定処理(ステップS105)を実行した後、またはFを「0」にリセットし、かつ設定時刻をクリアした(ステップS304)後は、このタイマインタラプトを終了する。
図6(A)において、血糖値測定処理(ステップS105a)の後、Fを「1」にセットし、かつ時刻を設定した(ステップS107)後、または他のメニュー処理(ステップS109)が終了すると、CPU301は、ステップS101における時計表示を行う。
図7は、図6のステップS105a、S105bまたはS105cにおける血糖値測定処理のフローチャートである。CPU301は、720個の光学ユニットを順次(シーケンシャル)に駆動して、受光する光の強度に対応された電気信号を取得する。
図11は、721個の光学ユニットの配列を示す図である。この図で、点線で示す正六角形H1、H2、Hn−1、Hnは、6の倍数として半径方向に拡がる光学ユニットの中心を結んだフレーム(frame)であり、変数fで表わされる(以下、「Hf」と称する)。各Hfの光学ユニットは変数sで表わされ、時計回り(または、反時計回り)にHf(s)で指定される。ここで、s=1、2、3、・・・15、・・・6fで指定される。
レンズ群の各レンズ1、各レンズ1に対応する各発光素子2及び発光素子2の駆動回路33を含む半導体回路、各レンズ1に対応する各受光素子3及び受光素子3からの電気信号の増幅回路341及びA/D変換回路342を含む半導体回路は、ハニカム状の光学ユニットを構成し、レンズ基板の中心に位置する1つの光学ユニットの周囲に正六角形の複数のフレームが放射状に拡がり、複数の光学ユニットが各フレーム上にそれぞれの中心が位置する。
レンズ基板における各ハニカム状の光学ユニットは、中心に位置する1つの光学ユニットH0を原点として下記の座標(ハニカム座標(Honeycomb Coordinates)と定義する)によって一意に指定される。
Hf(1〜6f)
ここで、fは1以上の整数であり、1〜2fは時計回り(または反時計回り)の順序で指定される。そして、指定された順序で発光処理及び受光処理が行われる。一般的にには半径及び角度で表わす円座標が周知であるが、このハニカム座標は、離散的なデジタル座標である。また、各Hf(s)の変数sの最大値は常に「6」の倍数「6f」である点に特徴がある。
例えば、H1の場合には、H1(1)、H1(2)、H1(3)、H1(4)、H1(5)、H1(6)で各光学ユニットが指定される。なお、H1(1)は、最上位の光学ユニットを指し、時計回り(または反時計回り)に進む(インクリメントされる)。H2の場合には、H2(1)、H2(2)〜H2(12)で各光学ユニットが指定される。また、Hn−1の場合には、Hn−1(1)、Hn−1(2)〜Hn−1(6f)で各光学ユニットが指定され、Hnの場合には、Hn(1)、Hn(2)〜Hn(6f)で各光学ユニットが指定される。そして、各光学ユニットは、この順序で駆動される。すなわち、全部の光学ユニットの発光素子2を同時に駆動しないので、発光に要する電力は小さい。
本実施形態では、n=15であるので、H15の場合は、H15(1)、H15(2)、H15(90)で各光学ユニットが指定される。このように、Hfごとに光学ユニットの個数が異なるので、CPU301が各光学アドレスから取得される電気信号のデータをテーブルとしてストアし、且つ処理する上で不便である。このため、一定の長さのシーケンスに区切って通常のいわゆる行列型の配列C{p,q}に変換する。
図12は、図5(A)に示されたSRAM302の第1の記憶領域の配列C{p,q}を示している。CPU301は、図11に示される駆動処理のシーケンスH1(1)、H1(2)、H1(3)、・・・Hf(1)、Hf(2)、Hf(3)、・・・Hn(1)、Hn(2)、Hn(3)、・・・Hn(6n)で得られたデータをこの配列C{p,q}にストアする。したがって、任意のHf(s)は、配列C{p,q}に一意に対応する。
このため、CPU301は、配列の変数pを1にセットし(ステップS201)、変数qを1にセットする(ステップS202)。そして、CPU301は、変数p、qをインクリメントしながら、ステップS203〜S209の処理を繰り返す。
CPU301は、C{p,q}で発光処理を行い(ステップS203)、C{p,q}で受光処理を行う(ステップS204)。すなわち、CPU301は、C{p,q}に一意に対応するHf(s)で発光処理及び受光処理を行う。
次に、CPU301は、SRAM302の対応データを参照する(ステップS205)。CPU301は、対応データの参照によって血糖値を算出する(ステップS206)。ここで、「算出」という表現を行った理由は、CPU301は、受光処理によって得られる電気信号の強度すなわち電圧値または電流値と完全に対応する血糖値がない場合には、比例計算によって血糖値を算出するからである。
次に、CPU301は、算出した血糖値をSRAM302の配列C{p,q}にストアする(ステップS207)。次に、CPU301は、変数qをインクリメントする(ステップS208)。すなわち、次の列を指定する。そして、CPU301は、変数qが最後のqの値を超えたか否かを判別する(ステップS209)。例えば、本実施形態において、720個の光学ユニットを24列30行の配列した場合に、CPU301は、インクリメントしたqの値が24を超えたか否かを判別する。
qの値が最後のqの値を超えていない場合には(ステップS209;NO)、CPU301は、ステップS203に移行して、ステップS209までの処理を繰り返す。
CPU301は、インクリメントしたqの値が24を超えた場合には(ステップS209;YES)、CPU301は、変数pをインクリメントする(ステップS210)。すなわち、次の行を指定する。そして、CPU301は、変数pが最後のpを超えたか否かを判別する(ステップS211)。例えば、CPU301は、pの値が30を超えたか否かを判別する。
pの値が最後のpの値を超えていない場合には(ステップS211;NO)、CPU301は、ステップS202に移行して、指定した行の変数qを1にセットし、ステップS211までの処理を繰り返す。
pの値が最後のpの値を超えた場合には(ステップS211;YES)、すべての光学ユニットからの電気信号の強度に対応する血糖値が図12に示されたSRAM302の第1の記憶領域302aにストアされたことになる。図13は、推定前の血管400の位置を二点鎖線で示している。
次に、血管の位置を推定するCPU301の動作について説明する。図8において、CPU301は、変数p、jを1にセットして(ステップS212)、変数q、kを1にセットする(ステップS213)。これは、図12の配列C{p,q}の変数と血管の位置を推定するための配列E{j,k}の変数を初期値に設定する処理である。
CPU301は、変数q,k,p,及びjの値をインクリメントしながら、図12の配列を参照して、血管の位置を推定するためのデータを抽出する。すなわち、CPU301は、配列C{p,q}を参照して(ステップS214)、C{p,q}の血糖値が閾値th1より大きいか否かを判別する(ステップS215)。血糖値がth1より大きい場合には(ステップS215;YES)、CPU301は、C{p,q}のデータを配列E{j,k}にコピーする(ステップS216)。
次に、CPU301は、変数kの値をインクリメントする(ステップS217)。さらに、変数qの値をインクリメントする(ステップS218)。一方、血糖値がth1以下である場合には(ステップS215;NO)、変数kの値はインクリメントせず、変数qのみをインクリメントする(ステップS218)。これは、現在の配列E{j,k}の記憶領域が未だ空きであるので、インクリメントする必要がないからである。
ステップS218においてqの値をインクリメントした後、CPU301は、そのqの値が最後のqの値を超えたか否かを判別する(ステップS219)。最後のqの値を超えない場合には(ステップS219;NO)、CPU301は、ステップS214に移行して、ステップS219までの処理を繰り返す。
ステップS218でインクリメントしたqの値が最後のqの値を超えた場合には(ステップS219;YES)、CPU301は、現在のp行のすべてのqの値が閾値th1以下であるか否かを判別する(ステップS220)。
少なくとも1つのqの値がth1より大きい場合、すなわち血管の範囲内にあると推定される場合には(ステップS220;NO)、配列E{j,k}の次の行を指定するために、jの値をインクリメントする(ステップS221)。一方、p行のすべてのqの値が閾値th1以下である場合には(ステップS220;YES)、現在の配列E{j,k}のj行は空白であるので、jの値をインクリメントする必要はない。
したがって、p行のすべてのqの値が閾値th1以下である場合、または、ステップS221でjの値をインクリメントした後は、CPU301は、pの値をインクリメントして、配列C{p,q}の次の行を指定する(ステップS222)。この後、CPU301は,インクリメントしたpの値が最後のpの値を超えたか否かを判別する(ステップS223)。
最後のpの値を超えていない場合には(ステップS223;NO)、CPU301は、ステップS213に移行して、ステップS223までの処理を繰り返す。最後のpの値を超えた場合には(ステップS223;YES)、図12の配列C{p,q}の参照が終了して、血管の位置を推定する配列E{j,k}の作成が終了したことになる。
図14は、作成が終了した配列E{j,k}すなわち血管の位置の推定結果を示す。図15(A)は、推定後の血管400の位置をクロスハッチングで示す。
次に、CPU301は、図9において、配列E{j、k}を参照する(ステップS224)。CPU301は、配列E{j、k}の行を指定する変数jの値を1にセットし(ステップS225)、列を指定するkの値を1にセットする(ステップS226)。そして、CPU301は、血管の位置の推定結果である配列E{j、k}の中から、測定精度の高い血管の範囲を確定するためにさらに血糖値の大きいデータを抽出する。
すなわち、CPU301は、E{j、k}の血糖値が所定の閾値th2(th2>th1)より大きいか否かを判別する(ステップS227)。そして、CPU301は、血糖値が閾値th2より大きい場合には(ステップS227;YES)、E{j、k}のデータをマッピングする(ステップS228)。
すなわち、CPU301は、E{j、k}のデータに対して一意に対応する図15(A)に示される推定結果の血管の位置の配列Hf(s)に変換してその範囲内にあることを確認する。マッピングされたデータは、CPU301内部のキャッシュメモリ(図示せず)にストされる。このマッピングは、例えば、キャッシュメモリ内のVRAMにおいて配列Hf(s)展開する。
この後、または血糖値が閾値th2以下である場合には(ステップS227;NO)、CPU301は、kの値をインクリメントする(ステップS229)。そして、CPU301は、指定した列のE{j、k}のデータがend(または、NULL)であるか否かを判別する(ステップS230)。
すなわち、CPU301は、その指定した列kから後の列にデータがないか否かを判別する。指定した列kにデータがストアされている場合には(ステップS230;NO)、CPU301は、ステップS227に移行してステップS230までの処理を繰り返す。
指定した列kから後の列にデータがない場合には(ステップS230;YES)、CPU301は、配列E{j、k}の行を指定する変数jの値をインクリメントする(ステップS231)。そして、CPU301は、指定した行jの配列E{j,k}がNULL(その行のすべての列にデータがない)か否かを判別する(ステップS232)。
行jの配列E{j,k}がNULLでない場合には(ステップS232;NO)、CPU301は、ステップS226に移行してステップS232までの処理を繰り返す。
行jの配列E{j,k}がNULLである場合には(ステップS232;YES)、それ以降の行もNULLであるので、図14のすべてのデータについて参照が終了したことになる。その結果、図15(B)に示すように、閾値th2を超える血糖値のパターンが黒色で示される。
このパターンは、ほぼ直線で、かつ光学ユニット全体10の端から端にわたって連続的に矢印の方向に延びている。これにより、CPU301は、このパターンが測定精度が高い範囲であると確定する。
したがって、CPU301は、マッピングに基づいて血糖値を算出し(ステップS233)、算出した血糖値をSRAMにストアする(ステップS234)。この場合の算出法は、閾値th2を超える血糖値のすべてのデータの平均値を算出してもよく、さらにその中で所定の閾値th3を超えるデータを抽出して平均値を算出してもよく、その中で最大値の血糖値に基づいて算出してもよい。
あるいは、図12に示された配列C{p,q}のデータ及/または図14に示された配列E{j,k}のデータをも考慮した周知のアルゴリズムに基づいて算出してもよい。いずれの場合も本実施形態による血管の位置を推定し、かつ確定する方法を適用する。
図16は、SRAMの第1の領域302aにストアされている血糖値のデータを示す。ここには、90日分の血糖値が日付ごとにストアされている。ここに新たな血糖値をストアする場合には、最も古いデータを消去して最新のデータをストアする。すなわち、データのプッシュ処理を行う。
CPU301は、新たな血糖値のデータをストアした場合後、図16に示されるように、90日分の血糖値のデータの平均値(Average)を算出して、HbA1Cを算出する(ステップS235)。
次に、CPU301は、SRAMにストアした血糖値(mg/dL)及び算出したHbA1C(%)を日時情報とともに表示部13に表示する(ステップS236)。
次に、CPU301は、SRAMの第1の記憶領域のC{p,q}のデータ(図12)及びE{j,k}のデータ(図14)を消去する(ステップS237)。そして、CPU301は、図6のステップS101に移行して時計を表示する。
医療機関において採血による血糖値が測定される場合には、ユーザは、採血の直前または直後に、図10(A)に示された「血糖値測定」13a(タッチスイッチ)をオンする。すなわち、採血とほぼ同時にこの装置でも血糖値を測定して、両者の相違を確認する。
図17及び図18は、採血による測定結果及び装置による測定結果(同時測定結果)を示す。両者を比較すると、血糖値及びHbA1Cに若干の差異が見られる。
このため、ユーザは、メニュー画面からデータ入力を選択して、図18に示された測定結果を採血の測定結果に合わせて修正する。なお、この場合、採血による測定結果の方が正しい値であることが前提である。この前提の可否については、本実施形態が関与するものではない。
図19は、本実施形態における血糖値測定装置11によって行われるデータ修正を示す。装置11の表示部13上のタッチスイッチを用いたデータ修正では数値入力をするテンキーをすべて表示するには狭すぎるので、4個の数値入力のアイコンを表示して、タッチ操作によりサイクリックに数値を変える構成になっている。
図19において、デフォルトが「3」のテンキーを2回操作すると、数値「5」が入力候補として点滅する。ここで「OK」アイコンを操作すると、数値「5」が修正データとして確定する。
このデータ修正操作は、外部の機器、例えば、携帯端末またはパソコンによっても行うことができる。その場合には、図10(C)に示される通信設定を選択して、外部の機器との間で無線通信回線を確立する。
図20は、本実施形態における装置11と携帯端末100またはパソコン200との間で無線通信回線を確立した場合を示す。この場合には、装置11のタッチスクリーンよりも大きなタッチスクリーンまたはキーボードを有する携帯端末100(例えば、スマホ)のタッチスクリーン101またはパソコン200のキーボード201によってデータ修正を行うことができる。
図21は、本体から取り外された光学半導体デバイスア12aの平面図である。なお、スプリング12eは、本体側に固定されているのであるが、光学半導体デバイスア12aとの位置関係を示すためにこの図に重ねて表示されている。図21に示されるように、光学半導体デバイスア12aは、本体側に装着された場合に、本体側との接続するためのコネクタ12h(1)及び12h(2)を含む。
図22(A)及び(B)は、スプリング12eの機能を説明するために図21のX−X線に沿った、かつ本体を含む断面図である。図22(A)及び(B)において、光学半導体デバイスア12aは、本体12に対して図の矢印の方向に変位可能に装着される。スプリング12eは、上部本体12b及び下部本体12cによって形成された空間において、その一方の端が上部本体12bに固定され、他方の端が平板12dに固定されている。
図22(A)は、スプリング12eが平板12dを下側に押圧している状態であり、その結果、光学半導体デバイスア12aは空間の最下部に位置している。したがって、コネクタ12h(1)は下部本体12cのコネクタ12h(3)に接触する。この状態では、装置11のバンドの締め具合が緩い場合には、光学半導体デバイスア12aと手首の表面とが密着していない可能性がある。
一方、図22(B)は、光学半導体デバイスア12aが下側からスプリング12eを押し上げている状態である。すなわち、装置11のバンドの締め具合が良好で、光学半導体デバイスア12aと手首の表面とが密着していることになる。この場合には、コネクタ12h(1)は下部本体12cのコネクタ12h(3)から離れる。
図23は、コネクタ12h(1)及びコネクタ12h(3)で構成されるスイッチSW1の等価回路を示す。コネクタ12h(1)は、抵抗R1を介してGNDに接続されている。一方、コネクタ12h(3)は、電源Vccに接続されている。したがって、図22(A)の場合には、SW1は閉じている(オン状態)。したがって、図5のCPU301の入力ポートには、ハイレベルの信号が供給される。一方、図22(B)の場合には、SW1は開いている(オフ状態)。したがって、CPU301の入力ポートには、ローレベルの信号が供給される。
CPU301は、入力ポートに供給される信号によって、光学半導体デバイスア12aが手首の表面に密着しているか否かを判別することができる。CPU301は、バンドの締め具合が緩い場合には、ユーザに対して警告のメッセージを通知する。
図24は、光学半導体デバイスア12aが手首(図示せず)の表面に密着していない状態を示している。図24(A)において、バンド15の締め具合が緩い場合には、図24(B)に示されるように、表示部13に「バンドをもっと締めて下さい」のメッセージを表示する。
なお、図面では示さないが、バンド15が適切に締められた場合、すなわち、図24のSW1がオフ状態であることを検出したときは、バンド15の締め具合が適切である旨のメッセージを表示する。
なお、図21におけるコネクタ12h(2)は、図5において光学半導体デバイスア12aを本体12bに接続するコネクタであり、図22(A)及び(B)に示されるように、光学半導体デバイスア12aの変位位置にかかわらず、本体(上部)12bのコネクタ12f(1)または本体下部12cのコネクタ12f(2)に接続される。
以上のように、本実施形態によれば、発光素子と受光素子との微妙な光軸調整を必要とせず、かつ、使用者の血管の位置に拘束される条件を緩和して、手動的及び自動的な血糖値の安定した血糖値の測定が可能になる。
また、本実施形態によれば、ユーザが手動で測定する場合には、指で表示部13すなわちタッチスイッチ14を押下するので、光学半導体デバイスア12aはユーザの手首に密着するが、自動測定の場合でも光学半導体デバイス12aがユーザの手首の表面に密着しているか否かを判定できるので、ユーザに対して適切なメッセージを通知する。
本実施形態の変形例として、上部本体12bの空間の最上部にコネクタを設けてもよい。バンドの締め具合が強すぎて、光学半導体デバイスア12aのコネクタ12h(1)がこのコネクタに接触する状態になったときには、表示部13に「バンドを少し緩めて下さい。手首を痛めます」のメッセージを表示するようにしてもよい。
次に、本発明の第2の実施形態について説明する。第2の実施形態では、1つの光学ユニットの発光素子2の発光に対して、その光学ユニットの受光素子3だけでなく、その光学ユニットを取り囲む複数の光学ユニットにおける受光素子3もその発光による反射光を同時に受光する。
そのために、本実施形態では、ハニカム座標の光学ユニットに対して座標変換処理を行う。任意の光学ユニットのHi(s)(i=0〜n−m;s=1〜6i)に対して座標変換を行って変換ハニカム座標(TH0、TH1、TH2、・・・)を生成する。ここで、nはフレームfの最大値であり、本実施形態の場合はn=15である。
図25(A)は、19個の光学ユニットで同時に反射光を受光する場合を示す。図25(A)に示されるように、任意の光学ユニットHiを中心(原点光学ユニット)とする変換ハニカム座標を作成する。これを、「浮動原点システム」と定義する。なお、座標変換テーブル(図示せず)は、図5におけるEEPROM303に記憶されている。
TH0の発光素子から発光されて、測定対象すなわちユーザの血管を流れる血液で反射された反射光は、TH0、TH1及びTH2の受光素子によって同時に受光される。したがって、反射光が拡がった場合でも、その集光率が増加する。この浮動原点システムにおいては、図25(B)に示されるように、光学半導体デバイスア12aの鏡筒12a(2)に浅い溝12a(3)を形成して、交換レンズ12a(EX)を装着できる構成にしてもよい。この交換レンズ12a(EX)は、例えば、拡がった反射光を並行光線に変える非球面レンズでもよい。
このように、任意の光学ユニットを原点ユニットに変換して、それを囲む複数の光学ユニットで構成されるので、レンズ基板の周辺部分は使用することができない。すなわち、境界条件を満たす必要がある。任意の光学ユニットのHi(s)(i=0〜n−m;s=1〜6i)としたのは、最大フレームnからフレームmまでを除くためである。本実施形態の場合はm=2であり、H0〜H13(15−2)が原点光学ユニットの候補になり得る。したがって、浮動原点システムに使用できる光学ユニットの数は78個である。
図25(C)は、浮動原点システムに必要な加算回路304及び選択回路305の構成を示す。CPU301は、浮動原点システムにおける複数の光学ユニットのハニカム座標を選択する指令を選択回路305に出力する。その結果、加算回路304で加算された電気信号がCPU301に入力される。
この場合において、加算回路304は、ハードウェアではなく、ソフトウェアによってプログラマブルに構成される。したがって、CPU301は選択回路305で1つだけのハニカム座標の受光回路34を選択できる。この結果、加算回路304の構成をソフトウェアによってスキップすれば、第1の実施形態と同一になる。すなわち、第1の実施形態と第2の実施形態とはハードウェアに何ら相違はなく、ソフトウェアによる動作モードの遷移によって実現される。
本実施形態では、浮動原点システムを78個の光学ユニットから選択された19個の光学ユニットで構成したが、本発明はこれに限定されるものではない。例えば、加算回路304及び選択回路305をプログラマブル論理回路(PLC)で構成し、任意の組み合わせで構成することができる。
以上のように、本実施形態によれば、浮動原点システムによって反射光が拡がる場合であっても、その集光率を増加することができる。
次に、本発明の第3の実施形態について、図26及び27を参照して説明する。本実施形態においては、装置11の本体12から分離された光学半導体デバイスア12aと携帯端末との協働によって血糖値の測定を行う。
光学半導体デバイスア12aを本体12bから分離する際に、上記したように、フックスイッチ12g(1)の押圧操作及びヒンジ12g(2)の回転動作を行う。この場合において、光学半導体デバイスア12aが装置11から分離されると、図23に示されたSW1オフ状態になり、図5の表示部13(タッチスイッチ14)及び時計部31との接続がなくなるだけなのでハードウェア的には問題ない。しかし、バンドの締め具合を検出し、かつメッセージを表示するルーチンは、ソフトウェアによって「スキップ」する必要がある。そのため、例えば、時計部31からの時刻情報の入力が無い時には、CPU301は、このスキップ処理をする必要がある。
装置11の本体から分離された光学半導体デバイスア12aは、以下に説明するように、独立したデバイスとして機能する。
図26は、携帯端末(スマートフォン)用のケース300を示し、図26(A)はその平面図、図26(B)は図6(A)のY−Y線に沿った断面図である。この図において、携帯端末を収容する空間に隣接して光学半導体デバイス12aを収容する半円形の凹部302が形成され、及び円形の穴303が形成されている。
図27は、ケース300に携帯端末100及び光学半導体デバイス12aを装着した場合を示している。携帯端末100と光学半導体デバイス12aとの間を近距離無線通信のブルートゥース(登録商標)によって無線接続する。すなわち、光学半導体デバイス12aは、装置11に装着された場合に、図5(A)に示した表示部13(タッチスイッチ14)及び時計部31に代えて、携帯端末100の表示部101(タッチスイッチ101a)及び時計機能を利用する。
そのため、携帯端末100には、装置11用のアプリケーション・ソフトがあらかじめインストールされているか、または装着後にインストールされる。
図27(A)は、携帯端末100の表示部101を示し、図27(B)は、光学半導体デバイス12aの測定面1を示す。携帯端末100の表示部101は、装置11の表示部13より大きいので、選択候補のメニュー101aを表示できる。
携帯端末100は、随時、自身のアプリを起動して、血糖値測定モードに遷移できる。血糖値測定モードでは、自身の制御部ではなく、光学半導体デバイス12aのCPU301の制御に従って動作する。ただし、この血糖値測定モードでは、図27(A)に示されるように、切断処理のタッチスイッチ101bのアイコンを常に表示して、本来の携帯端末100の動作モードに遷移できる。
なお、測定面1は、ケース300の表面から若干突き出る構成になっている。したがって、ユーザは、片手の掌にこの測定面1を密着させた状態で、もう片方の手で携帯端末100を操作することで、測定面1に密着している血管が多く集まっている掌の血糖値を検出することができる。
以上のように、本実施形態によれば、独立した電子部品としての光学半導体デバイスア12aと携帯端末100とを組み合わせることで、ユーザの体のあらゆる部位で、血糖値を測定できるので、測定の自由度及び利便性が向上する。
上記第1ないし第3の実施形態は、本発明の例示的な実施形態にすぎず、本発明はこれらの実施形態に限定されるものではない。上記各実施形態に基づいて当業者が容易に想到できる変形例及び修正された実施形態も、この明細書に添付した特許請求の範囲の主旨から逸脱しない限り、本発明の範囲に包摂される。
例えば、レンズ基板のすべてを光学ユニットで構成せずに、その一部をCCD(Carge Coupled Device;電荷結合素子)型またはMOS(Metal Oxide Semiconductor;金属酸化膜半導体)型の撮像素子で構成してもよい。2017年現在の製造技術では、1つの光学ユニットの領域に対して2万画素の撮像素子が実現可能である。
例えば、光学半導体デバイスアを携帯端末と組み合わせた場合、1個の光学ユニットを囲む18個の光学ユニットに相当する領域を38万画素の撮像素子によって、血管の位置を表示部に表示しながら、血糖値を測定することができる。
また、光学半導体デバイスアを携帯端末と組み合わせた場合、光学半導体デバイスアに装着する交換レンズの鏡筒の形状の自由度が拡がる。したがって、様々な光学系を用いて血糖値の測定が可能になる。
さらに、光学半導体デバイスアを携帯端末と組み合わせた場合、ズーミング機能の交換レンズが可能になるので、スーパーマーケット等の食品売り場において、食品の糖度を測定することができる。したがって、糖質制限の食事療法を行っている糖尿病患者または予備段階のユーザには極めて有効である。
本発明は、操作部を有する血糖値測定装置に使用する光学半導体デバイスであって、通過する光を光軸に沿って集光する複数のレンズ群が配列されたレンズ基板と、光軸の方向に対して垂直となるレンズ基板の一方の面において、複数のレンズの各々に対応して形成され、血糖値に応じて吸収率が高くなる特定の波長の光を、操作部から入力される所定の指令に応じて、順次発光して対応するレンズを透過させる複数の発光素子と、レンズ基板の一方の面において、複数のレンズの各々に対応して形成され、発光素子の外縁に近接する内縁によって発光素子を囲み、かつ、その内縁とその内縁の外側の外縁とによって画定される領域において、対応するレンズを透過して入射する波長の光を受光して、その光の強度値を示す電気信号を発生する複数の受光素子と、受光素子によって発生される電気信号で示される光の強度値と血糖値との対応関係を示す対応データを記憶している記憶部と、順次発光した発光素子を囲む受光素子から発生される電気信号で示される光の強度値及び対応データの血糖値に基づいてレンズ基板に近接する測定対象の血糖値を算出する演算部と、を含む。