API 症状詳記

メニュー

更新履歴

2021-01-27  「リクエスト一覧」に項目を追加。
      「レスポンス一覧」に項目を追加。

2014-07-24  「エラーメッセージ一覧」を追加。
      「警告メッセージ一覧」を追加。
      「レスポンス一覧」に警告メッセージ格納用項目を追加。
      「リクエスト(POSTリクエスト)サンプル」の処理詳細を修正。

2014-07-23  「リクエスト(POSTリクエスト)サンプル」のリクエストサンプルを修正。
      「Rubyによるリクエストサンプルソース」のリクエストサンプルを修正。
      「リクエスト一覧」を修正。

 

概要

POSTメソッドによる患者症状詳記の登録/削除を行います。

リクエストおよびレスポンスデータはxml2形式になります。

 

テスト方法

  1. 参考提供されている sample_subjectmod_v2.rb 内の変数HOST等を接続環境に合わせます。
  2. sample_subjectmod_v2.rb 内の患者番号等を接続先の日レセの環境に合わせます。
  3. 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>

処理概要

症状詳記リクエストにより、患者症状詳記の登録または削除を行います。

処理詳細

登録時

  1. 診療日付が未設定の時は、システム日付を診療年月とします
  2. 保険組合せ番号が空白の時、保険・公費情報から保険組合せを決定します。
    保険組合せが決定できない時は、保険組合せを「0000」とします。
  3. 保険組合せが「0000」以外の時、保険組合せが診療年月で有効期間外であれば警告メッセージを返却します。
    送信された保険組合せ番号が存在しない時のみ、エラーとなります。
  4. 保険組合せがアフターケアである時、診療年月日で受診履歴の登録が無ければエラーとします。
    診療科の設定があれば、診療科も判定します。
    アフターケア以外は受診の有無は判定しません。受診が無い保険でのレセコメントはレセプトで無視されます。
  5. 詳記区分は2桁で設定します。存在しない場合はエラーとします。
  6. 症状詳記内容は、半角文字、外字の全角変換を行います。
    送信された内容と登録した内容が一致しない場合は、メッセージを返却します。
  7. 患者番号、診療年月、入外区分、診療科、保険組合せ、診療日、詳記区分でレセコメントレコードが既に登録されている場合は、「連番+1」で追加登録します。
    ※診療日はアフターケア以外は必要ありません。
    ※置き換えはできません。
  8. 登録時に警告が出た場合は警告メッセージを「Api_Warning_Message」として返却

削除時

  1. 保険組合せ番号が空白の時、登録処理と同じように保険組合せを決定します。
  2. 患者番号、診療年月、入外区分、診療科、保険組合せ、診療日、詳記区分で登録されているレセコメントレコードをすべて削除します。
    複数の連番がある場合もすべて削除します。
    削除した件数を連番に返却します。また、1件目の削除内容を症状詳記内容に返却します。
  3. 削除時に警告が出た場合は警告メッセージを「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>

 

リクエスト一覧

番号項目名内容備考
1InOut
入外区分
(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が設定されます。

 

レスポンス一覧

番号項目名内容備考
1Information_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-2PublicInsurance_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 -*- 

 

sample_subjectmod_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("/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 症状詳記内容を変更しました

 

 

このページのトップへ