2011年9月15日木曜日

ケアマネジメントシステム開発 居宅介護支援経過

調査第6回目は、「居宅介護支援経過」です。
時系列順だと「サービス利用票」「サービス利用票別票」が先ですが、これらは給付管理の範疇に入ってくるため、項を分けて別途検討したいと思います。

1、「居宅介護支援経過」とは?

「居宅介護支援経過」は、「サービス担当者会議」や、利用者・関係者から直接提起された指摘事項・要望・苦情などを記録して、管理するものです。
これは、ISO9001などの品質管理システムでよく用いる「指摘事項一覧表」に該当すると考えれば分かりやすいと思います。


2、様式の例

様式は、介護保険制度において「第6表」と定義され、指定されています。
書式例は以下の通りです。


※ この様式は、ケアマネジメントオンラインさまのHPから入手致しました


3、様式について考察

これも内容はシンプルで、単に日時と処置をフリーに記入していくものです。
ただ、この記録の運用で最も大事なことは、「どの事項が解決し、どの事項が未解決で残っているか」が把握できることにあります。

ここでは、様式に簡単なステータス管理の機能を追加することを考えます。
ただし、様式の骨格を変更することはできませんので、手書きでもよく使う次のような方法で対処することを考えます。

・新規記載(未着手)時 ⇒ 項目を赤字
・着手したが未解決時 ⇒ 項目を青字
・解決時 ⇒ 項目をグレーで網かけ

※ 色は暫定です(印刷時に目立たない色にします)

例えば、以下のような感じです。











操作は、これも様式に影響しないように、メニューから行うか、右クリックなどで対応することを考えます。


4、まとめ

・様式は定められており、項目は全て指定されている。
・項目は、単にフリー入力とする。
・様式の骨格を変えない程度の、ステータス管理機能を設ける。


5、次回の予定

計画系の指定様式「サービス利用/提供票」「サービス利用/提供票別票」の検討が残っていますが、これらは給付・請求処理の要素を含み、新たなアプローチが必要となってきます。
冒頭では、別項で…としましたが、次回は、以下のいずれかの予定として、検討・相談の上決めたいと思います。

・「サービス利用/提供票」の検討のため、給付・請求処理の調査に進む。
・ここまでの結果を一区切りとして、次フェーズ(設計・プロトなど)を検討する。

今回はこのあたりで…

2011年9月6日火曜日

ケアマネジメントシステム開発 サービス担当者会議の要点

調査第5回目は、「サービス担当者会議の要点」です。

1、「サービス担当者会議の要点」とは?

「サービス担当者会議」は、各利用者ごとに、実施しているサービスが予定通りの成果をあげているか検証する会議であり、ISO9001等では「レビュー」にあたります。
、「サービス担当者会議の要点」は、そのレビュー議事録ということになります。
この会議で出された指摘を元に、計画を修正してサービス品質を改善すれば、利用者の望む目標への到達が、より近づくこととなります。


2、様式の例

様式は、介護保険制度において「第4表」と定義され、指定されています。
書式例は以下の通りです。


※ この様式は、ケアマネジメントオンラインさまのHPから入手致しました


3、様式について考察

内容はシンプルで、通常よく使われる議事録そのものです。
よってシステム化よりは、「居宅サービス計画書(1)」等のように、入力を補助する機能を取り入れることとします。

3.1 利用者名、担当者名

利用者名は、、「アセスメントシート」の章で出てきた「利用者マスタ」を参照して、選択します。
担当者名は、同じく「利用者マスタ」を参照して、当該利用者のサービス担当者を設定します。

3.2 日時、場所

現在の日付け、時刻を自動入力し、修正ができるようにしておきます。
場所は、以下のような選択肢を用意して、選択します。

・Aケアハウス 第一会議室
・B市 地域包括支援センター 応接室
・C病院 ナースセンター
・利用者宅

※ マスタとするには大げさなので、この様式の中で、追加/修正できる機能を設けます

3.3 出席者

利用者に何らかの形で関っている者全てが出席者になり得ます。
以下の通り、これまでに定義した各マスタを参照して入力することができます。

・担当者 ← 「利用者マスタ」
・他の職員 ← 「職員マスタ」
・サービス依頼先の担当者 ← 「提携事業所マスタ」
・主治医 ← 「医師マスタ」
・看護師 ← 「医師マスタ」
・家族 ← 「利用者マスタ」

3.4 その他の議事

これらは、単に口語体の入力欄であり、現状ではフリー入力とします。


4、まとめ

・様式は定められており、項目は全て指定されている。
・利用者名・出席者などの氏名は、過去定義した各マスタを参照して入力する。
・場所は、簡単な選択肢を用意して、そこから選択する。
・議事項目は、単にフリー入力とする。

5、次回の予定

次回は、業務フローが前後しますが、「居宅介護支援経過」について調べます。

今回はこのあたりで…

2011年8月23日火曜日

ケアマネジメントシステム開発 週間サービス計画表

いつも遅くなってしまい申訳ありません。
調査第4回目は、「週間サービス計画表」です。

1、「週間サービス計画表」とは?

「週間サービス計画表」は、「居宅サービス計画書(2)」で決めたサービスを、週毎の実行計画に落とし込むために使用される文書です。
この文書が、(給付管理の要素を除けば)最も詳細なサービス計画となります。

2、様式の例

様式は、介護保険制度において「第3表」と定義され、指定されています。
書式例は以下の通りです。


※ この様式は、ケアマネジメントオンラインさまのHPから入手致しました

3、様式について考察

縦が一日の時間軸、横が一週間の曜日軸になっており、「Googleカレンダー」のように各サービスをスケジューリングする様式となっています。

これは、今までの様式(項目ごとにひとつひとつ入力する)とは異なるため、専用の入力方法について検討する必要があります。

また、「居宅サービス計画書(2)」において、具体的なサービス種別と頻度まで明記されている以上、この内容をある程度自動で反映できる機能も実現する必要があります。

さらに、上記実現のためには、過去の週間サービスをデータとして参照する必要があり(後項で説明)、カレンダーを見た目そのまま保存したのでは実現が困難となります。
よって、どのようなデータ形式で保存するかも重要な要素となります。

3-1、データの反映

処理手順が「データの反映」→「不足分の手入力」となるので、まず反映方法を検討します。

上記の通り、何曜日の何時などは反映前は不定であり、いきなり計画表に自動反映することはできません。
そこで今回は、「居宅サービス計画書(2)」に記述されたサービス内容と頻度を、一旦別フォームに表示し、それに不定な情報を追記して反映する方法とします。

このとき頻度に着目し、今週実施しなければならないサービスのみ表示するようにします。
頻度により、先週~半年前までの「週間サービス計画表」を参照して絞り込むようにします。

反映フォームの例を、次に示します。












※ 反映処理は次項を参照

3-2、カレンダー入力

やはり、「Googleカレンダー」のような入力方法が、実現性が高く妥当ではないかと思います。

新規入力(反映処理)は、前項で説明した反映フォーム経由の入力となります。
例えば、上記反映フォームの「反映ボタン」を押下すると、入力フォームを使った入力処理に遷移するものとします。

訂正の場合は、カレンダー上の該当サービスの欄をクリックすると、入力フォームに遷移します。

入力フォームの例を、次に示します。













「時間n」は、週n回のように、週内で複数回実施する場合に対応するものです。ここでは、最大4回まで対応するものと仮定しました。

「主な日常生活上の活動」は、「週間サービス計画表」の最後の列にある項目で、サービス内容をデフォルトとして、手書きで任意の内容に修正して使うものとします。

「OK」を押下すると、「週間サービス計画表」のカレンダーにビジュアルに反映します。

3-3、ビジュアル表示

曜日軸と時間軸が様式で固定しているため、表示仕様は一意に決まります。
以下に例を示します。


※ 例えばExcelで実現する場合は、「セルの結合」などを自動で実行する必要があります

3-4、データの保存方法

3項の通り、各サービスの全情報をバックエンドで参照できるように、上項表示とは別途、テキストデータとして保存することを考えます。

ここでは、以下例のような、単純なCSV形式としてみます。

(日付), (開始時刻), (終了時刻), (サービス種別), (サービス内容), (主な日常生活上の活動)
⇒ 20110810, 12:00, 13:00, 訪問介護, ヘルパー派遣

(日付), (主な日常生活上の活動)
⇒ 20110810, 昼食(ヘルパー派遣 火・木・日)

※ (曜日)は、(日付)から生成できるので、あえて保存しないことにします
※ (日付)の年号は、和暦のままで保存しても良いかも知れません

4、まとめ

・様式は定められており、項目は全て指定されている。
・「居宅サービス計画書(2)」のサービス内容のうち、該当週に実施すべきものを別フォーム上で絞り込む。
・反映時の追加情報入力及び、反映後の修正は、「Googleカレンダー」のように別フォーム上で行う。
・ビジュアル表示は、例えばExcelなら、「セルの結合」を自動で実行するなどの方法で実現する。
・データは、バックエンド参照される場合を考慮して、CSV形式で保存する。


5、次回の予定

次回は「サービス担当者会議の要点」について調べます。
今回はこの辺りで…

2011年7月19日火曜日

ケアマネジメントシステム開発 居宅サービス計画書(2) 調査

調査第三回目は、「居宅サービス計画書(2)」です。
今回は複雑でまとめるのに時間がかかってしまい、大変遅くなりました。何とぞご容赦くださいm(__)m

1、「居宅サービス計画書(2)」とは?

「居宅サービス計画書(2)」は、介護サービスの基本方針をもとに、具体的な計画に落とし込むために使用される文書です。

2、様式の例

様式は、介護保険制度において「第2表」と定義され、指定されています。
書式例は以下の通りです。


※ この様式は、ケアマネジメントオンラインさまのHPから入手致しました

3、様式について考察

この様式では、まず「生活全般の解決すべき課題」において利用者の抱えるニーズを明確にし、各ニーズ毎に「目標」と「援助(サービス)内容」を定めるようになっています。
各項目毎に、以下に考察します。

3-1、生活全般の解決すべき課題(ニーズ)

利用者が日常生活において抱えている課題(ニーズ)を列挙します。
ここで列挙する項目は、前回「居宅サービス計画書(1)」の基本方針に対し、極めて具体的なものとなっており、どう記述すれば良いか戸惑うところですが、そのヒントは「アセスメントシート」にあります。

「アセスメントシート」では、課題分析に関する項目として以下が掲げられていました。

<課題分析(アセスメント)に関する項目> 計14項目
・健康状態
・ADL

・IADL
・コミュニケーション能力
・社会との関わり
・排尿・排便
・褥瘡・皮膚の問題
・口腔衛生
・食事摂取
・問題行動
・介護力
・居住環境
・特別な状況


これらの項目をキーとして、各ニーズを決めることができます。

例えばADLであれば、「歩けるようになりたい」「自宅のお風呂で入浴したい」などのニーズが考えられます。
また社会との関わりであれば、「地域行事に参加できるようになりたい」「長女の自宅を訪れてみたい」なども考えられます。

※ 表現として、~したい」「~なりたい等の前向きなものが推奨されているようです

ひとりひとりのきめ細かいサービスを考えると、利用者毎に手入力することも考えられますが、ここでは早く良質な計画を立案することを前提に、「アセスメントシート」の項目毎に分類した「課題(ニーズ)マスタ」を用意することとします。

マスタの具体的内容は、(有)ライフステーションさまのHP に適切な例が掲載されていましたので、この例をもとに、上記14項目をキーとして分類したものを次の例のように「課題(ニーズ)マスタ」に登録し、それらから利用者に最も適したものを選択することにします。

(課題分析項目)「IADL」
⇒(ニーズ1)「自分で金銭管理したい」
⇒(ニーズ2)「自分で調理したい」
⇒(ニーズ3)「買い物に出かけたい」
⇒(ニーズ4)「自室を常に整頓しておきたい」

ただし、各利用者に固有の表現(**シニアクラブなど)や、特殊なニーズにも対応するために手入力で修正・追加も可能にします。

3-2、目標

各ニーズ毎に、長期・短期で目標と期間を決定します。

3-2-1、長期目標・短期目標

これは、3-1項の各ニーズをキーに定義することができます。
例えば、「歩けるようになりたい」というニーズであれば、「市役所まで歩いて行ける」という目標が考えられます。
また、「安全に家の中を動けるようになりたい」であれば、まず「立ち上がり、移動動作がふらつかないでできる」を目指すことが考えられます。

ここも、具体的な内容は (有)ライフステーションさまのHP の例を参考に「目標マスタ」を用意し、それらから選択できようにします。
このとき、「短期」と「長期」を区別するかが問題となりますが、ある目標が、自立度の比較的高い利用者には「短期」であっても、自立度の低い利用者にはハードルが高く「長期」に当てはまる場合もあるので、あえて区別はせず、難易度レベル順に並べて登録することとします。

また、各目標は、場合により複数のニーズに対応するキーに分類できますので、次の例のように「課題(ニーズ)マスタ」に関連付けておきます。

(ニーズ)「自分で排せつができるようになりたい」
⇒(目標レベル1)「規則的な排便の習慣が身につく」
⇒(目標レベル2)「介助にてポータブルトイレへの移乗ができる」
⇒(目標レベル3)「ポータブルトイレへの移乗ができる」
⇒(目標レベル4)「自分でポータブルトイレを使うことができる」
⇒(目標レベル5)「介助にてトイレに行くことができる」
⇒(目標レベル6)「自分でトイレに行くことができる」

3-2-2、期間

それぞれの期間は、aa年bb月cc日~xx年yy月zz日 と記入する例が多いようですので、この表記でカレンダー入力できるようにします。


3-3、援助内容

各目標を達成するための援助(サービス)内容を決定します。
※ ひとつの目標を達成するのに、複数のサービスを提供する場合もあり、これは後項で検討します

3-3-1、サービス内容

これは、事業所(委託先を含む)・医療・家庭などで提供可能なサービスの内容を列挙します。
例えば、「ヘルパーによる調理サポート」「医師によるリウマチ治療」などが考えられます。

サービス内容は、事業所によりほぼ一意に決まるものと思われますので、「サービスマスタ」を用意しておき、それから選択できるようにします。
ただし特別なサービスの提供を考慮して、選択以外に手入力が可能にしておきます。

3-3-2、「※1」(保険給付の対象となるかどうかの区分)

提供可能なサービスが、介護保険給付対象であるかを判別するものです。
これは、以降検討する給付処理で重要な情報となります。
判別の根拠として、以降検討する「サービスコード一覧表」を参照し、「サービスマスタ」に予め登録しておき、サービス内容を選択すると自動で反映されるようにします。

3-3-3、サービス種別

サービス内容がどんな種別であるか明確にします。
この種別は、まず、第一回で説明しました居宅サービスの分類15項目が該当します。
15項目は以下の通りでした。

 ①訪問介護
 ②訪問入浴介護
 ③訪問看護
 ④訪問リハビリテーション
 ⑤通所介護
 ⑥通所リハビリテーション
 ⑦居宅療養管理指導
 ⑧福祉用具貸与
 ⑨短期入所生活介護
 ⑩短期入所療養介護
 ⑪痴呆対応型共同生活介護
 ⑫特定施設入所者生活介護
 ⑬福祉用具購入
 ⑭住宅改修
 ⑮居宅介護支援

上記は介護保険制度の管理範疇のサービス種別ですが、それ以外に、以下のようなサービスも当てはまります。

・医療機関等による診療
・ボランティア等によるサービス
・家族による介護

これらをそのまま「サービス種別マスタ」と定義し、「サービスマスタ」を関連付けて、自動で反映されるようにします。
例えば、以下のような例が考えられます。

(サービス)「ポータブルトイレ導入」
⇒(種別1) 「福祉用具購入」(ほとんどこれ)
⇒(種別2) 「福祉用具貸与」(サイズなどが合うか試用してみたいとき等)
⇒(種別3) 「訪問リハビリテーション」(その都度ヘルパーが持ってくる場合等)

3-3-4、「※2」(当該サービスを行う事業所)

選択されたサービスが、どの事業所で提供されるか明確にします。
これは、業務を依頼している事業所を「提携事業所マスタ」として登録し、さらに「サービス種別マスタ」「を関連付けておけば、決定した種類のサービスを依頼できる事業所を選択することができます。
例えば、

(事業所)「あおぞらケアサービス」
⇒(種別1) 「訪問介護」
⇒(種別2) 「訪問入浴介護」
⇒(種別3) 「訪問リハビリテーション」

(事業所)「しあわせグループホーム介護事業部」
⇒(種別1) 「訪問入浴介護」
⇒(種別2) 「訪問看護」
⇒(種別3)「居宅介護支援」

のように登録されているとき、サービス種別が「訪問入浴介護」であれば、上記ふたつの事業所が逆引きヒットして選択できるようになります。

3-3-5、頻度

選択されたサービスをどの位の頻度で提供するか決定します。
具体的な曜日・時間まで記述された例もありますが、それらは次回「週間サービス計画書」で明確にすればよいので、ここでは、シンプルに以下のような要素を列挙して、選択するようにします。

・常時
・随時
・毎日
・一日おき
・週2~3回
・週一回
・月2~3回
・月1回

3-3-6、期間

各サービス毎に、実施予定期間を設定します。
3-2-2項と同様に、aa年bb月cc日~xx年yy月zz日表記でカレンダー入力できるようにします。

3-4、複数サービスの列挙

ひとつの目標を達成するのに、複数のサービス提供が必要な場合が出てきます。

サービス提供側に何の制限もないと仮定すると、あるニーズ目標を達成するために、複数のサービスを提供し、さらにそれぞれのサービスを実現するために複数の種類や事業所を割り当てることも考えられなくありませんが、開発の難易度が相当高くなってしまいますので、今回は、以下の方針で検討することとします。

・ひとつのニーズ目標を達成するためのサービス内容は、複数(とりあえず最大4つ)設定できる
・ひとつのサービス内容を提供するための種別・事業者は、それぞれひとつだけ選択して設定できる

例えば、「自宅で入浴したい」を達成するために、「入浴補助いすの導入」と「ヘルパー派遣」を組み合わせて提供することが考えられます。
このとき、「入浴補助いすの導入」サービスの種別は「福祉用具貸与」ひとつとし、貸与先事業所もひとつにします。

これらを様式に書いてみると以下のようになります。


※ シンプルで分かりやすく、妥当ではないかと思います

4、まとめ

・様式は定められており、項目は全て指定されている
・以下のマスタを用意する
 「課題(ニーズ)マスタ」(課題分析に関する14項目をキーに列挙)
 「目標マスタ」「課題(ニーズ)マスタ」を関連付け 難易度レベル順に列挙)
 「サービスマスタ」(自社・提携事業所・医師・家庭・ボランティアで提供できるものを列挙)
 「サービス種別マスタ」「サービスマスタ」を関連付け 居宅サービス15項目+医療・家庭・ボランティア)
 「提携事業所マスタ」「サービス種別マスタ」を関連付け サービス種別から逆引き選択)

・ひとつのニーズに対して最大4サービス登録できるが、ひとつのサービスに対して種別と事業者はひとつのみ


5、次回の予定

次回は「週間サービス計画書」について調べます。
今回はこの辺りで…

2011年5月31日火曜日

ケアマネジメントシステム開発 居宅サービス計画書(1)調査

※事情により更新が滞ってしまい申訳ありません。

調査第二回目は、「居宅サービス計画書(1)」です

1、「居宅サービス計画書(1)」とは?

「居宅サービス計画書(1)」は、介護サービスの基本方針を明確にするために使用される文書です

2、様式の例

様式は、介護保険制度において「第1表」と定義され、指定されています
書式例は以下の通りです


※ この様式は、「ケアマネジメントオンライン」のサイトから入手致しました

3、様式について考察

内容はシンプルです

上半分(要介護状態区分まで)は、計画作成日を除けば「アセスメントシート」の基本情報からの転記となります

「アセスメントシート」の基本情報 ≒ 「利用者マスタ」であり、この部分は利用者マスタの情報を参照すれば、入力不要となります

後半は、介護サービスの基本方針を文面での記述となります
ここも、「アセスメントシート」の章で説明した通り、入力支援機能を用いて担当者の負担軽減を図りたいと思います

3.1、データベースのモデルについて

「利用者マスタ」を参照・・・ と出てきましたので、ここで、データベースのモデルをどうするか検討しておきたいと思います

マスタ参照で最も一般的なのは、リレーショナルモデルであり、このモデルの場合、マスタ参照元が更新されると参照先も一意に更新されます

もう一つ代表的なモデルはカードモデルで、これは、マスタを参照するのは新規作成時だけで、参照先が保存されるとマスタとは独立したデータとなって蓄積され、以後マスタを更新しても参照先は更新されません

介護保険制度では、ケアマネジメントにおいては、毎時点での文書を作成して蓄積する「時点主義」様式を前提に考えることが明示されています

よって、今回取り組むシステムにおいては、データが蓄積されるカードモデルを前提に検討することとします
ただし、以下のケースは、マスタ更新に同期することが望ましいため、リレーショナルモデルが適しています

・あるマスタが、別マスタの参照先である場合(最適化すれば無くなるはずです…)
  (例)利用者の住所が変わり、よって郵便番号も変更になった
・ある文書が、作成中に一時保存されている場合
  (例)「アセスメントシート」作成中に、利用者の認定有効期間が延長になった

4、今回のまとめ

・様式は定められており、項目は全て指定されている
・前半は概ね「利用者マスタ」を参照して入力し、後半は手入力項目となる
・手入力項目は、定型文入力支援機能の実装を検討する

・(「居宅サービス計画書(1)」に限らず)データが蓄積されるカードモデルを前提とする

今回はこのあたりで…
次回は「居宅サービス計画書(2)」について調べます

2011年4月26日火曜日

ケアマネジメントシステム開発 アセスメントシート調査

前回、ケアマネジメントの大まかなフローと、各フェーズで必要な文書について調べました
今回から、文書一つ一つについて調べ、同時に、システム化していく上でのポイントについて検討します
第一回目は「アセスメントシート」です

1、「アセスメントシート」とは?

「アセスメントシート」は、ケアプランを作成するにあたり、サービス利用者の介護に関する課題を分析し、洗い出すために使用される文書です

「アセスメントシート」の様式は現在特段の指定はありませんが、「課題分析標準項目」として以下が示されており、項目でみれば実質標準化されています

<基本情報に関する項目> 計9項目
・基本情報(受付、利用者等基本情報)
・生活状況
・利用者の被保険者情報
・現在利用しているサービスの状況
・障害老人の日常生活自立度
・痴呆性老人の日常生活自立度
・主訴
・認定情報
・課題分析(アセスメント)理由


<課題分析(アセスメント)に関する項目> 計14項目
・健康状態
・ADL ※

・IADL ※
・コミュニケーション能力
・社会との関わり
・排尿・排便
・褥瘡・皮膚の問題
・口腔衛生
・食事摂取
・問題行動
・介護力
・居住環境
・特別な状況


※ ADLとは、Activities of Daily Living の略で、食事・更衣・排泄・入浴など生活を営む上で不可欠な基本的行動のことです
※ IADLとは、Instrumental Activities of Daily Living の略で、買い物・家事・金銭管理など、ADLより高次の生活機能のことです

2、様式の例

上記項目が分かりやすく反映されている「アセスメントシート」の例を以下に示します
これは、(株)インターネットインフィニティーさま が作成した様式を、「ケアマネジメントオンライン」のサイト経由で入手したものです

1ページ目:


2ページ目:


3ページ目:



3、様式について考察

この様式例では、1ページ目に主に基本情報が順に列挙され、2・3ページ目に課題分析項目が順に列挙されています
ADL・IADLは、具体的に定義され、全て選択肢で入力できるようになっています

何れも利用者固有の情報であり、直接入力と選択肢によるシンプルなデータテーブルとなっています

特に基本情報は、入力結果を「利用者マスタ」と定義できることがすぐに考えられます

他に、利用頻度が高く、マスタとして括りだしたほうがよいデータとして以下が考えられます
・担当CM(=ケアマネージャ)や受付対応者 ⇒ 「職員マスタ」
・病院名や担当医 医療機関 ⇒ 「医師マスタ」
・郵便番号・住所 ⇒ 「郵便番号マスタ」(これは広く存在するのでは?)
・緊急連絡先 ⇒ 「家族マスタ」(これは独立しなくて良い?)

また、「アセスメントシート」に限らず一人あたり相当数の入力項目があり、ニーズとしてなるべくキーボードを打たずに入力したいと聞いていますので、以下のような入力支援を検討したいと思います
・日付のカレンダー入力
・定型文入力
 ⇒ 以下例のように、キーワードを含む過去入力文を表示して選択できるもの



なお、この様式では、一部「家系図」や「疾患の部位を記述する絵」など、ビジュアルな入力項目がありますが、これをソフトウエアで実現するかは別途検討します(すいません…)

現状での考察はこのあたりまでとして、詳しくは今後の仕様決定や基本設計で検討したいと思います

4、今回のまとめ

・「アセスメントシート」の様式は任意であるが、項目はほぼ指定されている
・ほぼ全項目、直接入力と選択枝でシンプルなデータテーブル化が可
・以下をマスタとして括りだすと良いのではないか
  「利用者マスタ」・「職員マスタ」・「郵便番号マスタ」・「家族マスタ」

・以下のような入力支援機能があると親切
  日付カレンダー入力・定型文入力支援

今回はこのあたりで…
次回は「居宅サービス計画書」について調べます

2011年4月14日木曜日

ケアマネジメントシステム開発 スタート

長期システム開発のテーマとして、「ケアマネジメント」を採り上げることとしました

現状では雲を掴むような状態でもあり、まずケアマネジメントの概略を調べて、当面の目標を設定したいと思います

なおここでの調査結果は、上記の通りシステム開発を目的としていますので、データの中身より構造や処理に特化した内容となってしまうことをご了承ください

序、ケアマネジメントとは?

広義では、「福祉サービスを円滑・効果的に管理すること」となりそうですが、現在の社会保障制度では

介護保険制度で定められた福祉サービスの運用ルール

と位置付けられます

※ なお介護保険制度で対象となるのは「高齢者」であり、障害者については別制度(障害者自立支援制度)でのサポートとなるため、ここでは採り上げないこととします

現在の介護保険制度では、運用すべきサービスとして大きく以下二つが定義されています
・居宅サービス ⇒ 自宅で過ごし、訪問サービスを利用したり施設に通ってサービスを利用する
・施設サービス ⇒ 施設に長期に入居して、原則その施設のサービスを利用する

また、居宅サービスは「訪問介護」「通所介護」他15種類、施設サービスは「介護福祉施設サービス」他3種類のサービスに分類されています

今回は、「居宅サービス」に絞って調査を進めて行くこととしたいと思います
以後、「ケアマネジメント」は「居宅サービスのケアマネジメント」を指すととなりますのでご了解ください

それではまず手始めに、ケアマネジメントの大まかなフローと、各フェーズで必要な文書・記録について調べて行くととします

1、ケアマネジメントのフロー


※ 左がフローで、右は各フェーズで作成する文書・記録です
※ 色付きは、作成が必須とされる文書・記録です
※ 「介護給付費単位数サービスコード表」は、(独)福祉医療機構が提供するデータです

2、各文書の概要


3、「介護給付費等単位数サービスコード表」

先述しました居宅15サービス+施設3サービスを、時間帯や難易度でさらに約1700項目に細分化したデータテーブルです
細分化されたサービスそれぞれに、介護報酬の単価基準となる「単位」が定められており、給付額を決定する重要データであると共に、サービス提供と給付・請求処理を結びつけるインターフェースともなります

4、ここまでの考察

まずフロー面では、「居宅介護サービスを提供するプロジェクトを成功に導く」ための「PDCAモデル(Plan-Do-Check-Action)」そのものであり、マネジメントシステムとして非常に良くできていると思います
次に文書面では、殆どの文書が書式指定であり、ソフトウエアに落とし込むと共通化のメリットがより大きくなります
またデータの転記箇所が多く、これはシステム化で大きく省力化できるものと思われます
さらに給付請求処理では、サービスコードから介護保険請求額を算出する処理は手作業では困難で、システム化の効果が極めて大きいものと思われます

5、次回の予定

各文書について調べて行きたいと思います

※ 今回の調査では「ケアプランの広場」「WAM NET」(福祉医療機構ポータル)というサイトを参考・引用させて頂きました
管理者の方に御礼申上げます
また稚拙な質問にお答え頂いた、鹿児島県日置市 地域包括支援センターの担当の方に、この場を借りて御礼申上げます

今日のところは以上です

2011年3月23日水曜日

小さなイルミネーション

Arduino作品第一号です
心休まるテーマを・・・と思い、小さなイルミネーションを作りました

/* 概要 */
ツリー状に取り付けたLED(今回は15個)を、さまざまなパターンで点灯します

/* ツリー本体 */
1mmのメッキ線で幹1本+枝7本のツリーを作ります
そのツリーに、枝2個・幹頂1個:計15個のLED(カソード側)を半田付けします
よってツリー本体がGndとなります

/* 回路図 */
Arduinoのメインチップ(ATmega168p)をスタンドアロンで使います
それ以外は、変わったところはありません

※LTSpiceにArduinoのシンボルを登録して作成しました

/* ソース(スケッチ)リスト */
これも特に変わったところはありません
しいて工夫した点と言えば以下です

・ポート番号を配列にして変更を容易にする
・グローバル変数で経過時間を監視・処理
・random()関数を利用してランダム点灯パターンを実装


// グローバル変数
int iLEDPORT[] = {2, 3, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 17, 18, 19};
unsigned long lgSTARTMILSEC = 0;

// 各関数

////////////////////////////////////////////////////////////////////////
// 開始時間をグローバル変数に保存する
////////////////////////////////////////////////////////////////////////
void StartMilSecCount()
{
  lgSTARTMILSEC = millis();
}

////////////////////////////////////////////////////////////////////////
// 指定ミリ秒経過したかチェックする
////////////////////////////////////////////////////////////////////////
boolean IsElaspedMilSecOver(unsigned long lgCountMilSec)
{
    unsigned long lgPresentMilSec = millis();
    unsigned long lgElapsedMilSec = lgPresentMilSec - lgSTARTMILSEC;
    if(lgElapsedMilSec > lgCountMilSec)
      return true;
     
    return false;
}

////////////////////////////////////////////////////////////////////////
// LED 全点滅パターン
////////////////////////////////////////////////////////////////////////
void ILUMI_AllBlink(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();
 
  for( ; ; ){
   
    for(int n = 0; n < 15; n++){
      digitalWrite(iLEDPORT[n], HIGH);
    }
    delay(iOnTime);
    for(int n = 0; n < 15; n++){
      digitalWrite(iLEDPORT[n], LOW);
    }
    delay(iOffTime);
 
    if(IsElaspedMilSecOver(lgInterval))
      break;
  } 
}

////////////////////////////////////////////////////////////////////////
// LED 交互点滅パターン
////////////////////////////////////////////////////////////////////////
void ILUMI_HalfBlink(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();
 
  for( ; ; ){
   
    for(int n = 0; n < 15; n++){
      digitalWrite(iLEDPORT[n], 0x0001 & ~bitRead(n, 0));
    }
    delay(iOnTime);
    for(int n = 0; n < 15; n++){
      digitalWrite(iLEDPORT[n], bitRead(n, 0));
    }
    delay(iOffTime);
    for(int n = 0; n < 15; n++){
      digitalWrite(iLEDPORT[n], LOW);
    }
 
    if(IsElaspedMilSecOver(lgInterval))
      break;
  } 
}

////////////////////////////////////////////////////////////////////////
// LED シーケンス点灯パターン(1)
////////////////////////////////////////////////////////////////////////
void ILUMI_Sequence1(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();


  for(int n = 0; ; ){
    digitalWrite(iLEDPORT[n], HIGH);
    delay(iOnTime);
    digitalWrite(iLEDPORT[n], LOW);
    delay(iOffTime);
   
    if(++n >= 15){
      if(IsElaspedMilSecOver(lgInterval))
        break;
      else
        n = 0;
    }
  }
}

////////////////////////////////////////////////////////////////////////
// LED シーケンス点灯パターン(2)
////////////////////////////////////////////////////////////////////////
void ILUMI_Sequence2(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();
 
  int j = 1;
 
  for(int n = 0; ; ){
   
    digitalWrite(iLEDPORT[n], HIGH);
    digitalWrite(iLEDPORT[j], HIGH);
    delay(iOnTime);
    digitalWrite(iLEDPORT[n], LOW);
    digitalWrite(iLEDPORT[j], LOW);
    delay(iOffTime);
    if(++j >= 15) j = 0;
 
    if(++n >= 15){
      if(IsElaspedMilSecOver(lgInterval))
        break;
      else
        n = 0;
    }
  }
}

////////////////////////////////////////////////////////////////////////
// LED シーケンス点灯パターン(3)
////////////////////////////////////////////////////////////////////////
void ILUMI_Sequence3(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();
 
  int j = 2;
  int k = 4;
  int m = 6;
 
  for(int n = 0; ; ){
   
    digitalWrite(iLEDPORT[n], HIGH);
    digitalWrite(iLEDPORT[j], HIGH);
    digitalWrite(iLEDPORT[k], HIGH);
    digitalWrite(iLEDPORT[m], HIGH);
    delay(iOnTime);

    digitalWrite(iLEDPORT[n], LOW);
    digitalWrite(iLEDPORT[j], LOW);
    digitalWrite(iLEDPORT[k], LOW);
    digitalWrite(iLEDPORT[m], LOW);
    delay(iOffTime);
   
    if(++m >= 15) m = 0;
    if(++k >= 15) k = 0;
    if(++j >= 15) j = 0;
 
    if(++n >= 15){
      if(IsElaspedMilSecOver(lgInterval))
        break;
      else
        n = 0;
    }
  }
}

////////////////////////////////////////////////////////////////////////
// LED ランダム点灯パターン
////////////////////////////////////////////////////////////////////////
void ILUMI_Random(unsigned int iOnTime, unsigned int iOffTime, unsigned long lgInterval)
{
  StartMilSecCount();
 
  for( ; ; ){
   
    int n = random(0, 15);
    digitalWrite(iLEDPORT[n], HIGH);
    delay(iOnTime);
    digitalWrite(iLEDPORT[n], LOW);
    delay(iOffTime);
  
    if(++n >= 15){
      if(IsElaspedMilSecOver(lgInterval))
        break;
      else
        n = 0;
    }
  } 
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// run once, when the sketch starts
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
void setup()
{
  for(int n = 0; n < 15; n++){
    pinMode(iLEDPORT[n], OUTPUT);
  }
 
  for(int n = 0; n < 15; n++){
    digitalWrite(iLEDPORT[n], HIGH);
  }
 
  delay(2500);
 
  for(int n = 0; n < 15; n++){
    digitalWrite(iLEDPORT[n], LOW);
  }
 
  //Serial.begin(9600);
  delay(1500);
}

////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
// run over and over again
////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////
void loop()
{
   unsigned long lgInterval = 40000;
   unsigned long lgDelay = 1200;

  // シーケンスパターン(2)
  ILUMI_Sequence2(40, 25, lgInterval);
  delay(lgDelay); 

  // 交互点滅パターン
  ILUMI_HalfBlink(750, 750, lgInterval);
  delay(lgDelay);

  // シーケンスパターン(1)
  ILUMI_Sequence1(20, 5, lgInterval);
  delay(lgDelay);

  // シーケンスパターン(3)
  ILUMI_Sequence3(500, 20, lgInterval);
  delay(lgDelay);

  // ランダムパターン
  ILUMI_Random(15, 10, lgInterval);
  delay(lgDelay);
 
  // 全点滅パターン
  ILUMI_AllBlink(800, 700, lgInterval);
  delay(lgDelay);
 
}


/* 動作例 */
点灯時間を10秒程度に編集しています
手ぶれと、少し暗いのをご了承ください・・・



/* 所感 */
メッキ線は、細いものを撚って作ったほうが良いかも知れません
⇒ 単線だと、熱が伝わり過ぎて先に付けた枝が溶け外れてしまいます これ閉口しました…

15個ではちょっと寂しいかもと思いましたが、プログラムの設定で美しく光ってくれました

Arduinoを使えば、作りたいテーマが容易に実現できることを実感しました

以上です

2011年2月16日水曜日

Arduino互換機の製作

初テーマとして、Arduino互換機を製作した結果を報告します。



ハードは、「EJackino」を流用し、ブレッドボード上に実装しました。
ただし、当面USB電源を使用することとして、三端子レギュレータ周辺は未実装です。


「Arduino互換機に興味があるが、特にブートローダの書き込みが難しそうだなぁ…」
と思っていたところ、「エレキジャック - EJackino活用」のサイトで「Luminet-IDE」という、ブートローダの書き込み機能を包含した開発環境があるのを知り、以下の通り導入して使用してみました。

1、インストール
Luminet-IDEの紹介」のページの
「ダウンロード」「インストール」の手順通りにインストールします。

2、設定変更
「(Luminet-IDEを導入したフォルダ)\hardware\tools\avr\etc」にある
・avrdudeFTDI.conf
・avrdude.conf
の両方に、atmega168Pの記述を追加します。

※atmega168Pの記述は、「外付けAVRライタ無しでBootloaderを書き込む」 3 - ⅲ項にあるavrdude.confを参照して追加します。
※Luminet-IDE本体機能に影響があるかも知れませんので、confファイル丸ごとの置換は行いませんでした。
※両方とも追加する必要があるようです。
※「boards.txt」も書き換える必要があると思っていましたが、書き換えの必要はありませんでした。

3、USBドライバの導入
Arduino互換機を接続します。
このときドライバのインストール画面が表示されますが、ドライバの場所に
「(Luminet-IDEを導入したフォルダ)\drivers\FTDI USB Drivers」を指定します。

4、ブートローダの書込み
Luminet-IDEの紹介」のページの
「ブートローダの書込み準備」「Luminet-IDEからのブートローダの書込み」の手順通りにブートローダを書込みます。

※ブートローダの書込みの配線は、「外付けAVRライタ無しでBootloaderを書き込む」 10項を参考に、「MISO」「MOSI」「SCK」「RESET」の四本を直接繋ぎます。
※その際、既存の配線を変更する必要はありませんでした。

5、互換機の動作
いったんPCをオフし、ブートローダの書込みの配線を外します。
再起動し、Luminet-IDE上で「Blink」などのスケッチをアップロードして、動作させてみます。



confファイルとboards.txtで多少試行錯誤しましたが、簡単に導入できました。
これでやっとArduino入門者に仲間入りできました…

★各リンク元ページの作者 kosakaさまに、この場をお借りして御礼申上げます★