API 症状詳記
メニュー
更新履歴
2021-01-27 「リクエスト一覧」に項目を追加。
「レスポンス一覧」に項目を追加。
2014-07-24 「エラーメッセージ一覧」を追加。
「警告メッセージ一覧」を追加。
「レスポンス一覧」に警告メッセージ格納用項目を追加。
「リクエスト(POSTリクエスト)サンプル」の処理詳細を修正。
2014-07-23 「リクエスト(POSTリクエスト)サンプル」のリクエストサンプルを修正。
「Rubyによるリクエストサンプルソース」のリクエストサンプルを修正。
「リクエスト一覧」を修正。
概要
POSTメソッドによる患者症状詳記の登録/削除を行います。
リクエストおよびレスポンスデータはxml2形式になります。
テスト方法
- 参考提供されている sample_subjectmod_v2.rb 内の変数HOST等を接続環境に合わせます。
- sample_subjectmod_v2.rb 内の患者番号等を接続先の日レセの環境に合わせます。
- ruby sample_subjectmod_v2.rb により接続。
リクエスト(POSTリクエスト)サンプル
POST : /orca25/subjectivesv2?class=01
class = 01 症状詳記登録
class = 02 症状詳記削除
Content-Type: application/xml
application/xml の場合の文字コードは UTF-8 とします。
<data>
<subjectivesmodreq type="record">
<InOut type="string">O</InOut>
<Patient_ID type="string">12</Patient_ID>
<Perform_Date type="string"></Perform_Date>
<Department_Code type="string">01</Department_Code>
<Insurance_Combination_Number type="string"></Insurance_Combination_Number>
<HealthInsurance_Information type="record">
<InsuranceProvider_Class type="string"></InsuranceProvider_Class>
<InsuranceProvider_WholeName type="string"></InsuranceProvider_WholeName>
<InsuranceProvider_Number type="string"></InsuranceProvider_Number>
<HealthInsuredPerson_Symbol type="string"></HealthInsuredPerson_Symbol>
<HealthInsuredPerson_Number type="string"></HealthInsuredPerson_Number>
<HealthInsuredPerson_Continuation type="string"></HealthInsuredPerson_Continuation>
<HealthInsuredPerson_Assistance type="string"></HealthInsuredPerson_Assistance>
<RelationToInsuredPerson type="string"></RelationToInsuredPerson>
<HealthInsuredPerson_WholeName type="string"></HealthInsuredPerson_WholeName>
<Certificate_StartDate type="string"></Certificate_StartDate>
<Certificate_ExpiredDate type="string"></Certificate_ExpiredDate>
<PublicInsurance_Information type="array">
<PublicInsurance_Information_child type="record">
<PublicInsurance_Class type="string"></PublicInsurance_Class>
<PublicInsurance_Name type="string"></PublicInsurance_Name>
<PublicInsurer_Number type="string"></PublicInsurer_Number>
<PublicInsuredPerson_Number type="string"></PublicInsuredPerson_Number>
<Certificate_IssuedDate type="string"></Certificate_IssuedDate>
<Certificate_ExpiredDate type="string"></Certificate_ExpiredDate>
</PublicInsurance_Information_child>
</PublicInsurance_Information>
</HealthInsurance_Information>
<Subjectives_Detail_Record type="string">07</Subjectives_Detail_Record>
<Subjectives_Code type="string">その他コメント</Subjectives_Code>
</subjectivesmodreq>
</data>
処理概要
症状詳記リクエストにより、患者症状詳記の登録または削除を行います。
処理詳細
登録時
- 診療日付が未設定の時は、システム日付を診療年月とします
- 保険組合せ番号が空白の時、保険・公費情報から保険組合せを決定します。
保険組合せが決定できない時は、保険組合せを「0000」とします。 - 保険組合せが「0000」以外の時、保険組合せが診療年月で有効期間外であれば警告メッセージを返却します。
送信された保険組合せ番号が存在しない時のみ、エラーとなります。 - 保険組合せがアフターケアである時、診療年月日で受診履歴の登録が無ければエラーとします。
診療科の設定があれば、診療科も判定します。
アフターケア以外は受診の有無は判定しません。受診が無い保険でのレセコメントはレセプトで無視されます。 - 詳記区分は2桁で設定します。存在しない場合はエラーとします。
- 症状詳記内容は、半角文字、外字の全角変換を行います。
送信された内容と登録した内容が一致しない場合は、メッセージを返却します。 - 患者番号、診療年月、入外区分、診療科、保険組合せ、診療日、詳記区分でレセコメントレコードが既に登録されている場合は、「連番+1」で追加登録します。
※診療日はアフターケア以外は必要ありません。
※置き換えはできません。 - 登録時に警告が出た場合は警告メッセージを「Api_Warning_Message」として返却
削除時
- 保険組合せ番号が空白の時、登録処理と同じように保険組合せを決定します。
- 患者番号、診療年月、入外区分、診療科、保険組合せ、診療日、詳記区分で登録されているレセコメントレコードをすべて削除します。
複数の連番がある場合もすべて削除します。
削除した件数を連番に返却します。また、1件目の削除内容を症状詳記内容に返却します。 - 削除時に警告が出た場合は警告メッセージを「Api_Warning_Message」として返却
※排他制御は、病名(C02)で行なっていますので、システム管理が排他制御しないとなっている場合は、排他チェックは行いません。
レスポンスサンプル
<xmlio2>
<subjectivesmodres type="record">
<Information_Date type="string">2014-07-04</Information_Date>
<Information_Time type="string">11:35:33</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">保険組合せを0000で設定しました。</Api_Warning_Message>
</Api_Warning_Message_Information_child>
</Api_Warning_Message_Information>
<Reskey type="string">Acceptance_Info</Reskey>
<InOut type="string">O</InOut>
<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>
<Perform_Date type="string">2014-07</Perform_Date>
<Department_Code type="string">01</Department_Code>
<Department_WholeName type="string">内科</Department_WholeName>
<Insurance_Combination_Number type="string">0000</Insurance_Combination_Number>
<Subjectives_Number type="string">01</Subjectives_Number>
<Subjectives_Detail_Record type="string">07</Subjectives_Detail_Record>
<Subjectives_Detail_Record_WholeName type="string">その他(1)</Subjectives_Detail_Record_WholeName>
<Subjectives_Code type="string">その他コメント</Subjectives_Code>
</subjectivesmodres>
</xmlio2>
リクエスト一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | InOut | 入外区分 (I:入院、それ以外:入院外) | I | 必須 |
2 | Patient_ID | 患者番号 | 12 | 必須 |
3 | Perform_Date | 診療年月 | 2012-12 | (アフターケアの場合は、受診日を入力) |
4 | Department_Code | 診療科コード ※1 (01:内科) | 01 | 必須 |
5 | Insurance_Combination_Number | 保険組合せ番号 | 0002 | |
6 | HealthInsurance_Information | 保険組合せ情報 | ||
6-1 | InsuranceProvider_Class | 保険の種類 (060:国保) | 060 | ※2 |
6-2 | InsuranceProvider_WholeName | 保険の制度名称 | 国保 | ※2 |
6-3 | InsuranceProvider_Number | 保険者番号 | 138057 | ※2 |
6-4 | HealthInsuredPerson_Symbol | 記号 | 01 | |
6-5 | HealthInsuredPerson_Number | 番号 | 12345 | |
6-6 | HealthInsuredPerson_Branch_Number | 枝番 | 追加 (2021-01-27) | |
6-7 | HealthInsuredPerson_Continuation | 継続区分 (1:継続療養、2:任意継続) | 3 | |
6-8 | HealthInsuredPerson_Assistance | 補助区分 (詳細については、「日医標準レセプトソフトデータベーステーブル定義書」を参照して下さい) | ||
6-9 | RelationToInsuredPerson | 本人家族区分 (1:本人、2:家族) | 1 | |
6-10 | HealthInsuredPerson_WholeName | 被保険者名 | 日医 太郎 | |
6-11 | Certificate_StartDate | 適用開始日 | 2012-12-17 | |
6-12 | Certificate_ExpiredDate | 適用終了日 | 9999-12-31 | |
6-13 | PublicInsurance_Information | 公費情報(繰り返し 4) | ||
6-13-1 | PublicInsurance_Class | 公費の種類 | 010 | ※2 |
6-13-2 | PublicInsurance_Name | 公費の制度名称 | 感37の2 | ※2 |
6-13-3 | PublicInsurer_Number | 負担者番号 | 10131142 | ※2 |
6-13-4 | PublicInsuredPerson_Number | 受給者番号 | 1234566 | ※2 |
6-13-5 | Certificate_IssuedDate | 適用開始日 | 2012-12-17 | |
6-13-6 | Certificate_ExpiredDate | 適用終了日 | 9999-12-31 | |
7 | Subjectives_Detail_Record | 詳記区分 | 07 | 必須 |
8 | Subjectives_Code | 症状詳記内容 | その他コメント | 必須(登録時のみ) |
※1:システム管理マスタの診療科目情報の診療科コードを参照して下さい
診療科の指定は、特に必要無ければ「00(全科)」を設定して下さい。
※2:一箇所でも設定されていれば、一致する保険組合せが対象に設定されます。一致する保険組合せが無い(不正)場合は、0000が設定されます。
レスポンス一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Information_Date | 実施日 | 2014-07-04 | |
2 | Information_Time | 実施時間 | 11:35:33 | |
3 | Api_Result | 結果コード | K1 | 警告メッセージが複数の場合は、最初の警告メッセージのエラーコードを返却 |
4 | Api_Result_Message | 結果メッセージ | レセコメント登録終了 | |
5 | Api_Warning_Message_Information | 警告メッセージ情報(繰り返し 5) | 追加 (2014-07-24) | |
5-1 | Api_Warning_Message | 警告メッセージ | 診療年月を設定しました | 追加 (2014-07-24) |
6 | Reskey | レスポンスキー情報 | Acceptance_Info | |
7 | InOut | 入外区分 (I:入院、それ以外:入院外) | O | |
8 | Patient_Information | 患者情報 | | |
8-1 | Patient_ID | 患者番号 | 00012 | |
8-2 | WholeName | 患者氏名 | 日医 太郎 | |
8-3 | WholeName_inKana | 患者カナ氏名 | ニチイ タロウ | |
8-4 | BirthDate | 生年月日 | 1975-01-01 | |
8-5 | Sex | 性別 (1:男性、2:女性) | 1 | |
9 | Perform_Date | 診療年月 | 2014-07 | |
10 | Department_Code | 診療科コード ※1 (01:内科) | 01 | |
11 | Department_WholeName | 診療科名称 | 内科 | |
12 | Insurance_Combination_Number | 保険組合せ番号 | 0000 | |
13 | HealthInsurance_Information | 保険組合せ情報 | ||
13-1 | InsuranceProvider_Class | 保険の種類 (060:国保) | 060 | |
13-2 | InsuranceProvider_WholeName | 保険の制度名称 | 国保 | |
13-3 | InsuranceProvider_Number | 保険者番号 | 138057 | |
13-4 | HealthInsuredPerson_Symbol | 記号 | 01 | |
13-5 | HealthInsuredPerson_Number | 番号 | 12345 | |
13-6 | HealthInsuredPerson_Branch_Number | 枝番 | 00 | 追加 (2021-01-27) |
13-7 | HealthInsuredPerson_Continuation | 継続区分 (1:継続療養、2:任意継続) | | |
13-8 | HealthInsuredPerson_Assistance | 補助区分 (詳細については、「日医標準レセプトソフトデータベーステーブル定義書」を参照して下さい) | 3 | |
13-9 | HealthInsuredPerson_Assistance_WholeName | 補助区分名称 ※2 | 3割 | |
13-10 | RelationToInsuredPerson | 本人家族区分 (1:本人、2:家族) | 1 | |
13-11 | HealthInsuredPerson_WholeName | 被保険者名 | 日医 太郎 | |
13-12 | Certificate_StartDate | 適用開始日 | 2012-12-17 | |
13-13 | Certificate_ExpiredDate | 適用終了日 | 9999-12-31 | |
13-14 | PublicInsurance_Information | 公費情報 (繰り返し 4) | ||
13-14-1 | PublicInsurance_Class | 公費の種類 | 010 | |
13-14-2 | PublicInsurance_Name | 公費の制度名称 | 感37の2 | |
13-14-3 | PublicInsurer_Number | 負担者番号 | 10131142 | |
13-14-4 | PublicInsuredPerson_Number | 受給者番号 | 1234566 | |
13-14-5 | Rate_Admission | 入院ー負担率(割) | 0.05 | |
13-14-6 | Money_Admission | 入院ー固定額 | 0 | |
13-14-7 | Rate_Outpatient | 外来ー負担率(割) | 0.05 | |
13-14-8 | Money_Outpatient | 外来ー固定額 | 0 | |
13-14-9 | Certificate_IssuedDate | 適用開始日 | 2012-12-17 | |
13-14-10 | Certificate_ExpiredDate | 適用終了日 | 9999-12-31 | |
14 | Subjectives_Number | 連番 | 01 | |
15 | Subjectives_Detail_Record | 詳記区分 | 07 | |
16 | Subjectives_Detail_Record_WholeName | 詳記区分名称 | その他(1) | |
17 | Subjectives_Code | 症状詳記内容 | その他コメント |
※1:システム管理マスタの診療科目情報の診療科コードを参照して下さい。
※2:患者登録画面で表示する補助区分の名称。自費保険は表示しません(課税・非課税のため)。
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("/orca25/subjectivesv2?class=01")
# class :01 症状詳記登録
# class :02 症状詳記削除
#
#
BODY = <<EOF
<data>
<subjectivesmodreq type="record">
<InOut type="string">O</InOut>
<Patient_ID type="string">3999</Patient_ID>
<Perform_Date type="string">2012-12</Perform_Date>
<Department_Code type="string">01</Department_Code>
<Insurance_Combination_Number type="string">0002</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>
<HealthInsuredPerson_Continuation type="string">3</HealthInsuredPerson_Continuation>
<HealthInsuredPerson_Assistance type="string"></HealthInsuredPerson_Assistance>
<RelationToInsuredPerson type="string">1</RelationToInsuredPerson>
<HealthInsuredPerson_WholeName type="string">日医 太郎</HealthInsuredPerson_WholeName>
<Certificate_StartDate type="string">2012-12-17</Certificate_StartDate>
<Certificate_ExpiredDate type="string">9999-12-31</Certificate_ExpiredDate>
<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>
<Certificate_IssuedDate type="string">2012-12-17</Certificate_IssuedDate>
<Certificate_ExpiredDate type="string">9999-12-31</Certificate_ExpiredDate>
</PublicInsurance_Information_child>
</PublicInsurance_Information>
</HealthInsurance_Information>
<Subjectives_Detail_Record type="string">07</Subjectives_Detail_Record>
<Subjectives_Code type="string">その他コメント</Subjectives_Code>
</subjectivesmodreq>
</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 | 患者番号が未設定です |
02 | 診療科が未設定です |
03 | 症状詳記区分が未設定です |
04 | 症状詳記内容が未設定です |
10 | 患者番号に該当する患者が存在しません |
11 | 診療日付が暦日ではありません |
12 | 診療科が存在しません |
13 | 症状詳記区分が存在しません |
17 | 削除対象の症状詳記がありません |
20 | アフターケアは診療日付を設定して下さい |
25 | 保険組合せが存在しません |
26 | 該当の受診履歴がありません。アフターケアの登録はできません |
30 | 症状詳記の連番が99件以上となります。登録できません |
51 | 症状詳記登録エラー |
52 | 症状詳記削除エラー |
89 | 職員情報が取得できません |
医療機関情報が取得できません | |
システム日付が取得できません | |
患者番号構成情報が取得できません | |
グループ医療機関が不整合です。処理を終了して下さい | |
システム項目が設定できません | |
90 | 他端末使用中 |
91 | 処理区分未設定 |
97 | 送信内容に誤りがあります |
98 | 送信内容の読込ができませんでした |
99 | ユーザID未登録 |
警告メッセージ一覧
エラーコード | 警告メッセージ |
---|---|
K1 | 診療年月を設定しました |
K2 | 保険組合せを0000で設定しました |
K3 | 期間外の保険組合せで登録しました |
K4 | 症状詳記内容を変更しました |