以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明における一実施形態のサーバシステム1の構成を示すブロック図である。サーバシステム1は、サーバ装置100と、WAN(Wide_Area_Network)やインターネット等の通信ネットワークNWを介してサーバ装置100に接続される端末200とから構成される。
なお、サーバ装置100は、ログイン時の認証内容に応じて、端末200が、食事箋であるペット向け食事箋フードレター(以下、単に「フードレター」と称する)を印刷して発行する側で操作される端末であるか、フードレターを受ける側で操作される端末であるかを特定する。以下では、サーバ装置100が、フードレターを発行する側で操作される端末であると特定する端末200を病院端末200aと表し、サーバ装置100が、フードレターを受ける側で操作される端末であると特定する端末200をPO端末200bと表す。
サーバシステム1において、サーバ装置100は、病院端末200aからの入力に基づいてフードレター(図5(b)参照)を作成する一方で、作成したフードレターに記載される機能性ペットフードを発注可能な画面を、該フードレターの対象ペットに対応するPO端末200bに供給する。PO端末200bは、サーバ装置100から供給された画面から、フードレターに記載される機能性ペットフードを発注し購入することが可能である。
サーバ装置100は、Webサーバ及びメールサーバとして機能する装置である。このサーバ装置100は、CPU(Central_Processing_Unit)101と、ROM(Read_Only_Memory)102と、RAM(Random_Access_Memory)103と、ハードディスクドライブ104(HDD104)と、サーバ装置100を通信ネットワークNWに接続するためのインターフェイス105(I/F105)と、後述する各データベース111〜117が接続されるインターフェイス(I/F106)と、現在日時を計時するリアルタイムクロック107(RTC107)とを有し、これらの構成はバスライン108を介して相互に接続されている。
CPU101は、ROM102やRAM103に記憶されているプログラムやデータを用いてサーバ装置100全体の制御を行うとともに、HDD104に記憶されているWebサーバプログラム104aやメールサーバプログラム104bに従う処理を実行する。ROM102は、サーバ装置100の設定データやブートプログラム等を記憶する。RAM103は、HDD104からロードされた各プログラム104a〜104cやデータ等を一時的に記憶すると共に、CPU101が各種の処理を実行する際に用いるワークエリアを有している。
RAM103は、選択商品メモリ103aと、LSメモリ103bと、給与量メモリ103cと、処方終了日メモリ103dとを有している。選択商品メモリ103aは、病院端末200aからの入力に基づいてフードレターの作成を行う際に、病院端末200aのLCD206に表示される商品検索画面620(図4(b)参照)の中から、1の機能性ペットフードが、当該フードレターにより指示(指導)する機能性ペットフードとして選択された場合に、その機能性ペットフードを示す商品コードを記憶する領域である。
LSメモリ103bは、病院端末200aからの入力に基づいてフードレターの作成を行う際に、病院端末200aのLCD206に表示されるFL作成情報入力画面640(図5(a)参照)から入力された、当該フードレターの対象となるペット(患畜)のライフステージを記憶する領域である。給与量メモリ103cは、選択商品メモリ103a及びLSメモリ103bに記憶されている内容に基づいて算出されたフードレターに記載する給与量を記憶する領域である。
処方終了日メモリ103dは、病院端末200aからの入力に基づいてフードレターの作成を行う際に、病院端末200aのLCD206に表示されるFL作成情報入力画面640から入力された、当該フードレターで指示する機能性ペットフードの給与期間の終了予定日を記憶する領域である。
HDD104は、図示されないオペレーティングシステム(OS)を記憶すると共に、サーバ装置100をWebサーバとして機能させるプログラムであるWebサーバプログラム104aと、サーバ装置100をメールサーバとして機能させるプログラムであるメールサーバプログラム104bと、動物病院やペットオーナー等を登録するための登録プログラム104cとを記憶する。
また、サーバ装置100は、データベースとして、病院情報データベース111(病院情報DB111)と、ペットオーナー情報データベース112(PO情報DB112)と、ペット情報データベース113(ペット情報DB113)と、フードレター情報データベース114(FL情報DB114)と、購入履歴データベース115(購入履歴DB115)と、商品データベース116(商品DB116)と、画面データベース117(画面DB117)とを有しており、これらのデータベース111〜117は、I/F106に接続される。なお、データベース111〜117は、全てをまとめて又は各々独立したデータベース又はデータベースサーバとして構成してもよい。また、本実施形態では、データベース111〜117をいずれもI/F106に接続する構成としたが、他の接続構成を採用してもよい。例えば、データベース111,112,114〜117をI/F106に接続するが、ペット情報DB113を、I/F106に接続するのでなく、PO情報DB112に接続するようにしてもよい。
病院情報DB111は、病院端末200aを使用する側(本実施形態では、動物病院)の情報を記憶するデータベースである。なお、以下の説明では、病院情報DB111に記憶される情報、即ち、病院端末200aを使用する側の情報を「病院情報」と称し、この病院情報の内容については、図2(a)を参照して後述する。
PO情報DB112は、PO端末200bを使用する側(本実施形態では、ペットオーナー、即ち、ペットの飼い主)の情報を記憶するデータベースである。なお、以下の説明では、PO情報DB112に記憶される情報、即ち、PO端末200bを使用する側の情報を「PO情報」と称し、このPO情報の内容については、図2(b)を参照して後述する。
ペット情報DB113は、病院端末200aを使用する動物病院において診察したペットの情報を記憶するデータベースである。具体的に、ペット情報DB113には、各ペットを特定するペット識別ID毎に、そのペットに関する情報(例えば、当該ペットを登録した動物病院を特定する病院識別ID(図2(a)の病院識別ID301)、ペットオーナーを特定するPO識別ID、当該ペットの名前や年齢等の個体情報、当該ペットの画像、当該ペットの診察結果、カルテ番号などが対応付けられ記憶されている。
FL情報DB114は、病院端末200aからのフードレター作成要求に基づいて作成されたフードレターの内容を記憶するデータベースである。なお、以下の説明では、FL情報DB114に記憶される情報、即ち、作成されたフードレターの内容を「FL情報」と称し、このFL情報の内容については、図3を参照して後述する。
購入履歴DB115は、ペットオーナーがPO端末200bを操作することにより発注して購入した機能性ペットフードの履歴(購入履歴)を記憶するデータベースである。具体的に、購入履歴DB115には、機能性ペットフードを購入したペットオーナーを特定するPO識別IDと、購入日を示す情報と、購入した商品の商品コードと、購入した機能性ペットフードを指定したフードレターを特定するFL識別IDとが対応付けられて記憶されている。
商品DB116は、機能性ペットフードの商品マスタを記憶するデータベースである。具体的に、商品DB116には、各機能性ペットフードの商品コード毎に、製造元又は供給元、価格、形状・規格、販売単位、販売単価、商品画像、商品情報(商品説明や原材料など)、ライフステージ毎の用量などの各種情報が対応付けられて記憶されている。なお、商品マスタは、メーカーや卸会社等から供給される。なお、この「ライフステージ」には、年齢又は年齢範囲の区分だけでなく、機能性ペットフードを使用する目的(例えば、機能性ペットフードを、肥満犬の減量に用いるか、糖尿病の犬に用いるか、等)の区分なども含まれる。
画面DB117は、病院端末200a又はPO端末200bからの要求に応じて各端末のLCD206に表示させる画面を生成するためのHTMLファイルや、その画面を生成するためのテンプレートとなるHTMLファイルや、画面の背景やバナー等の素材を記憶するデータベースである。病院端末200a又はPO端末200bから画面の表示要求があった場合、サーバ装置100は、その要求に応じた画面を画面DB117から読み出し、表示要求元の端末200(200a,200b)に供給(提供)する。あるいは、サーバ装置100は、表示要求に応じて画面のテンプレートを画面DB117から読み出し、そのテンプレートを基に動的生成した画面を、表示要求元の端末200に供給する。
端末200(病院端末200a、PO端末200b)は、パーソナルコンピュータにより構成され、端末200全体を制御する中央制御装置であるCPU201と、設定データやブートプログラムなどを記憶するROM202と、CPU201により実行される各種処理に必要なデータ等を一時的に記憶するRAM203と、ハードディスクドライブ204(HDD204)と、端末200を通信ネットワークNWに接続するためのインターフェイス205(I/F205)と、表示装置であるLCD(Liquid Crystal Display)206と、キーボードやマウスなどから構成される入力装置207とを有し、これらの構成はバスライン208を介して相互に接続されている。
HDD204は、図示されないオペレーティングシステム(OS)を記憶すると共に、ブラウザ機能を実現させるブラウザプログラム204aを記憶する。即ち、端末200(病院端末200a、PO端末200b)は、ブラウザプログラム204aを用いてサーバ装置100にアクセスし、当該サーバ装置100が提供する各種画面をLCD206に表示することができる。
図2(a)は、上述した病院情報DB111に記憶される病院情報の内容の一例を示す模式図である。この病院情報は、動物病院をサーバ装置100(病院情報DB111)に登録する際に動物病院毎に作成され、病院識別ID301と、ログインID302と、パスワード303と、「病院名」や「院長名(漢字)」等の登録情報304と、取扱優先度情報305とを主に含んで構成される。
病院識別ID301は、内部管理用に動物病院を特定するために設定されるIDであり、1の動物病院をサーバ装置100(病院情報DB111)に登録する際に登録プログラム104cにより設定される。ログインID302は、動物病院がサーバ装置100にログインするためのログインIDであり、パスワード303は、動物病院がサーバ装置100にログインするためのパスワードである。ログインID302及びパスワード303は、両方とも、1の動物病院をサーバ装置100に登録する際にシステム管理者によって設定される。
サーバ装置100から供給されて端末200のLCD206に表示される動物病院用の病院用ログイン画面(図示せず)に入力されたログインID及びパスワードが、ログインID302及びパスワード303として記憶されているログインID及びパスワードに等しい場合に、サーバ装置100は、ログインID及びパスワードの入力元の端末200を認証し、当該端末200が、フードレター(図5(b)参照)を発行する側、即ち、動物病院に属する者(院長、勤務する獣医など)により操作される病院端末200aであると特定する。さらには、病院情報DB111に記憶される病院情報に基づき、認証したログインID(ログインID302)と病院識別ID301との対応から、病院端末200aを操作する動物病院を特定する。
取扱優先度305は、病院端末200aから商品DB116に商品コードが記憶されている機能性ペットフードの検索要求があった場合に、その検索結果の表示順序に対する優先順位である。図2(a)に示す例では、取扱優先度305として、4つの優先順位、即ち、優先順位の高い方から「取扱優先度1」、「取扱優先度2」、「取扱優先度3」、「取扱優先度4」が設定されている。サーバ装置100は、病院端末200aからの検索要求に基づき、商品DB116の中から検索要求に合致する商品(機能性ペットフード)を検索し、検索された商品を取扱優先度305に従って並び換え、検索された商品(検索結果)を並び換えた順序で表示する画面を、検索要求元の病院端末200aに供給する。
本実施形態では、製造元又は供給元に応じて取扱優先度305を設定する構成とされており、サーバ装置100は、検索要求に基づいて商品DB116の中から検索された機能性ペットフードの表示順序を、抽出された商品の商品マスタに含まれる製造元又は供給元の情報と取扱優先度305とに基づいて並び換える。図2(a)に示す例では、「取扱優先度1」として「A社」が設定され、「取扱優先度2」として「C社」が設定され、「取扱優先度3」として「D社」が設定され、「取扱優先度4」として「B社」が設定されている。つまり、この例では、検索要求元の病院端末200aのLCD206には、A社→C社→D社→B社の順で並び換えられた検索結果が画面として表示される。
取扱優先度305に設定される値は、サーバ装置100から病院端末200aに供給される取扱優先度設定画面(図示せず)から設定変更できるように構成されている。即ち、病院端末200aを操作する動物病院毎に、取扱優先度305を設定可能に構成されている。一般的に、概ね同機能を有する機能性ペットフードが種々の製造元又は供給元から供給されているので、動物病院(院長や獣医)が、ある機能を有する機能性ペットフードを選択しようにも、その数が多数にわたるため、適切な機能性ペットフードの選択が困難である。しかし、本実施形態のサーバシステム1又はサーバ装置100によれば、病院端末200a毎、即ち、ログインID302又は病院識別ID301により特定される動物病院毎に、機能性ペットフードの製造元又は供給元の優先順位を取扱優先度305として設定できるので、その動物病院が取り扱い易い(得意とする)製造元又は供給元の機能性ペットフードに対する優先順位を高くしておくことにより、動物病院(院長や獣医)が、適切な機能性ペットフードを選定し易く、フードレター発行時における動物病院側の負担を軽減できる。
図2(b)は、上述したPO情報DB112に記憶されるPO情報の内容の一例を示す模式図である。このPO情報は、ペットオーナーをサーバ装置100(PO情報DB112)に登録する際にペットオーナー毎に作成され、PO識別ID401と、上述した病院識別ID301と、ペット識別ID402と、ログインID403と、パスワード404と、「PO名(漢字)」や「メールアドレス」等の登録情報405とを主に含んで構成される。
PO識別ID401は、内部管理用にペットオーナーを特定するために設定されるIDであり、1のペットオーナーをサーバ装置100(PO情報DB112)に登録する際に登録プログラム104cにより設定される。ペット識別ID402は、内部管理用にペットを特定するために設定されるIDであり、1のペットをサーバ装置100(ペット情報DB113)に登録する際に登録プログラム104cにより設定される。このように、PO情報の中で、PO識別ID401とペット識別ID402とが対応付けられていることにより、1のペットオーナーと、そのペットオーナーが所有する1のペットとが対応付けられる。
ログインID403は、ペットオーナーがサーバ装置100にログインするためのログインIDであり、パスワード404は、ペットオーナーがサーバ装置100にログインするためのパスワードである。本実施形態では、ペットオーナーの登録は、PO情報に含まれる病院識別ID301により特定される動物病院にて、先ず、登録情報405等の登録を行い、それにより、サーバ装置100は、登録された登録情報405に含まれている「メールアドレス」をログインID402に設定するように構成されている。一方、パスワード404は、Web登録を希望したペットオーナーが自身で設定するように構成されている。なお、Web登録を希望しないペットオーナーは、パスワード404の設定を行わないので、かかる場合には、パスワード404は空欄(ブランク)となる。
サーバ装置100から供給されて端末200のLCD206に表示されるペットオーナー用のPO用ログイン画面(図示せず)に入力されたログインID及びパスワードが、ログインID403及びパスワード404として記憶されているログインID及びパスワードに等しい場合に、サーバ装置100は、ログインID及びパスワードの入力元の端末200を認証し、当該端末200が、ペットオーナーにより操作されるPO端末200bであると特定する。さらには、PO情報DB112に記憶されるPO情報に基づき、認証したログインID(ログインID403)とPO識別ID401との対応から、PO端末200bを操作するペットオーナーを特定する。
図3は、上述したFL情報DB114に記憶されるFL情報を説明するための模式図である。FL情報は、病院端末200aからの要求に基づいてサーバ装置100がフードレターを作成した場合に作成され、FL情報DB114に記憶される。図3では、FL情報DB114に、X1、X2、…、Xnまで、n件のFL情報が記憶されている様子を例示している。
各FL情報は、FL識別ID501と、上述したPO識別ID401と、上述した病院識別ID301と、上述したペット識別ID402と、商品コード502と、作成日503と、給与量504と、終了予定日505と、処方期間フラグ506とを主に含んで構成される。
FL識別ID501は、内部管理用にフードレターを特定するために設定されるIDであり、サーバ装置100がフードレターを作成する毎に設定される。このFL識別ID501により各フードレターを識別することができる。また、図3に示すように、1のFL情報の中で、FL識別ID501と、PO情報ID401、病院識別ID301、ペット識別ID402とが対応づけられているので、1のフードレターに対する、そのフードレターを作成した1の動物病院や、フードレターの対象となる1のペット及びそのペットのペットオーナーが特定される。
商品コード502は、フードレターにより指示(指導)する機能性ペットフードに対応する商品コードである。なお、商品コード502として設定される商品コードは、商品DB116において当該機能性ペットフードに対応付けられている商品コードである。作成日503は、フードレターを作成した日付である。給与量504は、商品コード502により特定される機能性ペットフードにおけるライフステージ毎の用量と、フードレターの対象であるペットのライフステージとに基づいて決まる1日当たりの給与量である。
終了予定日505は、フードレターで指示する機能性ペットフードの給与期間の終了予定日である。処方期間フラグ506は、フードレターが有効であるか否かを示すフラグである。処方期間フラグ506に「1」が設定されている場合には、作成されたフードレターにて指示される給与期間内であり、そのフードレターが有効であることを示す。一方で、処方期間フラグ506に「0」が設定されている場合には、作成されたフードレターにて指示される給与期間が過ぎており、そのフードレターが無効であることを示す。
次に、図4及び図5を参照して、本実施形態のサーバシステム1(サーバ装置100)によるフードレターの作成について説明する。図4(a)は、FL発行画面600の一例を示す模式図である。FL発行画面600は、フードレターを作成する際の入口となる画面である。このFL発行画面600の表示要求は、サーバ装置100がログインID302及びパスワード303によって認証した端末200(即ち、病院端末200a)に限られる。即ち、病院端末200aは、FL発行画面600をLCD206に表示させることができるので、フードレターを作成できるが、PO端末200bは、FL発行画面600をLCD206に表示させることができないので、フードレターを作成できない。
FL発行画面600は、サーバ装置100(ペット情報DB113)に登録されていないペットをフードレターの発行対象とする領域601と、サーバ装置100に既に登録されているペットをフードレターの発行対象とする領域602とを有している。
領域601には、「新規フードレター発行」と表示されたボタン611が形成されている。病院端末200aを操作する者が入力装置207を用いてボタン611を操作すると、病院端末200aは対応する要求を出力する。サーバ装置100が当該要求を受信すると、サーバ装置100は、未登録ペット(新規ペット)をサーバ装置100に登録するための画面を、要求元の病院端末200aに供給(出力)する。これにより、当該要求を出力した病院端末200aのLCD206に表示される画面は、未登録ペットをサーバ装置100に登録するための画面に遷移し、ペットの登録を病院端末200aに行わせる。その後、FL発行画面600に誘導され、フードレターを作成する次の段階へと移行する。
領域602には、サーバ装置100(ペット情報DB113)に登録済みのペットの中から、フードレターの発行対象とするペットを検索する検索ワード(キーワード)を入力する領域612が設けられており、その領域612の下方に、「この条件で検索する」と表示されたボタン613が形成されている。また、領域602には、ボタン613の下方に、ペットの検索結果の一覧を表示するための領域614が設けられている。
図4(a)に示す例では、領域612内に、ペットオーナーの電話番号である「TEL」、カルテ番号である「カルテNO」、ペットオーナーの名前である「お名前」、及びペットの名前である「ペット名」のそれぞれに対して検索ボックスが設けられており、病院端末200aを操作する者が、入力装置207を用いて、これら4つの検索ボックスのうち、少なくとも1つの検索ボックスに検索ワードを入力した後、ボタン613を操作すると、病院端末200aは、検索ボックスに入力された検索ワードによる検索の要求をサーバ装置100に出力する。その後、サーバ装置100から、領域614が検索結果に基づいて更新されたFL発行画面600が返され、当該病院端末200aのLCD206には、FL発行画面600の領域614に検索結果の一覧が表示される。
なお、領域612に設けられている検索ボックスに入力する検索ワードは、ペットオーナーの電話番号、カルテ番号、ペットオーナーの名前、又はペットの名前の全てであっても、一部分であってもよい。サーバ装置100は、検索ワードを含む部分一致検索を行う。例えば、「TEL」の検索ボックスに「012345」と入力し、ボタン613を操作した場合には、サーバ装置100は、「012345****」や「****012345」等、「012345」を含む検索結果の一覧を含むFL発行画面600を端末200aに表示させる。また、領域612に設けられている検索ボックスに検索ワードを入力することなくボタン613が操作された場合には、サーバ装置100は、全てのペットに対する情報を検索結果とし、FL発行画面600に一覧表示させる。
領域602には、領域614の下方に、「疾患・症状から選ぶ」と表示されたボタン615と、「商品から選ぶ」と表示されたボタン616とが形成されている。これらのボタン615,616は、フードレターにより指示(指導)する機能性ペットフードの検索方法を指定するためのボタンであり、ボタン615を操作した場合には、疾患又は症状を検索ワード(キーワード)として機能性ペットフードを検索できる。一方、ボタン616を操作した場合には、フリーワードや機能性ペットフードの製造元又は供給元などを検索ワードとして機能性ペットフードを検索できる。なお、商品DB116の商品マスタに、低アレルギー食や、減量プログラムとしての分類がある場合には、低アレルギー食や減量プログラムの内容を検索ワードとして検索するためのボタンを、ボタン615やボタン616とは別に、領域614の下方に設けて検索可能な構成としてもよい。
病院端末200aを操作する者が、入力装置207を用いて、領域614に表示された検索結果の中から、択一的に1のペットを選択した後、ボタン615又はボタン616を操作すると、病院端末200aは操作されたボタン615又はボタン616に応じた画面の出力をサーバ装置100に要求する。その要求を受信したサーバ装置100は、要求に応じた画面を、要求元の病院端末200aに供給するので、病院端末200aのLCD206には、要求に応じた画面が表示される。よって、ボタン615を操作した場合には、疾患又は症状を検索ワードとして機能性ペットフードを検索する商品検索画面620(図4(b)参照)がLCD206に表示され、ボタン616を操作した場合には、フリーワードや機能性ペットフードの商品名などを検索ワードとして機能性ペットフードを検索するための画面(図示せず)がLCD206に表示される。
図4(b)は、商品検索画面620の一例を示す模式図である。商品検索画面620は、FL発行画面600のボタン615が操作された結果として、その操作を行った病院端末200aのLCD206に表示される画面であり、疾患又は症状を検索ワードとして機能性ペットフードを検索し、その検索結果から、フードレターで指示する機能性ペットフードを選択するための画面である。
商品検索画面620は、検索ワードを入力するための領域621と、商品(機能性ペットフード)の検索結果の一覧を表示するための領域622とを有している。本実施形態では、領域621には、6つのボタン621a〜621fが形成されている。これらのボタン621a〜621fには、それぞれ、疾患又は症状が表示されている。図4(b)に示した商品検索画面620において、例えば、ボタン621aには、「aaaaaa」という疾患又は症状が表示されている。なお、領域621に表示されるボタンの数は、検索ワードとする疾患又は症状の数に応じて適宜変更される。
病院端末200aを操作する者が、入力装置207を用いて、ボタン621a〜621fのうち、1のボタンが操作されると、病院端末200aは、操作されたボタンに対応する検索ワード(即ち、各ボタンに表示されている疾患又は症状)による検索の要求をサーバ装置100に出力する。その後、サーバ装置100から、領域622に表示される検索結果が更新された商品検索画面620が返される。これにより、当該病院端末200aのLCD206には、検索結果の一覧が表示された領域622を有する商品検索画面620が表示される。このように、本実施形態のサーバシステム1(サーバ装置100)によれば、検索ワードとする疾患又は症状をボタン621a〜621fにより選択できるので、病院端末200aを操作する動物病院は、ペットの診察結果に応じた機能性ペットフードの選択が容易である。
図4(b)に示す例では、領域622には、3件分の検索結果の各々を示す欄622a〜622cが表示されている。各欄622a〜622cの表示内容は、いずれも同様に構成されており、欄622aを代表として説明すると、商品(機能性ペットフード)の商品名631と、商品の製造元又は供給元を示すメーカー名632と、商品の形状を示す形状情報633と、商品の規格(容量)を示す規格情報634と、商品画像635とから構成される。なお、領域622に表示可能な数以上の商品が検索された場合には、領域622に表示させる検索結果を入れ替えることにより全ての検索結果を表示させることができる。領域622に表示される内容をスクロール表示できるように構成してもよい。
本実施形態では、領域622に表示される検索結果(欄622a〜622c)は、その検索を要求した病院端末200aを特定する病院識別ID301の病院情報において、取扱優先度305に設定されている優先順位で表示されるように構成される。この取扱優先度305の設定値(優先順位)は、動物病院毎、即ち、病院識別ID301又はログインID302毎に変更できるように構成されているので、欄622a〜622cは、各動物病院が適切な機能性ペットフードを選択し易い順序で表示される。
病院端末200aを操作する者が、入力装置207を用いて、領域622に表示される欄622a〜622cのいずれかを選択(例えば、商品画像635をクリック)すると、当該病院端末200aは、選択された商品(機能性ペットフード)を指示商品とする要求をサーバ装置100に出力する。当該要求を受信したサーバ装置100は、選択された商品を指示商品としてフードレターを作成するためのFL作成情報入力画面640(図5(a)参照)を供給する。その結果、要求元の病院端末200aのLCD206には、そのFL作成情報入力画面640が表示される。
図5(a)は、FL作成情報入力画面640の一例を示す模式図である。FL作成情報入力画面640は、商品検索画面620の領域622に表示された欄622a〜622cの中から1の商品が選択された結果として、その選択(操作)を行った病院端末200aのLCD206に表示される画面であり、選択された商品を指示商品としてフードレターを作成するための情報を入力するための画面である。
FL作成情報入力画面640は、商品検索画面620から選択された商品(指示商品)の情報を表示するための領域641と、フードレターの対象とするペットのライフステージを設定するための領域642と、指示商品の給与量に関する情報を表示するための領域643と、指示商品の給与期間を設定するための領域644とを有しており、FL作成情報入力画面640の下方には、「フードレター発行」と表示されたボタン645が形成されている。
領域641の表示内容は、商品検索画面620から選択された商品の商品名651と、商品の製造元又は供給元を示すメーカー名652と、商品の形状を示す形状情報653と、商品の規格(容量)を示す規格情報654と、商品画像655と、商品情報656とから構成される。図5(a)の例では、商品情報565として、「商品説明」と「忌避事項」と「原材料」と「加水分解している/していないアレルゲン」とが表示されている。これらの情報は、商品検索画面620から選択された商品に対し商品DB116に記憶されている商品マスタから抽出される。
領域642には、領域641に表示されている商品に対し設定可能なライフステージの中から、択一的に1のライフステージを選択できるようオプションボタンが設けられている。図5(a)に示す例では、設定可能なライフステージが「幼犬(10〜12ヶ月)」と「幼犬(1歳〜2歳)」と「幼犬(3歳〜4歳)」であり、これらの各ライフステージに対しオプションボタン642a〜642cが設けられている。なお、ライフステージの分類は、商品検索画面620から選択された商品に対し商品DB116に記憶されている商品マスタから抽出される。
なお、図5(a)では、ライフステージが「幼犬(10〜12ヶ月)」などの年齢範囲で区分されている場合を例示したが、ライフステージが、機能性ペットフードを使用する目的で区分されている場合には、それらの目的がオプションボタンなどによって択一的に選択可能な態様で、領域642に表示される。例えば、商品DB116に記憶されている商品マスタにおいて、機能性ペットフードの用量が、「肥満犬の減量」、「肥満傾向のある犬の体重の管理・維持」、又は「正常な犬/糖尿病の犬への使用」に対して設定されている場合には、これらの各ライフステージがオプションボタンなどによって択一的に選択可能な態様で、領域642に表示される。
ライフステージの選択は、病院端末200aを操作する者が、入力装置207を用いてオプションボタン642a〜642cの中から1つを選択することによって行われる。サーバ装置100は、選択されたオプションボタン642a〜642cに対応するライフステージに基づき、指示商品の1日当たりの給与量と、その給与量に付随する量(例えば、1日当たりの給与量によってかかる費用や、指示商品の規格で給与できる日数など)とを自動的に計算する。領域643には、ライフステージの選択に基づいてサーバ装置100が計算した値が表示される。
領域644には、指示商品の給与期間の開始日が表示されるボックス644aと、指示商品の給与期間の終了予定日が表示されるボックス644bと、給与期間を選択させるためのボタン644cとが設けられている。ボックス644aには、フードレターを作成する日、即ち、FL作成情報入力画面640を表示させた日の日付情報(年月日)が自動的に表示される。
図5(a)に示す例では、「2週間」から「1年」までの6種類のボタン644cが設けられており、病院端末200aを操作する者が、入力装置207を用いて、これらのボタン644cの中から1のボタンを操作すると、操作されたボタンに対応する給与期間がサーバ装置100に指示される。サーバ装置100は、指示商品の給与期間の開始日(フードレターの作成日)と指示された期間に基づいて終了予定日を自動的に計算し、計算された終了予定日をボックス644bに表示させる。なお、給与期間の設定は、FL作成情報入力画面640に表示させたカレンダーの中から、ある日付(年月日)を終了予定日として選択させたり、ボックス644bに終了予定日を直接入力させる構成としてもよい。
FL作成情報入力画面640における領域642,643,644の内容が全て決定された状態で、病院端末200aを操作する者が、入力装置207を用いてボタン645を操作すると、病院端末200aは、FL作成情報入力画面640の表示内容に基づくフードレターの作成要求をサーバ装置100に出力する。サーバ装置100は、作成要求に応じたフードレターを作成し、そのフードレターのファイル(例えば、PDFファイル)を要求元の病院端末200aに供給する。フードレターのファイルを受信した病院端末200aは、当該病院端末200aに接続されたプリンタ(図示せず)によりフードレターを印刷することにより、フードレターの発行を行う。
図5(b)は、病院端末200aから発行されたフードレターの一例を示す模式図である。フードレターは、表示部701〜705を有している。表示部701は、フードレターの発行対象とされるペット、即ち、FL発行画面600において選択されたペットを示す情報(ペットの名前や年齢など)を表示する部分である。表示部702は、フードレターの作成日とフードレター番号とを表示する部分であり、FL作成情報入力画面640を表示させた日の日付(年月日)が作成日として表示され、FL情報DBにおいてフードレターを特定するFL識別ID501がフードレター番号として表示される。表示部703は、フードレターで指示する機能性ペットフード、即ち、商品検索画面620において選択された指示商品に関する情報を表示する部分である。表示部704は、指示商品とFL作成情報入力画面640において選択されたライフステージとに基づいて計算された1日当たりの給与量を表示する部分であり、表示部705は、指示された給与期間の終了予定日を表示する部分である。ペットオーナーは、病院端末200aにより発行(印刷)されたフードレターを参照して、対象ペットの健康管理又は食事管理を行う。
本実施形態のサーバシステム1(サーバ装置100)は、上述の通りに作成されたフードレターが有効である場合に限り、そのフードレターで指示される機能性ペットフードを、フードレターの発行対象であるペットのペットオーナーが操作するPO端末200bから発注し購入できるように構成されている。なお、フードレターが「有効」であるとは、現在がフードレターにて指示した機能性ペットフードの給与期間内である場合を示す。
図6(a)は、PO用メイン画面800の一例を示す。PO用メイン画面800は、サーバ装置100がログインID403及びパスワード404によって認証した端末200(即ち、PO端末200b)に対し、最初に提供される画面である。また、PO端末200bからPO用メイン画面800の表示要求があった場合に提供される画面である。
PO用メイン画面800は、上方に配置されるヘッダ領域801と、下方に配置されるフッタ領域802と、ヘッダ領域801とフッタ領域802との間に配置される3つのコンテンツ領域(第1コンテンツ領域803a、第2コンテンツ領域802b、第3コンテンツ領域803c)とを有している。3つのコンテンツ領域803a〜803cは、PO用メイン画面800の左右方向に並べて配置され、第1コンテンツ領域803aは中央に位置する領域であり、第2コンテンツ領域803bは、第1コンテンツ領域803aに対し、向かって左側に位置する領域であり、第3コンテンツ領域803cは、第1コンテンツ領域803aに対し、向かって右側に位置する領域である。
ヘッダ領域801には、ログインID403を含むPO情報に含まれるPO識別ID401により特定されるペットオーナーを示す情報(例えば、「犬田猫次郎」という名前)や、ログインID403を含むPO情報に含まれる病院識別ID301により特定される動物病院を示す情報(例えば、「丸々どうぶつ病院」という動物病院名やバナー)が表示される。フッタ領域802には、コピーライトや問い合わせ先などが表示される。
第1コンテンツ領域803aには、ペット情報811や、ログインID403に対応付けられている病院識別ID301により特定される動物病院の情報や、動物病院から提供されるインフォメーションなどが表示される。ペット情報811には、ログインID403に対応するPO識別ID401により特定されるペットオーナーが所有し、かつ、ログインID403に対応付けられている病院識別ID301により特定される動物病院に掛かるペットの画像821と、その画像821に対応するペットの名前822とが表示される。ペット情報811には、ログインID403に対応付けられている動物識別ID402の分だけ、画像821と名前822との組が表示される。図6(a)に示す例では、ペット情報811には、「かりん」という名前の犬と、「たま」という名前の猫とが表示されている。PO端末200bを操作する者が、入力装置207を用いて、画像821又は名前822をクリックすると、サーバ装置100から詳細なペット情報が表示された画面が供給され、当該PO端末200bのLCD206に表示される。
第2コンテンツ領域803bには、ログインID403又はPO識別ID401により特定されるPO端末200bから行った過去の注文の履歴を表示させるためのメニュー812や、商品検索するための検索ボックスなどの、所謂サイドメニューが表示される。
第3コンテンツ領域803cには、発注可能な機能性ペットフードを示すメニュー813が表示される。図6(a)に示す例では、メニュー813において、2つの機能性ペットフードが発注可能に表示されている。メニュー813には、発注可能な機能性ペットフード毎に、商品画像831と、商品名及び規格を表示する表示部832と、「注文」と表示されたボタン833とが設けられている。
PO端末200bを操作する者(即ち、ペットオーナー)が、入力装置207を用いて、ボタン833を操作すると、その操作が商品発注処理の契機とされる。即ち、PO端末200bは、ボタン833に対応する機能性ペットフードの発注をサーバ装置100へ要求し、その結果、LCD206に表示される画面が、機能性ペットフードを発注するための次の段階であるショッピングカート画面900(図6(b)参照)に遷移する。
詳細は後述するが、本実施形態のサーバシステム1(サーバ装置100)は、有効なフードレターにより指示されている機能性ペットフードだけが、発注可能な機能性ペットフードとして、第3コンテンツ領域803cにメニュー813に表示される。即ち、本実施形態のサーバシステム1(サーバ装置100)は、フードレターにて指示される給与期間を超えない機能性ペットフードを発注できるが、フードレターにて指示される給与期間を超えた機能性ペットフードを発注できないように構成されている。
図6(b)は、ショッピングカート画面900の一例を示す模式図である。ショッピングカート画面900は、発注すべき商品を選択するための操作(例えば、ボタン833の操作)を行った結果として、その操作を行ったPO端末200bのLCD206に表示される画面であり、発注すべき商品として選択されたが未確定である商品の一覧が表示される画面である。
ショッピングカート画面900は、発注すべき商品として選択されたが未確定である商品の一覧を表示するための領域901を有しており、画面下方に、機能性ペットフードを発注するための次の段階(例えば、配送先を指定する段階)へ移行するための、「進む」と表示されたボタン902が形成されている。
領域901には、発注すべき商品として選択されたが未確定である商品を表示するための欄911が、発注すべき商品として選択されたが未確定である商品の数だけ表示される。図6(b)に示す例では、発注すべき商品として選択されたが未確定である商品が1つであるために、1つの欄911が表示されている。
欄911は、発注すべき商品として選択された商品の商品名及び商品画像を示す表示部921と、選択された商品の形状及び規格を示す表示部922と、販売単価を示す表示部923と、購入数量を示す表示部924と、当該商品の購入金額を示す表示部925とを有している。なお、表示部924はプルダウンメニューとして構成され、入力装置207を用いて、プルダウンメニューとして設定された値の範囲で購入数量を変更することができる。このように、プルダウンメニューにより購入数量の範囲が限られているので、ペットオーナーが操作ミスにより商品を過剰に購入してしまうことが防止される。
なお、この場合、購入可能な数量の上限は、全ての商品に対して一律に設定しても、フードレターにて指示される機能性ペットフード毎に、該フードレターにて指示される給与量と給与期間と商品の規格(容量)とに応じた値を算出して設定してもよい。即ち、給与量と給与期間とにより、給与期間に要する機能性ペットフードの総量が決まるので、商品の規格に応じて過剰に商品が購入されないような数を上限値として算出し、そのように算出した値を設定してもよい。
次に、図7〜図12を参照して、上述した構成を有するサーバシステム1において、サーバ装置100のCPU101が実行する各処理について説明する。まず、図7〜図9を参照して、サーバ装置100が病院端末200aからの要求(入力)に基づいて実行する処理について説明する。
図7は、サーバ装置100のCPU101が実行する病院端末用メイン処理を示すフローチャートである。この病院端末用メイン処理は、Webサーバプログラム104aにより実行される処理であり、病院端末200aからの要求に応じた処理を行うものである。
病院端末用メイン処理は、端末200から、病院用ログイン画面のURLによりアクセスされた場合に起動し、まず、病院用ログイン画面(図示せず)をアクセス元の端末200へ送信(供給)する(S101)。これにより、アクセス元の端末200のLCD206には、病院用ログイン画面が表示される。
次いで、病院用ログイン画面の送信先の端末200がログインしたか否か、即ち、病院用ログイン画面から入力されるログインID及びパスワードが認証されたか否かを判断する(S102)。このとき、端末200がログインしたと判断されなければ(S102:No)、S102に戻る。
なお、病院用ログイン画面から入力されるログインID及びパスワードは、それらがログインID302及びパスワード303である場合に認証されるので、S102においてログインしたと判断される端末200は、病院端末200aである。よって、S102において、端末200がログインしたと判断された場合には(S102:Yes)、病院用メイン画面(図示せず)を、ログインした病院端末200aへ送信する(S103)。これにより、ログインした病院端末200aのLCD206には、病院用メイン画面が表示される。
次いで、病院端末200aから何らかの要求が入力されたか否かを判断する(S104)。病院端末200aからの要求が入力されなければ(S104:No)、S104へ戻り、病院端末200aから要求が入力されるのを待機する。
S104において、病院端末200aから要求が入力されたと判断された場合には(S104:Yes)、その要求が、ログアウトの要求であるか否かを判断する(S105)。病院端末200aからの要求がログアウトを要求するものであれば(S105:Yes)、ログアウトして、病院端末用メイン処理を終了する。
一方、ログアウトの要求でなければ(S105:No)、病院端末200aからの要求が、その病院端末200aを特定する病院識別ID301に対応付けられ病院情報DB111に記憶されている病院情報のうち、取扱優先度305を変更する要求であるか否かを判断する(S106)。
S105において、病院端末200aから要求が病院情報を変更する要求であると判断された場合には(S106:Yes)、病院端末200aに対応する病院情報における取扱優先度305の設定を変更する取扱優先度変更処理を実行し(S107)、S104へ戻る。
取扱優先度設定処理(S107)では、サーバ装置100は、取扱優先度305を設定変更することができる取扱優先度設定画面(図示せず)を要求元の病院端末200aに送信(供給)し、その病院端末200aからの設定値(製造元又は供給元の優先順位)の変更を受け付ける。そして、サーバ装置100が受け付けた設定値に応じて、設定変更を行った病院端末200aに対し、病院情報DB111に記憶されている病院情報の取扱優先度305の内容を変更する。
S106において、病院端末200aから要求が病院情報を変更する要求でないと判断された場合には(S106:No)、当該要求が、FL発行画面の表示要求であるか否かを判断し(S108)、FL発行画面の表示要求であると判断された場合には(S108:Yes)、フードレター(食事箋)を発行するべく、機能性ペットフードの選択を行う療法食商品選択処理を実行し(S109)、選択された機能性ペットフードを指示商品としてフードレターを作成するフードレター作成処理を実行し(S110)、フードレターの作成が完了して発行(印刷)できることを示すFL作成完了画面(図示せず)を要求元の病院端末200aへ送信し(S111)、その後、S104へ戻る。なお、療法食商品選択処理(S109)及びフードレター作成処理(S110)の詳細については、それぞれ、図8及び図9を参照して後述する。
S108において、FL発行画面の表示要求でないと判断された場合には(S108:No)、その他の処理として、病院端末200aからの要求に応じた各処理を実行し(S112)、その後、S104へ戻る。
S112では、例えば、当該要求がペットオーナーを新規に登録する要求であった場合には、サーバ装置100は、ペットオーナーを登録するための画面(図示せず)を要求元の病院端末200aに送信(供給)し、登録プログラム104cを起動して、その病院端末200aにおいて入力された内容に基づき、新たなPO情報をPO情報DB112に記憶(登録)させる。
図8は、上述した図7の病院端末用メイン処理の中で実行される療法食商品選択処理(S109)を示すフローチャートである。療法食商品選択処理(S109)は、療法食としての機能性ペットフードの選択を行う処理であり、まず、FL発行画面600のテンプレートを画面DB117から読み込み(S121)、初期表示用のデータを設定し(S122)、初期表示用のデータが設定されたFL発行画面600を、要求元の病院端末200aへ送信する(S123)。これにより、FL発行画面の表示要求を行った病院端末200aのLCD206には、初期表示用のデータが設定されたFL発行画面600が表示される。
次いで、FL発行画面600におけるボタン611が操作されたか、即ち、新規ペットに対するフードレターの発行が要求されたかを判断する(S124)。このとき、ボタン611が操作されなければ(S124:No)、領域612に検索ワード(キーワード)が入力された状態でボタン613が操作されたか、即ち、フードレターの対象とするペットを検索する要求がされたかを判断する(S125)。S125において、ボタン613が操作されて検索要求がされた場合には(S125:Yes)、検索ワードに基づきペット情報DB113の検索が実行される(S126)。これに対し、S125において、ボタン613の操作がないと判断した場合には(S125:No)、S124へ戻る。
一方、S124において、FL発行画面600におけるボタン611が操作され、新規ペットに対するフードレターの発行が要求されたと判断されると(S124:Yes)、新規ペット登録処理を実行する(S143)。
なお、新規ペット登録処理(S143)では、サーバ装置100は、新規ペットをサーバ装置100(ペット情報DB113)に登録するための画面を要求元の病院端末200aに送信(供給)し、その病院端末200aからの新規ペットの登録を受け付ける。そして、サーバ装置100は、登録プログラム104cを起動し、受け付け内容に応じて新規ペットをペット情報DB113に登録した後、再度、FL発行画面600を病院端末200aに供給する。新規ペット登録処理(S143)の実行後は、S125に移行する。
S126の実行後、検索結果に基づいてFL発行画面600の領域614の内容(検索結果一覧のデータ)を更新し(S127)、更新されたFL発行画面600を検索要求元の病院端末200aに送信する(S128)。これにより、病院端末200aのLCD206には、領域614(検索結果一覧)が更新されたFL発行画面600が表示される。なお、S126において実行した検索により該当するペットがペット情報DB113に存在しない場合には、エラー画面を病院端末200aに送信し、LCD206に表示させる。
S128の実行後、検索結果一覧の中から、1のペットが指定されたか否かを判断する(S129)。このとき、ペットの指定がされていないと判断された場合には(S129:No)、S129へ戻る。一方、ペットが指定されたと判断されると(S129:Yes)、商品の検索方法を入力するためのボタン615及びボタン616をアクティブ化し(S130)、ペットの指定を行った病院端末200aに、更新されたFL発行画面600を送信する(S131)。これにより、病院端末200aのLCD206には、ボタン615及びボタン616がアクティブ化されたFL発行画面600が表示される。
次いで、「疾患・症状から選ぶ」と表示されたボタン615が操作されたか否かを判断する(S132)。このとき、ボタン615が操作されていないと判断された場合には(S132:No)、「商品から選ぶ」と表示されたボタン616が操作されたか否かを判断する(S144)。S144において、ボタン616が操作されていないと判断された場合には(S144:No)、S132へ戻る。
S132において、ボタン615が操作されたと判断された場合には(S132:Yes)、疾患又は症状を検索ワードとして機能性ペットフードを検索する商品検索画面620のテンプレートを画面DB117から読み込み(S133)、初期表示用のデータを設定し(S134)、初期表示用のデータが設定された商品検索画面620を、要求元(即ち、ボタン615を操作した)の病院端末200aへ送信する(S135)。これにより、ボタン615を操作した病院端末200aのLCD206には、初期表示用のデータが設定された商品検索画面620が表示される。
次いで、商品検索画面620の領域621に形成されたボタン621a〜621fのうちの1つが操作されて疾患又は症状の一項目が選択されたか、即ち、操作されたボタンに対応する検索ワードによる検索要求がされたかを判断する(S136)。このとき、ボタン621a〜621fがいずれも操作されていないと判断された場合には(S136:No)、S136へ戻る。一方、621a〜621fのうちの1つが操作されたと判断された場合には(S136:Yes)、操作されたボタンに対応する検索ワード(即ち、各ボタンに表示されている疾患又は症状)に基づいて、該当商品を商品DB116から検索する(S137)。
S137の実行後、病院情報DB111を参照し、対象病院(即ち、検索要求をした病院端末200a)の病院識別ID301に対応する取扱優先度305に応じて、検索結果の表示順序を並び換える(S138)。次いで、商品検索画面620の領域622の内容(検索結果一覧のデータ)を、並び換えられた検索結果に基づいて更新し(S139)、更新された商品検索画面620を検索要求元の病院端末200aに送信する(S140)。これにより、病院端末200aのLCD206には、取扱優先度305に応じた表示順序で検索結果が並べられている領域622を有する商品検索画面600が表示される。
上述した通り、取扱優先度305に設定される値は、病院端末200aを操作する動物病院毎に設定することができる。よって、本実施形態のサーバ装置100(サーバシステム1)によれば、各動物病院が、取り扱い易い(得意とする)製造元又は供給元の機能性ペットフードに対する優先順位が高くなるように取扱優先度305を設定することにより、各動物病院にとって扱い易いものを優先的に表示させることができるので、各動物病院(院長や獣医)は、機能性ペットフードの選定を適切かつ容易に行うことができる。
S140の実行後、病院端末200aから、商品検索画面620の領域622に表示される検索結果(図4(b)に示した例では、欄622a〜欄622c)の中から、1の商品が選択されたか否かを判断する(S141)。このとき、1の商品が選択されていないと判断された場合には(S141:No)、S141へ戻る。一方、1の商品が選択されたと判断された場合には(S141:Yes)、選択された商品を示す値(商品コード)を選択商品メモリ103aに記憶し(S142)、療法食食品選択処理(S109)を終了して、病院端末用メイン処理(図7)へ戻る。
また、S144において、「商品から選ぶ」と表示されたボタン616が操作されたと判断された場合には(S144:Yes)、そのボタン616の操作に対応する処理(「商品から選ぶ」に対応する)処理を実行する(S145)。S145では、サーバ装置100は、フリーワードや機能性ペットフードの商品名などを検索ワードとして機能性ペットフードを検索するための画面(図示せず)要求元の病院端末200aに送信(供給)し、その病院端末200aからの検索要求に基づいて、S137と同様に商品の検索を行い、S138と同様に検索結果を取扱優先度305に応じて並び換えた後、並び換えられた検索結果一覧を表示した画面(図示せず)を検索要求元の病院端末200aに返す。そして、検索結果一覧の中から、1の商品が選択されると、S145の処理を終了して、S142へ移行する。
図9は、上述した図7の病院端末用メイン処理の中で実行されるフードレター作成処理(S110)を示すフローチャートである。フードレター作成処理(S110)は、上述した図8の療法食商品選択処理(S109)において選択された機能性ペットフードを指示商品としてフードレターを作成する処理である。
フードレター作成処理(S110)では、まず、RTC107から日付情報(年月日)を取得する(S161)。次いで、FL作成情報入力画面640のテンプレートを画面DB117から読み込み(S162)、初期表示用のデータを設定する(S163)。このとき、FL作成情報入力画面640の領域641及び領域642には、療法食商品選択処理(S109)において選択され、選択商品メモリ103aに商品コードが記憶されている商品に関する情報が、選択商品メモリ103aに記憶されている商品コードに基づいて商品DB116から抽出されて設定される。また、FL作成情報入力画面640の領域644におけるボックス644には、S161においてRTC107から取得した日付情報が設定される。
S163の実行後、初期表示用のデータが設定されたFL作成情報入力画面640を、療法食商品選択処理(S109)において商品選択を行った病院端末200aへ送信(供給)する(S164)。これにより、療法食商品選択処理(S109)において商品選択を行った病院端末200aのLCD206には、初期表示用のデータが設定されたFL作成情報入力画面640が表示される。
次いで、FL作成情報入力画面640の領域642に表示されているライフステージの中から1のライフステージが選択されたか否かを判断する(S165)。1のライフステージが選択されたと判断されると(S165:Yes)、選択されたライフステージに応じた値をLSメモリ103bに記憶し(S166)、選択されたライフステージに基づき、療法食商品選択処理(S109)において選択された機能性ペットフード(指示商品)の1日当たりの給与量を計算する(S167)。なお、本実施形態では、S167において、給与量に付随する量(1日当たりの給与量によってかかる費用や、指示商品の規格で給与できる日数)の計算も行う。S167の実行後、計算された給与量を給与量メモリ103cに記憶する(S168)。
S168の実行後、FL作成情報入力画面640の領域643の内容(給与量のデータ)を更新し(S169)、更新されたFL作成情報入力画面640を、ライフステージの選択を行った(即ち、ライフステージの選択要求を行った)要求元の病院端末200aに送信する(S170)。これにより、病院端末200aのLCD206には、領域643の内容が更新されたFL作成情報入力画面640が表示される。
S170の実行後、FL作成情報入力画面640の領域644に形成されたボタン644cが操作され、指示商品の終了予定日が設定されたか否かを判断する(S171)。また、S165において、ライフステージの選択が行われていないと判断された場合もまた(S165:No)、S166〜S170をスキップして、S171へ移行し、指示商品の終了予定日が設定されたか否かの判断を行う。
S171において、指示商品の終了予定日が設定されたと判断された場合には(S171:Yes)、操作されたボタン644cに応じて設定された(計算された)終了予定日を処方終了日メモリ103dに記憶する(S172)。次いで、設定された終了予定日のデータをFL作成情報入力画面640のボックス644bに設定して更新し(S173)、更新されたFL作成情報入力画面640を、ボタン644cの操作を行った(即ち、終了予定日の設定要求を行った)要求元の病院端末200aに送信する(S174)。これにより、病院端末200aのLCD206には、ボックス644bに終了予定日が設定されたFL作成情報入力画面640が表示される。
S174の実行後、FL作成情報入力画面640の「フードレター発行」と表示されたボタン645が操作され、フードレターの作成要求がされたか否かを判断する(S175)。また、S171において、指示商品の終了予定日が設定されていないと判断された場合もまた(S171:No)、S172〜S174をスキップして、S175へ移行し、フードレターの作成要求がされたか否かの判断を行う。
S175において、フードレターの作成要求がされていないと判断された場合には(S175:No)、S165へ移行する。一方、フードレターの作成要求がされたと判断された場合には(S175:Yes)、フードレターの作成に必要とされる必須事項が全て入力されているか否かを判断する(S176)。なお、図5(a)に示すFL作成情報入力画面640の例では、FL作成情報入力画面640における領域642,643,644の内容が全て入力されていれば、S176において、フードレターの作成に必要とされる必須事項が全て入力されていると判断される。
S176において、フードレターの作成に必要とされる必須事項が全て入力されていないと判断された場合には、S165へ移行する。一方、フードレターの作成に必要とされる必須事項が全て入力されたと判断された場合には(S176:Yes)、登録プログラム104cを起動し、フードレターを特定するFL識別ID501を取得(設定)し(S177)、FL情報をFL情報DB114に記憶(登録)させる(S178)。具体的に、S177において取得したFL識別ID501に対し、病院識別ID301、PO識別ID401、ペット識別ID402、選択商品メモリ103aに記憶されている商品コード(商品コード502)、給与量メモリ103cに記憶されている給与量(給与量504)、処方終了日メモリ103dに記憶されている終了予定日(終了予定日505)、値が「0」に設定された処方期間フラグ506などを含んで構成されるFL情報を、FL情報DB114に記憶する。
S178の処理後、処方期間フラグ506の値を「1」に設定する(S179)。従って、このフードレター作成処理によって新たに作成されるフードレターのFL情報における処方期間フラグ506の値は、必ず「1」に設定される。詳細は後述するが、FL情報の処方期間フラグ506の値は、終了予定日505を超えると「0」に変更される。つまり、処方期間フラグ506の値は、フードレターの作成日から終了予定日505までの期間(即ち、給与期間)内において、「1」に設定されている。そして、処方期間フラグ506の値が「1」であるフードレターに限り、PO用メイン画面800の第3コンテンツ領域803cに、そのフードレターにて指示される機能性ペットフードを発注可能とするメニュー813が表示される。
S179の実行後、FL発行画面600、商品検索画面620、及びFL作成情報入力画面640において入力された各情報に基づいて、フードレターを作成する(S180)。次いで、作成したフードレターのファイル(例えば、PDFファイル)を、フードレターの作成要求を行った病院端末200aへ送信する(S181)。これにより、フードレターのファイルを受信した病院端末200aは、当該病院端末200aに接続されたプリンタ(図示せず)によりフードレターを印刷することにより、フードレターを発行することができる。S181の実行後、フードレター作成処理(S110)を終了して、病院端末用メイン処理(図7)へ戻る。
次に、図10を参照して、サーバ装置100がPO端末200bからの要求(入力)に基づいて実行する処理について説明する。図10は、サーバ装置100のCPU101が実行するPO端末用メイン処理を示すフローチャートである。このPO端末用メイン処理は、Webサーバプログラム104aにより実行される処理であり、PO端末200bからの要求に応じた処理を行うものである。
PO端末用メイン処理は、端末200から、PO用ログイン画面のURLによりアクセスされた場合に起動し、まず、PO用ログイン画面(図示せず)をアクセス元の端末200へ送信(供給)する(S201)。これにより、アクセス元の端末200のLCD206には、PO用ログイン画面が表示される。
次いで、PO用ログイン画面の送信先の端末200がログインしたか否か、即ち、PO用ログイン画面から入力されるログインID及びパスワードが認証されたか否かを判断する(S202)。このとき、端末200がログインしたと判断されなければ(S202:No)、S202に戻る。
なお、PO用ログイン画面から入力されるログインID及びパスワードは、それらがログインID403及びパスワード404である場合に認証されるので、S202においてログインしたと判断される端末200は、PO端末200bである。よって、S202において、端末200がログインしたと判断された場合には(S202:Yes)、PO用メイン画面800を、ログインしたPO端末200bに供給するために、S203〜S212の処理を実行する。具体的に、PO用メイン画面800のテンプレートを画面DB117から読み込み(S203)、ヘッダ領域801、フッタ領域802、第1コンテンツ領域803a、第2コンテンツ領域803bにそれぞれ表示すべきデータを設定する処理を実行する(S204〜S207)。
S207の実行後、FL情報DB114の中から、対象となるペットオーナー(対象PO)のFL情報、即ち、PO端末200bを特定するPO識別ID401を含むFL情報を抽出する(S208)。次いで、抽出したFL情報の中に、処方期間フラグ506の値が「1」に設定されているFL情報があるかを検索し(S209)、該当するFL情報があるか否かの判断を行う(S210)。
S210において、該当するFL情報があると判断された場合には(S210:Yes)、該当するFL情報(即ち、処方期間フラグ506の値が「1」に設定されているFL情報)について、第3コンテンツ領域803cのデータの設定を行う(S211)。一方で、S210において、該当するFL情報がないと判断された場合には(S210:No)、第3コンテンツ領域803cのデータを空白に設定する(S217)。
S211又はS217の実行後、設定されたPO用メイン画面800を、ログインしたPO端末200bへ送信(供給)する(S212)。これにより、ログインしたPO端末200bのLCD206には、PO用メイン画面800が表示される。このとき、S211が実行された場合、即ち、処方期間フラグ506の値が「1」に設定されているFL情報について、第3コンテンツ領域803cのデータが設定された場合には、PO用メイン画面800の第3コンテンツ領域803cに、処方期間フラグ506の値が「1」に設定されているFL情報に含まれる商品コードにより特定される機能性ペットフード(即ち、そのFL情報に対応するフードレターにて指示される機能性ペットフード)を発注可能とするメニュー813が表示される。一方、処方期間フラグ506の値が「1」に設定されているFL情報が存在せず、S217が実行された場合には、第3コンテンツ領域803cにメニュー813は表示されず空白とされる。
次いで、PO端末200bから何らかの要求が入力されたか否かを判断する(S213)。PO端末200bからの要求が入力されなければ(S213:No)、S213へ戻り、PO端末200bから要求が入力されるのを待機する。
S213において、PO端末200bから要求が入力されたと判断された場合には(S213:Yes)、その要求が、ログアウトの要求であるか否かを判断する(S214)。PO端末200bからの要求がログアウトを要求するものであれば(S214:Yes)、ログアウトして、PO端末用メイン処理を終了する。
一方、ログアウトの要求でなければ(S214:No)、PO端末200bからの要求が、商品の発注要求であるか、例えば、PO用メイン画面800の第3コンテンツ領域803cに表示されるメニュー813に表示されるボタン833の1つが操作されたかを判断する(S215)。S215において、PO端末200bからの要求が、商品の発注要求であると判断された場合には(S215:Yes)、商品発注処理を実行し(S216)、S213へ戻る。なお、S216で行われる商品発注処理は、ショッピングカート画面を要求元のPO端末200bに送信し、そのPO端末200bにおいて入力された内容に基づき、指示商品の発注を行う処理である。
一方、S215において、PO端末200bから要求が、商品の発注要求でないと判断された場合には(S215:No)、その他の処理として、PO端末200bからの要求に応じた各処理を実行し(S218)、その後、S213へ戻る。S218では、例えば、当該要求がパスワードを再設定(変更)する要求であった場合には、サーバ装置100は、パスワードを変更するための画面(図示せず)を要求元のPO端末200bに送信(供給)し、そのPO端末200bにおいて入力された内容に基づき、このPO端末200bを特定するPO識別ID401に対応するPO情報におけるパスワード404を変更する。
次に、図11は、サーバ装置100のCPU101が実行するFL情報更新処理を示すフローチャートである。FL情報更新処理は、Webサーバプログラム104aにより実行される処理であり、FL情報DB114に記憶されている各FL情報に含まれる処方期間フラグ506の値を更新する処理であり、RTC107により計時される日付情報が、0時を示す毎に(即ち、毎日0時に)起動する。
FL情報更新処理では、まず、1のペットオーナー(即ち、1のPO識別ID401)に属するFL情報をFL情報DB114から抽出し(S301)、抽出したFL情報の中に、処方期間フラグ506の値が「1」に設定されているFL情報があるかを検索し(S302)、該当するFL情報があるか否かの判断を行う(S303)。
S303において、該当するFL情報があると判断された場合には(S303:Yes)、該当するFL情報(即ち、処方期間フラグ506の値が「1」に設定されているFL情報)の中から、1のFL情報を抽出する(S304)。次いで、抽出したFL情報に含まれる終了予定日505と、RTC107から得られた日付情報が示す日付とを比較し(S305)、日付情報が示す日付が終了予定日505を超えているか否かの判断を行う(S306)。
S306において、日付情報が示す日付が終了予定日505を超えていると判断された場合には(S306:Yes)、該当FL情報(S304において抽出されたFL情報)の処方期間フラグ506の値を「0」に設定する(S307)。次いで、該当FL情報に基づき、そのFL情報に対応するペットオーナーのメールアドレスを宛先とし、フードレターの有効期限が切れた旨や、今後のアドバイス(例えば、再来院の案内)などをメール本文とする案内メールを作成し(S308)、メールサーバプログラム104bを起動して、作成した案内メールの送信を実行する(S309)。
S309の実行後、処方期間フラグ506の値が「1」に設定されているFL情報の全てを処理したか否かを判断する(S310)。また、S306において、日付情報が示す日付が終了予定日505を超えていないと判断された場合もまた(S306:No)、S307〜S309をスキップして、S310へ移行し、該当する全てのFL情報を処理したか否かの判断を行う。S310において、該当する全てのFL情報を処理していないと判断された場合には(S310:No)、S304へ移行し、次のFL情報を抽出する。
一方、S310において、該当する全てのFL情報を処理したと判断された場合には(S310:Yes)、全てのペットオーナーについて処理がされたか否かを判断する(S311)。また、S303において、1のペットオーナーに属するFLの中に、処方期間フラグ506の値が「1」に設定されているFL情報がないと判断された場合もまた(S303:No)、S311へ移行し、全てのペットオーナーについて処理がされたか否かの判断を行う。
S311において、全てのペットオーナーについて処理が行われていないと判断された場合には(S311:No)、S301の処理へ移行し、次のペットオーナーに属するFL情報の抽出を行う。一方。S311において、全てのペットオーナーについて処理が行われたと判断された場合には(S311:Yes)、FL情報更新処理を終了する。
このFL情報更新処理によれば、終了予定日505を超えたFL情報の処方期間フラグ506の値が「0」に変更される。つまり、処方期間フラグ506の値が「1」である期間は、フードレターの作成日から終了予定日505までの期間(即ち、給与期間)に等しい。上述した通り、PO端末用メイン処理(図10)によれば、処方期間フラグ506の値が「1」であるフードレター、即ち、給与期間内にあり有効であるフードレターに限り、PO用メイン画面800の第3コンテンツ領域803cに、そのフードレターにて指示される機能性ペットフードを発注可能とするメニュー813が表示される。
また、終了予定日505を超えたFL情報(フードレター)がある場合には、そのフードレターに対応するペットオーナー宛てに、案内メールが送信されるので、ペットオーナーは、フードレターにより指示される給与期間の終了を確実に認識することができ、フードレターによるペットの健康管理又は食事管理を有効に行うことができる。一方、動物病院にとっても、フードレターにより指示した給与期間を人為的に管理する手間を省くことができる。
以上説明したように、本実施形態のサーバシステム1及びサーバ装置100によれば、動物病院(病院端末200a)は、商品DB116に記憶(登録)されている機能性ペットフードの中から、診察(診察)結果に応じた機能性ペットフードを選択することにより、フードレターを作成することができるので、フードレターの作成が容易である。また、商品DB116の中から所定条件の機能性ペットフードを検索した場合に、その検索結果が、動物病院毎に設定可能な取扱優先度に応じた優先順位に並び換えられて病院端末200aのLCD206に表示されるので、フードレターの選択も適切かつ容易に行い得る。
その上、サーバ装置100がPO端末200bに供給するPO用メイン画面800は、給与期間内にあるフードレターにて指示される機能性ペットフードのみをメニュー813に表示する。よって、PO端末200bを操作するペットオーナーは、給与期間内にあるフードレターにて指示される機能性ペットフードのみをPO用メイン画面800(メニュー813)から発注して購入することができる。その一方で、給与期間外のフードレターにて指示された機能性ペットフードは発注することができない。これにより、ペットオーナーは、所有するペットをフードレターに沿って有効に管理することができる。
従って、本実施形態のサーバシステム1及びサーバ装置100によれば、フードレターを発行する側(例えば、動物病院)だけでなく、フードレターを受ける側(例えば、ペットオーナー)にも有用性を提供することができる。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものでなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
例えば、上記実施形態では、給与期間内にあるフードレターに限り、フードレターにて指示される機能性ペットフードを発注可能とするメニュー813をPO用メイン画面800に表示させることにより、給与期間内にある(即ち、有効な)フードレターにて指示される機能性ペットフードのみを発注できるように構成した。
これに換えて、給与期間外のフードレターにて指示された機能性ペットフードも、給与期間内にあるフードレターにて指示される機能性ペットフードと共にメニュー813として表示させるが、給与期間外のフードレターにて指示された機能性ペットフードに対するボタン833を操作不能又は非表示にすることにより、給与期間内にあるフードレターにて指示される機能性ペットフードのみを発注できるようにしてもよい。または、メニュー813に表示されるボタン833は全て操作可能であるが、給与期間外のフードレターにて指示された機能性ペットフードに対するボタン833が操作された場合に、サーバ装置100への商品発注要求の出力を禁止することにより、給与期間内にあるフードレターにて指示される機能性ペットフードのみを発注できるようにしてもよい。あるいは、給与期間を超えたフードレターをFL情報DB114から削除することにより、給与期間内にあるフードレターにて指示される機能性ペットフードのみを発注できるようにしてもよい。
また、上記実施形態では、給与期間内にある(即ち、有効な)フードレターにて指示される機能性ペットフードのみを発注できる構成として、給与期間内にあるフードレターにて指示される機能性ペットフードのみを含むメニュー813をPO用メイン画面800に表示させることを例示したが、過去の注文の履歴から商品を購入可能とした場合もまた、メニュー813と同様、給与期間内にあるフードレターにて指示される機能性ペットフードのみを発注可能に表示させることができる。
また、上記実施形態では、FL情報の中に処方期間フラグ506を設け、1日1回(毎日0時に)起動されるFL情報更新処理(図11参照)により、現在日時とFL情報の終了予定日505との比較(即ち、S306の処理)を行い、処方期間フラグ506を更新し、それによって、給与期間内にあるフードレターにて指示される機能性ペットフードのみを含むメニュー813をPO用メイン画面800に表示させる構成とした。これに換えて、PO端末用メイン処理(図10参照)において、S208の処理後に、RTC107から日付情報を取得し、現在日時とFL情報の終了予定日505との比較を行う構成としてもよい。
また、上記実施形態では、PO端末200bをパーソナルコンピュータとして構成したが、パーソナルコンピュータと同様の構成を有し、通信ネットワークNWを介してサーバ装置100と通信可能であれば、携帯電話やPDAなどの移動端末を利用する構成としてもよい。
また、上記実施形態では、現在日時がFL情報の終了予定日505を超えた場合に案内メールを送信する構成としたが、現在日時が終了予定日505の数日前(例えば、3日前)に案内メールを送信する構成としてもよい。