以下、健康管理システムの実施形態について、図面を用いて説明する。
本実施形態の健康管理システムは、電子レシートシステムと連携する。電子レシートシステムは、レシートに記載される情報(レシートデータ)を電子化し、この電子化されたレシートデータを、インターネット等を介してユーザ端末装置にダウンロードすることで、消費者であるユーザがレシートを電子的に受け取れるようにしたシステムである。ユーザ端末装置は、例えばパソコン、スマートフォン、携帯電話、タブレット端末等である。
[健康管理システムの説明]
図1は健康管理システム100の全体構成を示すブロック図である。
健康管理システム100は、会計装置10、ユーザ端末装置20、レシートサーバ30、栄養データサーバ40及び健康管理サーバ50を含む。図1では、会計装置10、ユーザ端末装置20、レシートサーバ30、栄養データサーバ40及び健康管理サーバ50をそれぞれ1つずつ表しているが、それぞれの数は任意である。会計装置10、ユーザ端末装置20、レシートサーバ30、栄養データサーバ40及び健康管理サーバ50は、ネットワーク200を介してデータを授受することが可能である。ネットワーク200は、例えばインターネット及び移動通信網を含む。ネットワーク200は、LAN(local area network)を含んでも良い。
会計装置10は、飲食する商品を提供する店舗、いわゆる飲食店等に設置される。会計装置10は、飲食する商品を販売する小売店等に設置されていてもよい。会計装置10は、商品の提供または販売に対する代金を会計するためのデータ処理である会計処理を行う。なお、会計とは、上記の代金の算出及び決済を含む。複数の会計装置10が健康管理システム100に含まれる場合、これら複数の会計装置10は、同一の店舗に設置されても良いし、異なる店舗に分散して配置されても良い。
ユーザ端末装置20は、健康管理システム100のユーザによる操作に基づいて、当該ユーザが朝食,昼食,夕食等の食事毎に摂取した献立情報の登録及び当該ユーザに栄養データを閲覧させるための画像の表示などを行う。栄養データは、献立に含まれるカロリー量、塩分量等である。複数のユーザ端末装置20が健康管理システム100に含まれる場合、これらの複数のユーザ端末装置20が同一のユーザにより利用されても良いし、異なるユーザにより個別に利用されても良い。あるいは、1つのユーザ端末装置20が複数のユーザにより共用されても良い。
レシートサーバ30は、会計装置10で行った会計の結果を表すレシートデータを会計装置10から収集し、蓄積する。レシートサーバ30は、レシートデータの内容を表したレシート画像を生成し、ユーザ端末装置20へと送信する。
栄養データサーバ40は、会計装置10が設置される店舗で商品として提供または販売される飲食物に関する栄養データを保持する。また栄養データサーバ40は、「ごはん」、「味噌汁」、「カレーライス」等のように、食事の献立として主に家庭等で調理される飲食物に関する栄養データを保持する。栄養データサーバ40は、健康管理サーバ50からの要求に応じて、必要な栄養データを健康管理サーバ50へと送信する。
健康管理サーバ50は、レシートサーバ30が蓄積しているレシートデータとユーザ端末装置20を介して登録された食事毎の献立情報とに基づいて、ユーザが摂取した飲食物に関する栄養データを表した閲覧画像を生成し、ユーザ端末装置20へと送信する。
[会計装置10の説明]
図2は会計装置10の要部構成を示すブロック図である。
会計装置10は、プロセッサ101、メインメモリ102、補助記憶デバイス103、通信インターフェース104、I/O(input/output)インターフェース105及びシステム伝送路106等を備える。プロセッサ101と、メインメモリ102、補助記憶デバイス103、通信インターフェース104及びI/Oインターフェース105とは、システム伝送路106によって接続される。システム伝送路106は、アドレスバス、データバス及び制御信号線等を含む。
会計装置10においては、プロセッサ101、メインメモリ102及び補助記憶デバイス103と、これらを接続するシステム伝送路106とによってコンピュータを構成する。
プロセッサ101は、上記コンピュータの中枢部分に相当する。プロセッサ101は、オペレーティングシステムやアプリケーションプログラムに従って、会計装置10としての各種の機能を実現するべく各部を制御する。
メインメモリ102は、上記コンピュータの主記憶部分に相当する。メインメモリ102は、不揮発性のメモリ領域と揮発性のメモリ領域とを含む。メインメモリ102は、不揮発性のメモリ領域ではオペレーティングシステムやアプリケーションプログラムを記憶する。またメインメモリ102は、プロセッサ101が各部を制御するための処理を実行する上で必要なデータを不揮発性または揮発性のメモリ領域で記憶する場合もある。メインメモリ102は、揮発性のメモリ領域を、プロセッサ101によってデータが適宜書き換えられるワークエリアとして使用する。
補助記憶デバイス103は、上記コンピュータの補助記憶部分に相当する。補助記憶デバイス103は、例えばEEPROM(electric erasable programmable read-only memory)、HDD(hard disc drive)、SSD(solid state drive)などである。補助記憶デバイス103は、プロセッサ101が各種の処理を行う上で使用するデータ、あるいは、プロセッサ101での処理によって生成されたデータを保存する。補助記憶デバイス103は、アプリケーションプログラムを記憶する。
補助記憶デバイス103が記憶するアプリケーションプログラムには、決済プログラムP11がある。ただし、決済プログラムP11は、会計装置10の管理者または会計装置10の設置作業者等による操作に応じて、例えばインターネットを介してダウンロードされて補助記憶デバイス103に書き込まれても良い。つまり、会計装置10の使用者への会計装置10の譲渡は、決済プログラムP11が補助記憶デバイス103に記憶されていない状態で行われても良い。
通信インターフェース104は、ネットワーク200を介したデータ通信のインターフェースである。通信インターフェース104としては、例えばインターネットを介したデータ通信を行うための周知の通信デバイスを利用できる。
I/Oインターフェース105は、種々の入出力デバイスとの間で行うデータ通信のインターフェースである。図示は省略するが、I/Oインターフェース105には例えば、ハンディスキャナ、タッチパネル及びカードリーダ等が適宜に接続される。
会計装置10のハードウェアとしては、既存のPOS(point-of-sale)端末装置または電子キャッシュレジスタなどを利用できる。
[ユーザ端末装置20の説明]
図3はユーザ端末装置20の要部構成を示すブロック図である。
ユーザ端末装置20は、スマートフォン、携帯電話、あるいはタブレット端末等のような携帯型の情報処理装置である。食事毎の献立情報の登録及び栄養データの閲覧のために利用されるユーザ端末装置20は、デスクトップ型のパーソナルコンピュータなどの様な据置型の情報処理装置であっても良い。
ユーザ端末装置20は、プロセッサ201、メインメモリ202、補助記憶デバイス203、タッチパネル204、通信インターフェース205及びシステム伝送路206等を備える。プロセッサ201、メインメモリ202、補助記憶デバイス203、通信インターフェース205及びシステム伝送路206に対する説明は、会計装置10のものと共通なので省略し、ここでは相違する部分だけを説明する。
ユーザ端末装置20において、補助記憶デバイス203が記憶するアプリケーションプログラムには、レシートクライアントのためのアプリケーションプログラム(以下、レシートクライアントアプリと称する)P21と、食事毎の献立情報を利用した健康管理のためのアプリケーションプログラム(以下、健康アプリと称する)P22とがある。ただし典型的には、レシートクライアントアプリP21及び健康アプリP22は、ユーザ端末装置20の使用者による操作に応じて、例えばインターネットを介してダウンロードされて補助記憶デバイス203に書き込まれる。つまり、ユーザ端末装置20の使用者へのユーザ端末装置20の譲渡は、レシートクライアントアプリP21及び健康アプリP22が補助記憶デバイス203に記憶されていない状態で行われる。しかしながら、レシートクライアントアプリP21及び健康アプリP22が補助記憶デバイス203に記憶された状態のユーザ端末装置20がユーザ端末装置20の使用者に譲渡されても構わない。
タッチパネル204は、ユーザ端末装置20の入力デバイス及び表示デバイスとして機能する。タッチパネル204には、オペレーティングシステムに基づくプロセッサ201の処理により、レシートクライアントアプリP21を起動するためのアイコンが表示される。
[レシートサーバ30の説明]
図4はレシートサーバ30の要部構成を示すブロック図である。
レシートサーバ30は、プロセッサ301、メインメモリ302、補助記憶デバイス303、通信インターフェース304及びシステム伝送路305等を備える。プロセッサ301、メインメモリ302、補助記憶デバイス303、通信インターフェース304及びシステム伝送路305に対する説明は、会計装置10のものと共通なので省略し、ここでは相違する部分だけを説明する。
レシートサーバ30において、補助記憶デバイス303が記憶するアプリケーションプログラムには、レシートサーバ30のためのアプリケーションプログラム(以下、レシートサーバアプリと称する)P31がある。
レシートサーバ30は、例えば汎用のサーバ装置やコンピュータ装置を基本ハードウェアとして用いることができる。レシートサーバ30は、レシートサーバアプリP31が補助記憶デバイス303に記憶されない状態のサーバ装置またはコンピュータ装置とレシートサーバアプリP31とが個別にレシートサーバ30の利用者に譲渡されても良い。このとき、レシートサーバアプリP31の譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。そしてこの場合は、レシートサーバ30の管理者またはレシートサーバ30の設置作業者などによる操作に応じて、レシートサーバアプリP31が補助記憶デバイス303に書き込まれる。
プロセッサ301は、レシートサーバアプリP31に基づく処理を実行するために、補助記憶デバイス303の記憶領域の一部を電子レシート領域W31に割り当てる。電子レシート領域W31は、レシートデータを蓄積する。
図5はレシートデータのデータ構造を示す図である。
レシートデータは、電子レシートコード311、ユーザコード312、日時データ313、決済データ314及び明細データ315を含む。
電子レシートコード311は、レシートデータの個々を識別する一意のコードである。
ユーザコード312は、健康管理システム100のユーザを識別する一意のコードである。
日時データ313は、決済が行われた日付及び時刻のデータである。日時データ313は、ユーザが飲食物である商品を飲食したタイミングを判断するための指標となる。決済が行われた日付及び時刻のデータは、この時間情報の一例である。時間情報としては別に、ユーザが入店した日時、あるいは商品のオーダーがなされた日時なども相当する。
決済データ314は、決済の結果を表すデータである。決済データ314にどのような項目のデータを含むかは任意であるが、例えば、決済金額、決済方法、あるいは決済を行った店舗の店舗コードなどを含むことが想定される。店舗コードは、複数の会計装置10が複数の店舗に分散して配置される場合に、それら複数の店舗のそれぞれを識別する一意のコードである。
明細データ315は、決済の対象となった商品に関する商品コード、名称及び単価などを表したリストを含む。
ここに、電子レシート領域W31は、第1の記憶デバイスとして機能する。
[栄養データサーバ40の説明]
図6は栄養データサーバ40の要部構成を示すブロック図である。
栄養データサーバ40は、プロセッサ401、メインメモリ402、補助記憶デバイス403、通信インターフェース404及びシステム伝送路405等を備える。プロセッサ401、メインメモリ402、補助記憶デバイス403、通信インターフェース404及びシステム伝送路405に対する説明は、会計装置10のものと共通なので省略し、ここでは相違する部分だけを説明する。
栄養データサーバ40において、補助記憶デバイス403が記憶するアプリケーションプログラムには、栄養データサーバ40のためのアプリケーションプログラム(以下、栄養データサーバアプリと称する)P41を含む。
補助記憶デバイス403の記憶領域の一部は、商品栄養データ領域W41及び食物栄養データ領域W42として使用される。商品栄養データ領域W41は、会計装置10が設置される店舗で商品として提供または販売される飲食物のそれぞれについての栄養データ(以下、商品栄養データと定義する)を格納する。食物栄養データ領域W42は、主に家庭で調理される飲食物のそれぞれについての栄養データ(以下、食物栄養データと定義する)を格納する。
図7は商品栄養データのデータ構造を示す図である。商品栄養データは、店舗コード411、商品コード412、カロリーデータ413及び栄養バランスデータ414を含む。
店舗コード411は、会計装置10が設置される店舗を識別するコードであり、レシートデータに含まれる店舗コードと同系列のものである。商品コード412は、商品として提供または販売される飲食物を識別するコードである。商品コード412は、店舗コード411で識別される店舗で提供または販売される飲食物の個々に関して一意であれば良い。つまり、それぞれ異なる店舗コード411を含んだ別々の栄養データにそれぞれ含まれる商品コード412は、同一の飲食物に対してそれぞれ異なっていても良い。ただし商品コード412は、店舗コード411で識別される店舗に設置された会計装置10が生成するレシートデータに含まれる商品コードに一致する。
カロリーデータ413は、店舗コード411で識別される店舗で商品として提供または販売される飲食物のうちの商品コード412で識別される飲食物についてのカロリーを表す。
栄養バランスデータ414は、店舗コード411で識別される店舗で商品として提供または販売される飲食物のうちの商品コード412で識別される飲食物についての栄養バランスを表す。栄養バランスは、例えば四群点数法(女子栄養大学による)により定められた複数のグループ(食品群)毎の点数によって表される。栄養バランスデータ414は、塩分、炭水化物、脂質、たんぱく質、無機質、ビタミン等の栄養素の含有量を含んでいてもよい。
図8は食物栄養データのデータ構造を示す図である。食物栄養データは、食物コード421、アイコン422、カロリーデータ423及び栄養バランスデータ424を含む。
食物コード421は、献立として家庭等で提供される飲食物を識別するコードである。食物コード421は、上記の飲食物に対して一意であればよい。仮に、店舗で商品として提供または販売される飲食物の中に同一品目があったとしても、食物コード421は、その飲食物の商品コード412と一致している必要はない。
アイコン422は、食物コード421で識別される飲食物を表す絵記号である。アイコン422は、飲食物毎にそれぞれ異なることが望ましいが、同一であることを妨げるものではない。各アイコン422には、そのアイコン422が表す飲食物の名称を示すテキストデータが含まれる。
カロリーデータ423は、食物コード421で識別される飲食物についてのカロリーを表す。
栄養バランスデータ424は、食物コード421で識別される飲食物についての栄養バランスを表す。栄養バランスは、例えば四群点数法により定められた複数のグループ(食品群)毎の点数によって表される。栄養バランスデータ424は、塩分、炭水化物、脂質、たんぱく質、無機質、ビタミン等の栄養素の含有量を含んでいてもよい。
通信インターフェース404は、ネットワーク200を介したデータ通信のインターフェースである。通信インターフェース404としては、例えばインターネットを介したデータ通信を行うための周知の通信デバイスを利用できる。
栄養データサーバ40は、例えば汎用のサーバ装置やコンピュータ装置を基本ハードウェアとして用いることができる。栄養データサーバ40は、栄養データサーバアプリP41が補助記憶デバイス403に記憶されない状態のサーバ装置またはコンピュータ装置と、栄養データサーバアプリP41とが個別に利用者に譲渡されても良い。このとき、栄養データサーバアプリP41の譲渡は、磁気ディスク、光磁気ディスク、光ディスク、半導体メモリなどのようなリムーバブルな記録媒体に記録して、あるいはネットワークを介したダウンロードにより実現できる。そしてこの場合は、栄養データサーバ40の管理者または栄養データサーバ40の設置作業者などによる操作に応じて、栄養データサーバアプリP41が補助記憶デバイス403に書き込まれる。
[健康管理サーバ50の説明]
図9は健康管理サーバ50の要部構成を示すブロック図である。
健康管理サーバ50は、プロセッサ501、メインメモリ502、補助記憶デバイス503、通信インターフェース504及びシステム伝送路505等を備える。プロセッサ501、メインメモリ502、補助記憶デバイス503、通信インターフェース504及びシステム伝送路505に対する説明は、会計装置10のものと共通なので省略し、ここでは相違する部分だけを説明する。なお、通信インターフェース504は、ユーザ端末装置20との通信手段を構成する。
健康管理サーバ50において、補助記憶デバイス503が記憶するアプリケーションプログラムには、健康管理サーバ50のためのアプリケーションプログラム(以下、健康管理アプリと称する)P51を含む。
補助記憶デバイス503の記憶領域の一部は、健康管理データ領域W51及び定番メニュー領域W52として使用される。健康管理データ領域W51は、健康管理システム100のユーザ毎に健康管理データを格納する。健康管理データは、ユーザが朝食,昼食,夕食等の食事毎に摂取した飲食物の情報を含む。
定番メニュー領域W52は、健康管理システム100のユーザ毎に定番メニューデータを格納する。定番メニューデータは、ユーザがユーザ端末装置20を操作して、食事毎の献立情報を健康管理サーバ50に登録する際に使用されるデータである。ユーザは、ユーザ端末装置20を操作して、定番メニュー領域W52に任意の定番メニューデータを設定することができる。
図10は、健康管理データのデータ構造を示す図である。健康管理データは、ユーザコード511と、複数の献立データ512とを含む。ユーザコード511は、健康管理システム100のユーザを識別する一意のコードである。ユーザコード511は、電子レシートデータのユーザコード312と一致する。
献立データ512は、日付、区分及び品目コードを含む。日付は、ユーザコード511で識別されるユーザが食事をした日付である。区分は、その食事を識別する情報である。すなわち献立データ512における区分は、「朝食」、「昼食」、「夕食」及び「間食」をそれぞれ識別する情報である。なお、本実施形態では、献立データ512における区分を「朝食」、「昼食」、「夕食」及び「間食」の4つとしたが、必ずしもこの区分に限定されるものではない。
品目コードは、その食事で飲食した飲食物を特定するコードである。品目コードには、栄養データサーバ40の商品栄養データ領域W41にてカロリーデータ及び栄養バランスデータが管理される飲食物の「店舗コードと商品コード」と、食物栄養データ領域W42にてカロリーデータ及び栄養バランスデータが管理される飲食物の「食物コード」とがある。1つの献立データにおいて、品目コードは、「店舗コードと商品コード」と「食物コード」とが混在してもよいし、どちらか一方だけでもよい。要は、対応する日付と区分とによって特定される食事の献立として飲食した飲食物を1品ずつ特定できればよい。
ここに、健康管理データ領域W51は、第2の記憶デバイスとして機能する。
図11は、定番メニューデータのデータ構造を示す図である。定番メニューデータは、ユーザコード521と複数のメニューデータ522とを含む。ユーザコード521は、健康管理システム100のユーザを識別する一意のコードである。ユーザコード521は、電子レシートデータのユーザコード312と一致する。
メニューデータ522は、ボタン番号、ボタン名称及び定番メニューコードを含む。ボタン番号は、後述する食物入力画面に表示される複数の定番メニューボタンに対して一意に割り当てられた番号である。ボタン名称は、対応するボタン番号によって特定される定番メニューボタンに表示する名称を示すテキストデータである。定番メニューコードは、対応するボタン番号によって特定される定番メニューボタンに設定された飲食物のコードである。コードは、「店舗コードと商品コード」または「食物コード」である。1つの定番メニューコードに、複数の「店舗コードと商品コード」または「食物コード」が含まれていてもよい。その際、「店舗コードと商品コード」と「食物コード」とが混在していてもよいし、どちらか一方だけでもよい。
ユーザは、各定番メニューボタンに対して1または複数の飲食物を設定することができる。例えば朝食として「食パン」と「ミルク」を欠かさないユーザは、1つの定番メニューボタンに「食パン」と「ミルク」とを設定すればよい。
ここに、定番メニュー領域W52は、第3の記憶デバイスとして機能する。
[健康管理システム100の動作説明]
(電子レシートに係る動作説明)
次に、健康管理システム100の動作について説明する。始めに、電子レシートの保存及び閲覧に係る動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
健康管理システム100のユーザは、ユーザ端末装置20にレシートクライアントアプリP21及び健康アプリP22をインストールする。ユーザは、予め定められた方法で、レシートサーバ30に対してユーザ登録を行う。このユーザ登録によりレシートサーバ30では、ユーザを識別する一意のユーザコードが定められるとともに、このユーザコードに対して、ユーザが指定したユーザ名とパスワードとが関連付けられる。本実施形態では、ユーザ名としてはメールアドレスを使用することとする。ユーザ名及びパスワードは、レシートサーバ30がランダムに決定しても良い。
ユーザは、健康管理システム100に属する会計装置10が設置された店舗で飲食物を飲食したり購入したりした場合、会計装置10を利用して会計する。
図12は、会計装置10のプロセッサ101が決済プログラムP11に基づいて実行する情報処理の手順を示す流れ図である。先ずプロセッサ101は、メインメモリ102内に設定する商品リストエリアをクリアする(Act101)。商品リストエリアは、買上登録が済んだ商品に関する情報のリスト(以下、商品リストと称する)を記述するための記憶エリアである。
商品リストエリアをクリアし終えると、プロセッサ101は、買上登録すべき商品が指定されたか確認する(Act102)。買上登録すべき商品が指定されていない場合(Act102にてNO)、プロセッサ101は、ユーザコードが入力されたか確認する(Act103)。ユーザコードが入力されていない場合(Act103にてNO)、プロセッサ101は、買上登録の締めが指定されたか確認する(Act104)。買上登録の締めが指定されていない場合(Act104にてNO)、プロセッサ101は、再び買上登録すべき商品が指定されたか確認する(Act102)。ここにプロセッサ101は、Act102乃至Act104の処理において、買上登録すべき商品が指定されるか、ユーザコードが入力されるか、買上登録の締めが指定されるのを待ち受ける。
例えば店舗で飲食を終えたユーザが店員に会計を申し出ると、店員は、会計装置10のI/Oインターフェース105に接続された入力デバイスを操作して、ユーザが飲食した商品を指定する。あるいは、店舗で買い物を終えたユーザが店員に会計を申し出ると、店員は、同入力デバイスを操作して、ユーザが購入した商品を指定する。これらの操作を受けてプロセッサ101は、買上登録すべき商品を指定する操作がなされたことを検知する。
プロセッサ101は、Act102乃至Act104の待ち受け状態において、買上登録すべき商品を指定する操作がなされたことを検知すると(Act102にてYES)、指定された商品の情報を含むように、商品リストを更新する(Act105)。商品の情報には、商品コード、商品名、価格等が含まれる。
商品の情報には、栄養データサーバ40の商品栄養データ領域W41に設定されている当該商品のカロリーデータと栄養バランスデータとを含んでもよい。すなわちプロセッサ101は、栄養データサーバ40に店舗コードと商品コードとを通知する。この通知を受けた栄養データサーバ40のプロセッサ401は、商品栄養データ領域W41を検索する。そしてプロセッサ401は、通知された店舗コードと商品コードとに関連付けられたカロリーデータと栄養バランスデータとを商品栄養データ領域W41から読出し、会計装置10に送信する。会計装置10のプロセッサ101は、栄養データサーバ40から受け取ったカロリーデータと栄養バランスデータとを商品リストに追加する。
商品リストを更新した後、プロセッサ101は、Act102乃至Act104の待ち受け状態に戻る。
ところで、上記の会計に関して電子レシートサービスを利用したいユーザは、ユーザ端末装置20においてレシートクライアントアプリP21を起動する。レシートクライアントアプリP21が起動すると、ユーザ端末装置20のプロセッサ201は、このレシートクライアントアプリP21に基づく情報処理を実行する。この情報処理は、レシートサーバアプリP31が起動するレシートサーバ30によって支援される。
図13乃至図15は、ユーザ端末装置20のプロセッサ201が、レシートクライアントアプリP21に基づいて実行する情報処理の手順を示す流れ図である。図16及び図17は、レシートサーバ30のプロセッサ301がレシートサーバアプリP31に基づいて実行する情報処理の手順を示す流れ図である。図18は、レシートサーバ30のプロセッサ301がレシートサーバアプリP31とは別のタスクによって並列的に実行する情報処理の手順を示す流れ図である。図19は、レシートクライアントアプリP21に基づく情報処理によりユーザ端末装置20のタッチパネル204に表示される画面の変遷例を示す図である。以下、図13乃至図19を用いて、ユーザ端末装置20におけるプロセッサ201の主要な処理と、レシートサーバ30におけるプロセッサ301の主要な処理とについて説明する。
図13に示すように、レシートクライアントアプリP21に基づく情報処理が起動すると、プロセッサ201は、タッチパネル204の画面をログイン画面SC1とする(Act201)。そしてプロセッサ201は、ログインの指示を待ち受ける(Act202)。
図19に示すように、ログイン画面SC1は入力欄F11,F12及びボタンB11を含む。入力欄F11は、ユーザ名として設定されたメールアドレスをユーザが入力するための欄である。入力欄F12は、メールアドレスとともにユーザコードに関連付けられたパスワードをユーザが入力するための欄である。ボタンB11は、ログインを指示するためにユーザがタッチするものである。初期状態のログイン画面SC1は、入力欄F11,F12が空欄である。
ユーザは、ユーザ登録の際に指定したメールアドレス及びパスワードを入力欄F11,F12にそれぞれ入力した上で、ボタンB11にタッチする。これらの操作を受けてプロセッサ201は、ログインの指示を検知する。
プロセッサ201は、Act202の待ち受け状態において、ログインの指示を検知すると(Act202にてYES)、レシートサーバ30に対してログイン要求を行う(Act203)。具体的にはプロセッサ201は、入力欄F11,F12にそれぞれ入力されたメールアドレス及びパスワードをメインメモリ302に格納する。そして、ボタンB11のタッチ入力を受けてプロセッサ201は、通信インターフェース205からレシートサーバ30に宛ててログイン要求をネットワーク200へと送信する。ログイン要求には、メインメモリ302に格納したメールアドレス及びパスワードのログインデータが含まれる。
図16に示すように、レシートサーバアプリP3に基づく情報処理が起動したプロセッサ301は、ログイン要求を待ち受ける(Act301)。ユーザ端末装置20からネットワーク200へと送信されたログイン要求を通信インターフェース304で受信すると(Act301にてYES)、プロセッサ301は、受信されたログイン要求に含まれたログインデータに基づいて認証処理を行う(Act302)。具体的にはプロセッサ301は、ログイン要求に含まれたメールアドレスとパスワードとに関連付けられたユーザコードが設定されているか確認する。ユーザコードが設定されている場合、プロセッサ301は認証に成功する。ユーザコードが設定されていない場合には、プロセッサ301は認証に失敗する。
認証処理を行ったプロセッサ301は、認証に成功したか確認する(Act303)。そして認証に失敗した場合(Act303にてNO)、プロセッサ301は、エラー通知を通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する(Act304)。エラー通知を送信した後、プロセッサ301は、Act301の処理へと戻る。すなわちプロセッサ301は、ログイン要求を待ち受ける。以後、プロセッサ301は、それ以降の処理を前述したのと同様に繰り返す。
認証に成功した場合には(Act303にてYES)、図17に示すように、プロセッサ301は、トップ画面データを生成し、このトップ画面データを通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する(Act305)。トップ画面データは、ユーザ端末装置20のタッチパネル204の画面をトップ画面SC2とするための画像を表す。なおプロセッサ301は、認証に成功したユーザコードをログイン中のユーザのユーザコードとしてメインメモリ302に格納しておく。
図13のAct203において、ログイン要求を行ったプロセッサ201は、エラーが通知されたか確認する(Act204)。レシートサーバ30からネットワーク200へと送信されたエラー通知を通信インターフェース205で受信すると(Act204にてYES)、プロセッサ201は、Act201の処理へと戻る。すなわちプロセッサ201は、ログイン画面SC1を初期状態とする。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
エラー通知でなく、トップ画面データを通信インターフェース205で受信すると(Act204にてNO)、図14に示すように、プロセッサ201は、このトップ画面データをメインメモリ202または補助記憶デバイス203へと格納する。そしてプロセッサ201は、受信されたトップ画面データに基づき、タッチパネル204の画面をトップ画面SC2とする(Act205)。
図19に示すように、トップ画面SC2は、バーコードC11と、ボタンB21,B22,B23.B24,B25とを含む。バーコードC11は、ログイン要求に含まれたメールアドレスとパスワードとに関連付けられたユーザコードを表す。ボタンB21は、最新のレシートを閲覧するためにユーザがタッチするものである。
ボタンB22は、トップ画面SC2への移行を指示するためにユーザがタッチするものである。ボタンB23は、簡易レシート情報の一覧画面への移行を指示するためにユーザがタッチするものである。ボタンB24は、栄養分析画面への移行を指示するためにユーザがタッチするものである。ボタンB25は、トップ画面、一覧画面および栄養分析画面とは別の画面への移行を指示するためにユーザがタッチするものである。当該画面は、例えば各種の設定のためのユーザ操作を受け付けるための画面である。ボタンB22,B23,B24,B25は、現在の画面がどの画面であるかを表す指標としての機能も有する。トップ画面SC2の場合、ボタンB22の枠を他のボタンB23、B24、B25に比べて太くしている。
トップ画面SC2を閲覧したユーザは、そのトップ画面SC2に表示されたバーコードC11を店員に提示する。店員は、会計装置10のI/Oインターフェース105に接続された入出力デバイスの1つであるハンディスキャナにバーコードC11を読み取らせる。会計装置10のプロセッサ101は、ハンディスキャナでバーコードC11が読み取られると、そのバーコードC11によって表されるコードをユーザコードとして受け付ける。
プロセッサ101は、図12のAct102乃至Act104の待ち受け状態において、入力デバイスを介してユーザコードが入力されたことを検知すると(Act103にてYES)、このユーザコードをメインメモリ202または補助記憶デバイス203に格納する(Act106)。ユーザコードを格納した後、プロセッサ101は、Act102乃至Act104の待ち受け状態に戻る。
店員は、ユーザが飲食した商品あるいはユーザが購入した商品を会計装置10に対して指定する操作をすべて終えると、買上登録の締めを指定するべく会計装置10の入力デバイスを操作する。この操作を受けて、Act102乃至Act104の待ち受け状態にあるプロセッサ101は、買上登録の締めが指定されたことを検知する。買上登録の締めが指定されたことを検知すると(Act104にてYES)、プロセッサ101は、商品リストに示された商品の提供または販売に関わる代金の決済のための決済処理を行う(Act107)。この決済処理は、既存のPOS装置などで実施している処理をそのまま利用できる。
決済処理を終えると、プロセッサ101は、メインメモリ202または補助記憶デバイス203にてユーザコードを格納しているか確認する(Act108)。ユーザコードを格納している場合(Act108にてYES)、プロセッサ101は、商品リストに含まれる情報を基にレシートデータを生成する(Act109)。レシートデータは、電子レシートコード311、ユーザコード312、日時データ313、決済データ314及び明細データ315を含む。
レシートデータを生成したプロセッサ101は、紙レシートを発行するか確認する(Act110)。具体的にはプロセッサ101は、紙レシートの発行をユーザが希望するか問い合わせる画面を、I/Oインターフェース105に接続されたタッチパネルに表示する。そしてプロセッサ101は、タッチパネルでの操作により紙レシートを発行しない旨の入力がなされたことを検知したならば(Act110にてNO)、レシートデータをレシートサーバ30へと送信する(Act111)。具体的にはプロセッサ101は、Act109の処理にて生成したレシートデータと、メインメモリ102または補助記憶デバイス103で記憶したユーザコードとを含んだ伝送ファイルを生成する。そしてプロセッサ101は、例えばFTP(file transfer protocol)などのプロトコルを用いて、ネットワーク200を介してレシートサーバ30へと上記の伝送ファイルを通信インターフェース104に送信させる。
これに対し、紙レシートを発行する旨の入力がなされた場合(Act110にてYES)、あるいはユーザコードを格納していない場合には(Act108にてNO)、プロセッサ101は、紙レシートの発行を制御する(Act112)。具体的にはプロセッサ101は、I/Oインターフェース105に接続された入出力デバイスの1つであるプリンタを制御して、紙レシートを発行させる。
レシートデータをレシートサーバ30へと送信するか、紙レシートの発行を終えると、プロセッサ101は、再び商品リストエリアをクリアして(Act101)、それ以降の処理を前述と同様にしてやり直す。
なお、上記の説明では、プロセッサ101は、レシートデータを生成した後に、紙レシートを発行するか確認した。別の実施形態では、紙レシートを発行するか確認することなく、レシートデータとユーザコードとを含む伝送ファイルをレシートサーバ30へと送信してもよい。
ネットワーク200を介して伝送された伝送ファイルは、レシートサーバ30の通信インターフェース304で受信される。レシートサーバ30のプロセッサ301は、図18に示すように、レシートデータとユーザコードとを含む伝送ファイルの受信を待機している(Act321)。そしてプロセッサ301は、伝送ファイルを受信すると(Act321にてYES)、この伝送ファイルに含まれるレシートデータを、同伝送ファイルに含まれるユーザコードと関連づけて、補助記憶デバイス303の電子レシート領域W31に格納する(Act322)。この後、プロセッサ301は、再び伝送ファイルの受信を待ち受ける(Act321)。
かくして、電子レシートサービスを利用したいユーザが店舗で飲食した際のレシートデータあるいは店舗で買い物をした際のレシートデータは、レシートサーバ30の電子レシート領域W31に蓄積される。
さて、会計を終えたユーザは、ユーザ端末装置20のトップ画面SC2に表示されたボタンB21にタッチすることによって、その会計でのレシートを閲覧することができる。
図14のAct205において、タッチパネル204にトップ画面SC2を表示させたプロセッサ201は、最新のレシート画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB21がタッチされたか確認する(Act206)。ボタンB21がタッチされていない場合(Act206にてNO)、プロセッサ201は、レシート一覧画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB23がタッチされたか確認する(Act207)。ボタンB23がタッチされていない場合(Act207にてNO)、プロセッサ201は、栄養分析画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB24がタッチされたか確認する(Act208)。ボタンB24がタッチされていない場合(Act208にてNO)、プロセッサ201は、その他の画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB25がタッチされたか確認する(Act209)。ボタンB25がタッチされていない場合(Act209にてNO)、プロセッサ201は、再び最新のレシート画面への移行が指示されたか確認する(Act206)。
したがってプロセッサ201は、Act206乃至Act209の処理において、トップ画面SC2のボタンB21、B23,B24またはB25がタッチされるのを待ち受ける。なお、ボタンB22は、トップ画面SC2への移行を指示するボタンなので、タッチされてもプロセッサ201は、その入力を無視する。
Act206乃至Act209の待ち受け状態において、タッチパネル204を介してボタンB21がタッチされたことを検知すると(Act206にてYES)、プロセッサ201は、最新レシートを示す画像の表示要求を、通信インターフェース205からレシートサーバ30に宛ててネットワーク200へと送信する(Act210)。この表示要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードが含まれる。
図17のAct305において、トップ画面データを送信したプロセッサ301は、最新レシートを示す画像の表示要求を受信したか確認する(Act306)。受信していない場合、プロセッサ301は、一覧画面の表示要求を受信したか確認する(Act307)。受信していない場合、プロセッサ301は、その他の画像の表示要求を受信したか確認する(Act308)。受信していない場合、プロセッサ301は、再び最新レシートを示す画像の表示要求を受信したか確認する(Act306)。
したがって、トップ画面データを送信したプロセッサ301は、Act306〜Act308の処理により最新レシートを示す画像または一覧画面等の表示要求を待ち受ける。この待ち受け状態において、通信インターフェース304で最新レシートを示す画像の表示要求を受信すると(Act306にてYES)、プロセッサ301は、電子レシート領域W31を検索する。そしてプロセッサ301は、受信した表示要求に含まれるユーザコードに関連付けられて電子レシート領域W31に格納されているレシートデータのうち、日時データが最新のレシートデータを取得する(Act309)。
レシートデータを取得したならば、プロセッサ301は、このレシートデータからレシート画面データを生成する。そしてプロセッサ301は、このレシート画面データを通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する(Act310)。レシート画面データは、ユーザ端末装置20のタッチパネル204の画面をレシート画面SC3とするための画像を表す。
図14のAct210において、最新レシートを示す画像の表示要求を送信したプロセッサ201は、この表示要求に応答してレシートサーバ30から送信されるレシート画面データを待ち受ける。そして、通信インターフェース205でレシート画面データを受信したならば、プロセッサ201は、このレシート画面データに基づき、タッチパネル204の画面をレシート画面SC3とする(Act211)。
図19に示すように、レシート画面SC3には、商取引の明細を表すレシートの画像R1が表示される。また、この商取引を特定するための簡易レシートデータ(取引日付、取引時刻、店舗名、取引金額)を示す画像R2もレシート画面SC3に表示される。
レシート画面SC3は、トップ画面SC2と同様のボタンB22,B23,B24,B25を含む。そしてレシート画面SC3は、ボタンB23の枠を他のボタンB22、B24、B25に比べて太くしている。
図14のAct211において、タッチパネル204にレシート画面SC3を表示させたプロセッサ201は、レシート一覧画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB23がタッチされたか確認する(Act212)。ボタンB23がタッチされていない場合(Act212にてNO)、プロセッサ201は、トップ画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB22がタッチされたか確認する(Act213)。ボタンB22がタッチされていない場合(Act213にてNO)、プロセッサ201は、栄養分析画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB24がタッチされたか確認する(Act214)。ボタンB24がタッチされていない場合(Act214にてNO)、プロセッサ201は、その他の画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB25がタッチされたか確認する(Act215)。ボタンB25がタッチされていない場合(Act215にてNO)、プロセッサ201は、再びレシート一覧画面への移行が指示されたか確認する(Act212)。
したがってプロセッサ201は、Act212乃至Act215の処理において、レシート画面SC3のボタンB23、B22,B24またはB25がタッチされるのを待ち受ける。
最新レシートではなく他の会計のレシートを閲覧したいユーザは、トップ画面SC2またはレシート画面SC3において、ボタンB23にタッチする。
Act206乃至Act209の待ち受け状態あるいはAct212乃至Act215の待ち受け状態において、タッチパネル204を介してボタンB23がタッチされたことを検知すると(Act207にてYESあるいはAct212にてYES)、プロセッサ201は、図15に示すように、一覧画面の表示要求を、通信インターフェース205からレシートサーバ30に宛ててネットワーク200へと送信する(Act216)。この表示要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードが含まれる。
図17のAct305において、トップ画面データを送信したプロセッサ301は、Act306〜Act308の処理により一覧画面等の表示要求を待ち受ける。
一方、図17のAct310において、レシート画面データを送信したプロセッサ301は、一覧画面の表示要求を受信したか確認する(Act311)。受信していない場合、プロセッサ301は、トップ画面の表示要求を受信したか確認する(Act312)。受信していない場合、プロセッサ301は、その他の画像の表示要求を受信したか確認する(Act313)。受信していない場合、プロセッサ301は、再び一覧画面の表示要求を受信したか確認する(Act311)。
したがって、レシート画面データを送信したプロセッサ301は、Act311〜Act313の処理により一覧画面またはトップ画面等の表示要求を待ち受ける。
Act306〜Act308またはAct311〜Act313の待ち受け状態において、一覧画面の表示要求を受信すると(Act307またはAct311にてYES)、プロセッサ301は、電子レシート領域W31を検索する。そしてプロセッサ301は、受信した表示要求に含まれるユーザコードに関連付けられて電子レシート領域W31に格納されている全てのレシートデータから簡易レシートデータを取得する(Act314)。簡易レシートデータは、前述したようにそのレシートデータに含まれる取引日付、取引時刻、店舗名及び取引金額からなる。なお、簡易レシートデータは、取引日付、取引時刻、店舗名及び取引金額の4項目に限定されるものではない。他の項目を追加してもよいし、いずれかの項目を削除してもよい。
簡易レシートデータを取得したならば、プロセッサ301は、この簡易レシートデータから一覧画面データを生成する。そしてプロセッサ301は、この一覧画面データを通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する(Act315)。一覧画面データは、ユーザ端末装置20のタッチパネル204の画面を一覧画面SC4とするための画像を表す。
図15のAct216において、レシート一覧の表示要求を送信したプロセッサ201は、この表示要求に応答してレシートサーバ30から送信される一覧画面データを待ち受ける。そして、一覧画面データを通信インターフェース205で受信したならば、プロセッサ201は、この一覧画面データに基づき、タッチパネル204の画面を一覧画面SC4とする(Act217)。
図19に示すように、一覧画面SC4には、レシートデータ毎の簡易レシートデータ(取引日付、取引時刻、店舗名、取引金額)を示す画像R2が表示される。また一覧画面SC4は、トップ画面SC2またはレシート画面SC3と同様のボタンB22,B23,B24,B25を含む。
図15のAct217において、タッチパネル204に一覧画面SC4を表示させたプロセッサ201は、この一覧画面SC4からいずれかの簡易レシートデータが指定されたか確認する。すなわちプロセッサ21は、いずれかの簡易レシートデータの画像R2がタッチされたか確認する(Act218)。画像R2がタッチされていない場合(Act218にてNO)、プロセッサ201は、トップ画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB22がタッチされたか確認する(Act219)。ボタンB22がタッチされていない場合(Act219にてNO)、プロセッサ201は、栄養分析画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB24がタッチされたか確認する(Act220)。ボタンB24がタッチされていない場合(Act220にてNO)、プロセッサ201は、その他の画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB25がタッチされたか確認する(Act221)。ボタンB25がタッチされていない場合(Act221にてNO)、プロセッサ201は、再び簡易レシートデータが指定されたか確認する(Act218)。
したがってプロセッサ201は、Act218乃至Act221の処理において、一覧画面SC4の画像R2、またはボタンB22,B24またはB25がタッチされるのを待ち受ける。なお、ボタンB23は、一覧画面SC4への移行を指示するボタンなので、タッチされてもプロセッサ201は、その入力を無視する。
一覧画面SC4を閲覧したユーザは、簡易レシートデータのなかから閲覧したいレシートのデータを探す。そして閲覧したいレシートの簡易レシートデータを見つけたならば、ユーザは、その簡易レシートデータの画像R2にタッチする。
Act218乃至Act221の待ち受け状態において、一覧画面SC4に表示された簡易レシートデータを示す複数の画像R2のうちいずれか1つの画像R2がタッチされたことを検知すると(Act218にてYES)、プロセッサ201は、タッチされた画像R2の簡易レシートデータで特定されるレシートを示す画像の表示要求を、通信インターフェース205からレシートサーバ30に宛ててネットワーク200へと送信する(Act210)。この表示要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、タッチされた画像R2の簡易レシートデータとが含まれる。
図17のAct315において、一覧画面データを送信したプロセッサ301は、簡易レシートデータで特定されるレシートを示す画像の表示要求を受信したか確認する(Act316)。受信していない場合、プロセッサ301は、トップ画面の表示要求を受信したか確認する(Act317)。受信していない場合、プロセッサ301は、その他の画像の表示要求を受信したか確認する(Act318)。受信していない場合、プロセッサ301は、再び簡易レシートデータで特定されるレシートを示す画像の表示要求を受信したか確認する(Act316)。
したがって、一覧画面データを送信したプロセッサ301は、Act316乃至Act318の処理により簡易レシートデータで特定されるレシートを示す画像またはトップ画面等の表示要求を待ち受ける。この待ち受け状態において、簡易レシートデータで特定されるレシートを示す画像の表示要求を通信インターフェース304で受信すると(Act316にてYES)、プロセッサ301は、電子レシート領域W31を検索する。そしてプロセッサ301は、受信した表示要求に含まれるユーザコードに関連付けられて電子レシート領域W31に格納されているレシートデータのうち、簡易レシートデータが一致するレシートデータを取得する(Act309)。
レシートデータを取得したならば、プロセッサ301は、このレシートデータからレシート画面データを生成する。そしてプロセッサ301は、このレシート画面データを通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する(Act310)。以後、プロセッサ301は、Act311乃至Act313の待ち受け状態となる。
図14のAct210において、簡易レシートデータで特定されるレシートを示す画像の表示要求を送信したプロセッサ201は、この表示要求に応答してレシートサーバ30から送信されるレシート画面データを待ち受ける。そして、通信インターフェース205でレシート画面データを受信したならば、プロセッサ201は、このレシート画面データに基づき、タッチパネル204の画面をレシート画面SC3とする(Act211)。このときのレシート画面SC3のレイアウトは、最新レシートに対するレシート画面SC3と同一である。
タッチパネル204の画面をレシート画面SC3または一覧画面SC4からトップ画面SC2に戻したいユーザは、ボタンB22にタッチする。
Act212乃至Act215の待ち受け状態あるいはAct218乃至Act221の待ち受け状態において、タッチパネル204を介してボタンB22がタッチされたことを検知すると(Act213にてYESあるいはAct219にてYES)、プロセッサ201は、Act205の処理へと戻る。すなわちプロセッサ201は、タッチパネル204の画面をトップ画面SC2とする。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
図17のAct310において、レシート画面データを送信したプロセッサ301は、Act311〜Act313の処理によりトップ画面等の表示要求を待ち受ける。同様に、図17のAct315において、一覧画面データを送信したプロセッサ301は、Act316〜Act318の処理によりトップ画面等の表示要求を待ち受ける。
これらの待ち受け状態において、トップ画面の表示要求を受信すると(Act312またはAct317にてYES)、プロセッサ301は、Act305の処理へと戻る。すなわちプロセッサ301は、トップ画面データを通信インターフェース304からユーザ端末装置20に宛ててネットワーク200へと送信する。以後、プロセッサ301は、それ以降の処理を前述したのと同様に繰り返す。
(健康管理に係る動作説明)
次に、食事毎の献立情報に基づく健康管理に係る動作について説明する。なお、以下に説明する各種の処理の内容は一例であって、同様な結果を得ることが可能な様々な処理を適宜に利用できる。
ユーザ端末装置20にレシートクライアントアプリP21とともに健康アプリP22をインストールしたユーザは、栄養データサーバ40及び健康管理サーバ50の支援の下に、献立情報に基づく健康管理を行うことができる。すなわちユーザは、ユーザ端末装置20を操作して、朝食、昼食、夕食等の食事毎に摂取した飲食物の情報(献立情報)を健康管理サーバ50に登録することができる。そして、献立情報を登録したユーザは、ユーザ端末装置20を利用して、食事毎あるいは一日分の栄養バランスなどを表した栄養分析画面を閲覧することができる。栄養分析画面には、例えば摂取カロリー量と、四群点数法によって求められた栄養バランスの分布画像とが表示される。
なお、栄養分析画面に表示される情報は、上述した摂取カロリー量と栄養バランスの分布画像とに限定されるものではない。例えば栄養バランスの分布画像の代わりに食事バランスガイドのイラストを表示してもよい。あるいは、ユーザの活動量を計測する機器から得られる消費カロリー量と摂取カロリー量とを対比して表示するようにしてもよい。
献立情報の登録及び栄養分析画面の閲覧のためには、ユーザ端末装置20において、健康アプリP22を起動する必要がある。健康アプリP22は、トップ画面CS、レシート画面SC3または一覧画面SC4に表示されるボタンB23にタッチすることで起動する。すなわちユーザ端末装置20のプロセッサ201は、図14,図15に示すように、Act206〜Act209の待ち受け状態、Act212〜Act215の待ち受け状態、またはAct218〜Act221の待ち受け状態において、ボタンB23がタッチされたことを検知すると(Act208、Act214またはAct220にてYES)、健康アプリP22を起動する(Act231)。
プロセッサ201は、健康アプリP22が終了するまで、この健康アプリP22に基づく情報処理を実行する。この情報処理は、栄養データサーバアプリP41が起動する栄養データサーバ40、及び健康管理アプリP51が起動する健康管理サーバ50によって支援される。
図20乃至図24は、ユーザ端末装置20のプロセッサ201が、健康アプリP22に基づいて実行する情報処理の手順を示す流れ図である。図25乃至図29は、健康管理サーバ50のプロセッサ501が健康管理アプリP51に基づいて実行する情報処理の手順を示す流れ図である。図30乃至図35は、健康アプリP22に基づく情報処理によりユーザ端末装置20のタッチパネル204に表示される画面を示す図である。以下、図20乃至図35を用いて、ユーザ端末装置20におけるプロセッサ201の主要な処理と、健康管理サーバ50におけるプロセッサ501の主要な処理とについて説明する。
図20に示すように、健康アプリP22に基づく情報処理が起動すると、プロセッサ201は、メインメモリ202内に設定する日付エリアと区分エリアとに、それぞれ「本日日付」を表す日付データと「一日」を表す区分データとをセットする(Act241)。日付データは、ユーザ端末装置20が内蔵するシステム時計(クロック)から検出される。区分データは、栄養分析画面に表示されるデータ(摂取カロリー量、栄養バランスの分布画像等)の単位を表す。区分データは、「一日」以外に、「一週間」、「一か月間」、「朝食」、「昼食」、「夕食」、「間食」等がある。
日付データと区分データとをセットしたならば、プロセッサ201は、栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act242)。この栄養分析要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとが含まれる。したがって、健康アプリP22が起動した段階では、栄養分析要求に含まれる区分データは「一日」である。
図25に示すように、健康管理アプリP51に基づく情報処理が起動したプロセッサ501は、栄養分析要求を待ち受ける(Act500)。ユーザ端末装置20からネットワーク200へと送信された栄養分析要求を通信インターフェース504で受信すると(Act500にてYES)、プロセッサ501は、受信された栄養分析要求に含まれたユーザコード、日付データ及び区分データをメインメモリ502または補助記憶デバイス503で記憶する。さらにプロセッサ501は、記憶したユーザコードで健康管理データ領域W51を検索して、当該ユーザコードが関連付けられた健康管理データを取得する。そしてプロセッサ501は、取得した健康管理データをメインメモリ502または補助記憶デバイス503で記憶する(Act501)。
次に、プロセッサ501は、記憶した区分データを確認する(Act502)。区分データが「一日」の場合(Act502にてNO)、プロセッサ501は、記憶した健康管理データから、記憶した日付データを含む献立データ512を抽出する。区分データが「一週間」の場合には(Act502にてNO)、プロセッサ501は、記憶した健康管理データから、記憶した日付データを含み過去1週間分の献立データ512を抽出する。区分データが「一か月」の場合には(Act502にてNO)、プロセッサ501は、記憶した健康管理データから、記憶した日付データを含み過去一か月分の献立データ512を抽出する。そしてプロセッサ501は、抽出した献立データ512に含まれる品目コードに基づいて、一日分、一週間分または一か月分の栄養分析画面(以下、第1栄養分析画面SC51と称する)を生成する(Act503)。
例えば区分データが「一日」であった場合、プロセッサ301は、健康管理データから記憶した日付データと日付が一致し、かつ、区分が「朝食」、「昼食」、「夕食」及び「間食」の献立データ512を全て抽出する。そしてプロセッサ501は、抽出した献立データ512に含まれる品目コードで特定される飲食物のカロリーデータ及び栄養バランスデータを、栄養データサーバ40に要求する。
この要求を受けた栄養データサーバ40のプロセッサ401は、栄養データサーバアプリP41に従った情報処理により商品栄養データ領域W41または食物栄養データ領域W42を検索して、要求のあった飲食物のカロリーデータ及び栄養バランスデータを収集する。プロセッサ401は、収集したカロリーデータ及び栄養バランスデータを、ネットワーク200を介して健康管理サーバ50に送信する。
健康管理サーバ50のプロセッサ501は、栄養データサーバ40から受け取った飲食物のカロリーデータ及び栄養バランスデータに基づいて、摂取カロリー量を算出し、四群点数法による栄養バランスの分布画像G1を生成する。そしてプロセッサ501は、この摂取カロリー量、栄養バランスの分布画像G1等を用いて一日分の第1栄養分析画面SC51を生成する。
これに対し、区分データが食事別、すなわち「朝食」、「昼食」、「夕食」及び「間食」の場合には(Act502にてYES)、プロセッサ501は、健康管理データから、記憶した日付データと区分データとを含む献立データ512を抽出する。そしてプロセッサ501は、この献立データ512に含まれる品目コードに基づいて、食事別の栄養分析画面(以下、第2栄養分析画面SC52と称する)を生成する(Act504)。
例えば区分データが「朝食」であった場合、プロセッサ501は、健康管理データから記憶した日付データと日付が一致し、かつ、区分が「朝食」の献立データ512を抽出する。そしてプロセッサ501は、抽出した献立データ512に含まれる品目コードで特定される飲食物のカロリーデータ及び栄養バランスデータを、栄養データサーバ40に要求する。
この要求に応じて、前述したように栄養データサーバ40から健康管理サーバ50に当該飲食物のカロリーデータ及び栄養バランスデータが送られてくるので、プロセッサ501は、朝食分の第2栄養分析画面SC52を生成する。
第1栄養分析画面SC51と第2栄養分析画面SC52との相違については、後述する。
ここに、プログラムに従いAct500乃至Act504の処理を実行するプロセッサ501を含むコンピュータは、生成手段として機能する。
第1栄養分析画面SC51または第2栄養分析画面SC52のデータを生成したならば、プロセッサ501は、この画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act505、Act509)。
ここに、プログラムに従いAct505及びAct509の処理を実行するプロセッサ501を含むコンピュータは、提示手段として機能する。
図20のAct242において、区分データ「一日」を含む栄養分析要求を行ったプロセッサ201は、この要求に応答して健康管理サーバ50から送信される栄養分析画面のデータを待ち受ける。そして、通信インターフェース205で栄養分析画面のデータを受信したならば、プロセッサ201は、この画面データに基づき、タッチパネル204の画面を、第1栄養分析画面SC51とする(Act243)。
図30は、区分データが「一日」のときの第1栄養分析画面SC51の一例を示す。図30に示すように、第1栄養分析画面SC51には、一日分の摂取カロリー量と栄養バランスの分布画像G1とが表示される。摂取カロリー量は、ユーザの年齢,性別、体重等によって一義的に定まる一日分の標準摂取カロリーと対比させて表示される。
また第1栄養分析画面SC51には、年月日からなる日付が表示される。そして、画面に向かって日付の左右両側には切替マークM51、M52が表示される。プロセッサ201は、切替マークM1がタッチされると、表示されている日付に対して前日が指定されたと認識する。同様にプロセッサ201は、切替マークM2がタッチされると、表示されている日付に対して翌日が指定されたと認識する。なお、表示されている日付が本日の場合、切替マークM2がタッチされてもプロセッサ201は、その入力を無視する。
また第1栄養分析画面SC51は、「今日」、「週間」、「月間」、「一日」、「朝食」、「昼食」、「夕食」及び「間食」の各項目にそれぞれ対応したボタンB51、B52、B53、B54、B55、B56、B57及びB58を含む。各ボタンB51〜B58は、区分データを切り替えるためにユーザがタッチするものである。各ボタンB51〜B58は、現在の画面がどの区分の画面であるかを表す指標としての機能も有する。図30に示す第1栄養分析画面SC51は、本日一日分の栄養分析画面であるから、「今日」を表すボタンB51と「一日」を表すボタンB54との枠を他のボタンB52,B53,B55,B56,B57,B58に比べて太くしている。
さらに第1栄養分析画面SC51は、ボタンB61,B62,B63を含む。ボタンB61は、トップ画面SC2への移行を指示するためにユーザがタッチするものである。ボタンB62は、栄養分析画面への移行を指示するためにユーザがタッチするものである。ボタンB63は、トップ画面、食事バランスガイド画面および栄養分析画面とは別の画面への移行を指示するためにユーザがタッチするものである。当該画面は、例えば各種の設定のためのユーザ操作を受け付けるための画面である。ボタンB61,B62,B63は、現在の画面がどの画面であるかを表す指標としての機能も有する。第1栄養分析画面SC51の場合、ボタンB62の枠を他のボタンB61,B63に比べて太くしている。
図20のAct243において、タッチパネル204に第1栄養分析画面SC51を表示させたプロセッサ201は、日付または区分の変更が指定されたか確認する。すなわちプロセッサ201は、第1栄養分析画面SC51のマークM1,M2またはボタンB51〜B58がタッチされたか確認する(Act244)。マークM1,M2またはボタンB51〜B58がタッチされていない場合(Act244にてNO)、プロセッサ201は、トップ画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB61がタッチされたか確認する(Act245)。ボタンB61がタッチされていない場合(Act245にてNO)、プロセッサ201は、その他の画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB63がタッチされたか確認する(Act246)。ボタンB63がタッチされていない場合(Act246にてNO)、プロセッサ201は、再び日付または区分の変更が指定されたか確認する(Act244)。
したがってプロセッサ201は、Act244乃至Act246の処理において、第1栄養分析画面SC51のマークM1,M2またはボタンB51〜58、B61、B63がタッチされるのを待ち受ける。なお、ボタンB62は、栄養分析画面への移行を指示するボタンなので、タッチされてもプロセッサ201は、その入力を無視する。
第1栄養分析画面SC51を閲覧したユーザがさらに前日分の栄養分析画面を確認したい場合、ユーザは、マークM1にタッチする。本日の夕食分の栄養分析画面を確認したい場合には、ユーザは、ボタンB57にタッチする。
Act244乃至Act246の待ち受け状態において、タッチパネル204を介してマークM1,M2またはボタンB51〜58がタッチされたことを検知すると(Act244にてYES)、プロセッサ201は、そのタッチされたマークM1,M2またはボタンB51〜58に応じて、日付エリアまたは区分エリアの区分データを変更する(Act247)。例えば、マークM1がタッチされた場合には、プロセッサ201は、日付エリアの日付データを、一日前の日付とする。ボタンB57がタッチされた場合には、区分エリアの区分データを「夕食」とする。
日付エリアまたは区分エリアのデータが変更されると、プロセッサ201は、区分データが食事別であるか確認する(Act248)。区分データが食事別でない、すなわち「一日」、「週間」または「月間」である場合には(Act248にてNO)、プロセッサ201は、Act242の処理へと戻る。すなわちプロセッサ201は、ユーザコードと日付データと区分データとをセットした栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。したがって、タッチパネル204には、日付データと区分データとに基づく第1栄養分析画面SC51が表示される。
一方、区分データが「朝食」、「昼食」、「夕食」または「間食」の食事別の場合には(Act248にてYES)、図21に示すように、プロセッサ201は、栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act249)。この栄養分析要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとが含まれる。すなわちこの栄養分析要求には、食事別の区分データが含まれる。
図25のAct505において、第1栄養分析画面SC51のデータをユーザ端末装置20に宛てて送信したプロセッサ501は、栄養分析要求を受信したか確認する(Act506)。栄養分析要求を受信していない場合(Act505にてNO)、プロセッサ501は、栄養分析要求元のユーザ端末装置20から健康アプリP22の終了が指示されたか確認する(Act507)。健康アプリP22の終了が指示されていない場合(Act507にてNO)、プロセッサ501は、再び栄養分析要求を受信したか確認する(Act506)。したがってプロセッサ501は、Act506及びAct507の処理により、栄養分析要求を受信するか、健康アプリP22が終了するのを待ち受ける。
一方、Act509において、第2栄養分析画面SC52のデータをユーザ端末装置20に宛てて送信したプロセッサ501は、栄養分析要求を受信したか確認する(Act510)。栄養分析要求を受信していない場合(Act510にてNO)、プロセッサ501は、レシートからの登録要求を受信したか確認する(Act511)。レシートからの登録要求を受信していない場合(Act511にてNO)、プロセッサ501は、手入力による登録要求を受信したか確認する(Act512)。手入力による登録要求を受信していない場合(Act512にてNO)、プロセッサ501は、栄養分析要求元のユーザ端末装置20から健康アプリP22の終了が指示されたか確認する(Act513)。健康アプリP22の終了が指示されていない場合(Act513にてNO)、プロセッサ501は、再び栄養分析要求を受信したか確認する(Act510)。したがってプロセッサ501は、Act510乃至Act513の処理により、栄養分析要求を受信するか、レシートからの登録要求または手入力による登録要求を受信するか、健康アプリP22が終了するのを待ち受ける。なお、レシートからの登録要求及び手入力による登録要求については後述する。
Act506及びAct507の待ち受け状態またはAct510乃至Act513の待ち受け状態において、栄養分析要求を受信した場合(Act506またはAct510にてYES)、プロセッサ501は、Act501の処理へと戻る。すなわちプロセッサ501は、受信された栄養分析要求に含まれたユーザコード、日付データ及び区分データをメインメモリ502または補助記憶デバイス503で記憶する。このときプロセッサ501は、前回のAct501の処理で記憶したユーザコード、日付データ及び区分データに対して上書きする。プロセッサ501は、記憶したユーザコードで健康管理データ領域W51を検索して、当該ユーザコードが関連付けられた健康管理データを取得する。
食事別の区分データが含まれた栄養分析要求を受信した場合、プロセッサ501は、第2栄養分析画面SC52のデータを作成する(Act504)。そしてプロセッサ501は、この画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act509)。
図21のAct249において、食事別の区分データを含む栄養分析要求を行ったプロセッサ201は、この要求に応答して健康管理サーバ50から送信される栄養分析画面のデータを待ち受ける。そして、通信インターフェース205で栄養分析画面のデータを受信したならば、プロセッサ201は、この画面データに基づき、タッチパネル204の画面を、第2栄養分析画面SC52とする(Act250)。
図31は、区分データが「夕食」のときの第2栄養分析画面SC52の一例を示す。図31に示すように、第2栄養分析画面SC52には、一食分の摂取カロリー量と栄養バランスの分布画像G1とが表示される。摂取カロリー量に対して標準摂取カロリーは表示されない。
また第2栄養分析画面SC52には、第1栄養分析画面SC51と同様に、日付と、マークM1,M2と、ボタンB51〜B58と、ボタンB61〜B63とが表示される。さらに、第2栄養分析画面SC52には、ボタンB71,B72が表示される。ボタンB71は、献立情報をレシートデータから登録するためにユーザがタッチするものである。ボタンB72は、献立情報を手入力で登録するためにユーザがタッチするものである。
図21のAct250において、タッチパネル204に第2栄養分析画面SC52を表示させたプロセッサ201は、日付または区分の変更が指定されたか確認する。すなわちプロセッサ201は、第2栄養分析画面SC52のマークM1,M2またはボタンB51〜B58がタッチされたか確認する(Act251)。マークM1,M2またはボタンB51〜B58がタッチされていない場合(Act251にてNO)、プロセッサ201は、レシートからの登録が指定されたか確認する。すなわちプロセッサ201は、ボタンB71がタッチされたか確認する(Act252)。ボタンB71がタッチされていない場合(Act252にてNO)、プロセッサ201は、手入力による登録が指定されたか確認する。すなわちプロセッサ201は、ボタンB72がタッチされたか確認する(Act253)。ボタンB72がタッチされていない場合(Act253にてNO)、プロセッサ201は、トップ画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB22がタッチされたか確認する(Act254)。ボタンB22がタッチされていない場合(Act254にてNO)、プロセッサ201は、その他の画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB25がタッチされたか確認する(Act255)。ボタンB25がタッチされていない場合(Act255にてNO)、プロセッサ201は、再び日付または区分の変更が指定されたか確認する(Act251)。
したがってプロセッサ201は、Act251乃至Act255の処理において、第2栄養分析画面SC52のマークM1,M2またはボタンB51〜58、B61、B63、B71、B72がタッチされるのを待ち受ける。なお、ボタンB62は、栄養分析画面への移行を指示するボタンなので、タッチされてもプロセッサ201は、その入力を無視する。
第2栄養分析画面SC52を閲覧したユーザがさらに前日の夕食分の栄養分析画面を確認したい場合、ユーザは、マークM1にタッチする。当日の朝食分の栄養分析画面を確認したい場合には、ユーザは、ボタンB55にタッチする。
Act251乃至Act255の待ち受け状態において、タッチパネル204を介してマークM1,M2またはボタンB51〜58がタッチされたことを検知すると(Act251にてYES)、プロセッサ201は、そのタッチされたマークM1,M2またはボタンB51〜58に応じて、日付エリアまたは区分エリアの区分データを変更する(Act256)。例えば、マークM1がタッチされた場合には、プロセッサ201は、日付エリアの日付データを、一日前の日付とする。ボタンB55がタッチされた場合には、区分エリアの区分データを「朝食」とする。
日付エリアまたは区分エリアのデータを変更すると、プロセッサ201は、区分データが食事別であるか確認する(Act257)。区分データが食事別でない、すなわち「一日」、「週間」または「月間」である場合には場合(Act257にてNO)、プロセッサ201は、Act242の処理へと戻る。すなわちプロセッサ201は、ユーザコードと日付データと区分データとをセットした栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。したがって、タッチパネル204には、日付データと区分データとに基づく第1栄養分析画面SC51が表示される。
一方、区分データが「朝食」、「昼食」、「夕食」または「間食」の食事別の場合には(Act257にてYES)、プロセッサ201は、Act249の処理へと戻る。すなわちプロセッサ201は、ユーザコードと日付データと区分データとをセットした栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。したがって、タッチパネル204には、日付データと区分データとに基づく第2栄養分析画面SC52が表示される。
第1栄養分析画面SC51または第2栄養分析画面SC52を確認し終え、健康アプリP22を終了させる場合、ユーザは、トップ画面SC2に戻すためにボタンB61にタッチする。
ユーザ端末装置20のプロセッサ201は、Act244乃至Act246の待ち受け状態、またはAct251乃至Act255の待ち受け状態において、ボタンB61がタッチされたことを検知すると(Act245またはAct254にてYES)、健康管理サーバ50に対して健康アプリP22の終了を指令する(Act258またはAct259)。この後、健康アプリP22は終了する。
図14のAct231において健康アプリP22を起動させた後、プロセッサ201は、この健康アプリP22が終了するのを待ち受ける(Act232)。そして健康アプリP22が終了したならば(Act232にてYES)、プロセッサ201は、Act205の処理へと戻る。すなわちプロセッサ201は、タッチパネル204の画面をトップ画面SC2とする。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
健康管理サーバ50のプロセッサ501は、図25に示すAct506及びAct507の待ち受け状態、またはAct510乃至Act513の待ち受け状態において、通信インターフェース504を介してユーザ端末装置20から健康アプリP22の終了指令を受けると(Act507またはAct513にてYES)、Act500の処理へと戻る。そしてプロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
次に、献立情報の登録について説明する。献立情報の登録方法としては、手入力により登録する方法と、電子化されたレシートデータを使用して登録する方法とがある。
献立情報を登録するユーザは、ユーザ端末装置20において、健康アプリP22を起動する。すなわちユーザは、タッチパネル204に表示されたトップ画面CS、レシート画面SC3または一覧画面SC4から、ボタンB23にタッチする。
健康アプリP22が起動すると、前述したように、タッチパネル204には第1栄養分析画面SC51が表示されるので、ユーザは、マークM1,M2またはボタンB55〜B58を適宜操作して、献立情報を登録する日付と食事とを指定する。例えば本日の朝食分を登録する場合、ユーザは、ボタンB55にタッチする。日付と食事とを指定し終えると、その指定された日付と食事とに対する第2栄養分析画面SC52がタッチパネル204に表示される。
因みに、この指定された日付と食事とに対して献立情報が未登録の場合、第2栄養分析画面SC52に表示される摂取カロリー量は0kcalである。また、栄養バランスの分布画像G1には、栄養バランスを示す情報が表示されない。そこで、献立情報が未登録の場合、図32に示すように、摂取カロリー量と栄養バランスの分布画像G1とが表示されず、レシートからの登録を指定するためにユーザがタッチするボタンB71と、手入力による登録を指定するためにユーザがタッチするボタンB72とが表示された第3栄養分析画面SC53をタッチパネル204に表示させてもよい。
第2栄養分析画面SC52を閲覧したユーザは、その食事に対する献立情報をレシートデータから登録する場合、ボタンB71にタッチする。手入力により登録する場合には、ユーザは、ボタンB72にタッチする。
図21のAct250において、タッチパネル204に第2栄養分析画面SC52を表示させたプロセッサ201は、Act251乃至Act255の待ち受け状態となる。この待ち受け状態において、タッチパネル204でボタンB71がタッチされたことを検知すると(Act252にてYES)、プロセッサ201は、図22に示すように、レシートからの登録要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act261)。この登録要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとが含まれる。
図25のAct509において、ユーザ端末装置20に対して第2栄養分析画面データを送信したプロセッサ501は、Act510乃至Act513の待ち受け状態となる。この待ち受け状態において、レシートからの登録要求を通信インターフェース504で受信すると(Act511にてYES)、プロセッサ501は、図26に示すように、レシートサーバ30にアクセスする。そしてプロセッサ501は、登録要求に含まれるユーザコードに関連付けられて電子レシート領域W31に格納されている全てのレシートデータを取得する(Act514)。
レシートデータを取得したならば、プロセッサ501は、そのレシートデータに含まれる簡易レシートデータにより一覧画面データを生成する。そしてプロセッサ501は、この一覧画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act515)。一覧画面データは、図19に示した一覧画面SC4と同一の画像を表す。
図22のAct261において、レシートからの登録要求を送信したプロセッサ201は、この登録要求に応答して健康管理サーバ50から送信される一覧画面データを待ち受ける。そして、一覧画面データを通信インターフェース205で受信したならば、プロセッサ201は、この一覧画面データに基づき、タッチパネル204の画面を一覧画面SC4とする(Act262)。
タッチパネル204の画面を一覧画面SC4としたプロセッサ201は、この一覧画面SC4からいずれかの簡易レシートデータが指定されたか確認する。すなわちプロセッサ21は、いずれかの簡易レシートデータの画像R2がタッチされたか確認する(Act263)。画像R2がタッチされていない場合(Act263にてNO)、プロセッサ201は、トップ画面への移行が指示されたか確認する。すなわちプロセッサ201は、ボタンB22がタッチされたか確認する(Act264)。ボタンB22がタッチされていない場合(Act264にてNO)、プロセッサ201は、再び簡易レシートデータが指定されたか確認する(Act263)。
したがってプロセッサ201は、Act263及びAct264の処理において、一覧画面SC4の画像R2、またはボタンB22がタッチされるのを待ち受ける。なお、他のボタンB23,B24,B25については、タッチされてもプロセッサ201は、その入力を無視する。あるいは、Act262の処理にて表示される一覧画面SC4からは、ボタンB23,B24,B25が省略されていてもよい。
一覧画面SC4を閲覧したユーザは、簡易レシートデータのなかから献立情報の登録に使用したいレシートのデータを探す。そして献立情報の登録に使用したいレシートの簡易レシートデータを見つけたならば、ユーザは、その簡易レシートデータの画像R2にタッチする。
Act263及びAct264の待ち受け状態において、画像R2がタッチされたことを検知すると(Act263にてYES)、プロセッサ201は、商品リストの表示要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act265)。この表示要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、タッチされた画像R2の簡易レシートデータとが含まれる。
図26のAct515において、一覧画面データを送信したプロセッサ501は、ユーザ端末装置20から商品リストの表示要求を受信したか(Act516)。受信していない場合、ユーザ端末装置20から健康アプリP22の終了が指示されたか確認する(Act517)。健康アプリP22の終了が指示されていない場合(Act517にてNO)、プロセッサ501は、再びユーザ端末装置20から商品リストの表示要求を受信したか確認する(Act516)。したがって、プロセッサ501は、Act516及びAct517の処理により、商品リストの表示要求か健康アプリP22の終了指示を待ち受ける。
ユーザ端末装置20から商品リストの表示要求を受信した場合(Act516にてYES)、プロセッサ501は、この表示要求に含まれる簡易レシートデータによって決定されるレシートデータの明細データ315を基に商品リストを生成する。商品リストは、店舗で商品として提供または販売された商品に関する情報(店舗コード、商品コード、商品名等)のリストである。プロセッサ501は、この商品リストの画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act518)。
図22のAct265において、商品リストの表示要求を行ったプロセッサ201は、この要求に応答して健康管理サーバ50から送信される商品リストの画面データを待ち受ける。そして、通信インターフェース205で商品リストの画面データを受信したならば、プロセッサ201は、この画面データに基づき、タッチパネル204の画面を、商品リスト画面SC6とする(Act266)。
図33は、商品リスト画面SC6の一例を示す。商品リスト画面SC6には、レシートデータの明細データ315に含まれる商品の名称リストL1が表示される。また商品リスト画面SC6は、ボタンB61、B62、B63、B81及びB82を含む。ボタンB61は、トップ画面SC2への移行を指示するためにユーザがタッチするものである。ボタンB62は、栄養分析画面への移行を指示するためにユーザがタッチするものである。ボタンB63は、トップ画面および栄養分析画面とは別の画面への移行を指示するためにユーザがタッチするものである。ボタンB81は、他のレシートの商品リストL1を見るためにユーザがタッチするものである。ボタンB82は、名称リストL1から選択した商品を献立情報として登録するためにユーザがタッチするものである。
商品リストL1には、店舗で商品として提供または販売される飲食物の名称がラジオボタンと関連付けて表示される。飲食物以外の商品が商品リストL1に表示されてもよい。飲食物とともに飲食物以外の商品を店舗で購入した際のレシートデータに対して、飲食物だけが抽出されて商品リストL1に表示されてもよい。
商品リスト画面SC6を確認したが、献立情報として登録する飲食物の名称が商品リストL1に表示されておらず、他のレシートを見る場合、ユーザは、ボタンB81にタッチする。献立情報として登録する飲食物の名称が商品リストL1に表示されている場合には、ユーザは、その名称にタッチする。名称がタッチされると、対応するラジオボタンが選択状態を表す。登録する飲食物の名称を全て選択状態としたならば、ユーザは、ボタンB82にタッチする。
図22のAct266において、タッチパネル204の画面を商品リスト画面SC6としたプロセッサ201は、名称リストL1から選択した商品を献立情報として登録する旨が指定されたか確認する。すなわちプロセッサ201は、ボタンB82がタッチされたか確認する(Act267)。ボタンB82がタッチされていない場合(Act267にてNO)、プロセッサ201は、他のレシートを見る旨が指定されたか確認する。すなわちプロセッサ201は、ボタンB81がタッチされたか確認する(Act268)。ボタンB81がタッチされていない場合(Act268にてNO)、プロセッサ201は、トップ画面に戻る旨が指定されたか確認する。すなわちプロセッサ201は、ボタンB61がタッチされたか確認する(Act269)。ボタンB61がタッチされていない場合(Act269にてNO)、プロセッサ201は、再び名称リストL1から選択した商品を献立情報として登録する旨が指定されたか確認する。(Act267)。したがってプロセッサ201は、Act267乃至Act269の処理により、ボタンB82,B81,B61のいずれかがタッチされるのを待ち受ける。
Act267乃至Act269の待ち受け状態において、ボタンB81がタッチされたことを検知すると(Act268にてYES)、プロセッサ201は、Act262の処理へと戻る。すなわちプロセッサ201は、タッチパネル204の画面を一覧画面SC4に戻す。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
Act267乃至Act269の待ち受け状態において、ボタンB82がタッチされたことを検知すると(Act267にてYES)、プロセッサ201は、商品リストL1のなかから選択状態にある商品(飲食物の名称)の有無を判別する(Act270)。選択状態にある商品がある場合(Act270にYES)、プロセッサ201は、その選択状態にある商品を献立情報として登録する旨を通知する選択商品データを、通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act271)。この選択商品データは、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データと、選択状態にある商品に関する情報である店舗コードと商品コードとの対データとを含む。
選択商品データを送信した後、あるいは選択状態にある商品がない場合(Act270にてNO)、プロセッサ201は、Act249の処理へと戻る。すなわちプロセッサ201は、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとを含む栄養分析要求を、通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。したがって、日付データと区分データとに基づく第2栄養分析画面SC52がタッチパネル204に表示される。
図26のAct518において、ユーザ端末装置20に宛てて商品リストの画面データを送信したプロセッサ501は、ユーザ端末装置20から選択商品データを受信したか確認する(Act519)。受信していない場合(Act519にてNO)、プロセッサ501は、そのユーザ端末装置20から栄養分析要求を受信したか確認する(Act520)。受信していない場合(Act520にてNO)、プロセッサ501は、そのユーザ端末装置20から健康アプリP22の終了が指示されたか確認する(Act521)。健康アプリP22の終了が指示されていない場合(Act521にてNO)、プロセッサ501は、再び選択商品データを受信したか確認する(Act519)。したがってプロセッサ501は、Act519乃至Act521の処理により、選択商品データを受信するか、栄養分析要求を受信するか、健康アプリP22の終了指示を待ち受ける。
栄養分析要求を受信した場合(Act520にてYES)、プロセッサ501は、Act501の処理へと戻る。以後、プロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
選択商品データを受信した場合(Act519にてYES)、プロセッサ501は、その選択商品データに含まれるユーザコードに関連付けられた献立データ512の中から、選択商品データに含まれる日付データと区分データとが一致する献立データ512を検出する。このとき、該当する献立データが健康管理データ領域W51に存在しない場合には、プロセッサ501は、選択商品データに含まれる日付データと区分データとをセットした献立データ512を、選択商品データに含まれるユーザコードに関連付けられたデータとして健康管理データ領域W51に追加する。プロセッサ501は、選択商品データに含まれる日付データと区分データとが一致する献立データ512に、選択商品データに含まれる店舗コードと商品コードとの対データを追加する(Act522)。
選択商品データに含まれる店舗コードと商品コードとの対データを健康管理データ領域W51に追加した後、プロセッサ501は、Act500の処理へと戻る。そしてプロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
ここに、プログラムに従いAct514乃至Act522の処理を実行するプロセッサ501を含むコンピュータは、取得手段及び第1の登録手段として機能する。
ユーザ端末装置20のプロセッサ201は、Act251乃至Act255の待ち受け状態において、ボタンB72がタッチされたことを検知すると(Act253にてYES)、図23に示すように、手入力による登録要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act280)。この登録要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとが含まれる。
健康管理サーバ50のプロセッサ501は、Act510乃至Act513の待ち受け状態において、手入力による登録要求を通信インターフェース504で受信すると(Act512にてYES)、図27に示すように、補助記憶デバイス503に記憶されている食物入力画面データを取得する(Act531)。食物入力画面データは、ユーザ端末装置20のタッチパネル204を食物入力画面SC7とするための画像を表す。
図34は、食物入力画面SC7の一例を示す。食物入力画面SC7は、献立ボタンB91と、カテゴリボタンB92と、定番メニューボタンB93と、完了ボタンB94とを含む。献立ボタンB91とカテゴリボタンB92とについては、複数のボタンがマトリクス状に配置されている。定番メニューボタンB93については、複数のボタンが一列に配置されている。図34では、3つの定番メニューボタンB93(B931,B932,B933)が横一列に配置されている。なお、定番メニューボタンB93の数は3つに限定されない。食物入力画面SC7に対して、1つまたは2つの定番メニューボタン93が配置されていてもよいし、4つ以上の定番メニューボタン93が配置されていてもよい。また、定番メニューボタン93の配置についても特に限定されるものではなく、献立ボタンB91またはカテゴリボタンB92のようにマトリクス状に配置されていてもよい。
カテゴリボタンB92は、ごはん類、パン類、麺類、野菜料理、肉料理、魚介料理等の飲食物に係るカテゴリを選択するためにユーザがタッチするものである。
献立ボタンB91は、カテゴリボタンB92によって選択されたカテゴリで分類される飲食物を選択するためにユーザがタッチするものである。献立ボタン91には、栄養データサーバ40の食物栄養データ領域W42に設定されている各飲食物の食物コードとアイコンとが個々に割り当てられて設定される。そして献立ボタン91には、そのボタンに設定されたアイコンが表示される。
定番メニューボタンB93は、単一の飲食物、または複数の飲食物をまとめて選択するためにユーザがタッチするものである。定番メニューボタンB93には、ユーザが定番のメニューとして所望の飲食物を設定することができる。
例えば朝食として略毎日、「トースト」と「ミルク」とを飲食するユーザは、定番メニューボタンB931に「トースト」と「ミルク」を設定する。そうすると、定番メニューボタンB931のボタン番号と、ボタン名称「朝食」と、「トースト」と「ミルク」との各食物コードとを含む定番メニューデータが作成される。定番メニューデータは、当該ユーザのユーザコードと関連付けられて定番メニュー領域に記憶される。
同様に、例えば昼食として略毎日、飲食店の「天ぷらそば」を飲食するユーザは、定番メニューボタンB932に「天ぷらそば」を設定する。そうすると、定番メニューボタンB932のボタン番号と、ボタン名称「昼食」と、「天ぷらそば」の店舗コードと商品コードとを含む定番メニューデータが作成される。定番メニューデータは、当該ユーザのユーザコードと関連付けられて定番メニュー領域に記憶される。
図27のAct531において、食物入力画面データを取得したプロセッサ501は、受信した登録要求に含まれるユーザコードで定番メニュー領域W52を検索する。そしてプロセッサ501は、当該ユーザコードに関連付けられた定番メニューデータの有無を確認する(Act532)。該当する定番メニューデータがある場合(Act532にてYES)、プロセッサ501は、食物入力画面SC7の各定番メニューボタンB93に対して、定番メニューデータのボタン名称と定番メニューコードとが割り当てられるように、食物入力画面データを加工する(Act533)。
食物入力画面データを加工するか、該当する定番メニューデータがない場合(Act532にてNO)、プロセッサ501は、食物入力画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act534)。
ここに、プログラムに従いAct531乃至Act534の処理を実行するプロセッサ501を含むコンピュータは、第1の制御手段として機能する。
図23のAct280において、手入力による登録要求を行ったプロセッサ201は、この要求に応答して健康管理サーバ50から送信される食物入力画面データを待ち受ける。そして、通信インターフェース205で食物入力画面データを受信したならば、プロセッサ201は、この画面データに基づき、タッチパネル204の画面を、食物入力画面SC7とする(Act281)。
食物入力画面SC7を閲覧したユーザは、例えばごはん類の飲食物を登録する場合、ごはん類が割り当てられたカテゴリボタンB92にタッチする。そうすると、献立ボタンB91には、ごはん類に属する飲食物が割り当てられるので、ユーザは献立情報として登録する飲食物のアイコンが表示された献立ボタンB91にタッチする。同様に、例えば麺類の飲食物を登録する場合、麺類が割り当てられたカテゴリボタンB92にタッチする。そうすると、献立ボタンB91には、麺類に属する飲食物が割り当てられるので、ユーザは献立情報として登録する飲食物のアイコンが表示された献立ボタンB91にタッチする。また、定番メニューボタンB93に割り当てられた飲食物を登録する場合には、ユーザはその定番メニューボタンB93にタッチする。こうして、手入力により登録する飲食物の選択を終了したならば、ユーザは、完了ボタンB94にタッチする。
また、1つの定番メニューボタンB93に新たな飲食物のデータを定番メニューデータとして設定する場合には、ユーザは、その定番メニューボタンB93を長押しする。1つの定番メニューボタンB93を長押しすることで、ユーザ端末装置20は、その定番メニューボタンB93に対する編集モードなる。なお、編集モードへの移行方法は、定番メニューボタンB93の長押しに限定されるものではない。例えば1つの定番メニューボタンB93を短期間に複数タッチすることで、その定番メニューボタンB93の編集モードに移行してもよい。
図23のAct281において、タッチパネル204の画面を食物入力画面SC7としたならば、プロセッサ201は、食物入力の完了が指定されたか確認する。すなわちプロセッサ201は、完了ボタンB94がタッチされたか確認する(Act282)。完了ボタンB94がタッチされていない場合(Act282にてNO)、プロセッサ201は、定番メニューボタンB93の編集モードが指定されたか確認する。すなわちプロセッサ201は、1つの定番メニューボタンB93が長押しされたか確認する(Act283)。定番メニューボタンB93が長押しされていない場合(Act283にてNO)、プロセッサ201は、再び食物入力の完了が指定されたか確認する(Act282)。
したがって、Act282及びAct283の処理により、プロセッサ201は、食物入力の完了が指定されるか定番メニューボタンB93の編集モードが指定されるのを待ち受ける。この待ち受け状態において、完了ボタンB94のタッチにより食物入力の完了が指定されると(Act282にてYES)、プロセッサ201は、献立情報として登録する飲食物が選択されているか確認する(Act284)。カテゴリボタンB92と献立ボタンB91とのタッチ操作あるいは定番メニューボタンB93のタッチ操作により飲食物が選択されている場合(Act284にてYES)、プロセッサ201は、その飲食物の食物コードを含む選択食物データを通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act285)。この選択食物データには、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、日付エリア及び区分エリアにセットされた日付データ及び区分データとが含まれる。
選択食物データを送信するか、献立情報として登録する飲食物が選択されていない場合(Act284にてNO)、プロセッサ201は、Act249の処理に戻る。すなわちプロセッサ201は、ユーザコードと日付データと区分データとをセットした栄養分析要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
Act282及びAct283の待ち受け状態において、定番メニューボタンB93の長押しにより編集モードが指定されると(Act283にてYES)、プロセッサ201は、健康管理サーバ50に編集モードを指令する。
図27のAct534において、食物入力画面データをユーザ端末装置20に宛てて送信したプロセッサ501は、そのユーザ端末装置20から選択食物データを受信したか確認する(Act535)。受信していない場合(Act535にてNO)、プロセッサ501は、そのユーザ端末装置20から栄養分析要求を受信したか確認する(Act536)。受信していない場合(Act536にてNO)、プロセッサ501は、そのユーザ端末装置20から定番メニューボタンB93の編集モードが指令されたか確認する(Act537)。編集モードが指令されていない場合(Act537にてNO)、プロセッサ501は、再び選択食物データが送られてきたか確認する(Act535)。
したがって、プロセッサ501は、Act535乃至Act537の処理により、選択食物データを受信するか、栄養分析要求を受信するか、編集モードが指令されるのを待ち受ける。この待ち受け状態において、栄養分析要求を受信した場合(Act536にてYES)、プロセッサ501は、Act501の処理へと戻る。以後、プロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
選択食物データを受信した場合には(Act535にてYES)、プロセッサ501は、その選択食物データに含まれるユーザコードに関連付けられた献立データ512の中から、選択食物データに含まれる日付データと区分データとが一致する献立データ512を検出する。なお、該当する献立データが健康管理データ領域W51に存在しない場合には、プロセッサは、選択食物データに含まれる日付データと区分データとをセットした献立データ512を、選択食物データに含まれるユーザコードに関連付けられたデータとして健康管理データ領域W51に追加する。プロセッサ501は、選択食物データに含まれる日付データと区分データとが一致する献立データ512に、選択食物データに含まれる食物コードを追加する(Act538)。
選択食物データに含まれる食物コードを健康管理データ領域W51に追加した後、プロセッサ501は、Act500の処理へと戻る。そしてプロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
ここに、プログラムに従いAct535乃至Act538の処理を実行するプロセッサ501を含むコンピュータは、第2の登録手段として機能する。
Act535乃至Act537の待ち受け状態において、ユーザ端末装置20から定番メニューボタンB93の編集モードが指令されると(Act537にてYES)、プロセッサ501は、補助記憶デバイス503に記憶されている定番編集画面データを取得する。そしてプロセッサ501は、この定番編集画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act539)。定番編集画面データは、ユーザ端末装置20のタッチパネル204を定番編集画面SC8とするための画像を表す。
図23のAct283において、健康管理サーバ50に編集モードを指令したプロセッサ201は、健康管理サーバ50から定番編集画面データを受信すると、タッチパネル204を定番編集画面SC8とする(Act286)。
図35は、定番編集画面SC8の一例を示す。図示するように、定番編集画面SC5は、の他に、ボタンB101、ボタンB102、ボタンB103及び定番メニューボタンB93を含む。また定番編集画面SC8は、栄養分析画面SC51,SC52,SC53または商品リスト画面SC6と同様のボタンB61,B62,B63を含む。ボタンB101は、定番メニューボタン93に割り当てる飲食物のコードをレシートデータで編集するためにユーザがタッチするものである。ボタンB102は、定番メニューボタン93に割り当てる飲食物のコードを手入力により編集するためにユーザがタッチするものである。ボタンB103は、編集終了を指令するためにユーザがタッチするものである。
定番編集画面SC5は、必ずしも定番メニューボタンB93を含めなくてもよい。あるいは、定番編集画面SC5は、長押しされて編集対象となった定番メニューボタンB93だけを含めてもよい。
図23のAct286において、タッチパネル204を定番編集画面SC8としたプロセッサ201は、レシートデータからの編集が指定されたか確認する。すなわちプロセッサ201は、ボタンB101がタッチされたか確認する(Act287)。ボタンB101がタッチされていない場合(Act287にてNO)、プロセッサ201は、手入力による編集が指定されたか確認する。すなわちプロセッサ201は、ボタンB102がタッチされたか確認する(Act288)。ボタンB102がタッチされていない場合(Act288にてNO)、プロセッサ201は、編集終了が指定されたか確認する。すなわちプロセッサ201は、ボタンB103がタッチされたか確認する(Act289)。ボタンB103がタッチされていない場合(Act289にてNO)、プロセッサ201は、再びレシートデータからの編集が指定されたか確認する(Act287)。
したがって、Act287乃至Act289の処理により、プロセッサ201は、ボタンB101、B102、B103のいずれかがタッチされるのを待ち受ける。この待ち受け状態において、タッチパネル204でボタンB101がタッチされたことを検知すると(Act287にてYES)、プロセッサ201は、図24に示すように、レシートからの編集要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act2001)。この編集要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードが含まれる。
図27のAct539において、ユーザ端末装置20に対して定番編集画面データを送信したプロセッサ501は、レシートからの編集要求を受信したか確認する(Act540)。受信していない場合(Act540にてNO)、プロセッサ501は、手入力による編集要求を受信したか確認する(Act541)。受信していない場合(Act541にてNO)、プロセッサ501は、編集終了が指定されたか確認する(Act542)。編集終了が指定されていない場合(Act542にてNO)、プロセッサ501は、再びレシートからの編集要求を受信したか確認する(Act540)。
したがって、Act540乃至Act542の処理により、プロセッサ501は、レシートからの編集要求を受信するか、手入力による編集要求を受信するか、編集終了が指定されるのを待ち受ける。この待ち受け状態において、レシートからの編集要求を受信すると(Act540にてYES)、プロセッサ501は、図28に示すように、レシートサーバ30にアクセスする。そしてプロセッサ501は、編集要求に含まれるユーザコードに関連付けられて電子レシート領域W31に格納されている全てのレシートデータを取得する(Act551)。
レシートデータを取得したならば、プロセッサ501は、そのレシートデータに含まれる簡易レシートデータにより一覧画面データを生成する。そしてプロセッサ501は、この一覧画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act552)。一覧画面データは、図19に示した一覧画面SC4と同一の画像を表す。
図24のAct2001において、レシートからの編集要求を送信したプロセッサ201は、この編集要求に応答して健康管理サーバ50から送信される一覧画面データを待ち受ける。そして、一覧画面データを通信インターフェース205で受信したならば、プロセッサ201は、この一覧画面データに基づき、タッチパネル204の画面を一覧画面SC4とする(Act2002)。
タッチパネル204の画面を一覧画面SC4としたプロセッサ201は、この一覧画面SC4からいずれかの簡易レシートデータが指定されるのを待ち受ける(Act2003)。
一覧画面SC4を閲覧したユーザは、簡易レシートデータのなかから定番メニューボタンに設定したい飲食物が記録されたレシートのデータを探す。そしてユーザは、見出した簡易レシートデータの画像R2にタッチする。
プロセッサ201は、一覧画面SC4において、いずれかの簡易レシートデータの画像R2がタッチされたことを検知すると(Act2003にてYES)、商品リストの表示要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act2004)。この表示要求には、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、タッチされた画像R2の簡易レシートデータとが含まれる。
図28のAct552において、一覧画面データを送信したプロセッサ501は、ユーザ端末装置20から商品リストの表示要求を待ち受ける(Act553)。そして、商品リストの表示要求を受信すると(Act553にてYES)、プロセッサ501は、この表示要求に含まれる簡易レシートデータによって決定されるレシートデータの明細データ315を基に商品リストを生成する。商品リストは、店舗で商品として提供または販売された商品に関する情報(店舗コード、商品コード、商品名等)のリストである。プロセッサ501は、この商品リストの画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act554)。商品リストの画面データは、図33に示した商品リスト画面SC6と同一の画像を表す。
図24のAct2004において、商品リストの表示要求を行ったプロセッサ201は、この要求に応答して健康管理サーバ50から送信される商品リストの画面データを待ち受ける。そして、通信インターフェース205で商品リストの画面データを受信したならば、プロセッサ201は、この画面データに基づき、タッチパネル204の画面を、商品リスト画面SC6とする(Act2005)。
商品リスト画面SC6を確認したが、定番メニューボタン93に設定する飲食物の名称が商品リストL1に表示されておらず、他のレシートを見る場合、ユーザは、ボタンB81にタッチする。定番メニューボタン93に設定する飲食物の名称が商品リストL1に表示されている場合には、ユーザは、その名称にタッチする。名称がタッチされると、対応するラジオボタンが選択状態を表す。定番メニューボタン93に設定する飲食物の名称を全て選択状態としたならば、ユーザは、ボタンB82にタッチする。
タッチパネル204の画面を商品リスト画面SC6としたプロセッサ201は、選択終了が指示されたか確認する。すなわちプロセッサ201は、ボタンB82がタッチされたか確認する(Act2006)。ボタンB82がタッチされていない場合(Act2006にてNO)、プロセッサ201は、他のレシートを見る旨が指定されたか確認する。すなわちプロセッサ201は、ボタンB81がタッチされたか確認する(Act2007)。ボタンB81がタッチされていない場合(Act2007にてNO)、プロセッサ201は、再び選択終了が指示されたか確認する(Act2006)。
したがってプロセッサ201は、Act2006及びAct2007の処理により、ボタンB82またはB81がタッチされるのを待ち受ける。この待ち受け状態において、ボタンB81がタッチされたことを検知すると(Act2007にてYES)、プロセッサ201は、Act2002の処理へと戻る。すなわちプロセッサ201は、タッチパネル204の画面を一覧画面SC4に戻す。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
Act2006及びAct2007の待ち受け状態において、ボタンB82がタッチされたことを検知すると(Act2006にてYES)、プロセッサ201は、選択終了を通知する指令を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。またプロセッサ201は、商品リストL1のなかから選択状態にある商品(飲食物の名称)の有無を判別する(Act2008)。選択状態にある商品がある場合(Act2008にYES)、プロセッサ201は、その選択状態にある商品を編集対象の定番メニューボタンB93に割り当てる旨を通知する選択商品データを、通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act2009)。この選択商品データは、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、編集対象の定番メニューボタンB93に対して設定されているボタン番号とを含む。
選択商品データを送信した後、あるいは選択状態にある商品がない場合(Act2008にてNO)、プロセッサ201は、Act286の処理へと戻る。すなわちプロセッサ201は、タッチパネル204の画面を定番編集画面SC8に戻す。以後、プロセッサ201は、それ以降の処理を前述したのと同様に繰り返す。
図28のAct554において、商品リストの画面データを送信したプロセッサ501は、ユーザ端末装置20から選択終了が指示されるのを待ち受ける(Act555)。ボタンB82のタッチにより選択終了が指示されると(Act555にてYES)、プロセッサ501は、選択商品データを受信したか確認する(Act556)。
選択商品データを受信した場合(Act556にてYES)、プロセッサ501は、定番メニュー領域W52を検索する。そしてプロセッサ501は、選択商品データに含まれるユーザコードとボタン番号とに関連付けられたメニューデータ522に、その選択商品データに含まれる店舗コードと商品コードとの対データを追加する(Act557)。
メニューデータ522に対データを追加するか、選択商品データを受信しなかった場合(Act556にてNO)、プロセッサ501は、Act539の処理へと戻る。すなわちプロセッサ501は、定番編集画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する。以後、プロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
図23のAct287乃至Act289の待ち受け状態において、タッチパネル204でボタンB102がタッチされたことを検知すると(Act288にてYES)、プロセッサ201は、手入力による編集要求を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。
図27のAct540乃至Act542の待ち受け状態において、手入力による編集要求を受信すると(Act540にてYES)、図29に示すように、プロセッサ501は、食物入力画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する(Act561)。
手入力による編集要求を送信したプロセッサ201は、食物入力画面データを待機する。健康管理サーバ50から食物入力画面データを受信したならば、プロセッサ201は、タッチパネル204の画面を食物入力画面SC7とする(Act289)。
食物入力画面SC7を閲覧したユーザは、カテゴリボタンB92及び献立ボタンB91にタッチして、定番編集ボタンB93に設定する飲食物を選択する。そして飲食物の選択を終了すると、ユーザは完了ボタンB94にタッチして、選択終了を指示する。
図23のAct290において、タッチパネル204の画面を食物入力画面SC7としたプロセッサ201は、飲食物の選択終了が指定されるのを待ち受ける。すなわちプロセッサ201は、ボタンB94がタッチされるのを待ち受ける(Act291)。ボタンB94がタッチされたことを検知すると(Act291にてYES)、プロセッサ201は、選択終了を通知する指令を通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する。またプロセッサ201は、定番編集ボタンB93に設定する飲食物が選択されているか確認する(Act292)。カテゴリボタンB92と献立ボタンB91とのタッチ操作あるいは定番メニューボタンB93のタッチ操作により飲食物が選択されている場合(Act292にてYES)、プロセッサ201は、その飲食物の食物コードを含む選択食物データを通信インターフェース205から健康管理サーバ50に宛ててネットワーク200へと送信する(Act293)。この選択食物データには、メインメモリ202または補助記憶デバイス203で記憶したユーザコードと、編集対象の定番メニューボタンに対して設定されているボタン番号とを含む。
選択食物データを送信した後、あるいは飲食物が選択されていない場合(Act292にてNO)、プロセッサ201は、Act286の処理に戻る。すなわちプロセッサ201は、タッチパネル204の画面を定番編集画面SC8に戻す。
図29のAct561において、食物入力画面データをユーザ端末装置20に宛てて送信したプロセッサ501は、ユーザ端末装置20から選択終了が指示されるのを待ち受ける(Act562)。ボタンB94のタッチにより選択終了が指示されると(Act562にてYES)、プロセッサ501は、選択食物データを受信したか確認する(Act563)。
選択食物データを受信した場合(Act563にてYES)、プロセッサ501は、定番メニュー領域W52を検索する。そしてプロセッサ501は、選択食物データに含まれるユーザコードとボタン番号とに関連付けられたメニューデータ522に、その選択食物データに含まれる食物コードを追加する(Act564)。
メニューデータ522に食物コードを追加するか、選択食物データを受信しなかった場合(Act563にてNO)、プロセッサ501は、Act539の処理へと戻る。すなわちプロセッサ501は、定番編集画面データを通信インターフェース504からユーザ端末装置20に宛ててネットワーク200へと送信する。以後、プロセッサ501は、それ以降の処理を前述したのと同様に繰り返す。
ここに、プログラムに従いAct551乃至Act557またはAct561乃至Act564の処理を実行するプロセッサ501を含むコンピュータは、設定手段として機能する。
このように本実施形態の健康管理システム100によれば、スマートフォン、携帯電話、あるいはタブレット端末等のような携帯型のユーザ端末装置20に、レシートクライアントアプリP21と健康アプリP22とをインストールすることによって、ユーザは、以下のようなサービスを受けることができる。
A.ユーザは、会計装置10が設置された飲食店、小売店等で会計の際に発行されるレシートを紙媒体で受け取るのではなく、電子レシートとしてユーザ端末装置20に表示させて閲覧することができる。
B.ユーザは、レシートサーバ30に蓄積された電子レシートの商品情報を利用して、朝食,昼食,夕食等の食事毎に摂取した献立情報を健康管理サーバ50の健康管理データ領域W51に登録することができる。
C.ユーザは、電子レシートの情報からは補えない献立情報については、ユーザ端末装置20を利用して手入力により登録することができる。
D.ユーザは、ユーザ端末装置20のタッチパネル204に表示される画面から、健康管理データ領域W51においてユーザ別に蓄積された食事別の献立情報に基づき、食事毎、一日分、一週間分、一か月分などの単位に、摂取カロリー量と栄養バランスの分布画像G1とを閲覧することができる。
E.電子レシートの情報からは補えない献立情報を手入力する際には、ユーザ端末装置20のタッチパネル204に食物入力画面SC7が表示される。この食物入力画面SC7には、定番メニューボタンB93がある。この定番メニューボタンB93に、ユーザが例えば朝食としてほぼ毎日食べている献立の飲食物情報を設定することで、ユーザは、献立情報の手入力をワンタッチで行うことができる。
F.ユーザは、レシートサーバ30に蓄積された電子レシートの商品情報を利用して、定番メニューボタンB93に所望とする献立の飲食物情報を設定することができる。
G.ユーザは、定番メニューボタンB93に設定する飲食物情報を電子レシートの情報からは補えない場合には、ユーザ端末装置20を利用して手入力により追加することができる。
この他、本実施形態の構成及び動作から、種々の作用効果を奏することは言うまでもないことである。
なお、前記実施形態では、レシートサーバ30、栄養データサーバ40及び健康管理サーバ50をそれぞれ別個のサーバとして説明したが、これらのサーバのうち少なくとも2つを1つのサーバで実現してもよい。あるいは、レシートサーバ30、栄養データサーバ40及び健康管理サーバ50を1つのサーバだけで実現することも可能である。
また、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。