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


実際にやってみると(その1)  重複check XMLを送信



2023.1.26から電子処方箋システムが開始されました。しかしそのシステムはまだ未完成のところも有るようで, ONSからは その後もシステムのルール変更のアナウンスがあります。

当方では電子署名はすぐには実装できそうもないので, 当面 電子処方箋対応で紙の処方箋発行を試行してみたいと思います。


まず, 電子処方箋用のFile投函Folder, File受信Folder オンライン資格確認のものと分離することにしました。これは 昨年のシステム改定で可能となりました。




ユーザー定義ファイル  C:\ProgramData\OQS\OQSComApp\config\UserDefinition.property を開いて赤枠の部分を変更します。

当院の場合、  res → presc, req → req_presc  としました。

変更の仕方はオンライン資格確認導入記 road3 に記載した通りです。

OQS Folder 従来の res Folder をコピーして, resと同階層に presc, req_presc というFolder 作成しました。




もっとも, XMLファイル名で区別できますから, 元のままでも問題なくできますが。このほうが精神衛生上いいと思います。

これでFilemakerからFolderを読み込むときに, まちがいが少なくなります。


早速

事前準備 (重複チェックの準備を促す) 要求 EPSsiDMP01req_xxxxxxxxxxxx.xml  を出してみると,


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

<XmlMsg>

    <MessageHeader>

        <MedicalInstitutionCode>9918000010</MedicalInstitutionCode>

        <ArbitraryFileIdentifier>Sample</ArbitraryFileIdentifier>

    </MessageHeader>

    <MessageBody>

        <InsurerNumber>02199990</InsurerNumber>

        <InsuredCardSymbol>2022</InsuredCardSymbol>

        <InsuredIdentificationNumber>060022</InsuredIdentificationNumber>

        <InsuredBranchNumber>01</InsuredBranchNumber>

    </MessageBody>

</XmlMsg>


うまく 正常終了した旨の resが返ってきました。

<ProcessingResultStatus>1</ProcessingResultStatus>

メデタシ メデタシ


ところが 重複チェック要求EPSsiDMP02req_xxxxxxxxxxxx.xml をやってみると


最初 errが返ってくるだけ, XMLは送信されていないようです。

エラー内容は いつもの “OQSB3180E “技術者を呼んでくださいです。


原因がわからないので ONS ヘルプデスクに質問しました。

ログを送ってほしいといわれ, 資格確認マシンに実装されている,配信アプリを使って, ログを送りました。しばらくして, xml 改行コードを削除してみてくれ  というアドバイス


今回送信した重複チェックXML には「CotEditor」で見ると Base64変換部分に改行が見られます。

なぜかわからないが, Base64変換したときに入ってしまう ?


重複チェックXMLを Middlevalues関数で 適当な行を抽出して, それをCode関数で見てみると文末は

1300098000980009800....  改行コード 13 であることがわかりました。(ちなみに”000980009800098” = “aaa” ) Code関数の UFT8 コードポイント出力は左右逆転します。先頭( 文末 )13 CR(キャリッジリターン)です。Macの改行コードはLF :Char(10)ですが, 10は見えません。




そこで その CR Char関数で指定して substitute ( xml; Char(13); “” ) で削除しました。

そのXMLを投函しようとすると




上記のエラーが出ます。Macの改行コードである LF = Char(10)を削除する

substitute ( xml; Char(10); “” ) でも同じエラーが出ます。

Windows req Folderにも拒否されました。Fileとして異常な形式だと認識されるのでしょうか。

Char(10), Char(13)をそれぞれ単独に削除しただけではこのようなエラーがでて先に進めません。


両方削除の関数処理 substitute ( xml ; [ Char(10) ; “” ] ; [ Char(13) ; “” ]  ) をして投函すると,

受け入れられました。

このxml CotEditorで見てみると, 確かに(改行記号がすべて削除されて)1行の 文になっています。結局 Windowsの改行コードは CR・LFなので...ということでしょうか, この改行コードは難解です。

結果的に res もかえって来ました。認識されました。... やっとここまできました。


ただその res (EPSsiDMP02res_20230xxxx14491268857.xml) は CSV エラーだ という指摘満載のものでした。

このエラーを ひとつずつ ツブして行きます。




  1. (1)記録必須のレコードNo.を記録してください。(レコードNo.:111)

用法に関する エラー... (8)と関連


  1. (2)記録必須のレコードNo.を記録してください。(レコードNo.:201)

薬剤名のエラーですが...(9)と関連


  1. (3)複数記録不可のレコードが2レコード以上記録されています。(レコードNo.:111)

用法に関する エラー...(8)?


(4)  指定されたバイト数で記録してください。(行番号:2,項目名:医療機関コード,値:212424,指定バイト数:7)

これはミス... 6桁にしていました。7桁が正しいのですね。近い将来 ”サンプルソフトv3” のUploadを予定しておりますので, それを修正しておきます。


  1. (5)RP番号が正しくありません。(行番号:21,項目名:RP 番号,値:1)

グループごとに記載しなさいということのようです。...(7)と関連


  1. (6)RP番号が正しくありません。(行番号:24,項目名:RP 番号,値:1)

グループごとに記載しなさいということのようです。...(7)と関連


  1. (7)同一グループ内で1から抜け漏れなく昇順で記録してください。(行番号:25,項目名:RP内連番,値:1)

Path 9で触れましたが, 処方のグループ化に関しては, ONSヘルプデスクに質問したときは, グループごとにまとめなくてもいいという回答だったのですが, どうもそれはダメなようです。サンプルソフトV2でそれを実現させていますが, 当院の電子カルテではその機能を実装していませんでした。さっそく修正・実装しました。


  1. (8)電子処方箋用法マスタに登録されている用法コードに対応する用法名称を記録してください。(行番号:21,項目名:用法コード,値:1012030300000000)

2023.2.10 にONSからアナウンスがありましたが, 新・用法マスターの発表がありました。それをダウンロードしましたが, 主要な部分は変わっていない様に見えました。ただ, そのコードの名称内部の空白などが若干変化しているようで, そこが違うと(全角空白,半角空白の違いでも)エラーになるようです。これを正確に入れ変えました。


(9) 薬品コードに対応した薬品名称を記録してください。(行番号:24,項目名:薬品名称,値:オラセフ錠250mg)

薬品コードは レセプトコードを使うなら, 支払基金のホームページからデータをdownloadできます。これもマスターの文字を手を加えずに, 記載しなければなりません。

そのときは CSVは201,2,1,1,2, コード,..... “のように”2”を指定します。

後発品を処方する場合は Path5 に記載したように 厚労省のページから令和4.12.9 のデータがdownloadできます。

そのときは CSVは201,2,1,1,7, コード,..... “のように”7”を指定します。

また, この後発品のデータには単位の項目がないので,”規格”のデータを手がかりに単位を記載するしかないでしょうね。


以上を 修正したら, 重複チェックXMLが 正常終了しました。

<ProcessingResultStatus>1</ProcessingResultStatus>

(1),(2),(3) は 他の項目を修正したことで, 自然解消しました。


ただし 肝腎の重複しているのか? というデータは何もありません, まだ 電子処方箋管理サービスが開始したばかりなので, 蓄積されたデータがない, ということなのでしょうか。






                                                                       









 

2023.3.5 更新