(57)【要約】【課題】計算式を使い分けながら、容易に計算式を変更できる計算機、計算方法及びプログラムを提案する。【解決手段】計算対象データは、処理ＩＤと、項目ＩＤと、項目ＩＤに対する項目値とを含み、計算処理実行部は、処理ＩＤと、計算対象データの適用時期に基づいて、計算式管理テーブルから、複数の項目ＩＤ、定数ＩＤまたは計算値ＩＤと、これらを結びつける演算子とを含む計算式にかかる計算式ＩＤと、計算式にかかる計算を行う順序を規定した計算順序を有する計算式情報を取得し、取得した計算式情報に含まれる定数ＩＤに基づいて、定数管理テーブルから定数値を取得し、取得した計算式情報と、定数値と、項目値とに基づいて、計算式に定数値及び項目値を適用して計算を計算順序に従った順序で行い計算結果を算出する。【選択図】図１
2015201078.tif 000002
【特許請求の範囲】
【請求項１】
計算対象データの入力を受け付ける入力部と、
計算式を構築し、当該計算式に基づいて計算を行う計算処理実行部と、
前記計算の結果に基づいて判定を行う判定処理部と、
判定の結果を出力する出力部と、
記憶部と、
を備えた計算機であって、
前記記憶部は、計算式管理テーブルと、定数管理テーブルとを有し、
前記計算対象データは、処理ＩＤと、項目ＩＤと、項目ＩＤに対する項目値とを含み、
前記計算処理実行部は、
前記処理ＩＤに基づいて、前記計算式管理テーブルから、複数の項目ＩＤ、定数ＩＤまたは計算値ＩＤと、前記項目ＩＤ、前記定数ＩＤ又は前記計算値ＩＤのうちの何れか又は全てを結びつける演算子とを含む計算式にかかる計算式ＩＤと、当該計算式にかかる計算を行う順序を規定した計算順序を有する計算式情報を取得し、
当該取得した計算式情報に含まれる定数ＩＤに基づいて、前記定数管理テーブルから定数値を取得するとともに、計算式情報に含まれる項目ＩＤに基づいて、前記計算対象データから項目値を取得し、
前記取得した計算式情報と、前記定数値と、前記項目値とに基づいて、前記計算式に前記定数値及び項目値を適用して計算を前記計算順序に従った順序で行い計算結果を算出する
ことを特徴とする計算機。
【請求項２】
請求項１に記載の計算機において、
前記計算式管理テーブルは、第１の計算式テーブルと第２の計算式テーブルとを有し、
前記計算処理実行部は、
前記処理ＩＤに基づいて、前記第１の計算式テーブルから、前記計算式ＩＤを取得し、
前記取得した計算式ＩＤに基づいて、前記第２の計算式テーブルから、前記計算式と計算順序を取得することにより、前記計算式情報を取得する
ことを特徴とする計算機。
【請求項３】
請求項１または２に記載の計算機において、
前記計算式は、端数計算方針を含み、
前記計算は当該端数計算方針に基づいて行われる
ことを特徴とする計算機。
【請求項４】
請求項１乃至３のいずれか一項に記載の計算機において、
前記計算対象データは、当該データの対象者の属する団体ＩＤを有し、
前記計算式管理テーブルは、団体ＩＤを含み、
前記計算処理実行部は、前記団体ＩＤに基づいて、前記計算式管理テーブルから前記計算式情報を取得する
ことを特徴とする計算機。
【請求項５】
請求項１乃至４のいずれか一項に記載の計算機において、
前記計算処理実行部は、
前記処理ＩＤと、計算対象データの適用時期とに基づいて、前記計算式管理テーブルから、前記計算式情報を取得し、
前記適用時期は、前記計算対象データに含まれる時期データ、または計算を行う時期に基づいて算出される
ことを特徴とする計算機。
【請求項６】
入力部が、計算対象データの入力を受け付ける入力工程と、
計算処理実行部が、計算式を構築し、当該計算式に基づいて計算を行う計算処理工程と、
判定処理部が、前記計算の結果に基づいて判定を行う判定処理工程と、
出力部が、判定の結果を出力する出力工程と、
を含む計算方法であって、
前記計算対象データは、処理ＩＤと、項目ＩＤと、項目ＩＤに対する項目値とを含み、
前記計算処理工程では、
前記処理ＩＤに基づいて、計算式管理テーブルから、複数の項目ＩＤ、定数ＩＤまたは計算値ＩＤと、前記項目ＩＤ、前記定数ＩＤ又は前記計算値ＩＤのうちの何れか又は全てを結びつける演算子とを含む計算式にかかる計算式ＩＤと、当該計算式にかかる計算を行う順序を規定した計算順序を有する計算式情報を取得し、
当該取得した計算式情報に含まれる定数ＩＤに基づいて、前記定数管理テーブルから定数値を取得するとともに、計算式情報に含まれる項目ＩＤに基づいて、前記計算対象データから項目値を取得し、
前記取得した計算式情報と、前記定数値と、前記項目値とに基づいて、前記計算式に前記定数値及び項目値を適用して計算を前記計算順序に従った順序で行い計算結果を算出する
ことを特徴とする計算方法。
【請求項７】
コンピュータを、
計算対象データの入力を受け付ける入力部と、
計算式を構築し、当該計算式に基づいて計算を行う計算処理実行部と、
前記計算の結果に基づいて判定を行う判定処理部と、
判定の結果を出力する出力部として機能させるプログラムであって、
前記計算対象データは、項目ＩＤと、項目ＩＤに対する項目値とを含み、
前記計算処理実行部は、
前記処理ＩＤに基づいて、計算式管理テーブルから、複数の項目ＩＤ、定数ＩＤまたは計算値ＩＤと、前記項目ＩＤ、前記定数ＩＤ又は前記計算値ＩＤのうちの何れか又は全てを結びつける演算子とを含む計算式にかかる計算式ＩＤと、当該計算式にかかる計算を行う順序を規定した計算順序を有する計算式情報を取得し、
当該取得した計算式情報に含まれる定数ＩＤに基づいて、前記定数管理テーブルから定数値を取得するとともに、計算式情報に含まれる項目ＩＤに基づいて、前記計算対象データから項目値を取得し、
前記取得した計算式情報と、前記定数値と、前記項目値とに基づいて、前記計算式に前記定数値及び項目値を適用して計算を前記計算順序に従った順序で行い計算結果を算出する
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションにより得点を計算する計算機、計算方法及びプログラムに関する。
【背景技術】
【０００２】
一般に介護サービスを受けるための判定においては、自治体向けアプリケーションが用いられている。自治体向けアプリケーションには、例えば介護予防サービスを受けることを希望する被保険者に対して要介護状態度の指標となる得点を計算し、計算結果として得られた得点に基づいて、被保険者に実際にサービスを提供するか否かを判定するプログラムが組み込まれている。このプログラムには、予め定められた計算式が設定される。
【０００３】
被保険者が予め用意されたチェックリストに回答すると、自治体向けアプリケーションは、チェックリストの回答を入力し、予め定められた計算式を用いて得点を計算する。得点を計算するための計算式は、国の法律や社会状況により変更される場合が多い。計算式が変更されると、変更された後の計算式に基づいて得点を計算することができるように、プログラムを改造する必要があり、変更の度に多大な開発費や導入費が必要になるという問題がある。
【０００４】
そこで特許文献１には、計算式に関する複数の計算式情報と複数の計算式識別子とを対応付けて格納したデータベースと、ネットワーク上に設けられた複数の処理装置とを備え、複数の処理装置のうちの第１処理装置は、データベースの内容を変更可能な変更プログラムを備え、複数の処理装置のそれぞれは、複数の計算式識別子のうちの第１計算式識別子を有するソースプログラムを備え、かつ、計算する場合にはデータベースを参照して、第１計算式識別子に対応する第１計算式情報を用いて計算する変動演算対応システムが開示されている。
【０００５】
この特許文献１によれば、計算式が変更された場合に複数の処理装置のそれぞれがソースプログラムを変更することなく、変更された計算式を計算することができるとしている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−５６３５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし特許文献１に記載の技術では、容易に計算式を変更することはできても、計算式を使い分けながら計算式を変更することについては考慮されていない。
【０００８】
本発明は以上の点を考慮してなされたもので、複数の法律・条例や自治体に応じて計算式を使い分けながら、容易に計算式を変更できる技術を提案しようとするものである。
【課題を解決するための手段】
【０００９】
かかる課題を解決するために、本発明においては、計算対象データは、処理ＩＤと、項目ＩＤと、項目ＩＤに対する項目値とを含み、計算処理実行部は、処理ＩＤと、計算対象データの適用時期に基いて、計算式管理テーブルから、複数の項目ＩＤ、定数ＩＤまたは計算値ＩＤと、これらを結びつける演算子とを含む計算式にかかる計算式ＩＤと、計算式にかかる計算を行う順序を規定した計算順序を有する計算式情報を取得し、取得した計算式情報に含まれる定数ＩＤに基づいて、定数管理テーブルから定数値を取得し、取得した計算式情報と、定数値と、項目値とに基づいて、計算式に定数値及び項目値を適用して計算を計算順序に従った順序で行い計算結果を算出することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、容易に計算式を使い分けながら計算式を変更することができる。
【図面の簡単な説明】
【００１１】
【図１】本実施の形態における計算機システムの全体構成図である。
【図２】自治体計算式管理テーブルの論理構成図である。
【図３】計算式管理テーブルの論理構成図である。
【図４】定数管理テーブルの論理構成図である。
【図５】チェックリストの一例を示す図である。
【図６】判定情報の論理構成図である。
【図７】得点計算結果の一例を示す図である。
【図８】得点計算処理の概要を示すフローチャートである。
【図９】得点計算処理の詳細を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下図面について、本発明の一実施の形態を詳述する。
【００１３】
（１）全体構成
図１は、本実施の形態における計算機システム１の全体構成を示す。計算機システム１は、入力装置１０、計算機２０及び出力装置３０を備えて構成される。入力装置１０は、例えばマウス、キーボード又はタッチパネル等であり、ユーザからの入力を受け付ける。
【００１４】
計算機２０は、例えばサーバ等であり、ＣＰＵ（Central Processing Unit）２１及び記憶部２２を備える。ＣＰＵ２１は、入力部２１１、計算処理実行部２１２及び判定処理部２１３を備え、また記憶部２２は、自治体計算式管理テーブル２２１、計算式管理テーブル２２２及び定数管理テーブル２２３を備える。
【００１５】
入力部２１１は、入力装置１０からの情報を入力し、入力した情報を判定情報に変換して計算処理実行部２１２に出力する。判定情報とは、入力装置１０からの情報を所定のフォーマットに変換した情報であり、ここでは要介護状態度を判定するために用いられる情報である。判定情報の詳細については後述する（図６）。
【００１６】
計算処理実行部２１２は、入力部２１１からの判定情報を入力し、入力した判定情報及び各種テーブル２２１〜２２３を参照して、要介護状態度の指標となる得点を計算する。ワーク領域Ａ及びＢには、計算過程の値が格納される。計算処理実行部２１２による得点計算処理の詳細については後述する（図８、図９）。
【００１７】
判定処理部２１３は、計算処理実行部２１２により計算された得点に基づいて、要介護状態度を判定し、判定結果を表示画面又は紙媒体により出力装置３０に出力する。出力される判定結果の詳細については後述する（図７）。
【００１８】
自治体計算式管理テーブル２２１は、自治体毎に適用する計算式及び適用時期を管理するためのテーブルである。計算式管理テーブル２２２は、任意の単位から構成される計算式毎に計算順序、項目名及び演算子等を管理するためのテーブルである。
【００１９】
また定数管理テーブル２２３は、任意の単位から構成される計算式毎に代入する値を管理するテーブルである。これらの各種テーブル２２１〜２２３の詳細については後述する（図２〜図４）。
【００２０】
なおここでは入力装置１０と、計算機２０と、出力装置３０とは、それぞれ異なる機器として説明しているが、必ずしもこれに限らず、計算機２０が入力装置１０及び出力装置３０を備えるとしてもよい。
【００２１】
（２）テーブル構成
図２は、自治体計算式管理テーブル２２１の論理構成を示す。自治体計算式管理テーブル２２１は、自治体固有ＩＤ欄２２１１、処理ＩＤ欄２２１２、計算式ＩＤ欄２２１３、適用開始年月日欄２２１４及び適用終了年月日欄２２１５から構成される。
【００２２】
自治体固有ＩＤ欄２２１１には、介護保険者番号等に含まれる自治体固有の識別情報が格納される。処理ＩＤ欄２２１２には、要介護状態度を判定する処理又はその他の処理等の処理を識別する識別情報が格納される。計算式ＩＤ欄２２１３には、計算式を識別する識別情報が格納される。適用開始年月日欄２２１４及び適用終了年月日欄２２１５には、計算式の適用期間が格納される。
【００２３】
従って図２の場合、例えば自治体固有ＩＤが「Ｇ００１」の自治体において、「Ｓ００１」により示される処理（例えば要介護状態度を判定する処理）を実行する場合、「２０１２０４０１」（２０１２年４月１日）から「２０１３０３３１」（２０１３年３月３１日）までの間は、「Ｘ００１」により示される計算式を用いて処理を実行することが示されている。また「２０１３０４０１」（２０１３年４月１日）からは、「Ｘ００２」により示される計算式を用いて処理を実行することが示されている。なお単独の自治体で本システムを運用する場合には、自治体固有ＩＤや、後述のフローチャートにおける自治体固有IDにかかる部分を省略することができる。
【００２４】
図３は、計算式管理テーブル２２２の論理構成を示す。計算式管理テーブル２２２は、計算式ＩＤ欄２２２１、計算順欄２２２２、項目名欄２２２３、演算子欄２２２４、端数計算有無欄２２２５、端数計算パターン欄２２２６、端数桁数欄２２２７及び計算結果欄２２２８から構成される。
【００２５】
計算式ＩＤ欄２２２１には、計算式を識別する識別情報が格納される。計算順欄２２２２には、同一の計算式ＩＤが複数存在する場合に計算する順序が格納される。項目名欄２２２３には、計算式において用いられる変数が格納される。演算子欄２２２４には、計算式において用いられる演算子が格納される。端数計算有無欄２２２５には、端数計算をするか否かを示す情報が格納される。
【００２６】
また端数計算パターン欄２２２６には、端数計算を行う場合の端数計算のパターンを示す数値が格納される。端数計算のパターンには、例えば整数四捨五入、整数切り捨て、整数切り上げ、小数四捨五入、小数切り捨て又は小数切り上げ等がある。端数計算パターン欄２２２６には、これらを示すものとして予め設定された０〜９等の数値が格納される。
【００２７】
また端数桁数欄２２２７には、端数計算を行う場合の桁数が格納される。例えば端数計算パターン欄２２２６に「整数切り捨て」が格納されており、端数桁数欄２２２７に１が格納されている場合、端数計算前の計算結果として得られた値が１１である場合には１の位が切り捨てられて計算結果は１０になる。計算結果欄２２２８には、計算結果が格納される。
【００２８】
従って図３の場合、例えば計算式ＩＤが「Ｘ００１」により示される計算式は、合計３つあり、計算順「００１」、「００２」、「００３」の順で上から順番に計算されることが示されている。また「Ｘ００１」の１番目の計算についてみると、項目名１は「ａ」（項目値）、項目名２は「Ａ」（定数値）であり、演算子は「×」であることから、「Ｘ００１」の１番目の計算は、「ａ×Ａ」であることが示されている。またこの「ａ×Ａ」により得られた計算結果については、端数計算はせず（端数計算有無が「０」）、計算結果をＹ（計算値）とすることが示されている。
【００２９】
また２番目の計算についてみてみると、項目名１は「ｂ」（項目値）、項目名２は「Ｂ」（定数値）であり、演算子は「×」であることから、「Ｘ００１」の２番目の計算は、「ｂ×Ｂ」であることが示されている。またこの「ｂ×Ｂ」により得られた計算結果については、端数計算はせず（端数計算有無が「０」）、計算結果をＺ（計算値）とすることが示されている。
【００３０】
また３番目の計算についてみてみると、項目名１は「Ｙ」（計算値）、項目名２は「Ｚ」（計算値）であり、演算子は「＋」であることから、「Ｘ００１」の３番目の計算は、１番目の計算により得られた値と２番目の計算により得られた値とを加算する「Ｙ＋Ｚ」であることが示されている。すなわち「Ｘ００１」により示される計算式は、全体として、（ａ×Ａ）＋（ｂ×Ｂ）であることが示されている。
【００３１】
図４は、定数管理テーブル２２３の論理構成を示す。定数管理テーブル２２３は、計算式ＩＤ欄２２３１、計算順欄２２３２、項目名欄２２３３及び値欄２２３４から構成される。
【００３２】
計算式ＩＤ欄２２３１には、計算式を識別する識別情報が格納される。計算順欄２２３２には、同一の計算式ＩＤが複数存在する場合に計算する順序が格納される。項目名欄２２３３には、計算式において用いられる変数が格納される。値欄２２３４には、計算式に用いられる定数が格納されており、例えば計算式の演算子が「×」の場合には重み付けに相当する値が格納される。
【００３３】
従って図４の場合、例えば計算式ＩＤが「Ｘ００１」により示される計算式のうち、計算順序が「００１」の計算式に用いられる変数「Ａ」には、「０．８」を代入することが示されている。なお図３を参照すると、計算式ＩＤが「Ｘ００１」の１番目の計算は、「ａ×Ａ」であることから、「ａ×０．８」となる。
【００３４】
図５は、チェックリストの一例を示す。チェックリストは、例えば介護サービスを受けることを希望する被保険者が複数の質問に対して回答した結果を示すリストである。複数の質問としては、例えば「質問ａ  歩行が困難な場合があるか」、「質問ｂ  食事を一人でとることが困難な場合があるか」等がある。
【００３５】
これらの質問に対して被保険者は、チェックリストを参照して、質問ａに対しては「２．ときどきある」、質問ｂに対しては「１．ある」のようにチェックして回答する。回答は、被保険者自身が入力装置１０を操作して回答してもよいし、被保険者が記入した用紙を参照して、専門の担当者が入力装置１０を操作して回答してもよい。回答結果は、入力装置１０から入力部２１１に出力され、入力部２１１により判定情報に変換される。
【００３６】
図６は、判定情報２１１Ａの論理構成を示す。判定情報２１１Ａは、自治体固有ＩＤ欄２１１１、処理ＩＤ欄２１１２、項目名欄２１１３及び値欄２１１４から構成される。
【００３７】
自治体固有ＩＤ欄２１１１には、自治体固有の識別情報が格納される。処理ＩＤ欄２１１２には、処理を識別する識別情報が格納される。項目名欄２１１３には、計算式において用いられる変数が格納される。値欄２１１４には、ここでは要介護状態度の得点に寄与する値が格納される。判定情報２１１Ａには、判定が適用される適用時期（図示せず）が含まれていてもよい。
【００３８】
従って図６の場合、例えば自治体固有ＩＤが「Ｇ００１」の自治体において、「Ｓ００１」により示される処理（例えば要介護状態度を判定する処理）を実行する場合、計算式に変数「ａ」、「ｂ」、「ｃ」及び「ｄ」が用いられることが示されている。また変数「ａ」には「２」を代入し、変数「ｂ」には「１」を代入し、変数「ｃ」には「２」を代入し、変数「ｄ」には「３」を代入することが示されている。
【００３９】
なおこれら変数ａ〜ｄは、チェックリスト（図５）の質問項目欄の質問ａ〜ｄに対応している。また変数ａ〜ｄに代入する値２、１、２、３は、それぞれ質問ａ〜ｄに対する回答番号２、１、２、３に対応している。
【００４０】
また図３を参照すると、計算式ＩＤが「Ｘ００１」の１番目の計算は、「ａ×Ａ」であることから、「２×Ａ」となる。さらに図４を参照すると、変数「Ａ」には「０．８」が代入されることから、結局のところ計算式ＩＤが「Ｘ００１」の１番目の計算は、「２×０．８」となる。なお本実施例では回答番号を得点計算用の値として直接用いているが、回答番号を変換テーブルを用いて計算に用いる値に変換してもよい。
【００４１】
（３）出力結果
図７は、得点計算結果の一例を示す。得点計算結果は、チェックリスト（図５）の回答を踏まえて計算された得点及び判定結果を示すものであり、出力装置３０により表示画面又は紙媒体に出力される。具体的に得点計算結果は、被保険者情報領域Ｒ１、回答結果領域Ｒ２、判定結果領域Ｒ３及び参考欄領域Ｒ４から構成される。
【００４２】
被保険者情報領域Ｒ１には、介護サービスを受けることを希望する被保険者の個人情報が出力される。ここでは被保険者番号、氏名、申請区分及び申請年月日が出力されている。回答結果領域Ｒ２には、チェックリストにおける回答結果が出力される。
【００４３】
また判定結果領域Ｒ３には、回答結果領域Ｒ２に出力されたチェックリストの回答結果を踏まえて計算された得点及び判定結果が出力される。得点計算処理の詳細については後述する（図８、図９）。参考欄領域Ｒ４には、得点の範囲と判定結果との対応関係が参考情報として出力される。
【００４４】
従って図７の場合、チェックリストの回答結果を踏まえて計算された得点は２１点であり、２１〜４０点の範囲は自立度Ｂであるため、判定結果として自立度Ｂと判定されていることが示されている。なおここでは自立度として出力される例を示しているが、要介護状態度として出力されるとしてもよい。自立度及び要介護状態度は、自立度が高いと要介護状態度は低くなる関係にある。
【００４５】
（４）フローチャート
図８は、得点計算処理の処理手順を示す。この得点計算処理は、入力部２１１からの判定情報２１１Ａを計算処理実行部２１２が入力したことを契機として、計算処理実行部２１２及び記憶部２２の各種テーブル２２１〜２２２の協働により実行される。なお説明の便宜上、処理主体を計算処理実行部２１２として説明する。
【００４６】
まず計算処理実行部２１２は、入力部２１１から判定情報２１１Ａを入力すると、今回対象とする自治体の計算式を取得するため、自治体計算式管理テーブル２２１を参照する（ＳＰ１）。
【００４７】
そして計算処理実行部２１２は、判定情報２１１Ａの自治体固有ＩＤ及び処理ＩＤが一致するレコードを自治体計算式管理テーブル２２１から抽出し、抽出したレコードのなかから適用年月日（例えば現在の年月日や、判定情報２１１Ａに含まれている適用時期）が含まれる適用期間のレコードを更に抽出し、抽出したレコードの計算式ＩＤ欄２２１３から計算式ＩＤを取得する（ＳＰ２）。
【００４８】
次いで計算処理実行部２１２は、計算式管理テーブル２２２を参照して（ＳＰ３）、ステップＳＰ２で取得した計算式ＩＤと一致するレコードを抽出し、抽出したレコードの計算順欄２２２２、項目名欄２２２３及び演算子欄２２２４から計算順、項目名及び演算子を取得する（ＳＰ４）。
【００４９】
次いで計算処理実行部２１２は、定数管理テーブル２２３を参照して（ＳＰ５）、ステップＳＰ２で取得した計算式ＩＤと、ステップＳＰ４で取得した計算順及び項目名とが一致するレコードを抽出し、抽出したレコードの値欄２２３４から値を取得する（ＳＰ６）。このときに、定数管理テーブル２２３の項目に自治体ＩＤを含ませ、計算式の演算子は同じでも自治体によって定数の値が異なるようにしてもよい。
【００５０】
そして計算処理実行部２１２は、判定情報２１１Ａの「値」と、計算式管理テーブル２２２から取得した「計算順」、「項目名」及び「演算子」と、定数管理テーブル２２３より取得した「値」とに基づいて、得点を計算する（ＳＰ７）。
【００５１】
図９は、得点計算処理の具体的な処理手順を示す。まず計算処理実行部２１２は、入力部２１１から判定情報２１１Ａを入力すると、自治体計算式管理テーブル２２１を参照して、判定情報２１１Ａに含まれる自治体固有ＩＤ及び処理ＩＤと一致するレコードを抽出する。また計算処理実行部２１２は、自治体計算式管理テーブル２２１の適用開始年月日欄２２１４及び適用終了年月日欄２２１５を参照して、抽出したレコードのなかから現在の年月日が含まれる適用期間のレコードを更に抽出し、抽出したレコードの計算式ＩＤ欄２２１３から計算式ＩＤを取得する（ＳＰ１１）。
【００５２】
なおここでは入力した判定情報２１１Ａは、図６に示すものとして説明する。この場合、自治体固有ＩＤ及び処理ＩＤは、「Ｇ００１」及び「Ｓ００１」であり、計算処理実行部２１２は、自治体計算式管理テーブル２２１から「Ｘ００１」又は「Ｘ００２」の計算式ＩＤを取得する。またここでは現在の年月日が２０１２年４月１日〜２０１３年３月３１日である場合について説明する。この場合、「Ｘ００１」が取得される。
【００５３】
次いで計算処理実行部２１２は、計算式管理テーブル２２２を参照して、ステップＳＰ１１で取得した計算式ＩＤと一致するレコードを抽出する。更に計算処理実行部２１２は、計算順欄２２２２を参照して、抽出したレコードのなかから計算順の昇順に１件のレコードを取得する（ＳＰ１２）。
【００５４】
ここではステップＳＰ１で取得した計算式ＩＤは「Ｘ００１」であるから、計算処理実行部２１２は、計算式管理テーブル２２２から「Ｘ００１」の計算式ＩＤと一致するレコードを３件分抽出する。また計算処理実行部２１２は、このなかから計算順序が「００１」のレコードを１件取得する。
【００５５】
以降計算処理実行部２１２は、同一の計算式について、１番目、２番目、３番目のように計算順の昇順に１件ずつ繰り返し処理を実行する（ＳＰ１３）。計算処理実行部２１２は、まずは計算順序が１番目の「Ｘ００１」のレコードについて処理を実行する。
【００５６】
具体的に計算処理実行部２１２は、ステップＳＰ１２で計算順が１番目のレコードを取得した後、ワーク領域Ａ及びＢを確保する（ＳＰ１４）。ワーク領域Ａは、計算式に含まれる変数と値とを対応付けて保持するための領域であり、ワーク領域Ｂは、任意の単位の計算式による計算結果を保持するための領域である。
【００５７】
次いで計算処理実行部２１２は、判定情報２１１Ａ及び定数管理テーブル２２３を参照して、ステップＳＰ１２で計算式管理テーブル２２２から取得したレコードに含まれる項目名と一致する項目名が判定情報２１１Ａ及び定数管理テーブル２２３に存在するか否かを判断する（ＳＰ１５）。
【００５８】
ここではステップＳＰ１２で取得した計算順が１番目の「Ｘ００１」のレコードには、「ａ」及び「Ａ」の項目名が含まれる。よって判定情報２１１Ａに含まれる「ａ」及び定数管理テーブル２２３に含まれる「Ａ」と一致する。
【００５９】
計算処理実行部２１２は、ステップＳＰ１５の判断で肯定結果を得ると、一致する項目名に対応する値を判定情報２１１Ａ及び定数管理テーブル２２３から取得し、ワーク領域Ａに設定する（ＳＰ１６）。
【００６０】
そして計算処理実行部２１２は、計算式管理テーブル２２２を参照して、計算順序が１番目のレコードに含まれる演算子を取得し、取得した演算子と、ワーク領域Ａに設定した値とに基づいて計算を行う（ＳＰ１８）。
【００６１】
ここでは計算処理実行部２１２は、ワーク領域Ａにａ＝２、Ａ＝０．８を設定し、演算子「×」に基づいて、２×０．８＝１．６を計算する。
【００６２】
次いで計算処理実行部２１２は、計算式管理テーブル２２２を参照して、計算結果について端数計算をするか否かを判断する（ＳＰ１９）。
【００６３】
計算処理実行部２１２は、ステップＳＰ１９の判断で否定結果を得ると、計算結果をワーク領域Ｂに設定する（ＳＰ２０）。そして計算処理実行部２１２は、計算式管理テーブル２２２を参照して、計算すべき次のレコードを取得する（ＳＰ２１）。
【００６４】
なおここでは計算処理実行部２１２は、計算式管理テーブル２２２を参照すると、計算順序が１番目の「Ｘ００１」のレコードについては端数計算しない設定であるため、ステップＳＰ１９の判断では否定結果を得るが、端数計算する設定である場合には端数計算パターン及び端数桁数に基づいて端数計算を行い（ＳＰ２１）、端数計算した後の計算結果をワーク領域Ｂに設定する（ＳＰ２０）。
【００６５】
この後、計算処理実行部２１２は、計算順序が２番目の「Ｘ００１」のレコードを計算式管理テーブル２２２から取得し（ＳＰ２１）、上記説明してきた処理を繰り返し実行する（ＳＰ１４〜ＳＰ２０）。なお計算処理実行部２１２は、ワーク領域Ａにｂ＝１、Ｂ＝１．２を設定し（ＳＰ１６）、演算子「×」に基づいて、１×１．２＝１．２を計算する（ＳＰ１８）。そして計算処理実行部２１２は、計算結果をワーク領域Ｂに設定して（ＳＰ２０）、計算すべき次のレコードを取得する（ＳＰ２１）。
【００６６】
また計算処理実行部２１２は、計算順序が２番目の「Ｘ００１」のレコードについて処理を終了すると、計算順序が３番目の「Ｘ００１」のレコードを計算式管理テーブル２２２から取得し（ＳＰ２１）、上記説明してきた処理を繰り返し実行する（ＳＰ１４〜ＳＰ２０）。なお計算処理実行部２１２は、ステップＳＰ１５において否定結果を得ると、ワーク領域Ｂに設定されている計算結果をワーク領域Ａに設定する（ＳＰ１７）。具体的にはワーク領域ＡにＹ＝１．６、Ｚ＝１．２を設定する。そして計算処理実行部２１２は、演算子「＋」に基づいて、１．６＋１．２＝２．８を計算する（ＳＰ１８）。
【００６７】
計算処理実行部２１２は、同一の計算式について、１番目、２番目、３番目のように計算順の昇順に１件ずつ繰り返し処理を実行した後（ＳＰ１３）、ループを終了して（ＳＰ２３）、この得点計算処理を終了する。
【００６８】
（５）本実施の形態による効果
以上のように本実施の形態における計算機システム１によれば、自治体計算式管理テーブル２２１から自治体毎に異なる計算式ＩＤを取得し、計算式管理テーブル２２２から計算順に任意の単位の計算式を取得し、定数管理テーブル２２３及び判定情報２１１Ａから計算式に適用する重み付けの値及び得点に寄与する値を取得して、データベースで一元管理する計算式に関する情報から計算式を組み立てて計算するようにしたので、法律等により計算式が変更された場合、或いは、自治体毎に計算式を異ならせる場合であっても、各種テーブル２２１〜２２３に格納する値を変更するだけで、プログラムを改造することなく適切な計算式に基づいて計算することができる。
【００６９】
また自治体計算式管理テーブル２２１には、適用開始年月日欄２２１４及び適用終了年月日欄２２１５を設けるようにしたので、法律改正前と改正後の新旧の計算式ＩＤを格納しておくことができる。よって改造前後の２つのプログラムを保持しておく必要がなく、また法律改正時に各種テーブル２２１〜２２３を一斉に変更する必要もないため、法律改正にともなう作業負担を軽減することができる。
【００７０】
また自治体計算式管理テーブル２２１に適用開始年月日欄２２１４及び適用終了年月日欄２２１５を設けて計算式の適用期間を管理し、適用する計算式を自動判別するようにしたので、計算式が頻繁に変更される場合において適用期間を確認する煩雑な作業を解消することができる。また適用期間の間違いにより得点に不備が生じることを解消することができる。
【符号の説明】
【００７１】
１      計算機システム
１０    入力装置
２０    計算機
２１    ＣＰＵ
２１１  入力部
２１２  計算処理実行部
２１３  判定処理部
２２    記憶部
２２１  自治体計算式管理テーブル
２２２  計算式管理テーブル
２２３  定数管理テーブル
３０    出力装置
【図１】
2015201078.tif 000003
【図２】
2015201078.tif 000004
【図３】
2015201078.tif 000005
【図４】
2015201078.tif 000006
【図５】
2015201078.tif 000007
【図６】
2015201078.tif 000008
【図７】
2015201078.tif 000009
【図８】
2015201078.tif 000010
【図９】
2015201078.tif 000011