オンライン資格確認 導入記 (No.9) 2021.6.6 更新
オンライン資格確認 導入記 (No.9) 2021.6.6 更新
Filemakerによる 操作を目指す
Filemakerを操作して, 連携アプリケーションの情報のやり取りを目指します。
要求XMLの作成
Filemakerでは XMLをexportすることができます。ただし, このオンライン資格確認システムのXMLとはちょっと形式が異なるようです。オンライン資格確認システムでは内容が simpleなので, Plain TEXTで作成できそうです。 以下のXMLを”ひながたXML”=Textとして, 赤字の部分を受診者ごとにFilemakerのSubstitute関数で置換すればいいのです。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<XmlMsg>
<MessageHeader>
<QualificationConfirmationDate>20210522</QualificationConfirmationDate> (今日の日付)
<MedicalInstitutionCode>8110212489</MedicalInstitutionCode> (医療機関コード)
<ArbitraryFileIdentifier>test1234</ArbitraryFileIdentifier> (これは任意:数字アルファベット)
</MessageHeader>
<MessageBody>
<QualificationConfirmSearchInfo> (以下4点必須 ただし国保は 記号=Symbol不要)
<InsurerNumber>81301914</InsurerNumber> (保険者番号)
<InsuredCardSymbol>5874</InsuredCardSymbol> (被保険者記号)
<InsuredIdentificationNumber>89574</InsuredIdentificationNumber> (被保険者番号)
<InsuredBranchNumber></InsuredBranchNumber> (枝番不要)
<Birthdate>19630924</Birthdate> (生年月日)
<LimitApplicationCertificateRelatedConsFlg>0</LimitApplicationCertificateRelatedConsFlg>
</QualificationConfirmSearchInfo> (上は支払限度額:今は1を入力しても公開されない)
</MessageBody>
</XmlMsg>
一見簡単そうに見えたのですが, 最上段の
<?xml version="1.0" encoding="UTF-8" standalone="no"?> が問題でした。この中にdoble quatation(“)が6個ありますが, これをText の囲い(“”)の中でそのまま表現するには (¥”)と表現しなければいけません。
まあ,そういう物だとして, 作ってみたのですが, 不思議なことに, 上記と外見上まったく同じ置換xmlが出来たはずなのに, xmlとして認識されません。Web browserで開いてみるとエラーになるのです。結局, その問題は根源的な解明はできていないのですが, テキストエンコーディングが関係しているのではないかと推測します。つまりMacで置換作業するときにUTF8でなくなってしまうのではないか...(未確認)。すったもんだしているうちに, Safariのエラー表示から (“)は single quatation(‘) でも代用できるのではないか と思い至りました。
実際に オンライン資格確認システムで試したら,うまくゆきました。これは助かりました。こんなことはXML やプログラミングやっているひとには常識なんでしょうね。...そういえば, JavaScriptでもそんな使い方をしますよね。 大分時間をロスしました。これで最上段は
<?xml version=‘1.0’ encoding=’UTF-8’ standalone=’no’?> としました。これで, 単純にSubstitute関数が使えて, Scriptで 受診者毎の要求XMLが作れます。Fileのexport step では, 絶対パス“file:/C:/OQS/req” に続いて
“OQSsiquc01req_”(ファイル名前半部, ここは定型) &
“20210529” (ここは当日日付) &
“21060” (ここは受診者ID番号など任意) & ”.xml”
になります, これらをつなぐ計算式で作成できます。以上を 変数にして, (疑似) xmlをtab 形式 でexportします。(xml 形式を指定しません)
変数 $pathfile : file:/C:/OQS/req/OQSsiquc01req_2021052921060.xml とします。
なお, Filemaker v19を オンライン資格確認システムWindows10に installしました。
Script を組むみます。核心部分のScript Stepは
レコードのエクスポート, $pathfile, unicode (UTF-8), です。
実際, オンライン資格確認端末(Windows10 マシン)の Filemakerの ボタンを押すだけで, resに保険証照会情報が返ってくるのは ちょっと感動的です。
まだ 懸案事項があります。
1.Filemakerの電子カルテシステムの中で, このボタンを押す操作は, オンライン資格確認Windowsマシンで(ボタンを押すなど)やらないと作動しません。Filemakerの仕様です。
なるべくなら, オンライン資格確認端末はつつきたくないのですが, まだネットワークマシンでの遠隔操作はできない段階です。
2.回答XMLは OQSsiquc01res_2021052921060.xml と, 要求XMLとほぼ同じFile名で返ってくるので, これを通常のFiledに移し替えなければなりません。これは受診者IDが手がかりになりそうです。
3.顔認証カードリーダーの回答XMLの名前は時刻の要素しかありませんので, これを当該受診者にどう結びつけてゆくか。