処方のインポート

病名のインポートとやり方はほぼ一緒で、処方のインポート専用の別DBファイル「処方取得」を用意して一旦そこにデータを取込みます。
少し違うのは、病名は列挙して全部「患者登録」に送りましたが、ここではインポートされたデータ一覧を表示し、そこで必要な処方だけを選択して「患者登録」に送るようにします。
また、普通にインポートすると非常にたくさんのデータが帰ってきてしまいますので、SELECT文に"DISTINCT"と書き加えることにより、重複データを取り除きます。

処方は診療行為情報テーブル"tbl_sryact"に診療行為コード"srycd"で記録されています。
診療行為コードを診療行為名称に変換するのには、「診療行為ルックアップ」とのリレーションを使うことにします。

なお、病名のインポートと同様、"ptid"を検索条件としてインポートしています。


新規データベース
「処方取得」を作成し、まずフィールド定義。
診療行為情報テーブル"tbl_sryact"では、繰り返し(5回)が使われていますので、これ以降の記述で「1〜5」と記述してあるところは同種のフィールドを5個用意するという意味です。

(1)No.       <数字フィールド>      検索対象の患者番号を入力するフィールド。
(2)ptid       <数字フィールド>      患者登録DBからルックアップで自動入力。
(3)診療行為1〜5    
"tbl_sryact"."srycd1"〜"tbl_sryact"."srycd5"を取り込みます。
(4)数量1〜5   
"tbl_sryact"."srysuryo1〜"tbl_sryact"."srysuryo5"を取り込みます。
(5)クエリー    <グローバル・フィールド> SQL文の共通部分を格納する。

SELECT DISTINCT "tbl_sryact"."ptid", "tbl_sryact"."srykbn", "tbl_sryact"."srycd1", "tbl_sryact"."srycd2", "tbl_sryact"."srycd3", "tbl_sryact"."srycd4", "tbl_sryact"."srycd5", "tbl_sryact"."srysuryo1", "tbl_sryact"."srysuryo2", "tbl_sryact"."srysuryo3", "tbl_sryact"."srysuryo4", "tbl_sryact"."srysuryo5"
FROM "tbl_sryact"
WHERE "tbl_sryact"."srykbn" BETWEEN '21' AND '29'
AND "tbl_sryact"."ptid" =


(6)クエリー全文  <計算フィールド>

=クエリー & ptid

(7)単位名称1〜5     「診療行為ルックアップ」からルックアップ
(8)診療行為名称1〜5  「診療行為ルックアップ」からルックアップ
(9)診療行為数量単位1〜5  <計算(テキスト)フィールド>

=If(診療行為1〜5<>"●",If(Left(診療行為1〜5,1)=0,診療行為名称1〜5 & "■",診療行為名称1〜5 & "" & 数量1〜5 & 単位名称1〜5),"")

下図のように●には半角スペースを9個、 には改行マークを入れてください。)



この計算式では、診療行為名称と数量と単位名称を連結した文字列を作っています。診療行為コードの最初の文字が"0"の場合は服用方法が記録されているとみなして、その後に改行を挿入しています。

(10)処方連結  <計算(テキスト)フィールド>

=Trim(診療行為数量単位1 & " " & 診療行為数量単位2 & " " & 診療行為数量単位3 & " " & 診療行為数量単位4 & " " & 診療行為数量単位5)

この計算式では、「診療行為数量単位1〜5」を連結しています。

(11)処方出力用  <グローバル(テキスト)フィールド>

選択した処方を貼り付けて格納しておくためのフィールドです。この内容を「患者登録に」送ります。

フィールド定義は以上。

あとは病名取得と同様に、データ・インポートのスクリプトを作成して、「患者登録」から実行できるように設定してみてください
患者登録のページにデータ・インポートのスクリーン・ショットを掲載しましたので、参照してください。



HOME  TOP↑  ORCAのページのTOP