新たなAPI(HAORI)について(株式会社ネットワーク応用通信研究所)

新たなAPI(HAORI)について
ORCAカンファレンス2015
(2015年7月14日)
1
HAORIとは
HAORIとは、電子カルテ等の外部システムより、日レセの操作を
行うことなく、患者様の基本情報(保険等)の登録・変更および診療
行為の登録(患者請求)等の処理を対話形式で可能とする新たなAP
Iである。
2
HAORIが必要となった背景
現在、日レセ及び日レセと接続可能な連動型電子カルテは、医院への導入
提案時に医事業務システムを備えた一体型電子カルテと競合する場合があ
る。
この場合、日レセ+連動型電子カルテは設置スペース、サポート費用、操
作性等で有利な一体型電子カルテに競争力で厳しい立場にあり、商談に結び
付かない場面が増えてきている。
これらの問題を解決するため、 日レセと連動型電子カルテとの連携の際
に、日レセクライアントの操作を行うことなく、また、連動型電子カルテ
は、日レセのテーブル構造等に影響されない疎な結合を保ちながら、表面上
は医事業務を搭載した一体型電子カルテのように連携できる仕組みとして、
日レセAPIの機能を拡張させたHAORIを考案した。
3
日レセAPIとは
日レセAPIは電子カルテ等の日レセ連携相手から日レセデータベースを参照・更新する
ためのインターフェースである。
日レセAPIはWEB APIとなっており、xmlを日レセサーバにHTTPリクエストを送信する
と、処理結果をHTTPレスポンスの形で受信することが可能である。
これを利用して、連携相手から患者様の基本情報、病名登録、診療データの中途への登
録等を可能としている。
4
API一覧URL
https://www.orca.med.or.jp/receipt/tec/api/overview.html
5
APIリクエストサンプル(受付登録)
患者番号、保険情報などを設定
<data>
<acceptreq type="record">
<Patient_ID type="string">00001</Patient_ID>
<Department_Code type="string">01</Department_Code>
<Physician_Code type="string">10001</Physician_Code>
<Medical_Information type="string">01</Medical_Information>
<HealthInsurance_Information type="record">
<InsuranceProvider_Class type="string">009</InsuranceProvider_Class>
<InsuranceProvider_Number type="string">01130012</InsuranceProvider_Number>
<InsuranceProvider_WholeName type="string">協会</InsuranceProvider_WholeName>
<HealthInsuredPerson_Symbol type="string">5010203</HealthInsuredPerson_Symbol>
<HealthInsuredPerson_Number type="string">1 </HealthInsuredPerson_Number>
<Certificate_StartDate type="string">2010-04-01</Certificate_StartDate>
<Certificate_ExpiredDate type="string">9999-12-31</Certificate_ExpiredDate>
</HealthInsurance_Information>
</acceptreq>
</data>
6
APIレスポンスサンプル(受付登録)
日レセの処理結果を返却
<?xml version="1.0" encoding="UTF-8"?>
<xmlio2>
<acceptres type="record">
<Information_Date type="string">2015-07-01</Information_Date>
<Information_Time type="string">14:13:17</Information_Time>
<Api_Result type="string">K1</Api_Result>
<Api_Result_Message type="string">受付登録終了</Api_Result_Message>
<Api_Warning_Message_Information type="array">
<Api_Warning_Message_Information_child type="record">
<Api_Warning_Message type="string">受付日を自動設定しました</Api_Warning_Message>
</Api_Warning_Message_Information_child>
<Api_Warning_Message_Information_child type="record">
<Api_Warning_Message type="string">受付時間を自動設定しました</Api_Warning_Message>
</Api_Warning_Message_Information_child>
</Api_Warning_Message_Information>
<Reskey type="string">Acceptance_Info</Reskey>
<Acceptance_Date type="string">2015-07-01</Acceptance_Date>
<Acceptance_Time type="string">14:13:17</Acceptance_Time>
<Acceptance_Id type="string">00001</Acceptance_Id>
<Department_Code type="string">01</Department_Code>
<Department_WholeName type="string">内科</Department_WholeName>
<Physician_Code type="string">10001</Physician_Code>
(以下略)
7
日レセ受付登録結果
8
HAORIの目的と概要
HAORIの目的は日レセの画面を操作することなしに、患者様の基本情報(保険等)の登録変
更、診療行為の登録(請求処理)等を新APIで行い、日レセの機能を外部システム連携において
エンジン化することにある。
日レセクライアントと日レセサーバ間のセッション管理に相当する機能を連動型電子カル
テと日レセサーバ間においてHAORIが行い、対話形式による連携を可能にする。
これにより連動型電子カルテにおいても一体型電子カルテのごとく振る舞うことが可能と
なる。
9
HAORIを使用した診療行為の新規登録
HAORIを利用し電子カルテ側で診療行為の新規登録処理を行う
場合、以下の5つの日レセAPIにより診療行為の新規登録処理(患者
請求処理)を完了する。
1.診察料返却API(初回接続)
APIのレスポンス
より画面表示
2.診療内容基本チェックAPI
3.診療確認API
4.診療確認・請求確認API
5.診療登録API
10
1.診察料返却API(初回接続)
連携相手から送信された患者番号、診療科等の基本チェックを行い、問題なければ 指示に 従った診察料を返却する。
([21 診療行為]の診療行為入力画面での患者、診療科、保険等を確定した部分に該当する。)
2.診療内容基本チェックAPI
連携相手から送信された診療情報の基本チェックを行う。
([21 診療行為]の診療行為入力画面での診療情報の入力チェック等の部分に該当する。)
3.診療確認API
連携相手から送信された診療情報において、選択(内服7種類以上逓減等)する必要がある場合は
その旨通知し、連携相手から選択結果をもらう。
([21 診療行為]の診療行為入力画面で表示する選択ダイアログ入力部分に該当する。)
4.診療確認・請求確認API
確認事項が全て完了したところで、請求情報を連携相手へ返却する。
([21 診療行為]の診療行為確認画面の入力部分に該当する。)
5.診療登録API
連携相手から送信された入金情報等をチェックし、問題なければ診療情報、収納情報等を登録し、 各種帳票(請求書等)の印刷情報を返却する。
([21 診療行為]の請求確認画面の入力部分に該当する。)
11
12
13
14
15
16
診察料返却API使用例
初回接続時には、これから処理をする患者様の番号、保険、診療科等を確定させるため、 連携相手側は以下のような電文
を送信する。
<Request_Number type="string">01</Request_Number> :リクエスト番号(診察料返却APIリクエスト)
<Perform_Date type="string">2015-05-01</Perform_Date> :診療年月日 <Patient_ID type="string">00129</Patient_ID> :患者番号
<Department_Code type="string">01</Department_Code> :診療科
<Insurance_Combination_Number type="string">0001</Insurance_Combination_Number> :保険組合番号
<Doctors_Fee type="string">01</Doctors_Fee> :診察料指示(初診)
日レセ側は患者情報、診療年月等の基本チェックを行い、問題なければ以下のように電文を返却する。
この時点で該当患者様の排他情報を書き込み、他からの更新は、日レセ画面同様不可となる。
全処理において次のAPIに進めるかどうかの判断は、電子カルテ側から送信した[Request_Number]が繰り上がった値で
[Response_Number ]として返却されることで判断する。
<Response_Number type="string">02</Response_Number >:レスポンス番号(次回連携側がリクエストを送信するAPI)
<Api_Result type="string">00</Api_Result> :処理結果コード
<Patient_ID type="string">00129</Patient_ID>:患者番号
<WholeName type="string">テスト 患者</WholeName>:患者氏名
<Medication_Code type="string">111000110</Medication_Code> :算定可能な診察料コード
<Medication_Name type="string">初診</Medication_Name>
</Medication_info_child>
17
リクエストに[OffTime](時間外区分)が設定されている場合、以下ような情報も付与して返却する。
<Medication_info_child type="record">
<Medication_Code type="string">111000570</Medication_Code>
<Medication_Name type="string">初診(時間外)加算</Medication_Name>
</Medication_info_child>
当日既に受診済である患者様に対して[Doctors_Fee=02](再診指示) が設定された場合、連携相手側で[同日再診]、
[他保険にて診察料算定済]等を決定する必要が出てくる。
この場合は、決定する必要が有る旨通知するため、日レセは[Medical_Select_Flag]および選択項目の返却を行い、
連携相手側にいずれかを決定してもらう。
<Medical_Select_Flag type="string">True</Medical_Select_Flag>
<Medication_info type="array">
<Medication_info_child type="record">
<Medication_Code type="string">112008350</Medication_Code>
<Medication_Name type="string">同日再診</Medication_Name>
</Medication_info_child>
<Medication_info type="array">
<Medication_info_child type="record">
<Medication_Code type="string">099999902</Medication_Code>
<Medication_Name type="string">他保険にて診察料算定済</Medication_Name>
</Medication_info_child>
</Medication_info>
18
診療内容基本チェックAPI使用例
電子カルテ側は、[診察料返却API]から返却された診察料等に実際の電子カルテ側で該当の患者様に処方した内容を付与
設定し、日レセへリクエストを送信する。
日レセ側は、リクエストより薬剤、検査等の設定されたコードの基本チェックを行い、問題なければ、
[Response_Number]に[03]を返却する。
診療行為のコード基本チェック(数値チェック等)でエラーとなった場合、[Medical_Req_Message_Information]にその
情報を設定する。
<Medical_Req_Message_Information type="record">:エラー内容
<Medical_Req_Result type="string">004</Medical_Req_Result>:エラーコード
<Medical_Req_Result_Message type="string">診療コードがありません</Medical_Req_Result_Message>:エラーメッセージ
<Medical_Req_Position type="string">003</Medical_Req_Position>:エラーとなった剤の位置
<Medical_Req_Item_Position type="string">01</Medical_Req_Item_Position>:エラーとなった明細の位置
</Medical_Req_Message_Information>
[Medical_Req_Position]の値が[003]であることは、 リクエストに設定した剤の三番目に出現した値にエラーがある
ことを示し、[Medical_Item_Position] の値が[01]であることは、その中の 明細の一番目に出現した値がエラーであ
ることを示す。
19
診療確認API使用例
診療内容基本チェックが完了したものに対して、[薬剤逓減]等の関連チェックを行う。
例えば、[胃炎]を病名として設定されている患者様に対して以下のような薬を処方し、その内容を送信した場合
.210
1.ムコスタ錠100㎎
2.ガスターD錠20㎎
3.ツムラの生薬インチンコウ
4.スルモンチール錠25㎎
5.トフラーニール錠25㎎
6.アモキサンカプセル50㎎
7.ノリトレン錠25㎎
8.MSコンチン錠60㎎(向精神薬)
入力者の選択が必要ものとして、
(1)向精神薬多剤投与に対する逓減選択
(2)内服薬剤が7種類以上に対する処方せん料の選択
(3)特定疾患処方管理加算の算定に対する選択
等が考えられる。
こういった場合、日レセからは
<Response_Number type="string">03</Response_Number>
<Api_Result type="string">S40</Api_Result>
<Api_Result_Message type="string">選択項目があります。選択結果を返却してください。</Api_Result_Message>
<Medical_Select_Flag type="string">True</Medical_Select_Flag>
20
を返却し、最初の選択内容を
<Medical_Select_Code type="string">2006</Medical_Select_Code>
<Medical_Select_Message type="string">向精神薬多剤投与となります。逓減しますか?</Medical_Select_Message>
として返却する。
これに対し、連携相手側は、[Ok]または[No]を返却する。
<Select_Inf type="string">Ok</Select_Inf>
仮に、これに対して[No]を日レセ側が受け取ると、この例では、更に
<Response_Number type="string">03</Response_Number>
<Api_Result type="string">S40</Api_Result>
<Api_Result_Message type="string">選択項目があります。選択結果を返却してください。</Api_Result_Message>
<Medical_Select_Code type="string">2002</Medical_Select_Code>
<Medical_Select_Message type="string">内服薬剤が7種類以上になります。7種類以上の処方せん料にしますか?
</Medical_Select_Message>
<Medical_Select_Flag type="string">True</Medical_Select_Flag>
と次の選択結果の受け取りを連携相手に促す。
これをResponse_Number が繰り上がるまで(選択等がなくなるまで)繰り返す。
<Response_Number type="string">04</Response_Number>
21
診療確認・請求確認API使用例
確定した診療内容より診療情報、請求情報の返却および不要な剤の削除を行い、診療情報の最終確定を行う。
確定した診療内容より、以下のように診療情報、請求情報を返却する。
[診療情報]
<Medical_Class_Code type="string">60</Medical_Class_Code>
<Medical_Class type="string">610</Medical_Class>
<Medical_Class_Name type="string">検査(包括対象外)</Medical_Class_Name>
<Medical_Point type="string">26</Medical_Point>
<Medication_Info type="array">
<Medication_Info_child type="record">
<Medication_Code type="string">160021610</Medication_Code>
<Medication_Name type="string">イオン化カルシウム</Medication_Name
<Medication_Number type="string">1</Medication_Number>
</Medication_Info_child>
22
[請求情報]
<Cd_Information type="record">
<Ic_Code type="string">01</Ic_Code>
<Ic_Code_Name type="string">現金</Ic_Code_Name>
<Ic_Money type="string">36510</Ic_Money>
<Ad_Money1 type="string">0</Ad_Money1>
<Ad_Money2 type="string">0</Ad_Money2>
<Ac_Money type="string">36510</Ac_Money>
.
.
.
<Ac_Point_Detail_child type="record">
<AC_Point_Name type="string">初・再診料</AC_Point_Name>
<AC_Point type="string">192</AC_Point>
</Ac_Point_Detail_child>
<Ac_Point_Detail_child type="record">
<AC_Point_Name type="string">医学管理等</AC_Point_Name>
<AC_Point type="string">500</AC_Point>
</Ac_Point_Detail_child>
23
削除可能な剤の場合、[Medical_Del_Number]を設定して返却する。
<Medical_Class_Code type="string">60</Medical_Class_Code>
<Medical_Class type="string">600</Medical_Class>
<Medical_Class_Name type="string">検査</Medical_Class_Name>
<Medical_Class_Number type="string">1</Medical_Class_Number>
<Medical_Point type="string">50</Medical_Point>
<Medical_Delete_Number type="string">04</Medical_Delete_Number>
<Medication_Info type="array">
<Medication_Info_child type="record">
<Medication_Code type="string">160177770</Medication_Code>
<Medication_Name type="string">外来迅速検体検査加算</Medication_Name>
<Medication_Number type="string">5</Medication_Number>
この例での[Medical_Del_Number=04]を削除する場合、次のリクエストで[Delete_Number]に[04]を設定し、
リクエストを送信する。
<Delete_Number_Inf type="array">
<Delete_Number_Inf_child type="record">
<Delete_Number type="string">04</Delete_Number>
</Delete_Number_Inf_child>
24
診療登録API使用例
リクエストに設定された入金方法、入金額よりに登録処理を行う。
設定された内容に問題がなければ、伝票番号、診療情報、請求情報を返却する。
診療情報、請求情報は[診療確認・請求確認API]のレスポンスと同じ内容となる。
伝票番号(訂正処理の場合のキーとなる値 ※訂正機能は11月提供分には含まれない。)
<Invoicd_Number type="string">0000843</Invoicd_Number>
処方せん等の帳票イメージについて、電子カルテ側から印刷する手段を提供する。
(現在検討中)
25
開発スケジュール
●
●
●
2015年7月
外来診療行為登録処理完了(2015年11月パッチ提供予定)
2015年10月
患者登録、変更削除処理完了(2015年11月パッチ提供予定)
2015年12月以降
外来診療行為訂正・削除処理
上記以外の外来業務(病名、受付、予約、収納、照会、明細書業務等)
入院業務
26
HAORI関連ドキュメントURL
最新情報を順次公開予定
https://www.orca.med.or.jp/receipt/tec/api/haori.html
27