オンライン資格確認 導入記 (No.26)                 2024.10.29 更新

その後 13:   照会番号一括登録                                               


マイナンバーカードを持参した受診者が 少しずつ増えてきましたが, 「これ1枚あれば,保険証もいらないし, 診察券もいらない,と聞いたけど」というようなお言葉を投げかける方もおられます。確かにオンライン資格確認で個人情報は得られますから, それを元に電子カルテ内のレコードと照合すればいいのですが, その個人を特定するのは生年月日と姓名の名くらいです。(女性の場合結婚後に姓が変わる可能性があります, 顔写真までは記録していません) そのときにオンライン資格確認のサーバーに照会番号が登録してあれば, 顔認証の場合にも出てくるので, これをたよりにして, 個人特定しやすくなります。(新規受診者の場合は無理ですが...)


そのために, いままでオンライン資格確認で有効と表示された人の診察券番号を照会番号として一括登録することにしました。 Road18でも触れましたが, 単独の照会番号登録要求は 資格確認の要求とほぼ同じ方法, つまり, そのXMLをFilemakerからダイレクトにreq Folderに投函すると, res Folerに回答が返ってきます。 それで問題なくできています。しかし  一括登録のときはちょっと事情が違うようです。

一括登録要求XMLは

保険証データを 1件ごとに   <ReferenceNumberRegistrationInfo>   </ReferenceNumberRegistrationInfo> で囲む, という以外は同じ形式です。

保険者番号は 数字の8ケタにする,あるいは先頭に空白を入れて8ケタにする。

File名  OQSmuimm01req_xxxxxxxxxxxx.xml

以下サンプルxml (2件の場合)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<XmlMsg>

<MessageHeader>

<MedicalInstitutionCode>4110312424</MedicalInstitutionCode>

<ArbitraryFileIdentifier >SANO_Clinic_Multi</ArbitraryFileIdentifier >

</MessageHeader>

<MessageBody>

<ReferenceNumberRegistrationInfo>

<ReferenceNumber>8270</ReferenceNumber> (照会1件目)

<InsurerNumber>00553015</InsurerNumber>  (8桁で記載,先頭はスペースあるは00)

<InsuranceCardSymbol>21</InsuranceCardSymbol>

<InsuredIdentificationNumber>00585-001</InsuredIdentificationNumber> 

<InsuredBranchNumber>01</InsuredBranchNumber>  (枝番2ケタ-必須)

</ReferenceNumberRegistrationInfo>

<ReferenceNumberRegistrationInfo>

<ReferenceNumber>52784</ReferenceNumber> (照会2件目)

<InsurerNumber>00553023</InsurerNumber> 

<InsuranceCardSymbol></InsuranceCardSymbol>

<InsuredIdentificationNumber>00589-013</InsuredIdentificationNumber> 

<InsuredBranchNumber>02</InsuredBranchNumber> 

</ReferenceNumberRegistrationInfo>

</MessageBody>

</XmlMsg>


ところが 一括登録要求を単件同様にそのXMLをreq Folderに投函すると, エラーmessaseとともに投函したXMLがres Folderに返されます。

エラーコード:OQSB3135Eは、要求データファイルの読み込みに失敗してたときのCodeです。 詳しいエラー箇所は指摘されません。

一括登録も連携アプリでできることになっていますが, 変更されたのでしょうか?


ONSに質問してみましたが,

●BOMは いらない(BOMはUnicodeで記述されるテキストの先頭に付けられるマークです。詳細はネット参照, Filemaker出力では原テキストはBOMを含みません。)

●UTF8 使用

●1件ごとに<ReferenceNumberRegistrationInfo> </ReferenceNumberRegistrationInfo>で囲う

●保険者番号は 数字の8ケタにする,あるいは先頭に空白を入れて8ケタにする。


しかし, 以上のことをクリアしたつもりでも,エラーがかえって来ます。

いろいろ試行錯誤して大分時間をロスしましたが, 結論をいえば, 連携アプリではできませんでした。


Edge画面のオンライン資格確認画面で”一括要求”ですることで 目的は達しました。

Filemakerで一括登録のXMLを作成して, それをテキストFileのまま, File名を OQSmuimm01req_xxxaaa.xml にして

(改行記号は LF, CR, CRLF, いずれでもかまわないです。 )


それをEdgeの画面で 「参照番号一括登録」, Fileを指定して, Uploadします。さらに「参照番号一括登録結果」の”ボタン”を押して”完了”の表示が出たら, xmlを Downloadして内容を確認することになります。

(回答File名は OQSmuimm02res_xxxxxxxxxxxx.xml になっています)

一応, これで目的を達することができました。一括登録はたびたびやることではないので, まあ, これでもいいかな、と思っていますが, 技術書には連携アプリですべてできるように記載してありますから, やり方がまずいのかもしれませんが,これ以上詮索していません。





技術書を解釈すると, 本来なら以下のような経緯になるはずです。(詳しい解説はありません)

OQSmuimm01req_xxxaaa.xml をreq Folderに投函すると

OQSmuimm01res_xxxxxxxxxxxx.xml が返ってきます

?xml version="1.0" encoding="UTF-8" standalone="no"?>

<XmlMsg>

<MessageHeader>

<ProcessExecutionTime>20221121102547</ProcessExecutionTime> 処理実行日時

<MedicalInstitutionCode>4110312424</MedicalInstitutionCode>

<ArbitraryFileIdentifier >SANO_Clinic_Multi</ArbitraryFileIdentifier >

<CharacterCodeIdentifier>0</CharacterCodeIdentifier>  (0:UTF8,  1:Shift-JIS)

</MessageHeader>

<MessageBody>

<ReceptionNumber>233331245824_1257</ReceptionNumber> 受付番号

<ReceptionDateTime>20221124145824</ReceptionDateTime>受付日時

</MessageBody>

</XmlMsg>


上記に記載されている ReceptionNumber (受付番号)を

OQSmuimm02req_xxxxxxxxxxxx.xml のなかに書き込んで Download要求XML とします。


?xml version="1.0" encoding="UTF-8" standalone="no"?>

<XmlMsg>

<MessageHeader>

<MedicalInstitutionCode>4110312424</MedicalInstitutionCode>

</MessageHeader>

<MessageBody>

<ReceptionNumber>233331245824_1257</ReceptionNumber>  (上記のRESの受付番号)

</MessageBody>

</XmlMsg>


これに対して照会番号登録案件が羅列されたxml, OQSmuimm02res_xxxxxxxxxxx.xml が返って来るはずなのですが。連携アプリでは成功していません, Edge画面では そのFile名で Downloadできます。


追伸

もう一度, ONSに問い合わせてみました。(road34)

OQSmuimm01req_xxxaaa.xml の内容を 1行のテキストとする。

それに 従って トライしても やはり エラーが返って来るので, さらに問い合わせると

文末に半角の空白がありました。そんなものは入れた覚えがないのに....? それがエラーの原因でした。

そうしてみると Edge画面での 様式は あまり厳密でなくとも受け入れられるが, 連携アプリでのやりとりは 厳密です。