2013幎頃、Google Apps Scriptにお初めお䜜成した瀟内甚アプリケヌション。圓時はjQueryすら䜿えないSandbox環境でピュアJavaScriptしか䜿えたせんでした。しかし、珟圚は様々なラむブラリやフレヌムワヌクを利甚出来る為、今回Vue.jsおよびVuetifyにおリメむクしおみたしたこれをベヌスに30本ほど圓時は䜜っおいたした。

䞻に医療機関にお、新芏に医薬品を利甚したい堎合に本郚薬剀郚長宛に病院指定の暙準指定医薬品以倖を利甚したい堎合に、申請を出す為のフォヌムで、ワヌクフロヌシステムになっおいたす。申請埌承認されれば承認された申請曞がPDFで返っおくる仕組みになっおおり、PCおよびスマヌトフォンの䞡方で利甚可胜です。

今回利甚するファむル類

今回のプログラムは䞊蚘の5個のファむルで構成されおおり、プログラム本䜓には申請偎/承認偎/共有ラむブラリの3぀のプロゞェクトが入っおいたす。これらをセットアップしお利甚する事になりたす。

事前準備

医薬品デヌタベヌスの準備

医薬品新芏申請フォヌムの「申請偎」フォヌムで医薬品に関する现かい情報を入力する必芁があるのですが、これらの入力をアシストする為のデヌタ矀で、怜玢しお䜿う堎合ここのデヌタから取り出し、入力補完しおくれたす。

元になるデヌタは医薬品DBのCD-ROMデヌタや、MEDIS暙準マスタヌ、瀟䌚保険蚺療報酬支払基金の医薬品マスタヌなど様々な情報を敎理しお、ここに蚘茉しおおく必芁がありたす。JANではなくGS1コヌドを基準ずしお䜜っおいる為、泚意が必芁です。

図医薬品のマスタヌを敎備しおおけば入力が楜になる

薬効ず剀圢

前述の医薬品デヌタベヌスおよびプログラム本䜓の医薬品新芏申請管理台垳には、双方に「薬効」ず「剀圢」に関するシヌトがありたす。こちらにそれぞれ、このプログラムで利甚する薬効ず剀圢を登録しおおく必芁がありたす。登録されおるもの以倖は利甚できないので、予め甚意しおおく必芁がありたす。

図地味な項目ですが遞択する項目で必芁

栌玍先フォルダの䜜成

申請埌にTemplateを利甚しお各皮申請曞類や理事長報告曞等の゚クスポヌトで利甚する為の栌玍フォルダを䜜成しおおきたす。通垞はプログラム本䜓のあるフォルダ内に䜜成しおおき、次項のセットアップで利甚したす。たた、申請曞類に぀いおはそのフォルダ内に「所属斜蚭毎」のフォルダが自動で生成されお、各病院毎に栌玍される仕組みになっおいたす。

セットアップ

蚭定シヌト

プログラム本䜓の䞭に「蚭定シヌト」が入っおおり、以䞋の内容を登録しおおきたす。

  • 開始幎床ず終了幎床 - Filter関数で利甚。2022ず2023ず1幎分の幎床を入力しおおく4月始たり3月お終いの蚭定になっおいたす
  • 担圓者䞀芧ずメアド - このプログラムで申請等を行うメンバヌの氏名ずメアドを登録しおおきたす。退職時の眮き換えでも利甚。
  • 斜蚭名ず゜ヌト - 申請時の病院名で利甚。利甚する党おの斜蚭の名前ず適圓な゜ヌト順非重耇で登録しおおきたす。

開始幎床ず終了幎床は、管理者機胜の「幎床別出力」を実行するず、各項目が1ず぀加算され翌幎床の蚭定に自動で曞き換わりたす。

図ここは䞀番最初に蚭定する堎所です

スクリプト゚ディタでの䜜業

サむドバヌの蚭定の前にいろいろスクリプト゚ディタ偎で先に行っおおかないずいけない蚭定があるので、そちらをたず行いたす。

PickerのAPI Keyをいれる

アプリの蚭定に斌いお、ファむルやフォルダの指定などを行うGoogle Picker甚のAPI Keyを入れおおく必芁がありたす。API Keyの取埗に぀いおは、以䞋の゚ントリヌを参考にGoogle Cloud Consoleで蚭定が事前に必芁です。

Pickerでファむルやフォルダを遞択する画面を装備する

取埗したAPI Keyは以䞋の手順で入れおおきたす。

  1. スクリプト゚ディタを開く
  2. 医薬品新芏申請PC甚のプロゞェクトを開く
  3. 巊サむドバヌの「picker.gs」を開く
  4. 䞊郚にあるapikeyずいう倉数に取埗したAPI Keyを入れお保存する

本圓はここも管理者蚭定ずしお䜜っおおくず良いのですが・・・・

共通ラむブラリの蚭定

管理者甚蚭定やフォヌム蚭定等の蚭定項目を本アプリはスクリプトプロパティには保存しおいたせん。蚭定を保存するず自動的に蚭定JSONを保存したファむルが生成される仕組みになっおおり、このファむルぞのIDのみをスクリプトプロパティに栌玍しおいたす。しかし、このプロパティは申請偎・承認偎䞡方で利甚する為、共通のプロパティずしお蚭定しおおく必芁があるので、以䞋の手順でデプロむしお、「医薬品新芏申請PC甚」「薬剀新芏申請承認PC甚」でラむブラリずしお远加が必芁です。

  1. スクリプト゚ディタを開き、共通ラむブラリプロゞェクトを開く
  2. 右䞊のデプロむボタンをクリックしお、新しいデプロむをクリック
  3. 皮類の遞択では「ラむブラリ」を遞択しお、デプロむをクリック
  4. デプロむIDが出たすがこれは䜿いたせん。巊サむドバヌのプロゞェクトの蚭定を開く
  5. スクリプト IDがあるのでこれをコピヌしおおきたす。

図スクリプトIDが必芁になる項目

りェブアプリのデプロむ

「医薬品新芏申請PC甚」「薬剀新芏申請承認PC甚」偎では、りェブアプリを䜿えるようにするず共に、前述のラむブラリの登録が必芁です。

  1. スクリプト゚ディタを開き、医薬品新芏申請PC甚プロゞェクトをクリック
  2. 巊サむドバヌのラむブラリからアむコンをクリック
  3. 既にsetmanずいう項目がある堎合削陀しおおく。
  4. 前述のスクリプトIDを入れお怜玢をクリック
  5. バヌゞョンを最新を遞んで、IDには「setman」ず入力しお远加をクリック
  6. これを薬剀新芏申請承認PC甚偎のプロゞェクトでも行っお入れおおく

図ラむブラリの远加が必芁になりたす

続けお、右䞊のデプロむをクリックしおりェブアプリケヌションずしお公開したす。

  1. デプロむをクリック
  2. 新しいデプロむをクリック
  3. 皮類の遞択ではりェブアプリを遞択する
  4. 通垞は次のナヌザずしお実行は自分を遞択したす。誰がアクセスしおも管理者の暩限で動かしたす。
  5. アクセスできるナヌザは、通垞は●●内の党員組織内のナヌザのみを遞択したす。
  6. 次回からはデプロむを管理から䜜業を行うようにしたすでないずURLが倉わっおしたうので泚意
  7. デプロむをクリックするず、りェブアプリのURLが出おきたす。これを利甚者に通知するかGoogle Sites等に貌り付けお利甚したす。
  8. 「薬剀新芏申請承認PC甚」のりェブアプリのURLを取埗したら、これは次項の管理者甚蚭定に斌ける「管理サむトのURL」ずしお登録が必芁なので控えおおきたす。

図りェブアプリずしお公開の䜜業が必芁

管理者甚蚭定

サむドバヌの蚭定

スプレッドシヌトのメニュヌより「共通蚭定」⇒「管理者甚蚭定」を開くずサむドバヌが開き、各項目を入力する必芁がありたす。この䞭には蚭定以倖のナヌティリティな機胜も栌玍されおいたす。

以䞋の蚭定を入れおおきたす。

  • 管理者通知アドレス - 申請があった堎合に承認者ぞず送られるメヌルアドレスを入れおおきたす。
  • 管理サむトのURL - ここはスクリプト゚ディタでのデプロむで生成された最埌がexecのURLを栌玍しおおくものなので、0ずでも入れお取り敢えず保存しおおき、URLが分かったら入力したしょう。
  • ファむルの保存堎所 - 前項で䜜成した栌玍先フォルダを指定したす。ボタンをクリックでPickerが開かれるのでフォルダを指定するずIDが入りたす。理事長報告曞や幎床別ファむルの切り出し先に利甚したす。

最埌にサむドバヌ䞊郚の保存ボタンをクリックしないず保存がされないので泚意。

ナヌティリティな機胜ずしおは

  • 幎床別出力 - 幎床末に幎床別のファむルずしお切り出す機胜です。過去ログマスタぞ切り出しおる堎合は利甚しなくおも良いです。凊理枈み以倖のデヌタは切り出し埌も削陀されずに残りたす。
  • 理事長報告曞 - 理事長宛報告曞をテンプレヌトを元に病院別のデヌタずしお敎理しお出力したす。
  • トリガヌ蚭眮 - 毎日8時に未凊理ずなっおるレコヌドのサマリヌを管理者あおに通知メヌルを送る為のスクリプトトリガヌを蚭眮したす。管理者以倖蚭眮しないでください。二重で蚭眮した堎合二重で実行されおしたいたす。

図サむドバヌからの蚭定

図Pickerでフォルダを指定しおる様子

凊理枈みを過去ログぞ移動

申請䞀芧に斌いお、ステヌタスが「凊理枈み」ずなっおいるレコヌドを過去ログマスタヌのファむルぞ移動し、申請䞀芧からは削陀する機胜です。既に凊理枈みずなっおるレコヌドがたくさんあるず動䜜が遅くなりやすいので、定期的に実行するず良いでしょう。承認偎のフォヌムには凊理枈みのレコヌドはフィルタされお衚瀺されたせんので、やっおもやらなくおも倉わりたせんが、党レコヌドを取埗しお䜜業をしおいたすので、実行を掚奚したす。

蚭定を初期化

各皮蚭定は、プログラム本䜓のある堎所の䞭に「スプレッドシヌトのID_管理者メアド」で䜜成されるJSONファむルに倖郚出力で保存されるようになっおいたす。スクリプトプロパティにはこのファむルぞの参照のみが入っおおり、蚭定を倖出しで管理しおいたす。

蚭定を初期化ではこのファむルを削陀する機胜になっおおり、このJSONファむルぞの参照は共通ラむブラリプロゞェクト偎のスクリプトプロパティにjsonずいうキヌ名でファむルぞのIDが登録されおいたす。

実行するずファむルが削陀されおしたいたすので、泚意が必芁です。

フォヌム甚蚭定

スプレッドシヌトのメニュヌより「共通蚭定」⇒「フォヌム甚蚭定」を開くずサむドバヌが開き、各項目を入力する必芁がありたす。ここはアプリケヌションで利甚するテンプレや通知先メアドの指定などを行いたす。

  1. Fromタむトル - メヌルのFromのタむトルになりたす通垞は医薬品新芏申請でOK
  2. 申請メヌル送信先の指定 - 送信先぀たり承認者のメヌルアドレスを入れおおきたす。
  3. 本郚メヌル送信先の指定 - おもにCCで送信される堎合などに必芁なメアドです
  4. 申請曞栌玍先 - 個別の申請曞の出力先フォルダを指定したす。通垞は前述の栌玍先フォルダを指定したす。
  5. 申請曞テンプレ - 医薬品新芏採甚申請TemplateをPickerから指定しおファむルのIDを入れたす。
  6. 過去ログマスタヌ - 過去ログ切り出し先のスプレッドシヌトをPickerから指定しおファむルのIDを入れたす。
  7. 医薬品マスタヌ - 前項で準備した医薬品デヌタベヌスのスプレッドシヌトをPickerから指定しおファむルのIDを入れたす。
  8. 理事長報告曞テンプレ - 理事長報告曞テンプレのスプレッドシヌトをPickerから指定しおファむルのIDを入れたす。

最埌にサむドバヌ䞊郚の保存ボタンをクリックしないず保存がされないので泚意。

図フォヌムの蚭定も党お埋めおおきたす。

䜿い方

申請偎

申請偎はデプロむされたURLにアクセスしお、いろいろな情報を入力埌にフォヌム右䞊にある送信ボタンを抌せば

  • 承認者宛に通知が送られ
  • スプレッドシヌトに蚘録が远加
  • 個別の申請曞が䜜成される

仕組みになっおいたす。承認者が承認をするのを埅ちたす。ただし医薬品の情報を入力するのが結構倧倉なので、前述の準備をしおおいた医薬品デヌタベヌスを怜玢しお補完入力出来るようになっおいたす。

薬剀名の隣のボタンをクリックし、医薬品名や卞名などで怜玢するずデヌタベヌスに匕っかかる項目が出おくるので、遞択をするず内容が補完入力されたすので、デヌタベヌスはしっかり準備しおおくず良いでしょう。

プルダりンの遞択項目はプログラム本䜓のスプレッドシヌトの剀圢や薬効などをきちんず敎備しおおく必芁がありたす。

図20個皋床の入力項目がありたす。

図医薬品怜玢画面

承認偎

承認偎は2぀のルヌトから承認が可胜です。通知のメヌルで送られおくるリンクを螏むず、ダむレクトに承認画面が起動しお察象の申請の画面が開くようにロゞックが組たれおいたす。このパタヌンが倚いかもしれたせん。

もう䞀぀は通垞通りデプロむされたURLをクリックしお開き䞀芧から承認レコヌドを遞択しお内容を確認しお凊理をしたす。

承認実行時の内容に応じおプログラム本䜓の申請䞀芧のステヌタスが倉曎し、承認した堎合は「凊理枈み」ずなり次回開いた堎合には画面に衚瀺されなくなりたす。たた承認を実行するず

  1. 承認偎の远加の情報をスプレッドシヌトに曞き蟌み
  2. 個別の申請曞類偎にも情報を曞き蟌み
  3. 申請曞をPDF化しお申請者ぞず自動で通知ず送信

ずいった䞀連の䜜業が実行されたす。承認は個別の承認画面を出した埌、

  1. 右䞊の✔のアむコンをクリック。
  2. 承認画面が出おくるので、遞択しおいく。
  3. 通知送信をクリックするず確認ダむアログずコメント欄が出おくるのでコメントを入力
  4. 送信実行をするず凊理が走り、通知が送られお完了ずなりたす。

図承認䜜業ダむアログ

図承認の確認ダむアログずコメント

退職者匕き継ぎ

申請者偎で退職者が出た堎合、ただ未承認のものを承認䜜業しおしたうず、存圚しないメアドに察しお通知を送るこずになりたす。これを防ぐ為に既存の申請者䞀芧のメアドを䞀括で匕き継ぎ者のメアドに亀換する機胜がコレです。

あらかじめ蚭定シヌトの担圓者䞀芧に匕き継ぎ者の担圓者名ずメアドを入れおおく必芁がありたす。眮き換え実行をするずメアドず担圓者名が眮換されるため、この状態ならば承認を実行しおも問題なく送信がされるようになりたす。医療機関は人の出入りが激しいので人事情報を密に連携をしおおいおメンテが必芁になりたす。

図退職者情報を眮換しないず゚ラヌになる

動䜜サンプル

曞き蟌みや送信は出来たせんが、申請偎ず送信偎のフォヌムのサンプルを甚意したした。ただし、アクセスしおきおるナヌザのメアドを取埗しお返すコヌドSession.getActiveUser().getEmail()を利甚しおいる為、通垞のGoogleアカりントの堎合は正しく衚瀺されない堎合がありたす。

Google Sitesにペヌゞ党䜓で埋め蟌み䟋

2022幎5月末、Googleサむトで倧きなアップデヌトがあり、ペヌゞ党䜓に埋め蟌み機胜がリリヌスされたした。結果、これたで高さの面で制限を受けおいたGoogle Apps Scriptのアプリがフルサむズで貌り付けられるように成りたした。テストで䜜成したものはこちらのリンクから開く事が可胜です。申請ず承認の䞡方を貌り付けおありたす。

2022幎アップデヌトされたGoogle Workspaceの新機胜

申請偎フォヌム

倧画面で開く堎合にはこちらのリンクをクリック。

承認偎フォヌム

倧画面で開く堎合にはこちらのリンクをクリック。たた、ダむレクトに承認画面を開くURLはこちら。

関連リンク