メニューファイルの書き方

 メニューファイルの書き方

メニューファイルはメニューの選択肢を記述するファイルです。内容はテキストファイルで、選択肢を列挙したものです。
編集は設定(〇〇cnf.txt)ファイルと同様に「メモ帳」アプリを使ってください。

メニューファイルには階層メニュー(tree_menu)用と候補メニュー(candidate_menu)用があります。

階層メニューファイル

内容は選択肢の階層表現です。
最も上位の階層は行頭の TAB 無し、階層が1つ深くなるごとに行頭の TAB の個数が1 つづつ増えます。行頭の空白文字は無視します。
行中あるいは行頭の半角スラッシュ2つ“//”から行末まではコメントとみなして Ma2.exe は無視します。
例として ADM\JSA 選択.txt をご覧ください。

原則的に1メニュー1ファイルですが、1つのファイルに複数のメニュー用の選択肢を納めることもできます。
その際にはトップレベルの項目名をファイル名に続けて指定してください。
たとえば、dmgcnf.txt 内で“file = JSA 選択.txt#手術部位;” とした場合、メニュー項目は“a:開頭”、“b:開胸・縦隔”…となります。
さらに“c:心臓・大血管”の子項目として“1:A-C Bypass (on pump)”などが作られます。ここで半角コロン“:”の左側はJSA麻酔台帳の項目分類表記で、右側はその名前です。この記号:名称ペアは JSA 麻酔台帳での規則に準拠するための対策であり、paperChart では1連の文字列として取り扱い、JSA麻酔台帳へ転送する際にコロンの左右で切り分けて「記号」と「名称」として扱っています。
半角スラッシュ“/”の右側は子項目です。JSA台帳では子項目として扱っていますが、子項目が1つしかない場合 paperChart 側では1項目として扱い、メニューがシンプルなっています。

候補メニューファイル

階層表現はありません。1行1件で半角コンマで区切って左側が名称、右側が読みです。「読み」は必ず全角文字でお願いします。「カタカナ」でも「ひらがな」でも構いません。例として ADM\病名.txt をメモ帳で開いてください。

“ADM\JSA 選択.txt”について

JSA麻酔台帳の表記規則に従った構成になっています。手術部位や合併症の項目の先頭に“1:”や“a:”などの表現が付いていますが、CONF\calcnf.txt 内の計算式によって分類記号と名称に分割されてJSA麻酔台帳へ送出されます。 分類記号を削除されても、JSA麻酔台帳へ送出しない限り、動作に不都合はありません。

“ADM\人名.txt”と“ADM\施設別.txt”について

「メモ帳アプリ」を使って各施設で書き換えてください。人名については CONF\dmgcnf.txt 内で editable_menu = yes; と定義していますので、麻酔中に NV.exe の「記載」ボタンで表示される画面から各メニューを表示するとメニュー最下段に「編集」項目が表示されます。ここから人名を追加削除できます。
さらにネットワーク環境でお使いの場合、ある端末からの変更は約30秒程度で他の端末へも伝播します。

“ADM\病名.txt”と“ADM\術名.txt”について

病名と術名は http://www.medis.or.jp/4_hyojyun/medis-master/index.html から持ってきています。
ここから CSV ファイルでダウンロードして Excel で編集して CSV 形式で保存し、ファイル名の拡張子を”.txt”に変更。 漢字術名/病名の右側に半角コンマで区切って全角カタカナの読みが付いています。ただし画面上で検索する時は平仮名で読みを入力することもできます。しかし、読み方について例えば“頭蓋”に“トウガイ”という読みが付いていたり、“(指)” が“(シ)”だったりしているところもあります。

JSA 麻酔台帳対応パッチ内の病名と術名ファイルにはそれぞれ病名コードと術名コードが付いています。病名の左側の記号はICD10 分類、術名の左側は診療報酬請求番号です。院内で別の記号をお使いでしたら、それに差し替えてください。通常版の病名/術名ファイルにはコードは付いていません

MA2.exe の使い方(demographs 節と incidents 節の書き方)

MA2.exeでのレイアウト設定は dmgcnf.txt の中に書いてください。
MA2.exe の起動方法は dircnf.txt の command 節の中の例を参照してください。MA2.exe の起動には引数として /std_arg/ のほかに “layout=???” としてレイアウトを指定した節の名前を書いてください。 “layout=???” を指定しないと MA2.exe は動作しません。
MA2.exe はMA.exe と同じく4種類の表示(入力)欄を持ちます。

  • text_item(文字列入力)
  • radio_item(ラジオボタン選択)
  • tree_menu_item(階層構造のメニュー)
  • candidate_menu_item(キーワード選択可能なメニュー)

2種類のメニューは選択肢にない文字列をキーボードから入力(text_item のように)することもできます。
レイアウト表の例としてdmgcnf.txt の中の demographs 節と incidents 節を参照してください。

text_item

mnemonic

患者属性情報の項目名(ID,患者姓名,など paperChart 内で取り扱う名前)を書いてください。

label

画面に表示する名前を書いてください。これを指定しないと mnemonic で指定された項目名が画面にも表示されます。 たとえば患者識別番号は paperChart 内では単に“ID”という名前ですが,これでは分かりにくいので画面に“患者 ID” と表示したいときは menmonic=ID; label=患者 ID; としてください。

character

入力できる文字を列挙してください。たとえば患者 ID なら半角の0~9と半角ハイフン,身長/体重ならハイフンではなく小数点,など。これを指定しないと文字種の制限はしません。

lines

入力欄の高さを何行分取るか。指定しないと1行分の高さです。幅は後述の column_width と column_divide で設定します。

ime

この欄の入力を半角英数モードで行うか仮名漢字変換モードで行うかの選択です。ascii かkana を指定してください。これはあくまで当該入力欄にカーソルを持ってきたときの初期状態を決めるだけです。入力中に半角/全角の切り替えはできます。何も指定しないと入力モードはその直前に使われていたモードのままです。

alert

欄に何も入力されていないときに警告のための赤枠を表示します。yes かno を指定してください。指定しないと no とみなします。空白文字だけが入力されているときも赤枠表示です。これは単なる警告表示だけです。この表示が出ていても「OK」ボタンを押してMA2.exe を終了できます。

radio_item

mnemonic,label

前述。

choice

選択肢を列挙してください。次の“file”との併用はできません。

file

選択肢をここに列挙するのではなく別に作られたメニュー項目ファイル内から取り出します。メニュー項目ファイルはdircnf.txt の demograph_menu_directory 内に置かれるものとします。ファイル名の後ろに半角“#”に続けて部分項目名を指定することもできます。

例: “file = JSA 選択.txt#手術部位;” は“JSA 選択.txt”という名のファイルの中の“手術部位”という部分項目を表します.

lines,ime,alert

前述。

tree_menu_item

mnemonic,label

前述。

file

前述。raio_item と異なり,選択項目を choice によって,ここに直接列挙することはできません。入力欄右側の「▽」をクリックすると選択肢メニューが表示されます。あるいは文字入力欄にキーボードから文字を打ち込むこともできます。メニュー項目ファイルの書き方は「メニューファイルの書き方.pdf」を参照してください。

editable_menu

yes を指定すると入力欄右側「▽」をクリックで表示される階層メニューの最下欄に「編集…」という項目が表示され, 麻酔中や記録清書中にユーザーがメニュー項目内容を追加/削除/変更できます。

concatenation

階層メニューの親メニュー項目も含めた名前を生成します。例えば術者名「外科」の下の「川口」を選択した場合, concatenation を指定しないと,術者名として「川口」とだけ記載されますが, concatenation=”の”; を指定すると術者名は「外科の川口」という文字列になります。=の右辺で指定された文字列を間に挟んで親メニューから子メニューまでの全ての文字列を連結したものが結果になります。

lines,ime,alert

前述。

candidate_menu_item

文字入力欄に検索したい文字列を入力してから入力欄右側の「▼」をクリックしてください。該当する候補がメニュー項目として表示されます。tree_menu_item とは異なり,メニューに階層構造を持たせることはできません。

mnemonic,label

前述。

file

前述.raio_item と異なり,選択項目をchoice によって,ここに直接列挙することはできません。またtree_menu_item と異なり,ファイル名に#で部分項目名を続けることもできません。1ファイルが1メニューです。メニュー項目ファイルの書き方は「メニューファイルの書き方.pdf」を参照してください。

editable_menu,concatenation

使用できません。このメニューファイルは術名リストや病名リストなどの選択項目が多数ある場合を想定しています。 人名などのように麻酔中に動的に追加削除することは想定していませんし,階層化もできません。

lines,ime,alert

前述。

column_width

1行分の横幅を画面のドット単位で column_width=350; のように指定します。次に指定すると新たな横幅で新たなカラムが右隣に作られます。新たなカラムを作ると次の column_divide は強制的に1に戻されます。

column_divide

ひとつのカラム内を左右に何分割するかを指定します。

separator

ひとつのカラムの全幅にわたり区切りの横線を引きます。 separator=段落名; のように指定して使ってください。「段落名」という文字列を表示し,その右側に区切りの水平線を引きます。 separator=””; とすると単なる水平線だけです。

title

ウィンドウ左上に表示される画面タイトル文字です。

 JSA 麻酔台帳対応のために行うべき変更

JSA 麻酔台帳に麻酔記録データを送るためには各職員(術者,麻酔科医,看護師)について職員コード、所属科コードが必要です。さらに各手術室に対して手術室コード、各病棟に対して病棟コードが必要です。これらのコードは各施設で異なりますので、それぞれ設定していただきます。

なお、病名には ICD10 コードを、術名には診療報酬請求番号を、それぞれ既に設定してあります。その他のインシデント項目は麻酔科学会の決めたコードを設定しています。

メニューには,コードと名前を半角コロン“:”で区切って記載していただきます。メニュー編集の際に“1055:安積”のように記 載してください。半角スラッシュ“/”は親項目と子項目のつなぎに使われますが,これはユーザーが記入する必要はありません。前記の Ma2.exe の使い方の tree_menu_item 中の concatenation で指定された文字列で 親/子/孫 項目が一連の文字列につなぎ合わされます。全角コロンは区切り文字とはみなしません。“1055 安積”のように半角コロンがない場合は数字も含めて名前であり,コードは付加されていないものとみなします。

注: 患者ID と患者氏名をこの方法で連結して入力することはできません

科コード,手術室コード,病棟コードの3つは,paperChart 側で設定したコードと JSA 台帳側で設定したコードが一致していなくてはなりません。JSA 台帳内で,コードは文字として認識されています。数値ではありません。つまり“1”と“01”は異なるコードとして認識されています。コードは文字レベルで一致させてください。職員名,病名,術名はコードと名前の対応が厳密でなくてもかまいません。違いがあっても JSA 台帳側でコードの追加が自動的に行われます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です