初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2018-10-17 11:45:46

su-san
Member

今日以降の日付と空欄の抽出

Win10 FM16

いつもお世話になっております。
スクリプトを作成しているのですが、どうもうまくいかずご教授願います。
退院年月日が今日以降と空欄を抽出したいです。
また、患者のシートが複数枚あります。その場合は重複させず作成した日付の新しいものだけリストにあげたいのですが、、、

検索モードに切り替え[一時停止:オン]
フィールド設定[退院年月日;Get(日付)&”...”]

この式にどう加えたらいいでしょうか。
よろしくお願いいたします。

Last edited by su-san (2018-10-17 11:49:55)

Offline

#2 2018-10-17 12:05:11

Shin
Member

Re: 今日以降の日付と空欄の抽出

> 退院年月日が今日以降と空欄を抽出したいです。
逆に考えて、退院日が今日より前を除外、とする方が簡単でしょう。
条件は、<// だけでいいです。

重複について、退院日が空白又は将来、ということは、入院中か将来の入院、という事になりますね。入院予定が複数入っている、という事ですか。それを、作成日順で最新を表示させると、統一した表示になりませんが、   という疑問は置いておいて

重複の除外については、患者ID などで集計するのが簡単でしょう。
または、自己リレーションをはっておき、入院何回目かを計算させて抽出する方法、
または、スクリプトを使って重複を除外していく
なども考えられます。
全く考え方を変えて、患者マスターのテーブルで表示させる、という方法でもいいような。

https://www.dropbox.com/s/dufaia7832bje … 7.zip?dl=0

Last edited by Shin (2018-10-17 17:59:13)

Offline

#3 2018-10-17 17:38:53

チポ
Member

Re: 今日以降の日付と空欄の抽出

現状に加えるのなら、
  新規検索条件
  フィールド設定[退院年月日;"="]

で空欄を or 検索します。


重複を除外でもう一つの方法

自己リレーション
患者 = 患者
   and
   日付 < 日付
(1患者で同一日付のレコードが無いのが条件です)
として、
このリレーションの関連レコードが無いのが最新レコードですから、
それにフラグをたてて、そのフラグをポータルフィルターにしたポータルで表示できます。

ポータルで考えれば日付の検索も不要にできますね。

Offline

#4 2018-10-18 18:55:41

su-san
Member

Re: 今日以降の日付と空欄の抽出

shin様、チポ様
返信ありがとうございます!
現在、助言いただいた方法でトライしております。
自己リレーションはテーブルを新たに作成する必要があると解釈したのですが、合っていますでしょうか?

Offline

#5 2018-10-19 10:01:53

Shin
Member

Re: 今日以降の日付と空欄の抽出

自己リレーションは、テーブルオカレンス(リレーションマップでのテーブルの見せ方)がふえるだけで、実テーブルは増えません。

Offline

#6 2018-10-19 16:05:26

su-san
Member

Re: 今日以降の日付と空欄の抽出

shin様
ありがとうございます。
スクリプトや自己リレーションを作成したのですが、森に迷い込んだかのように迷子になりました。
整理しますので助言お願いいたします。

【前提】
「患者基本情報」テーブルと「カンファレンス」テーブルを主に使用してベッドコントロールという入退院管理をしようと考えております。
テーブルやレイアウトは他にも多数作成しております。
「カンファレンス」は複数回行いますので回数と実施日+必要な基本情報があります。
「カンファレンス」テーブルに「ベッドコントロール」レイアウトを作成しました。退院日と退院予定日を付け加えて上記のことをして絞り込みをしようとしました。
カンファレンスがない場合も作成しますので、その場合は「カンファレンスなし」フィールドにカンファレンスなしと入力しております。カンファレンスなしを絞り込みたいです。
また、階のフィールドに2階、3階、外来と入力しており外来を除外しようとしましたがうまくいきませんでした。

うまくいかない状態は、
1.外来が除外されない
2.退院年月日の過去が入力されているがカンファレンスなしのためか表示される

現在のスクリプトを記載します。
検索モードに切り替え[一時停止:オン]
フィールド設定[退院年月日;Get(日付)&”...”]
フィールド設定[退院年月日;”=”]
フィールド設定[カンファレンスなし;”カンファレンスなし”]
対象レコードの絞り込み[記憶する](患者基本情報;階 ”2””3”)

自己リレーション
患者基本情報とベッドコントロール
患者ID=患者ID
AND 実施日<実施日

長文で申し訳ありません。
藁にもすがる思いです。よろしくお願いいたします。

Offline

#7 2018-10-19 16:51:13

チポ
Member

Re: 今日以降の日付と空欄の抽出

1回でも検索できますが、
数回に分けて検索すれば分かりやすいのでは。

1. 今日以降または空白で 検索
2. カンファレンスなしで 絞り込み検索
3. 外来を 除外・絞り込み検索


前にも書きましたが、
これらの条件をフィルタにしたポータルで表示すれば検索不要で常に表示できます。

Offline

#8 2018-10-19 17:28:21

Shin
Member

Re: 今日以降の日付と空欄の抽出

もう一つよくわからないのが、階に「外来」がある、ということは、外来への入院、という扱いがあるのですか。

「患者基本情報」テーブルと「カンファレンス」テーブルのフィールド構成と、リレーションについて書いてください。
ひょっとして、患者基本情報は、入退院データのテーブルでしょうか。1入院1レコードで、入院日と退院日が存在している。病棟を入れるフィールドがあり、入院中はその病棟名、退院すれば外来と設定される。別の入院があれば、新規レコードを作り、同じように設定され、退院したら外来レコードが増えていく、という動きなのでしょうか。

カンファレンスを行ったかどうかの記録は別に必要かもしれませんが、箇々の退院調整には直接関係無いですよね。調整した退院日は、あくまで、その入院に対して、退院予定を設定するだけの動きになるはずです。退院予定が設定された日付を記録するだけで十分では。

それと、#6 で書かれているスクリプトを動かした後で、メニューから検索条件を変更、を行ってみてください。どのような検索条件になっていますか。おそらく、目的とする検索条件にはなっていないはずです。

Last edited by Shin (2018-10-19 19:18:29)

Offline

#9 2018-10-24 11:38:46

su-san
Member

Re: 今日以降の日付と空欄の抽出

返信が遅くなり申し訳ありません。
チポ様
条件をフィルタにしたポータルを作成してみたのですが、思い通りには動かず…
レイアウト名はベッドコントロール
テーブルは患者基本情報
フィールドはカンファレンスと患者基本情報から項目で指定しています。

Shin様
階に「外来」があるのは外来で通院される方用に作成したものです。
「患者基本情報」テーブルと「カンファレンス」テーブルのフィールド構成は、
「患者基本情報」
患者ID、患者氏名、病棟、入院年月日、退院年月日、疾患名、発症日等
「カンファレンス」
患者ID、患者氏名、病棟、入院年月日、退院年月日、疾患名、発症日、計測値等

リレーション
患者ID=患者ID
AND 発症日=発症日

1入院1レコードになります。退院しても外来にするよう自動設定はしておりません。
カンファレンスと退院調整は直接関係ありませんが、カンファレンステーブルにある数値のフィールドを参照したいためです。
一覧が表示できるようになってからガントチャートのグラフを作成しようと考えております。退院予定日を基に在院数を見て退院日を決定します。

スクリプト 検索条件を変更で見てみましたが、思うような動きはしておりませんでした…

Offline

#10 2018-10-24 13:13:45

チポ
Member

Re: 今日以降の日付と空欄の抽出

ポータル表示は、
現テーブルの自己リレーションでいいでしょう。

照合は適当はフィールドを「X」(デカルト積)でつないで、
フィルタ条件を作ればいいでしょう。

Offline

#11 2018-10-24 16:32:27

Shin
Member

Re: 今日以降の日付と空欄の抽出

「患者基本情報」に、病棟、入院年月日、退院年月日 があるということは、入院テーブルと同じと考えてもいいですか。(1入院1レコード?)
そこに外来、という区分が入るのが理解できません。

退院調整ですから、病室やベッドの移動も考慮条件に入りますよね。
入院テーブルに、入院予定もレコードとして作っておけるのでしたら、外来患者は考慮しなくていいのでは。
カンファレンスにかけるレコードは、入院中または入院予定ですね。そのうち、カンファレンスでの検討が不要な「カンファレンスなし」レコードを抜いたら、カンファレンスの対象リストができます。入院テーブルで、過去の退院を除外、未来の入院を除外、カンファレンスなしを除外 すればいいのでは。
今更でしょうが、患者マスターというテーブルは必須です。

Last edited by Shin (2018-10-24 16:48:11)

Offline

#12 2018-10-25 16:44:49

su-san
Member

Re: 今日以降の日付と空欄の抽出

チポ様、Shin様
懇切丁寧にありがとうございました。
参考にさせていただき何とか思い通りにできました。
シンプルに考えればいいものを自分で複雑にしておりました。
しかし、グラフに手こずっており別に投稿させていただきます。
今後ともよろしくお願いいたします。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 9 queries executed - Memory usage: 595.03 KiB (Peak: 611.94 KiB) ]