保険者一覧情報
メニュー
更新履歴
2014-06-23 「エラーメッセージ一覧」を追加。
概要
POSTメソッドによる保険者一覧情報の取得を行います。
日レセ Ver.4.7.0[第19回パッチ適用] 以降
リクエストおよびレスポンスデータはxml2形式になります。
テスト方法
- 参考提供されている sample_InsuranceProvider_Info_v2.rb 内の変数HOST等を接続環境に合わせます。
- sample_InsuranceProvider_Info_v2.rb 内の保険者番号等を設定します。
- ruby sample_InsuranceProvider_Info_v2.rb により接続。
リクエスト(POSTリクエスト)サンプル
POST : /api01rv2/insprogetv2
Content-Type: application/xml
application/xml の場合の文字コードは UTF-8 とします。
<data>
<insprogetreq type="record">
<InsuranceProvider_Number type="string">138057</InsuranceProvider_Number>
<Insurance_Number type="string"></Insurance_Number>
</insprogetreq>
</data>
処理概要
日レセAPIを使用して保険者番号(保険番号)を指定することにより該当の保険者情報を返却します。
返却される情報は以下になります。
返却される情報は以下になります。
- 保険者番号指定による該当の保険者情報の返却
- 保険番号(060:国保)指定による該当保険者の一括取得
処理詳細
- 保険者番号の妥当性チェック
- 保険番号の妥当性チェック
- 返却情報は保険番号指定の場合、最大2500件
レスポンスサンプル
<xmlio2>
<insprogetres type="record">
<Information_Date type="string">2013-10-11</Information_Date>
<Information_Time type="string">10:20:23</Information_Time>
<Api_Result type="string">00</Api_Result>
<Api_Result_Message type="string">処理終了</Api_Result_Message>
<Reskey type="string">Medical Info</Reskey>
<TInsuranceProvider_Information type="array">
<TInsuranceProvider_Information_child type="record">
<InsuranceProvider_Number type="string">138057</InsuranceProvider_Number>
<InsuranceProvider_WholeName type="string">文京区</InsuranceProvider_WholeName>
<Insurance_Number type="string">060</Insurance_Number>
<Insurance_Number_Name type="string">国保</Insurance_Number_Name>
<InsuranceProvider_Address_ZipCode type="string">1120003</InsuranceProvider_Address_ZipCode>
<InsuranceProvider_WholeAddress1 type="string">東京都文京区春日</InsuranceProvider_WholeAddress1>
<InsuranceProvider_WholeAddress2 type="string">1‐16‐21</InsuranceProvider_WholeAddress2>
<InsuranceProvider_PhoneNumber type="string">03-3812-7111</InsuranceProvider_PhoneNumber>
</TInsuranceProvider_Information_child>
</TInsuranceProvider_Information>
</insprogetres>
</xmlio2>
リクエスト一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | InsuranceProvider_Number | 保険者番号 | 138057 | ※1 |
2 | Insurance_Number | 保険番号 | 060 | ※1 |
※1: 保険者番号か保険番号のどちらかの設定が必須です。
両方の設定があった場合は、保険者番号を優先します。
レスポンス一覧
番号 | 項目名 | 内容 | 例 |
---|---|---|---|
1 | Information_Date | 実施日 | 2013-10-11 |
2 | Information_Time | 実施時間 | 10:20:23 |
3 | Api_Result | 結果コード(ゼロ以外エラー) | 00 |
4 | Api_Result_Message | エラーメッセージ | 処理終了 |
5 | Reskey | Medical Info | |
6 | TInsuranceProvider_Information | 保険者一覧情報(繰り返し 2500) | |
6-1 | InsuranceProvider_Number | 保険者番号 | 138057 |
6-2 | InsuranceProvider_WholeName | 保険者名称 | 文京区 |
6-3 | InsuranceProvider_Name1 | 保険者名称(短縮1) | |
6-4 | InsuranceProvider_Name2 | 保険者名称(短縮2) | |
6-5 | InsuranceProvider_Name3 | 保険者名称(短縮3) | |
6-6 | Insurance_Number | 保険番号 | 060 |
6-7 | Insurance_Number_Name | 保険番号名称 | 国保 |
6-8 | InsuranceProvider_Address_ZipCode | 郵便番号 | 1120003 |
6-9 | InsuranceProvider_WholeAddress1 | 住所 | 東京都文京区春日 |
6-10 | InsuranceProvider_WholeAddress2 | 番地方書 | 1−16−21 |
6-11 | InsuranceProvider_PhoneNumber | 電話番号 | 03-3812-7111 |
6-12 | InsuranceProvider_Symbol | 記号 | |
6-13 | Rate_Outpatient | 給付割合(本人外来) | |
6-14 | Rate_Inpatient | 給付割合(本人入院) | |
6-15 | Rate_Outpatient_F | 給付割合(家族外来) | |
6-16 | Rate_Inpatient_F | 給付割合(家族入院) | |
6-17 | Change_Memo | 異動内容 | |
6-18 | Change_Date | 異動年月日 | |
※保険番号設定の場合、保険者番号順に編集します。
※2500件以上存在したときはメッセージを返却します。
Rubyによるリクエストサンプルソース
Rubyのバージョンが1.9.2以前の環境の場合、HTTPのバージョン指定を1.1に変更する必要があります。
Rubyのバージョンを確認後、以下のように該当箇所を変更して下さい。
- Ruby1.9.2以降の場合
Net::HTTP.version_1_2
- Ruby1.9.2以前の場合
Net::HTTP.version_1_1
Rubyのバージョンが1.9.1以降の環境(日レセ4.8以降の環境)ではソースファイル内の文字コードの指定が必要になります。
サンプルソース内に以下の一行が記述されていることを確認して下さい。
# -*- coding: utf-8 -*-
sample_InsuranceProvider_Info_v2.rb
#!/usr/bin/ruby
# -*- coding: utf-8 -*-
#------ 保険者情報返却
require 'uri'
require 'net/http'
Net::HTTP.version_1_2
HOST = "localhost"
PORT = "8000"
USER = "ormaster"
PASSWD = "ormaster"
CONTENT_TYPE = "application/xml"
req = Net::HTTP::Post.new("/api01rv2/insprogetv2")
#
# 1.保険者番号 InsuranceProvider_Number (REQUIRED)
# 2.保険番号 Insurance_Number (REQUIRED)
#
# REQUIRED : 必須 IMPLIED : 任意
#
BODY = <<EOF
<data>
<insprogetreq type="record">
<InsuranceProvider_Number type="string">138057</InsuranceProvider_Number>
<Insurance_Number type="string">060</Insurance_Number>
</insprogetreq>
</data>
EOF
req.content_length = BODY.size
req.content_type = CONTENT_TYPE
req.body = BODY
req.basic_auth(USER, PASSWD)
puts req.body
Net::HTTP.start(HOST, PORT) {|http|
res = http.request(req)
puts res.body
}
エラーメッセージ一覧
エラーコード | エラーメッセージ |
---|---|
10 | 保険者番号・保険番号の指定がありません。 |
14 | 対象が2500件以上存在します。 |
15 | 対象がありません |
89 | 職員情報が取得できません |
医療機関情報が取得できません | |
システム日付が取得できません | |
患者番号構成情報が取得できません | |
グループ医療機関が不整合です。処理を終了して下さい。 | |
システム項目が設定できません | |
90 | 他端末使用中 |
91 | 処理区分未設定 |
97 | 送信内容に誤りがあります。 |
98 | 送信内容の読込ができませんでした |
99 | ユーザID未登録。 |