みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつもお世話になり、ありがとうございます。
- 環境
- Win10、FM18です。
介護保険請求の元となる書類を作っております。
サービス内容の利用回数に基づき、単位数を算出する書類です。
この書類は1利用者1月1枚作成します。
この書類のサービス内容構成は下記の通りです。
■対象内(サービス明細テーブルのfg_対象内フィールド=1)
・基本コード(利用者の要介護度と利用時間で決まるもの)
・入浴
・機能訓練
■対象外(サービス明細テーブルのfg_対象外フィールド=1)
・特別加算 1日1回の請求が可能。単位数×回数で算出する。対象内の累計が計画単位数を超えるとカウントできなくなるため、回数を調整する必要がある。
例)7月は20日利用しており特別加算20回が実績の数字。しかし計画単位数を上回ってしまったため、13回に調整した。
・特別加算2 1月1回の請求が可能。対象内と調整後の特別加算の単位数合計に5%をかけた数字。
特別加算の請求範囲を把握するため、スクリプトにてfg_請求フィールドに1を立てております。
FMで途中まで作成できたレイアウトと、作りたいレイアウト(切り貼り図)のPDFを貼付します。
https://www.dropbox.com/home/Filemaker? … %82%8A.pdf
また、途中までつくったFMファイルはこちらです。
https://www.dropbox.com/s/8n9h1ru10py71 … fmp12?dl=0
課題1
特別加算2の算出方法に手こずっております。
対象内(fg_対象内=1)と、調整後の特別加算(fg_対象外=1かつfg_請求=1)であるレコードの単位数合計を出す方法が難しいです。
課題2
単位数合計フィールドは下記3パターンの数字が入ります。
1.対象内・・・単位数×実績回数
2.対象外、特別加算・・・単位数×調整済回数
3.(1+2)×5%
case関数で分けようとしたのですが、他に作った集計パートを参照しようとしても数字がうまく取れません。
executesqlでやろうともしましたが恐ろしく時間がかかり、結果が出る前に諦めました。
どなたか、方向性だけでも教えていただけないでしょうか。
宜しくお願いいたします。
Offline
特別加算は、計画単位数が上限のようですが、単位数×調整回数がそれに一致しますか。
PDF が、ログインしないとダウンロードできません。公開対象を考えてください。
Last edited by Shin (2020-09-04 10:28:13)
Offline
PDFの件、申し訳有りません。全員に公開する設定に変更しました。
上限の件、わかりづらく申し訳有りません。
1.対象内
計画単位数に関わらず、実績の単位数を単位数合計に含めます。
2.対象外のうち、特別加算
特別加算の回数は、対象内の累計が計画単位数に達した日でカウントできなくなります。
そのため、実績が30回であっても、20回に減らさなければならない場合があります。
3.対象外のうち、特別加算
対象内と特別加算(回数調整済み)の単位数合計に5%をかけて算出します。
Offline
> 特別加算は、計画単位数が上限のようですが、単位数×調整回数がそれに一致しますか。
例えば、単位数は1日1単位では無いですよね。例えば、対象外が1回5単位だった場合、計画単位数が500だとして、20回だと498単位、21回だと503単位になりますか、それとも、それ以外には関係なく495、500に増えていき計画単位数ぴったりで請求しますか、という質問です。
Last edited by Shin (2020-09-04 18:20:15)
Offline
失礼しました。読み間違えておりました。
https://www.dropbox.com/s/bt8pgw0elh13o … 7.pdf?dl=0
仕組みが複雑なので、またPDFで説明させていただきます。
こちらの資料で伝わりますでしょうか?
Offline
計画単位数は、どこで決められているのでしょうか。(月ごとですか)
日毎のテーブルから明細テーブルへ、対象者、年月、日付 で新たにリレーションを張り、当日までのレコードを対象にします。
そのリレーションで単位数を合計すると、その日までの単位数の累計が求められますので、それを計画単位数と比較すれば、特別加算の調整ができます。それを集計して、対象者をキーとする小計パート(下部)に表示させます。
https://www.dropbox.com/s/vj6u06cgqdj5b … 2.zip?dl=0
Last edited by Shin (2020-09-06 16:32:48)
Offline
Shin様、いつも最高のサンプルを仕上げてくださりありがとうございます。
executesql、getsummaryなどを試していましたが、闇雲にフィールド数が増えるばかりで頭を抱えていたところでした。
リレーションによる集計は、よく過去トピック掲示板で説明されていましたが、今回作っていただいたサンプルでようやく腑に落ち、少しずつ使える様になりそうです。
また、サービス明細テーブルからサービス日毎テーブルに戻り計算するという箇所は目から鱗でした・・!
特別加算のフィールドはcase関数を使って結果を出されていましたが、不等号の式が真であれば1、偽であれば0を返すのですね。初めて知りました。
計画単位数は月末で手動入力します。
他介護サービスの使用状況により、月々で数字が異なるそうです。
そのため、計画単位数を入力すると、計算フィールドで数字が出せることがありがたいです。
当初はスクリプトで数字を入れようとしていましたが、都度スクリプトを動かさないと最新の数字にならないことが不安でしたので。
一旦、このトピックは解決とさせていただきます。お世話になりました。
Offline
サンプルファイルを少しブラッシュアップしています。再度ダウンロードしてみてください。
それと、複数月の運用テストをしていませんので、不具合が出れば教えてください。
Last edited by Shin (2020-09-07 08:46:22)
Offline
ブラッシュアップ、ありがとうございます! 確認し、またご報告致します。
Offline
確認の連絡が遅くなり申し訳ありません。
サービスコードの参照TOを少し変更しましたが、複数月でも問題なく出す事ができました。
既存のファイルに教えていただいた技術をはめ込みながらつくっているのですが、
開発が進めば進むほど、このファイルのフィールド定義の意味が分かってきました。
索引の付け方やルックアップ、グローバル変数の使い方、全てが腑に落ちている今です。
リレーションがうまくいかないこと、速度が遅いことの原因が、
非保存フィールドの多用であることに気づけました。
とても学びになったサンプルファイルでした。改めてありがとうございました。
Offline
ひとつだけ気になっていた事項が。
入浴と機能訓練は、基本コードが入れば算定可能なんですよね。ならば、基本コードのテーブルからの自己リレーションの方が正当かもしれません。
Offline
ご指摘ありがとうございます。
おっしゃるとおり、この2件は単独では算定できないサービス内容です。
現在の私の理解でファイルをつくってみましたので、ご確認いただけますでしょうか。
https://www.dropbox.com/s/ywgrq8pq9moc1 … fmp12?dl=0
主な変更点は下記です。
1.リレーション
2.サービス明細テーブル サービスコードに計算式を設定
3.codeXXXXXXを日毎→サービス明細テーブルに移動
すみません、つくっている中新たに湧いた疑問を、2点確認させてください。
1.機能訓練、入浴のチェックボックスのオンオフを繰り返すと、その分だけサービス明細レコードが出来てしまいます。
この2件は1日1回しか算定できないサービスです。
この重複を除くための工夫はどのようにすればいいでしょうか。
2.利用者マスタのフィールドでYMを設定されています。
YMはグローバル変数を参照していますが、この変数を変更しても切り替わりません。
スクリプトで全置換をかけようとしても、計算フィールドなので効きません。
ポータルの中身を7月→8月に変更したい場合、どのような方法がありますでしょうか。
宜しくお願いいたします。
Offline
1.機能訓練、入浴のチェックボックスのオンオフを繰り返すと、その分だけサービス明細レコードが出来てしまいます。
何度も繰り返しオンオフされないはず、を前提にしています。
重複しても、カウントはされないはずです。
気になるようでしたら、適宜(例えばファイルを閉じる時)削除されればいいでしょう。
2.利用者マスタのフィールドでYMを設定されています。
ウィンドウの再表示を行えばいいです。その際に、キャッシュは保存しておいたほうがいいでしょう。
Offline
ご回答ありがとうございます。
2.利用者マスタのフィールドでYMを設定されています。
ウィンドウの再表示を行えばいいです。その際に、キャッシュは保存しておいたほうがいいでしょう。
ウインドウの再表示[キャッシュ結合結果を書き込む]を実行したのですが、更新されません。
https://fm-aid.com/bbs2/viewtopic.php?id=2792
こちらのトピックを参考にして、一旦他のレイアウトに飛んでみましたがダメでした・・。
利用者マスタ YMフィールドを数字フィールドに変更し、全置換することにしました。
これで月移動ができるようになりましたので問題はないのですが、
再表示にて更新できなかった理由が思い当たるようでしたら、教えていただけますと幸いです。
宜しくお願いいたします。
Offline
お造りになったファイルはみていませんので、サンプルでお話しさせていただきます。
> ポータルの中身を7月→8月に変更したい場合、どのような方法がありますでしょうか。
でのポータルは、なんでしょうか。私のサンプルでは、月を指定したポータルは存在しませんが。
スクリプトを init で、グローバル変数を設定しています。
フィールドYM は、それを参照しているだけですが。それを変更した、ということは、ファイル構造を変更しているのですか。別のところで不具合になります。
変数を、月別日毎のレイアウトの年月表示を変更する仕組みで動かしたほうがいいです。
Last edited by Shin (2020-10-02 08:59:38)
Offline
> でのポータルは、なんでしょうか。私のサンプルでは、月を指定したポータルは存在しませんが。
説明が足りず申し訳ございません。
出来ればやってみたい内容は下記です。
1.レイアウト「サービス集計 日々」の矢印ボタンで、2020/7(24246)から2020/8(24247)に切り替える
2.レイアウト「利用者マスタ」に移動する
3.右ポータルに表示されている内容を、7月分から8月分に切り替える
9/6にShin様より作成していただいたファイルを見ております。
このファイルの中では、利用者マスタの画面にポータルを表示していただいております。
このポータルは利用者マスタとサービス日毎 2を 利用者ID、YMでリレーションされています。
そのため、YMに合致したレコードだけ表示されているようになっています。
利用者マスタのYMが24246から24247に書き換わらず、3.が実現できていない状況です。
ウインドウの再表示も効きませんでした。
なにか根本的な勘違いをしているのでしょうか・・?
Offline
あぁ、このポータルのオカレンスの書き換えを忘れていますね。そこは、サービス日毎 をリレーションするのが本来の意図です。
今のままでしたら、そのレイアウトへ移ってから、ウィンドウの再表示をするか、ポータルの更新 を行ってみてください。ただし、サンプルでは8月分のデータは用意されていません。
簡単なのは、レイアウト「サービス集計 日々」の矢印ボタンをコピペすることです。
Last edited by Shin (2020-10-06 08:56:49)
Offline
Pages: 1
[ Generated in 0.007 seconds, 10 queries executed - Memory usage: 569.09 KiB (Peak: 589.99 KiB) ]