電子処方箋   導入記 (No.21)


署名付き電子処方箋作製サンプルソフト「Prescriptor1.2」

電子処方箋 導入記18で紹介した 電子処方箋作製サンプルソフト「CSV-XML作成v3」に署名付き電子処方箋作製機能を追加して Prescriptor と改名してUpします。Mac OSで動作します。

署名付き電子処方箋作製には AIDsign のinstall が必要です。

Prescriptor にはゲストでLogin してください。完全アクセス権限が付与されています。


# Windowsでも動作します。しかしWindows 10で Macと同じやりかたで 署名付き電子処方箋作製したのですが, 試験環境で送信するとエラーが返ってきました。いまのところ原因を解明できず頓挫しています。(後述)


Prescriptor v1.2



  1. 1. 署名付き電子処方箋作製以外の機能は前回とほとんど変わりません。MacOS10.15〜MacOS11の Filemaker v18, v19, さらにMacOS12, の Filemaker 2023で動作することを確認しました。(V16では 署名付き電子処方箋のときに エラーが出ます。原因はよく分かりません。)

2. shohousen.csv , signed.xml を Filemakerから操作することになるので, ScriptでPathを記載する都合上 File, Folderの位置を決めておく必要があります。downloadしたFolderごと MacのDesktopに置いてください。


3. 重複check, 確定作製(署名なし)の操作は CSV-XML作成v3とほぼ同じですので, 省略します。

診察画面でCSVを作製してください。CSV1の日付は本日に修正してください。文末は改行記号1個で終えてください。(CSV2と結合させるときに不具合を防止するためです)



4. AID_署名作製のボタンを押すと, ICカードリ−ダーでHPKIカードの読み込みが開始されます。 暗唱番号を入力してください。 つづいて 署名部分のxmlが 作製されます。(signed.xml)


   

ターミナルで IC cardの認証に失敗したとしても その失敗をFilemaker側に知らせる方法がないので, 成功したものと見なして Scriptは次に進んで(ディアログが出て)しまいます。(このあたりは完全自動化というわけではありません)


5. このボタンを押すと, signed.xmlを組み込んだ署名付き電子処方箋が作製されます。



6. サンプルソフトではTEST_reqに送信する, Scriptになっていますが, 試験環境のアドレスを設定すれば, そこに送信されます。



7. 作製されたsigned.xmlの検証を行うボタンです。(AIDsignの機能です) Folder内にVerify.xmlが作製されます。



8. 確定電子処方箋 送信後 エラーがなければ IDとアクセスコードを記載した XMLが返されます。それを 読み取るのに MBS Plugin, BaseElement Plugin が使えることがわかりました。これに関しては オンライン資格確認 導入記29 の サンプルソフト FMbat 3.1.0 を載せています。


9. 試験環境でこのソフトによる署名つき電子処方箋の送信を行ってみると動作が不安定であることに気が付きました。うまくいったり、エラーがでたりです。いろいろ試行錯誤を繰り返すと、 事前準備、重複check、確定(紙)のどれかをさきに実行すると、署名付き電子処方箋は安定してうまくゆくことがわかりました。サーバのほうで,何かの”準備が”いるのではないかと推測します。このことをONSに質問してみましたが, それはないだろう...というニュアンスの返事でした。真相は不明です。実際の診療では, 資格確認をほとんどすべての受診者で行いますので, この”準備”は完了したうえで電子処方箋を送信しますから問題は起きないと思われます。


追伸

実はWindows10で作製した署名付き電子処方箋を試験環境でTESTしてみると,エラーになりました。とりあえず 受け取ってもらえますが 以下のxmlが返信されます。

<MessageBody><ProcessingResultStatus>2</ProcessingResultStatus><VerifyResultList><Status>3</Status>

<SignId>PrescriptionSign</SignId>

<Message>XAdESValidateException : XML文書の設定に失敗しました。</Message></VerifyResultList></MessageBody></XmlMsg>


ONSに問い合わせると, “XAdESValidateException : XML文書の設定に失敗しました。”は「Signature要素のidと、Qualifying要素のTargetの値が異なる為かと思われます。 」という回答でした。しかし署名部分のsigned.xmlは「正常に生成されている」という検証結果になっています。 だいぶ時間を費やしましたが, どこに原因があるのか不明のままです。  作製環境を変えればうまくゆくかもしれません。 Windows11, Filemaker2023の環境では試していません。



付録: Filemakerの 外部 File, Folderのパスを探すには

Filemakerの外部にある, File, Folderにアクセスするには, Path が適当(そのソフトに分かるような記載)でないと正常に作動しません。そのためには


  1. 1.LANでつながったマシンとネットワークを確立すること。Windowsから他のマシンとネットワークを組むのは, 初心者には手強いです。以下のホームページが参考になるかと思います。

https://www.ubackup.com/jp/windows-11/windows-11-cannot-access-shared-folder.html

  1. 2.次に相手方のターゲットとなる Folderに 何か目印としてFilemakerのサンプルFile ( abcd1234.fmp12)を入れておく。

  2. 3.自分のFilemakerのFileのScriptで 「ファイルを開く」というScript Stepから

  3. 外部データソースの管理 -> 新規 -> ファイルの追加 -> 目印の ”abcd1234.fmp12” を探し出す。

  4. 4.そのときに表示された ファイルパスが 答え(参考)になります。同一マシン内のPathなら, それで Windows, Macに共通な表記が得られることが多いですが, 外部のマシンでは Mac ->Win , Win -> Winで記載が異なることもあります。

  5. 5.同じマシン内の File, Folderのときも 上記の 「ファイルを開く」が役立ちます。

6. オンライン資格確認 導入記29 にも オンライン資格確認マシンのres, face Folderのパス例を上げています。ご参考にしてください。







                                                                       









 

(工事中)

2024.3.24 更新