ワクチンProクリニック

ワクチンProのレイアウトはLINEとともにチーム医療で使用できるように、携帯性を考えてFileMaker Goで利用できるiPhoneサイズにしています。パソコンで使用するときには画面の片すみにおいて使って下さい。スタッフ予約から始めてください。ゆくゆくLINEBotなどともつなぐと、接種者側のみでワクチンの知識がなくても自動で予約できます。まずはイントロダクションです、少しお見せします(最初の2項目)。これが終われば、実際の設定になります。
イントロダクション_概要ですのでサッと進み、本格的は第一章から始めてください。- 接種者からLINEで予約(FileMakerだけの方法もここに)
- 接種を終えた時のLINEBotから次の予定のお知らせ(FileMakerだけの方法もここに)
- 初回のワクチンが生後6ヶ月を超えている時
- その時のスタッフ確認と簡単なVacProの説明
- ワクチンPro( Vac_DoctorAssist.fmp12 )をクラウドにアップロードしよう
- ワクチンProをセットアップする
- 会場や外来作成
- 予約枠作成
- 曜日枠作成
- カレンダー作成(日々の個々の予約レコードを作成する)
- 施設・会場の修正や削除
- ユーザーの追加とアクセス権
- 接種者情報
- 取り扱いワクチン
- 卸業者の設定
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ はじめはFileMakerだけで開始しましょう。 接種側からLINEBOTを通じて予約をしないでもワクチンProクリニックは使用できます。スタッフ側で予約する時には、LINEやConnectやGoogleとの外部接続の設定がないため、比較的簡単に設定し、使い始めることが出来ます。これでも十分な時間短縮が図れます。充分慣れたところで外部接続を使った外部接続に移行しましょう。
- スタッフ自身がシュミレーションを使って予約 (スタッフの自動予約方法_配布用PDF)
- 接種日の次の予約日を知るためにスタッフがコメントを開く
- スタッフがワクチン履歴を取る (スタッフワクチン履歴入力の方法_配布用PDF)
この3項目をすることスタッフ側のみにすることでFileMakerだけでする方法が実現できます。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
イントロダクション
イントロダクションでは大まかな予約の仕方や接種当日の話をしています。概要ですのでサッと進み、本格的は第一章から始めてください。
<接種者からLineで予約>
※ver7.2.3_2023.10.03では、LINEBotの予約に関して、ほとんどバグ修正済みですが、一部うまくいかない可能性は残っています。その時はマニュアルにある【スタッフ側からの自由な予約】にて予約し直しお願いします。
(動画)RPReplay_Final1686191901 ※LINE版 施設番号入力の手間を省けます(コメント省略モード)。
コメント省略モードと設定 カルテ番号の入力のみで施設の問い合わせはありません。Settingレイアウトで「コメント省略」を「あり」にして下さい。


同操作をスタッフ側でFileMaker Pro & Goを使ってできます。
※FileMakerだけの基本設定 このChatwork_Staff用レイアウトを使いスタッフ側で予約します。

<当日に接種を終えたとき>
接種日には予定のワクチンを接種した後にChatworkに次の接種の予定日の目安が表示されます。
サンプル画像 ※LINE版_(次図)ver7.0.3から相談されたスタッフがよくわかるように、不活化あるいは注射生ワクチン以外と注射生ワクチンに分けて明記してします。

※FileMakerだけの基本設定 接種時のコメントは下図のように、接種済みの後に表示される「コメント」を押します(スタッフが見るので詳細モードのみ)。これをスタッフがみて次の予約をお願いします。


さて、これ以下は実際のワクチンProの設定や使い方となります。
<生後6ヶ月以上で初めての接種>
ワクチン接種歴が入力されていない人ではじまりの予約が生後6ケ月を過ぎたワクチン予約の場合は、問診をとるためにGoogle Formに誘導します。Google Formを記入し送信すると自動で問診の履歴が入ります。(FileMakerだけの基本設定はこのあと)
サンプル画像
<ワクチンの履歴をとる大事なところですのではじめての人は、その人が履歴を上手く入力できているかどうか、スタッフで確認をお願いします。簡単なVacProの説明もしておきます。>
サンプル画像

LINE版 予約時のチェック事項が入力されるようになっています。下図のように3項目追加されています。
一番上の赤枠…..LineBOTで自動予約されると、スタッフが確認出来るように「未」が入ります。 中の小さい青枠…..ロタワクチンをしない選択をした場合や年齢で選択できない場合はここに「1」が入ります。 下の大きな青枠.….自動で個別接種に切り替わった場合は「1」が入ります。手動で「1」を入れ個別接種にもできます。
<FileMakerだけの基本設定は以上、3ヶ所をスタッフ入力することにより出来ます。>
目次へ第一章 FileMaker CloudとConnectを使えるようにしよう。
ワクチンProは、サーバー管理が安易でセキュリティーの頑強なFileMaker CloudとClaris Connectでクラウドに設置します。FileMaker Cloudライセンスは必ず必要です。それにChatworkなどをご利用の場合はClaris Connectのライセンスを購入してください。
他のカスタムアップ開発を始めてみたい方は、途中で削除や一括変換トラブルなどの時にはバックアップでの検証も必要となるため、共有APPの上限が125個のCloud Standardをお勧めします。この場合は、4,840円X5で24,200円/月の使用料が必要です。最低のスペック_Cloud Essential 5ユーザーでも使用できます。この場合は、2,365円X5で11,825円/月となります。iPhone使用では、カレンダー表示レイアウトが速さの上でボトルネックになっています(下図の部分)。


問題ないのでこれを確かめて、最低のスペック_Cloud Essentialが遅いようであればCloud Standardを選んでいくようにします。
ユーザー数は医師も含めて5ユーザーといっても同時接続数の話でありますので少し余裕があります。接種者側から使用するChatworkはAPIの使用なのでFileMakerクラウドのユーザーの数には入りませんので最小の5ユーザからで良いでしょう(FileMakerだけの基本設定も同様)。SNS(今回はChatwork)のAPIユーザーは500個はつながるので考えなくて良いでしょう。
https://www.claris.com/ja/pricing/ (価格はサイトでお確かめください)

購入を進めて確定させると次のメールが来ますのでホスト名などを決めてください。

Claris Customer Console 設定はここも参照して下さい。

Claris Connectのライセンスの購入 FileMakerだけの基本設定では不要
https://www.claris.com/ja/pricing/connect.html(価格はサイトでお確かめください)
2022年9月27日から新料金
Essential(ライトプラン)で良いと思われます。年間契約で最低147,576円必要です。
- 稼働フロー上限数 15
- API リクエスト 10,000/1か月
- 接続可能なApp数 無制限
- 拡張パック 6,215 円 (税別)/月間 5,000 の API リクエストと7稼働のフローを追加。
- API リクエストは 1 か月あたり 50,000 に制限されます。50,000 を超える API リクエストについては、Standard (スタンダード プラン) を参照してください。拡張パックを購入するには、Essentials (ライト プラン) の購入が必要です
にありますように予約数が多ければ拡張パックが必要です。

自分のページの「API リクエストの月間制限」で使用量が見られますが、少なくなるとメールが送られてきます。
スタッフ側の端末機器は基本としてiPhoneのFileMaker Goを使うことを想定して設計しています。Wifi環境での使用であれば使わなくなったものや、中古販売などの機種でも大丈夫です。FileMakerのバージョンとして19以上で使用可能なものをお願いします。 Claris FileMaker 19.4 〜 19.6 動作環境ただし、カレンダー・接種開始で日付を選択し、その日の患者一覧をだす動作は使用環境で、時間がかかることがありますので、遅いようならならiPadやPCを使ってください。
過去データの空欄を消去したい場合は、過去の日程表の「空欄消去」で手動で消去できます。


過去の日付の空欄レコードを自動で消去したい場合は、上記サーバー内スクリプト(Yotei_Hibi枠作成本日へ_ServerSideScript)の現在のスクリプト終了を消去(赤線の部分)してください。

ここまでで予約ができる準備は終了です
ワクチン予約お願い事項 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 最初は後述のファイルメーカーのシュミレーションモードで、施設の予約に合っているか、設定はまちがってないのかある程度の期間は確認してください。問題なければChatBOTに移行をおねがいします。 LINE版では本格的にChatBOT予約に移行したときも全員チェックできるようにしました。 ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
- Lineで予告する方法は、予約日は次回予約の1日のみとなってそれ以降の別の日付は予約できません。
- スタッフのシュミレーションでは「連続モード」にすることで上の場合と異なり、何日でも予約が取れます。(ただし、接種日においてワクチン予約の追加や見直しはないですので1.とは少し、異なります。上記同様に次回予約のみ取ることをお勧めします。)
- ワクチンの自由選択でも同様で何日でも予約は可能となります。
(重要)2.3.で複数日を予約するとその予約の接種が終了するするまで、接種者側からは予約できません。
接種状況により、 Lineで予約がうまく取れないことも想定されます。その時は2.スタッフによる上記の予約シュミレーションあるいは3.スタッフ側からの自由な予約にて予約お願いいたします。
Lineでの患者の最初の登録は、CLARIS CONNECT_LINE で設定を参照して下さい。

ChatBOTで自動予約されると「ChatBOT予約をチェック」と表示されていますのでクリックし入った患者を選択します。
予約された内容で良ければ下方のこの患者ぼ予約チェック済みにを押しておきます。この患者はチェックから外れます。



2.スタッフによる上記の予約シュミレーション(LINE予約は次回の予約のみにします。)
<予約での使用コマンド>
Lineの入力やに予約語以外の入力があると用語の説明をしてくれます。


<予約での使用コマンド> ◇ n カルテ番号を入力する場合 n+カルテ番号 n1 ◇ k 会場の選択 k+会場番号 k2 ◇ 予約日の入力は、西暦年/月/日 2022/07/30 ◇ 予約時間の入力は、時間:分 16:00 ◇ 予定や履歴の表示は、myyo ◇ 接種者の次の予約に参考になる情報は、tugi ◇ 初めての人の接種歴の記載やその記載のやり直しは、gform ◇ 通信がうまくいっていない時は、chat
「連続」モードについて
n+カルテ番号を押したあとの左図です。ピンク色の表示が出ています(スタッフ入力の際は全部です)。表示内容通りに日付をまたがって予約したい場合は上の通常ボタンを押して「連続」にします(右図)。これで日付を跨っての移動が出来るようになります。予約が完結するとまた「通常」になっていますので、連続したい場合はカルテ入力の後の画面でこの連続ボタンを押します。(ただし、接種日当日のコメント作成はありません。最初のLine同様に次回予約のみ取ることをお勧めしています。)


- 自動でワクチンの選択肢を出す方法
- 目的のワクチンを単独入力する方法
の2つがあります。
1.自動でワクチンの選択肢を出す方法 ここからはほぼ制限なく、スタッフが自由に予防接種を組み立てることができます。その中で年齢制限や回数間での間隔制限などをうまく処理するできるようにしています。まずはカルテ番号入力にカルテ番号を入れて、「ワクチン予約」を押して下さい。右の図のVacyoyakuレイアウトになりますので「予約」を押します。


予約を押した後は、選択できるわくちんのチェックが入っていますので、チェックボックスをはすしたりして目的のワクチンした後に「状況の予防接種レコード作成」ボタンを押します。


ダイアログが出ますので「OK」を押します。

目的の予約の4レコード分できているようです。そのまま下のポータルを下に移動するなりして時間を選択します。4レコード分固有番号に入力され接種日のすぐ下に時間が入力されています。


上部の「一覧」を押して、全体を確認します。2番目のロタリックスの確認に「x」が付いています。ロタリックスを選択して、詳細を開いてみて下さい。


【年齢チェック:ロタリックス1回目は生後20週以下で】 %ロタリックス は不成立です。ロタリックス1回目は生後20週以下で スタッフ確認 このレコードは消去されました。% 定期接種のため無料 *ロタリックス1回目* と出ています。この接種は不成立のようです。
(重要)自由選択は消去できないので消去ボタンでこのレコードを必ず消去して下さい。消去ボタンを押すとダイアログインが出ます。この場合は単独のレコードのみですので単独を選択します。右図…消去されました。


ロタテックはダメなのでしょうか。新規レコードで選択してみます。新規で同じ日付を選択して、先ほどのチェックで「ロタテック1回目(定期)」のみ選択します。ロテテックもダメでした。ロタウイルスワクチンは出来ないです。消去しておいて下さい。

2.目的のワクチンを単独入力する方法(5才以上がおすすめ)
予防接種の必要回数分一気に入力できるため、予防接種が混みあっていない5歳以上がおすすめですが、こちらを最初からお好みの事もあります。 先ほどの続きで新規ボタンを押します。接種日は別の日の8月5日を選びました。目的ボタンを押すと選択ボタンがあろホップオーバーが出ます。


HBワクチンを選んでみます。スケジュールはHBなら3回分全ての予定を作ります。公費の場合は回数が必要ですので「スケジュール」を選択してください。単独は単に回数など関係無くレコードを作成するときです。


1回目から3回目まで3回分のレコードが出来ています。時期が分かります。

予約時の年齢や選択するワクチンの組み合わせ、あるいは接種履歴により予期しないバグがあった場合にバグレポートをお願いしています。予約のバグ発見時に一旦中止し、Chatwork_Staff用レイアウトの「bug report」を押します。

バグレポート用のレイアウトになりますので、簡単に記載して上の「send bug report on this page」を押して下さい。



サーバサイドスクリプトで日々の予約枠が作成されれば、本格的に予約が出来るようになっています。予約が入ればこの中に予約が入ってきます。予防接種前の医師の問診診察でもここからスタートします。
一覧表が出ます。図示しました。2番目の図はグレーのバーを押さえたときのもので、「接種者一覧」になっています。3番目はHibiボタンを押したもので、「時間順の一覧」になっています。接種時には「接種者一覧」を使って接種していきます。

VacProでは5才未満は自動でその時期で必要なわくちんが選択されていきます。Masterはこの順番を作成しています。2番目のMaster_list例アウトは現在の四種混合のもので、3番目のMaster_list_5種は今からの5種になった時の順番です。
AIボタンを押します。予防接種時の年齢とその月齢のデータを収めています。クリニック時代のデータをまとめたものが中段のAI_検索_txtです。下段のワクチン個別入力は各年齢で出す、自由選択のコメントを載せています。実際上この年月齢でワクチン選択する時のわくちんは「元_値一覧はここを押してください。」を押すと現れます。



在庫から発注を開きます。

「開始在庫」タブを押して、現在の在庫数を入れます。発注したい期間の開始日と終了日を入れます。下部の「期間内を計算し発注」を押します。


在庫数を入力していないとアラートが出ますので、必要のない場合はOKで進めます。そのあと発注メールを出すようにダイアログが出ます。


設定(Settingレイアウト)で<メール>にしている場合と<印刷>にしている場合の2種類あります


<メールの場合>
その期間の発注数が計算されています。

発注メールを出します。発注メールの作成ボタンを押します。

作成を押します。

内容を編集したりして「メール送信」を押します。業者毎に同様にメールを送ります。

納品用にチェックリストを書く業者用に印刷します。これをみて種類と本数を確認し納品となります。「最後に現在の発注内容を消去しますか」と出ますので特別なことがなければ消去してください。

<印刷の場合>
発注の印刷を押します。そのまま各業者の印刷画面になり、終われば直上の消去のステップになります。

まずはカレンダー・接種開始ボタンで日付の一覧を出します。一覧から接種日を選択します。


接種者の受付は、受付ボタンを押して下さい。受付時間が入力され、ソートにより上から来た順番に接種を進めることができます。

接種一覧になります。該当の接種者のカルテを開きます。所見を記載しますが、ワクチンの場合は接種ができるかどうかなので簡易所見をここでは入れます。「判定あるいはやり直し」ボタンを押します。


接種可能かに「OK」、可不可に「可」を押します。


所見に簡単に、問診、視診にて予防接種可能が入り、可となっています。戻れば、この場合は2種類のワクチンとも可の印がつきました。


接種が、「可」がついた人は接種ができます。接種してください。 あとはロットの記載をします。接種が終われば、バーコードリーダーで入力していきます。動画を載せます。
「lot」ボタンを押して図の場所にカーソルを入れてから、リーダーをかざしますと、読み取られます。






FileMaker Goの19.5で医療用のGS-1が読み込まれるようになっているとのことでしたが、ワクチンでは、下記の合成シンボルでロット番号も記載されるため残念ながらワクチンは読み取れませんでした、次回期待しましょう。
※合成シンボルとは1次元バーコードと2次元バーコード(PDF417の変形版)を合成させて1つのバーコードにしたバーコードシンボルです。 合成シンボルの1次元バーコードの部分は商品コードを表示し、2次元コードの部分は付加情報(有効期限、ロット番号など)を表示ます。
バーコード

(17)210930(10)AK8730(01)14987114164701
現在のところ(ver19.5)では合成シンボルが読み取れるリーダーが必要です。( https://www.jaisa.or.jp/pdfs/161130/01.pdf //二次元のものを使用) 通常で扱わないバーコードですので、有線で数万くらいはかかります。コードレスだと価格帯は10万円前後になります。上記のバーコードの意味は、大ざっぱにに「(17)期限(10)ロット(01)商品コード」になっています。21年09月までで、ロットはAK8730、製品コードは14987114164701と言うことです。これをスキャナーで読み取ると01149871141647011721093010AK8730 になります。
有線のものの取り付け例



※もしもリーダーの準備が無かったり、その時にできないときには下図のボタンを押します。アラートを読んでOKすると、済になります。





通常の予約はPOST型でありますので無料です。が、上記のように接種時のメッセージ送信や接種前のリマインダーはプッシュ型で200通以上は有料です。したがって通常の場合はライトプランが必要です。ライトプランで5000通、スタンダードプランは5001通以上になっています。(2023年6月~)
VacProでは月ごとの公費請求の土台になる資料を作れます。公費を作成してみます。請求書資料の作成から開始します。

請求する町村名のダイアログが出ます。市町村名を入力してOKを押します。右図になりますので請求書作成開始ボタンを押します。


請求年月を入力をする旨のダイアログが出ます。

請求年と請求月を入力してスタートボタンを押します。

その後注意事項のダイアログが出ます。

計算が終わると次の画面になります。印刷なりPDFなり出して公費請求資料にしてください。

サンプルPDF
接種日が近づいたら接種者にリマインダーをリマインダーを発信します。現在の所は手動にしていますが、スクリプト;Vacyoyaku_Chatwork_ワクチン近日分の冒頭に前営業日のステップを加えてサーバースクリプトとして自動ですることも出来ます。ここでは各施設による差の考えて手動で提供します。その日の全員にリマインダーを送る時にはリマインダーボタンを押して下さい。通信できるその日の接種者に全員に右図のようなメッセージが送られます。送った後は「reminder済み」になります。


日付を開くと一覧が出ますがここでは個々の接種者で一人ずつ送ることも出来ます。再送するときや変更後に送信する場合にお使いください。両方とも済みのボタンを押すことによりもう一度同様にメッセージを送ることが出来ます。

スクリプト名;LINE_BOT_予約プロセス_Sisetu1
Settingレイアウトでワクチンの予約の有無を「なし」にすると一般的な日付と時間の予約ができるようになります。
「あり」の時にワクチンProでは予約者側にワクチンの選択肢を設定したり、自動で選択させたりできます。このスクリプトを修正することにより、色々なオーダーの有無を予約者側に提供することができます。 その時にスクリプトを修正できるようにスクリプトステップをオリエンテーションしておきます。Chatwork側で予約者がChatBOTを設定しているルームでチャット入力すると、BOTで使用しているChatwork側のAPIが作動し、最終的にこのスクリプトが動きます。入力により分岐があり、最後にまとめて、あるいはステップの途中でメッセージを返すようになっています。バージョンにより行数は変化しますが流れは同じになっています。
分岐 「yoyaku」













では個々の分岐の中での処理を説明します。短い「chat」で見てみます。

-
- responseフィールドに今回の処理名と第一スクリプト引数_from account_idを入れる。
- 今回の処理内容を記載
- メッセージ内容をspeakフィールドに入力
となっています。最終処理は

でClaris ConnectがトリガーとなりChatworkのroom_idにspeakのフィールドの値が渡されます。分岐の途中で終了するときもこのスクリプトに渡されて「現在のスクリプト終了」で終わります。 スクリプトを修正する時にはこの分岐の内容の構造をまず入れ、ここでスクリプト内容を入れていきます。
スクリプト名;Vacyoyaku_【わくちん】DTP救済説明の必要性_再評価と日脳患者情報と後方ワクチン_単_【Vac】

このスクリプトに個々のワクチンの検証スクリプト(オレンジ枠)が含まれています。
<準備>
Settingレイアウトの2スライド目を開けると、「COVワクチンの運営」があります。ここをありにしておきます。

Setnaviレイアウトでカレンダー・接種開始を開いたものです。コロナワクチンをしたい日付のCOV実施ありなしを、ありにすると人数欄が出現します。1回目なら5人あるいは追加なら10人にしたりします。入力時アラートが出ますが、はいを押してください。この数を超えたときにはこの日の予約は完了し、もしも次の日があるようなら次の日にします。


接種枠がないようなら、予約が出来ない旨をメッセージで出します。

予約時間も設定します。保存期間を考えて枠を開けます。Hibi一覧を開けます。ワクチンの保存期間も考えて人数分以上の枠を開けます。(人数を超える分は予約で使いません。)COV入力を押して「あり」にします。


以上の設定で次のように予約されメッセージが出ます。(cov1で2回目の目安も出ています。)

私の検証のやり方
(デバック)例はスタッフ入力による自動予約
Chatwork_BOT_Staff入力 └Chatwork_BOT_予約プロセス_Sisetu1(Chatworkで作動する部分)
上図はWindowsで開いています。同じような場面でデバックが必要なことが多く、私用の区切りの必要な部分がマークされています。WindowsでデバックしているのはバージョンアップしたてでMacで遭遇するスクリプトデバッガの不具合(画面が重なる、途中で FileMaker自体が落ちるなど)がないことが多かったためです。
自動予約の時には下図のように4レイアウト画面を出して特に中2つのPtレイアウトで値の変化を観察しています。

3番目のレイアウト画面です。重なってますが、全てのキーとなるフィールドが見られるようになっています。見たあとはデバックで引っかかりますのでフィールドを外すようにして下さい。

医療分野は医師や研究者が、それぞれ独自の医療の予防方法や治療方法を治験によって作られ、その時期や時代を元に修正が加えられているため、単純な予防や治療モデルとなりません。さまざまんな業種の中で最もデジタルトランスフォーメーションしにくい職種であります。プログラムにおいては1個1個検討を重ねて作っていく必要があります。プログラムがありそれをいろんな部分で使うような単純な会計などのソフトとは全くちがうものです。
そういった性質上、単純化なオブジェクト指向プログラミングでは扱いにくいものだと思っています。いちから作成して上から下まで必要あれば、何千行もの工程を重ねる必要があります。したがってある程度のコードがまとまって一つのスクリプトとなっているロープログラムのファイルメーカーが最も医療にあったプログラムと考えます。
日本はしばらく、おそらく20年以上は少子高齢化の人口動体によって介護や老人の医療に業種はかたよっていきますが、労働人口が少なくなるために医療にそうそう財政をかけられなくなって来るでしょう。ますます診療報酬は安価になっていく予測が立ちます。
今からの20年間の医療を支える医師にとって、正確安全で患者数を増やすことが急務だと思っています。これからの医師は、日常の単純業務を自分である程度デジタル化して考える技術をもつ必要があります。
私は幸いファイルメーカーと出会い、クリニック業務の大部分をファイルメーカーを使ってデジタル化してきました。少子化の影響で患者数が減った時や新しい感染症が流行した時に、クリニックの財政を安定させたり、安全に隔離するために利用したりして随分役に立ちました。
当初から育てた予防接種業務の「ワクチンPro」が若い先生のこれからの医療に役に立てますように、次に社会を支える、あなた達の医療のデジタル環境に役立つように祈って提供したいと思います。