受診日指定による来院患者一覧
メニュー
- 更新履歴
- 概要
- テスト方法
- リクエスト(POSTリクエスト)サンプル
- レスポンスサンプル(来院日一覧)
- レスポンスサンプル(来院年月一覧)
- リクエスト一覧
- レスポンス一覧(来院日一覧)
- レスポンス一覧(来院年月一覧)
- Rubyによるリクエストサンプルソース
- エラーメッセージ一覧
更新履歴
2021-01-27 「レスポンス一覧(来院日一覧)」に項目を追加。
2017-12-20 「レスポンス一覧」に項目を追加。
2017-04-26 「レスポンス一覧(来院日一覧)」に項目を追加。
受診日指定の返却情報の最大件数を500件から1000件に変更。
2014-06-23 「エラーメッセージ一覧」を追加。
概要
POSTメソッドによる来院患者一覧の取得を行います。
日レセ Ver.4.7.0[第17回パッチ適用] 以降
リクエストおよびレスポンスデータはxml2形式になります。
テスト方法
- 参考提供されている sample_visitpt_v2.rb 内の変数HOST等を接続環境に合わせます。
- sample_visitpt_v2.rb 内の来院日付等を接続先の日レセの環境に合わせます。
- ruby sample_visitpt_v2.rb により接続。
リクエスト(POSTリクエスト)サンプル
POST : /api01rv2/visitptlstv2
Content-Type: application/xml
application/xml の場合の文字コードは UTF-8 とします。
今までのAPIではURLに引数(class)を指定することで機能の選択を行っていましたが、このAPIでは引数を受け取らない仕様に変更となりました。
その代わりに、リクエストデータ内に「Request_Number」の項目を追加し、「Request_Number」にリクエスト番号を指定することで機能の選択を行います。
<data>
<visitptlstreq type="record">
<Request_Number type="string">01</Request_Number>
<Visit_Date type="string">2003-01-14</Visit_Date>
<Department_Code type="string">01</Department_Code>
</visitptlstreq>
</data>
処理概要
来院患者一覧リクエストで受診日を指定することにより来院患者の情報を返却します。機能として以下の2つを提供します。
- 受診日指定による来院患者の返却
- 受診月、診療科指定による来院患者の返却
処理詳細
- 基準日の妥当性チェック(未設定の場合は、システム日付を設定)
- 診療科の妥当性チェック
- 返却情報は、受診日指定の場合は最大500件。(2017-04-26 パッチ適用以降1000件)
受診月指定の場合は最大2000件。
レスポンスサンプル(来院日一覧)
<xmlio2>
<visitptlst01res type="record">
<Information_Date type="string">2013-09-06</Information_Date>
<Information_Time type="string">13:29:09</Information_Time>
<Api_Result type="string">00</Api_Result>
<Api_Result_Message type="string">処理終了</Api_Result_Message>
<Reskey type="string">Medical Info</Reskey>
<Visit_Date type="string">2003-01-14</Visit_Date>
<Visit_List_Information type="array">
<Visit_List_Information_child type="record">
<Patient_Information type="record">
<Patient_ID type="string">00012</Patient_ID>
<WholeName type="string">日医 太郎</WholeName>
<WholeName_inKana type="string">ニチイ タロウ</WholeName_inKana>
<BirthDate type="string">1975-01-01</BirthDate>
<Sex type="string">1</Sex>
</Patient_Information>
<Department_Code type="string">01</Department_Code>
<Department_Name type="string">内科</Department_Name>
<Physician_Code type="string">10001</Physician_Code>
<Physician_WholeName type="string">日本 一</Physician_WholeName>
<Voucher_Number type="string">0020672</Voucher_Number>
<Sequential_Number type="string">1</Sequential_Number>
<Insurance_Combination_Number type="string">0003</Insurance_Combination_Number>
<HealthInsurance_Information type="record">
<InsuranceProvider_Class type="string">060</InsuranceProvider_Class>
<InsuranceProvider_WholeName type="string">国保</InsuranceProvider_WholeName>
<InsuranceProvider_Number type="string">138057</InsuranceProvider_Number>
<HealthInsuredPerson_Symbol type="string">01</HealthInsuredPerson_Symbol>
<HealthInsuredPerson_Number type="string">12345</HealthInsuredPerson_Number>
<PublicInsurance_Information type="array">
<PublicInsurance_Information_child type="record">
<PublicInsurance_Class type="string">010</PublicInsurance_Class>
<PublicInsurance_Name type="string">感37の2</PublicInsurance_Name>
<PublicInsurer_Number type="string">10131142</PublicInsurer_Number>
<PublicInsuredPerson_Number type="string">1234566</PublicInsuredPerson_Number>
</PublicInsurance_Information_child>
</PublicInsurance_Information>
</HealthInsurance_Information>
</Visit_List_Information_child>
</Visit_List_Information>
</visitptlst01res>
</xmlio2>
レスポンスサンプル(来院年月一覧)
<xmlio2>
<visitptlst02res type="record">
<Information_Date type="string">2013-09-06</Information_Date>
<Information_Time type="string">13:45:09</Information_Time>
<Api_Result type="string">00</Api_Result>
<Api_Result_Message type="string">処理終了</Api_Result_Message>
<Reskey type="string">Medical Info</Reskey>
<Visit_Date type="string">2003-01</Visit_Date>
<Department_Code type="string">01</Department_Code>
<Department_Name type="string">内科</Department_Name>
<Visit_List_Information type="array">
<Visit_List_Information_child type="record">
<Patient_Information type="record">
<Patient_ID type="string">00012</Patient_ID>
<WholeName type="string">日医 太郎</WholeName>
<WholeName_inKana type="string">ニチイ タロウ</WholeName_inKana>
<BirthDate type="string">1975-01-01</BirthDate>
<Sex type="string">1</Sex>
</Patient_Information>
<Visit_Calendar type="string">0000000100000001000000000000000</Visit_Calendar>
</Visit_List_Information_child>
</Visit_List_Information>
</visitptlst02res>
</xmlio2>
リクエスト一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Request_Number | リクエスト番号 | 01 | 01: 来院日の受診履歴取得 02: 来院年月の受診履歴取得 |
2 | Visit_Date | 来院日付 | 2003-01-14 | 未設定はシステム日付 ※2 |
3 | Department_Code | 診療科コード ※1 (01:内科) | 01 | class=02のみ必須 ※3 |
※1:システム管理マスタの診療科目情報の診療科コードを参照して下さい。
※2:来院年月指定時は、日のチェックは行いません。暦日チェックは日=1で行います。
※3:指定された診療科を対象とします。
レスポンス一覧(来院日一覧)
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Information_Date | 実施日 | 2013-09-06 | |
2 | Information_Time | 実施時間 | 13:29:09 | |
3 | Api_Result | 結果コード(ゼロ以外エラー) | 00 | |
4 | Api_Result_Message | エラーメッセージ | 処理終了 | |
5 | Reskey | Medical Info | ||
6 | Visit_Date | 来院日付 | 2003-01-14 | |
7 | Visit_List_Information | 来院一覧情報 (繰り返し 500) | (2017-04-26 パッチ適用以降 繰り返し1000) | |
7-1 | Patient_Information | 患者情報 | ||
7-1-1 | Patient_ID | 患者番号 | 00012 | |
7-1-2 | WholeName | 漢字氏名 | 日医 太郎 | |
7-1-3 | WholeName_inKana | カナ氏名 | ニチイ タロウ | |
7-1-4 | BirthDate | 生年月日 | 1975-01-01 | |
7-1-5 | Sex | 性別 (1:男、2:女) | 1 | |
7-2 | Department_Code | 診療科コード ※1 (01:内科) | 01 | |
7-3 | Department_Name | 診療科名称 | 内科 | |
7-4 | Physician_Code | ドクターコード | 10001 | |
7-5 | Physician_WholeName | ドクター名 | 日本 一 | |
7-6 | Voucher_Number | 伝票番号 | 0020672 | |
7-7 | Sequential_Number | 連番 | 1 | 診療科毎の同日連番 |
7-8 | Insurance_Combination_Number | 保険組合せ番号 | 0003 | |
7-9 | HealthInsurance_Information | 保険組合せ情報 | ||
7-9-1 | InsuranceProvider_Class | 保険の種類 | 060 | |
7-9-2 | InsuranceProvider_WholeName | 保険の制度名称 | 国保 | |
7-9-3 | InsuranceProvider_Number | 保険者番号 | 138057 | |
7-9-4 | HealthInsuredPerson_Symbol | 記号 | 01 | |
7-9-5 | HealthInsuredPerson_Number | 番号 | 12345 | |
7-9-6 | HealthInsuredPerson_Branch_Number | 枝番 | 00 | 追加 (2021-01-27) |
7-9-7 | PublicInsurance_Information | 公費情報(繰り返し 4) | ||
7-9-7-1 | PublicInsurance_Class | 公費の種類 | 010 | |
7-9-7-2 | PublicInsurance_Name | 公費の制度名称 | 感37の2 | |
7-9-7-3 | PublicInsurer_Number | 負担者番号 | 10131142 | |
7-9-7-4 | PublicInsuredPerson_Number | 受給者番号 | 1234566 | |
7-10 | Update_Date | 更新日付 | 追加 (2017-04-26) | |
7-11 | Update_Time | 更新時間 | 追加 (2017-04-26) | |
7-12 | Patient_Update_Date | 患者情報更新日 | 追加 (2017-12-20) | |
7-13 | Patient_Update_Time | 患者情報更新時間 | 追加 (2017-12-20) |
※来院日付の受診履歴テーブル内容を伝票番号順に編集します。
包括保険(9999)は対象外となります。
※伝票番号は受診履歴を削除後、再度登録した場合は新しい番号となります。
また、会計照会・外来まとめで一括して入力した場合も伝票番号を一括で採番します。
※500件以上存在した時はメッセージを返却します。(2017-04-26 パッチ適用以降1000件)
※1:システム管理マスタの診療科目情報の診療科コードを参照して下さい。
レスポンス一覧(来院年月一覧)
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Information_Date | 実施日 | 2013-09-06 | |
2 | Information_Time | 実施時間 | 13:45:09 | |
3 | Api_Result | 結果コード(ゼロ以外エラー) | 00 | |
4 | Api_Result_Message | エラーメッセージ | 処理終了 | |
5 | Reskey | Medical Info | ||
6 | Visit_Date | 来院日付 | 2003-01 | |
7 | Department_Code | 診療科コード ※1 (01:内科) | 01 | |
8 | Department_Name | 診療科名称 | 内科 | |
9 | Visit_List_Information | 来院一覧情報 (繰り返し 2000) | ||
9-1 | Patient_Information | 患者情報 | ||
9-1-1 | Patient_ID | 患者番号 | 00012 | |
9-1-2 | WholeName | 漢字氏名 | 日医 太郎 | |
9-1-3 | WholeName_inKana | カナ氏名 | ニチイ タロウ | |
9-1-4 | BirthDate | 生年月日 | 1975-01-01 | |
9-1-5 | Sex | 性別 (1:男、2:女) | 1 | |
9-2 | Visit_Calendar | 来院日カレンダー | 0000000100000001000000000000000 | ※2 |
※来院年月・診療科から受診履歴を決定し、患者番号順に来院日を編集します。
包括保険(9999)は対象外となります。
※2000件以上存在した時はメッセージを返却します。
※1:システム管理マスタの診療科目情報の診療科コードを参照して下さい。
※2:来院した日に1を、以外に0を編集します。
例:(2日・4日に来院があれば 0101000000000000000000000000000)
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 -*-
#!/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/visitptlstv2")
# Request_Number :01 来院日の受診履歴取得
# Request_Number :02 来院年月の受診履歴取得
#
# 1.来院日付 Visit_Date (IMPLIED)
# 2.診療科コード Department_Code (REQUIRED class=02のみ)
#
# REQUIRED : 必須 IMPLIED : 任意
#
BODY = <<EOF
<data>
<visitptlstreq type="record">
<Request_Number type="string">01</Request_Number>
<Visit_Date type="string">2003-01-14</Visit_Date>
<Department_Code type="string">01</Department_Code>
</visitptlstreq>
</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
}
エラーメッセージ一覧
エラーコード | エラーメッセージ |
---|---|
01 | 診療科未設定 |
10 | 診療日設定誤り |
11 | 診療科コード誤り |
12 | 対象が500件以上存在します。(2017-04-26 パッチ適用以降1000件) |
13 | 対象がありません |
14 | 対象が2000件以上存在します。 |
K1 | 診療日を設定しました |
89 | 職員情報が取得できません |
医療機関情報が取得できません | |
システム日付が取得できません | |
患者番号構成情報が取得できません | |
グループ医療機関が不整合です。処理を終了して下さい。 | |
システム項目が設定できません | |
90 | 他端末使用中 |
91 | 処理区分未設定 |
97 | 送信内容に誤りがあります。 |
98 | 送信内容の読込ができませんでした |
99 | ユーザID未登録。 |