みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
いつも大変お世話になっております。
以前のスレッドと同じようにメモフォールドから文字を抜粋したいのですが、応用できずにいるのでアドバイスいただきたいです。
メモフィールドは以下の形式で、
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
患者ID:111111 ←半角数字
カナ:アアアアア ←半角カナ
患者氏名:阿阿阿阿阿
生年月日:昭和(平成、大正の場合もあり)○○年○月○日生(△△歳)
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
患者ID
カナ
患者氏名
生年月日
をそれぞれのフィールドに抜粋できるようにしたいです。
ただし、生年月日はカッコ内の△△歳の部分だけ抽出できるようにしたいです。
よろしくお願い致します。
Offline
「患者ID」「カナ」「患者氏名」フィールドの汎用式は、(※自己の順番を上から1~3として)
GetValue(Substitute(GetValue(メモフィールド; ※抜出す行番号); [":";¶]); 2)
最後の「生年月日」フィールドの専用式は、
GetValue(Substitute(GetValue(メモフィールド; 4); ["(";¶];[")";¶]); 2)
Offline
Hiroさん
お返事ありがとうございます。当初の表記ではできたのですが、
メモフィールドの固定テンプレートに
患者氏名の後に性別がくっついてコピーされしまうことに気づきました。
ーーーーーーーーーーーーーーーーーーー
メモフィールド
患者氏名:阿阿阿 男(もしくは女)
ーーーーーーーーーーーーーーーーーーー
に対して、
患者氏名フィールドで性別を除いた、「阿阿阿」のみ抜き出すにはどうしたら良いでしょうか?
Last edited by ハンク (2020-01-24 11:31:48)
Offline
和男さんとか早乙女さんとか、患者氏名に"男/女"の文字が含まれていることも考慮しないと。
姓と名はスペース1文字区切り(あるいは区切りがない)、性別の前はスペースがN個以上、性別のあとは必ず改行、
性別が空欄になることはない…などメモフィールドの値に確実な規則性は期待できますか?
Last edited by koeda (2020-01-24 13:03:58)
Offline
koedaさん
なるほど、その辺も考慮しないといけないんですね。盲点でした。
規則性はあります。
姓・名の間は全角スペース1文字、性別の前は8個くらい(電子カルテのパソコンを今すぐに閲覧できないので不確かですが)、
性別の後は必ず改行です。性別が空欄になることはございません。
これでできますでしょうか?
よろしくお願い致します。
Last edited by ハンク (2020-01-24 13:14:28)
Offline
必ず最後に
男
女
の一文字が有るのなら、その一文字を除けばいいですが。
Left関数でできますよね。
後ろに空白が残り、それも除くのなら、
Trim関数があります。
Offline
チポさんの回答どおり、Left()とTrim()の組み合わせで。
Let ( [
txt = GetValue( Substitute ( GetValue( メモ; 3 ); [":"; ¶ ] ); 2 )
];
//性別の1文字を取り除いたあと、スペース文字を取り払う
Trim( Left ( txt ; Length ( txt )-1 ))
)
もちろんLetを使わなくても、関数を入れ子にすれば1行で書けますね。
もし性別を抽出するなら
Let ( [
txt = GetValue( Substitute ( GetValue( メモ; 3 ); [":";¶ ] ); 2 )
];
//末尾の性別1文字のみを取り出す
Right ( txt ; 1 )
)
Last edited by koeda (2020-01-24 14:15:22)
Offline
電子カルテは、富士通のGXですか?
そこからの書き出しならば、バイト換算で固定位置にくるはずです。
Offline
チポさん、koedaさん
できました。性別を抽出する計算式までありがとうございます。
Shinさん
電子カルテはSSI ?かと思われます。あまりメーカーは精通していなくてすいません。
今後ともよろしくお願い致します。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 518.16 KiB (Peak: 523.06 KiB) ]