点数マスタ情報登録
メニュー
- 更新履歴
- 概要
- テスト方法
- リクエスト(POSTリクエスト)サンプル
- レスポンスサンプル
- リクエスト一覧
- レスポンス一覧
- Rubyによるリクエストサンプルソース
- C#によるリクエストサンプルソース
- エラーメッセージ一覧
更新履歴
2020-09-24 「リクエスト一覧」、「レスポンス一覧」に項目を追加。
「エラーメッセージ一覧」にエラーコードを追加。
2014-07-03 「エラーメッセージ一覧」を追加。
概要
POSTメソッドによる点数マスタの登録を行います。
リクエストおよびレスポンスデータはxml2形式になります。
テスト方法
- 参考提供されている sample_medicatm_v2.rb 内の変数HOST等を接続環境に合わせます。
- sample_medicatm_v2.rb 内の診療行為コード等を接続先の日レセの環境に合わせます。
- ruby sample_medicatm_v2.rb により接続します。
リクエスト(POSTリクエスト)サンプル
POST : /orca102/medicatonmodv2?class=01
class = 01 登録処理
class = 02 削除処理
class = 03 終了日設定処理
class = 04 期間変更処理
Content-Type: application/xml
application/xml の場合の文字コードは UTF-8 とします。
<data>
<medicationreq type="record">
<Medication_Code type="string">001700001</Medication_Code>
<Medication_Name type="string">朝夕 錠から</Medication_Name>
<Medication_Name_inKana type="string"></Medication_Name_inKana>
<StartDate type="string">2014-07-01</StartDate>
<EndDate type="string">9999-12-31</EndDate>
<Amount_Money type="string"></Amount_Money>
<Content_Amount_Money type="string"></Content_Amount_Money>
<Total_Destination_Out type="string"></Total_Destination_Out>
<Total_Destination_In type="string"></Total_Destination_In>
<Liability_Insurance_Total_Destination_Out type="string"></Liability_Insurance_Total_Destination_Out>
<Liability_Insurance_Total_Destination_In type="string"></Liability_Insurance_Total_Destination_In>
<Location_Category type="string"></Location_Category>
<Comment_Information type="array">
<Comment_Information_child type="record">
<Column_Position type="string">4</Column_Position>
<Digit_Number type="string"></Digit_Number>
</Comment_Information_child>
</Comment_Information>
<Medication_Information type="array">
<Medication_Information_child type="record">
<Medication_Point type="string"></Medication_Point>
</Medication_Information_child>
</Medication_Information>
<Medication_Category type="string">2</Medication_Category>
<Unit_Code type="string"></Unit_Code>
<Data_Category type="string"></Data_Category>
<CommercialName type="string">機材商品名称</CommercialName>
<Specific_Equipment_Code type="string">700590000</Specific_Equipment_Code>
</medicationreq>
</data>
処理概要
点数マスタ登録リクエストによりマスタの登録又は取消等を行います。
処理詳細
class値設定内容について
- class = 01 登録処理
コード・有効開始日・有効終了日で登録します。期間が重複しているマスタがある場合は登録不可。
- class = 02 削除処理
コード・有効開始日・有効終了日の一致するマスタを削除します。履歴がなくなった場合、入力コードも削除します。
- class = 03 終了日設定処理
コードと有効開始日の一致するマスタの有効終了日が、’99999999'の場合、有効終了日を変更します。
- class = 04 期間変更処理
有効終了日が’99999999’のレコードの有効終了日を設定した有効開始日-1日で終了させ、有効開始日・有効終了日でマスタを追加します。
登録時(class = 01)
- 送信されたコード(Medication_Code)の妥当性チェック(全class共通)
- 送信された名称の妥当性チェック(class = 01,04 必須)
- 送信された開始、終了日の妥当性チェック(全class共通)
- 自費(095XXXXXX,096XXXXX)登録
4-1.自費金額(Amount_Money)の妥当性チェック
4-2.金額内容(Content_Amount_Money)の妥当性チェック(096XXXXXX のみ有効)
4-3.集計先(外来)(Total_Destination_Out)の妥当性チェック(09500XXXXX,09600XXXXX のみ必須)
4-4.集計先(入院)(Total_Destination_In)の妥当性チェック(09500XXXXX,09600XXXXX のみ必須)
4-5.自賠責集計先(外来)(Liability_Insurance_Total_Destination_Out)の妥当性チェック(09593XXXXのみ有効)
4-6.自賠責集計先(入院)(Liability_Insurance_Total_Destination_In)の妥当性チェック(09593XXXXのみ有効)
- ユーザコメントコード(0082XXXXX,0083XXXXX,0084XXXXX,0085XXXXX,0086XXXXX)登録
5-1.カラム位置(1)〜(4)(Column_Position)の妥当性チェック (0084XXXXX のみ有効)
5-2.桁数(1)〜(4)(Digit_Number)の妥当性チェック (0084XXXXX のみ有効)
- 部位コード(002XXXXXX)登録
6-1.部位区分(Location_Category)の妥当性チェック
6-2.部位選択式コードの妥当性チェック - 用法コード(001XXXXXX)登録
7-1.服用時点(1)〜(5)(Medication_Point)の妥当性チェック
Medication_Point (1) : 起床
Medication_Point (2) : 朝
Medication_Point (3) : 昼
Medication_Point (4) : 夕
Medication_Point (5) : 寝前
- 特定器材コード(059XXXXXX)登録
8-1.金額(Amount_Money)の妥当性チェック
(整数8桁、小数2桁まで可)
8-2.単位コード(Unit_Code)の妥当性チェック
8-3.データ区分(Data_Category)の妥当性チェック
(3:フィルム 省略時は 0)
- 器材商品名コード(058XXXXXX)登録
9-1.商品名称(CommercialName)の妥当性チェック
9-2.特定器材コード(Specific_Equipment_Code)の妥当性チェック
削除時(class = 02)
送信されたコード、有効開始日・有効終了日による該当マスタ存在チェック
終了日設定時(class = 03)
送信されたコード、有効開始日・有効終了日(99999999)による該当マスタ存在チェック
期間変更時(class = 04)
送信されたコード、有効終了日(99999999)による該当マスタ存在チェック
レスポンスサンプル
<xmlio2>
<medicationres type="record">
<Information_Date type="string">2014-07-15</Information_Date>
<Information_Time type="string">15:02:19</Information_Time>
<Api_Result type="string">00</Api_Result>
<Api_Result_Message type="string">点数マスタ登録終了</Api_Result_Message>
<Reskey type="string">Patient Info</Reskey>
<Medication_Code type="string">001700001</Medication_Code>
<Medication_Name type="string">朝夕 錠から</Medication_Name>
<StartDate type="string">2014-07-01</StartDate>
<EndDate type="string">9999-12-31</EndDate>
<Comment_Information type="array">
<Comment_Information_child type="record">
<Column_Position type="string">4</Column_Position>
</Comment_Information_child>
</Comment_Information>
<Medication_Category type="string">2</Medication_Category>
<CommercialName type="string">機材商品名称</CommercialName>
<Specific_Equipment_Code type="string">700590000</Specific_Equipment_Code>
</medicationres>
</xmlio2>
リクエスト一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Medication_Code | コード(自費、ユーザコメントコードetc) | 001700001 | 必須 |
2 | Medication_Name | コード漢字名称 | 朝夕 錠から | 必須 |
3 | Medication_Name_inKana | コードカナ名称 | 必須 | |
4 | StartDate | 有効開始日 | 2014-07-01 | 必須 |
5 | EndDate | 有効終了日 | 9999-12-31 | 必須 |
6 | Amount_Money | 自費金額 | 必須 | |
7 | Content_Amount_Money | 金額内容 (0:税抜き、4:税込み) | ※1 | |
8 | Total_Destination_Out | 集計先(外来) | ||
9 | Total_Destination_In | 集計先(入院) | ||
10 | Liability_Insurance_Total_Destination_Out | 自賠責集計先(外来) | ||
11 | Liability_Insurance_Total_Destination_In | 自賠責集計先(入院) | ||
12 | Location_Category | 部位区分 (0:その他、1:頭部、2:躯幹、3:四肢、5:胸部、6:腹部、7:脊髄、8:消化管) | ||
13 | Location_Comment_Code | 部位選択式コメントコード | 追加 (2020-09-24) | |
14 | Comment_Information | ユーザコメント情報 (繰り返し 5) | ||
14-1 | Column_Position | カラム位置 | 4 | |
14-2 | Digit_Number | 桁数 | ||
15 | Medication_Information | 服用情報 (繰り返し 5) | ||
15-1 | Medication_Point | 服用時点 (0:服用しない、1:服用する) | ||
16 | Medication_Category | 用法コメント区分 | 2 | |
17 | Unit_Code | 単位コード (詳細については、「日医標準レセプトソフトデータベーステーブル定義書」を参照して下さい。) | ||
18 | Data_Category | データ区分 (0:その他、3:フィルム) | ||
19 | CommercialName | 商品名称 | 機材商品名称 | |
20 | Specific_Equipment_Code | 特定器材コード | 700590000 |
※1:(4:税込み)は有効開始日が2007-04-01 (H19.4.1) 以降の場合のみ有効になります。
レスポンス一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Information_Date | 実施日 | 2014-07-15 | |
2 | Information_Time | 実施時間 | 15:02:19 | |
3 | Api_Result | 結果コード(ゼロ以外エラー) | 00 | |
4 | Api_Result_Message | エラーメッセージ | 点数マスタ登録終了 | |
5 | Reskey | Patient Info | ||
6 | Medication_Code | コード(自費、ユーザコメントコードetc) | 001700001 | |
7 | Medication_Name | コード漢字名称 | 朝夕 錠から | |
8 | Medication_Name_inKana | コードカナ名称 | ||
9 | StartDate | 有効開始日 | 2014-07-01 | |
10 | EndDate | 有効終了日 | 9999-12-31 | |
11 | Amount_Money | 自費金額 | ||
12 | Content_Amount_Money | 金額内容 (0:税抜き、4:税込み) | ||
13 | Total_Destination_Out | 集計先(外来) | ||
14 | Total_Destination_In | 集計先(入院) | ||
15 | Liability_Insurance_Total_Destination_Out | 自賠責集計先(外来) | ||
16 | Liability_Insurance_Total_Destination_In | 自賠責集計先(入院) | ||
17 | Location_Category | 部位区分 (0:その他、1:頭部、2:躯幹、3:四肢、5:胸部、6:腹部、7:脊髄、8:消化管) | ||
18 | Location_Comment_Code | 部位選択式コメントコード | 追加 (2020-09-24) | |
19 | Comment_Information | ユーザコメント情報 (繰り返し 5) | ||
19-1 | Column_Position | カラム位置 | 4 | |
19-2 | Digit_Number | 桁数 | ||
20 | Medication_Information | 服用情報 (繰り返し 5) | ||
20-1 | Medication_Point | 服用時点 (0:服用しない、1:服用する) | ||
21 | Medication_Category | 用法コメント区分 | 2 | |
22 | Unit_Code | 単位コード (詳細については、「日医標準レセプトソフトデータベーステーブル定義書」を参照して下さい。) | ||
23 | Data_Category | データ区分 (0:その他、3:フィルム) | ||
24 | CommercialName | 商品名称 | 機材商品名称 | |
25 | Specific_Equipment_Code | 特定器材コード | 700590000 |
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("/orca102/medicatonmodv2?class=01")
# class :01 (登録)
# class :02 (削除)
# class :03 (終了日設定)
# class :04 (期間変更)
#
#
BODY = <<EOF
<data>
<medicationreq type="record">
<Medication_Code type="string">001700001</Medication_Code>
<Medication_Name type="string">朝夕 錠から</Medication_Name>
<Medication_Name_inKana type="string"></Medication_Name_inKana>
<StartDate type="string">2012-07-01</StartDate>
<EndDate type="string">9999-12-31</EndDate>
<Amount_Money type="string"></Amount_Money>
<Content_Amount_Money type="string"></Content_Amount_Money>
<Total_Destination_Out type="string"></Total_Destination_Out>
<Total_Destination_In type="string"></Total_Destination_In>
<Liability_Insurance_Total_Destination_Out type="string"></Liability_Insurance_Total_Destination_Out>
<Liability_Insurance_Total_Destination_In type="string"></Liability_Insurance_Total_Destination_In>
<Location_Category type="string"></Location_Category>
<Comment_Information type="array">
<Comment_Information_child type="record">
<Column_Position type="string">4</Column_Position>
<Digit_Number type="string"></Digit_Number>
</Comment_Information_child>
</Comment_Information>
<Medication_Information type="array">
<Medication_Information_child type="record">
<Medication_Point type="string"></Medication_Point>
</Medication_Information_child>
</Medication_Information>
<Medication_Category type="string">2</Medication_Category>
<Unit_Code type="string"></Unit_Code>
<Data_Category type="string"></Data_Category>
<CommercialName type="string">機材商品名称</CommercialName>
<Specific_Equipment_Code type="string">700590000</Specific_Equipment_Code>
</medicationreq>
</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
}
C#による点数マスタ登録リクエストサンプルソース
Windowsでの実行環境
- Microsoft Visual Studio 2008以降
- .NET Framework 2.0 SDK(C#コンパイラを含む.NET Frameworkの開発ツール)
(Microsoft Visual Studioに含まれています)
Ubuntuでの実行環境
- MonoDevelop 2.2(1.0でも実行可能)
- mono-gmcs(C#コンパイラ)
(MonoDevelopと一緒にインストールされます)
using System;
using System.IO;
using System.Net;
using System.Text;
namespace Medicatm
{
class Medicatm
{
public static void Main(string[] args)
{
string HOST = "localhost";
string PORT = "8000";
string USER = "ormaster";
string PASSWD = "ormaster";
string CONTENT_TYPE = "application/xml";
string URL = "http://" + HOST + ":" + PORT + "/orca102/medicatonmodv2?class=01";
/*
class :01 登録
:02 削除
:03 終了日設定
:04 期間変更
1.診療コード Medication_Code (REQUIRED)
2.名称 Medication_Name (REQUIRED)
3.カナ名称 Medication_Name_inKana (REQUIRED)
4.有効開始日 StartDate (REQUIRED)
5.有効終了日 EndDate (REQUIRED)
6.金額 Amount_Money (REQUIRED)
REQUIRED : 必須 IMPLIED : 任意
*/
string BODY = @"
<data>
<medicationreq type=""record"">
<Medication_Code type=""string"">001700001</Medication_Code>
<Medication_Name type=""string"">朝夕 錠から</Medication_Name>
<Medication_Name_inKana type=""string""></Medication_Name_inKana>
<StartDate type=""string"">2012-07-01</StartDate>
<EndDate type=""string"">9999-12-31</EndDate>
<Amount_Money type=""string""></Amount_Money>
<Content_Amount_Money type=""string""></Content_Amount_Money>
<Total_Destination_Out type=""string""></Total_Destination_Out>
<Total_Destination_In type=""string""></Total_Destination_In>
<Liability_Insurance_Total_Destination_Out type=""string""></Liability_Insurance_Total_Destination_Out>
<Liability_Insurance_Total_Destination_In type=""string""></Liability_Insurance_Total_Destination_In>
<Location_Category type=""string""></Location_Category>
<Comment_Information type=""array"">
<Comment_Information_child type=""record"">
<Column_Position type=""string"">4</Column_Position>
<Digit_Number type=""string""></Digit_Number>
</Comment_Information_child>
</Comment_Information>
<Medication_Information type=""array"">
<Medication_Information_child type=""record"">
<Medication_Point type=""string""></Medication_Point>
</Medication_Information_child>
</Medication_Information>
<Medication_Category type=""string"">2</Medication_Category>
<Unit_Code type=""string""></Unit_Code>
<Data_Category type=""string""></Data_Category>
<CommercialName type=""string"">機材商品名称</CommercialName>
<Specific_Equipment_Code type=""string"">700590000</Specific_Equipment_Code>
</medicationreq>
</data>
";
byte[] record_in_byte = Encoding.UTF8.GetBytes(BODY); HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(URL); //req.ProtocolVersion = HttpVersion.Version11; req.Method = "POST"; req.ContentType = CONTENT_TYPE; req.ContentLength = record_in_byte.Length; req.Credentials = new NetworkCredential(USER, PASSWD); Console.WriteLine(BODY); HttpWebResponse res = null; try { Stream reqstream = req.GetRequestStream(); reqstream.Write(record_in_byte, 0, record_in_byte.Length); reqstream.Close(); res = (HttpWebResponse) req.GetResponse(); Console.WriteLine(res.ResponseUri); Console.WriteLine(res.StatusDescription); } catch (WebException exc) { if (exc.Status == WebExceptionStatus.ProtocolError) { HttpWebResponse err = (HttpWebResponse) exc.Response; int errcode = (int) err.StatusCode; Console.WriteLine(err.ResponseUri); Console.WriteLine("{0}:{1}", errcode, err.StatusDescription); err.Close(); } else { Console.WriteLine(exc.Message); } } if (res != null) { Stream str = res.GetResponseStream(); StreamReader strread = new StreamReader(str); string FOO = strread.ReadToEnd(); string FILE_NAME = "foo.xml"; File.WriteAllText(FILE_NAME, FOO); strread.Close(); str.Close(); res.Close(); } } } }
エラーメッセージ一覧
エラーコード | エラーメッセージ | 備考 |
---|---|---|
01 | コード未設定 | |
11 | 登録できるコードではありません | |
12 | 漢字名称がエラーです | |
13 | カナ名称がエラーです | |
14 | 開始日暦日エラー | |
15 | 終了日暦日エラー | |
16 | 金額は整数9桁です | |
17 | 自費金額内容区分設定誤り | |
18 | 点数欄集計先識別(外来)設定誤り | |
19 | 点数欄集計先識別(入院)設定誤り | |
20 | 自賠責集計等取扱(外来)設定誤り | |
21 | 自賠責集計等取扱(入院)設定誤り | |
22 | 部位コード設定誤り | |
23 | コメントのカラム位置・桁数設定誤り | |
24 | 服用時点区分設定誤り | |
25 | 単位区分設定誤り | |
26 | データ区分設定誤り | |
27 | 商品名称設定誤り | |
28 | 算定特定器材コード設定誤り | |
29 | 点数は整数8桁・少数2桁です | |
30 | 開始日≧終了日です | |
31 | 点数マスタが登録済みです | |
32 | 削除対象の点数マスタがありません | |
33 | 終了日設定対象の点数マスタがありません | |
34 | 更新対象の点数マスタがありません | |
35 | 開始日+1日の設定ができません | |
36 | 服用コメント区分設定誤り | |
37 | 部位の選択式コメントコードではありません。 | 追加 (2020-09-24) |
38 | 部位の選択式コメントコードが登録されていません。 | 追加 (2020-09-24) |
51 | 点数マスタ登録エラー | |
52 | 点数マスタ更新エラー | |
53 | 点数マスタ削除エラー | |
89 | 職員情報が取得できません | |
医療機関情報が取得できません | ||
システム日付が取得できません | ||
患者番号構成情報が取得できません | ||
グループ医療機関が不整合です。処理を終了して下さい | ||
システム項目が設定できません | ||
90 | 他端末使用中 | |
91 | 処理区分未設定 | |
97 | 送信内容に誤りがあります | |
98 | 送信内容の読込ができませんでした | |
99 | ユーザID未登録 |