API 入力・診療コード内容取得
メニュー
更新履歴
2024-11-26
新規掲載
概要
POSTメソッドによる入力CDから診療行為コード(9桁)を取得を行います。
診療行為コード毎に紐付く選択式コメントコードと名称の全リストを取得を行います。
リクエストおよびレスポンスデータはxml2形式になります。
テスト方法
- 参考提供されている sample_medicatget_ncode_v2.rb、sample_medicatget_select_v2.rb内の変数HOST等を接続環境に合わせます。
- ruby sample_medicatget_ncode_v2.rb
ruby sample_medicatget_select_v2.rb
により接続。
リクエスト(POSTリクエスト)サンプル
POST : /api01rv2/medicationgetv2 Content-Type : application/xml
application/xml の場合の文字コードは UTF-8 とします。
<data> <medicationgetreq type="record"> <Request_Number type="string">01</Request_Number> <Request_Code type="string">Y00001</Request_Code> <Base_Date type="string">2024-11-01</Base_Date> </medicationgetreq> </data>
処理概要
リクエスト番号=01:リクエストコードに設定した入力コードに紐づく診療コードを取得します。
リクエスト番号=02:リクエストコードに設定した診療行為コードに紐づく選択式コメントを取得します。
処理詳細
リクエスト番号=01
- リクエストコードに入力コードを設定します。
設定した入力コードで入力コードテーブル(tbl_inputcd)を検索し診療行為(セット)コードを取得します。 - 診療行為(セット)コードがセットコードである時は、セットコードと表示名を返却します。
また、セットコードである旨を返却します。 - 診療行為コードで点数マスタを基準日で検索し、点数マスタの内容を返却します。
基準日で存在しない場合は、最終履歴の内容を返却し、基準日では無効である旨を返却します。
リクエスト番号=02
- リクエストコードに9桁の診療コードを設定します。
設定した診療コードと基準日で点数マスタを検索し、基準日で無効の時はエラーとします。
点数マスタの内容を診療行為コード情報に編集します。 - 診療行為が特定できない選択式コメントは、レセプト記載事項テーブルの診療行為コードを設定します。
現在、「199999999(医科診療行為特定不能のコメント)」、「819999999(長期収載品の選定療養コメント)」が該当します。
これらのコードは点数マスタに存在しませんので、診療行為コード情報は編集しません。 - 診療コードでレセプト記載事項テーブル(tbl_recekisai)を検索し、全件選択式コメント内容に返却します。
コメントコードと基準日で点数マスタ検索し、無効の時は対象外とします。
返却は最大200件とします。
レスポンスサンプル
リクエスト番号=01
<?xml version="1.0" encoding="UTF-8" ?> <xmlio2> <medicationgetres type="record"> <Information_Date type="string">2024-11-26</Information_Date> <Information_Time type="string">14:08:29</Information_Time> <Api_Result type="string">000</Api_Result> <Api_Result_Message type="string">処理終了</Api_Result_Message> <Reskey type="string">Patient Info</Reskey> <Request_Code type="string">Y00001</Request_Code> <Base_Date type="string">2024-11-01</Base_Date> <Medication_Information type="record"> <Medication_Code type="string">001000101</Medication_Code> <Medication_Name type="string">医師の指示通りに</Medication_Name> <StartDate type="string">0000-00-00</StartDate> <EndDate type="string">9999-12-31</EndDate> </Medication_Information> </medicationgetres> </xmlio2>
リクエスト番号=02
<?xml version="1.0" encoding="UTF-8" ?> <xmlio2> <medicationgetres type="record"> <Information_Date type="string">2024-11-26</Information_Date> <Information_Time type="string">14:10:34</Information_Time> <Api_Result type="string">000</Api_Result> <Api_Result_Message type="string">処理終了</Api_Result_Message> <Reskey type="string">Patient Info</Reskey> <Request_Code type="string">114030710</Request_Code> <Base_Date type="string">2024-11-01</Base_Date> <Medication_Information type="record"> <Medication_Code type="string">114030710</Medication_Code> <Medication_Name type="string">在医総管(機能強化在支診等・床有・難病等月2回〜1人)</Medication_Name> <Medication_Name_inKana type="string">ザイイソウカン</Medication_Name_inKana> <StartDate type="string">2024-06-01</StartDate> <EndDate type="string">9999-12-31</EndDate> </Medication_Information> <Selection_Expression_Information type="array"> <Selection_Expression_Information_child type="record"> <Comment_Code type="string">850100106</Comment_Code> <Comment_Name type="string">往診又は訪問診療年月日(在医総管)</Comment_Name> <Item_Number type="string">0166</Item_Number> <Item_Number_Branch type="string">01</Item_Number_Branch> <Category type="string">C002</Category> <Condition_Category type="string">01</Condition_Category> <Not_Use_Comment type="string">0</Not_Use_Comment> <Process_Category type="string">4</Process_Category> <Selection_Grep_Name type="string">在宅時医学総合管理料</Selection_Grep_Name> </Selection_Expression_Information_child> <Selection_Expression_Information_child type="record"> <Comment_Code type="string">820100095</Comment_Code> <Comment_Name type="string">在宅医学管理を行う患者数が当該建築物の戸数の10%以下</Comment_Name> <Item_Number type="string">0166</Item_Number> <Item_Number_Branch type="string">05</Item_Number_Branch> <Category type="string">C002</Category> <Condition_Category type="string">00</Condition_Category> <Not_Use_Comment type="string">0</Not_Use_Comment> <Process_Category type="string">1</Process_Category> <Selection_Grep_Name type="string">在宅時医学総合管理料</Selection_Grep_Name> </Selection_Expression_Information_child> <Selection_Expression_Information_child type="record"> <Comment_Code type="string">820100096</Comment_Code> <Comment_Name type="string">当該建築物の戸数が20戸未満で在宅医学管理を行う患者が2人以下</Comment_Name> <Item_Number type="string">0166</Item_Number> <Item_Number_Branch type="string">05</Item_Number_Branch> <Category type="string">C002</Category> <Condition_Category type="string">00</Condition_Category> <Not_Use_Comment type="string">0</Not_Use_Comment> <Process_Category type="string">1</Process_Category> <Selection_Grep_Name type="string">在宅時医学総合管理料</Selection_Grep_Name> </Selection_Expression_Information_child> </Selection_Expression_Information> </medicationgetres> </xmlio2>
リクエスト一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Request_Number | リクエスト番号 | 01 | 必須 |
2 | Request_Code | リクエストコード | 114030710 | 必須 ※1 ※2 |
3 | Base_Date | リクエストコード | 基準日 | 未設定はシステム日付 |
※1 リクエスト番号=01 :入力コードを設定します。
入力コードから入力コードテーブルを検索し、診療行為コードと点数マスタの内容を返却します。
※2 リクエスト番号=02:9桁の診療行為コードを設定します。
診療行為コードに紐づくレセプト記載事項テーブル(tbl_recekisai)のコメントコードを全件返却します。
診療行為が特定できない選択式コメントは、レセプト記載事項テーブルの診療行為コードを設定します。※3
(「199999999:医科診療行為特定不能」「819999999: 選定療養対象医薬品(長期収載品の選定療養)」が該当します)
レスポンス一覧
番号 | 項目名 | 内容 | 例 | 備考 |
---|---|---|---|---|
1 | Information_Date | 実施日 | 2021-11-12 | |
2 | Information_Time | 実施時間 | 13:36:47 | |
3 | Api_Result | 結果コード | 000 | |
4 | Api_Result_Message | 処理メッセージ | ||
5 | Reskey | Patient Info | ||
6 | Request_Code | リクエストコード | 01 | 送信内容 |
7 | Base_Date | 基準日 | 2024-11-26 | 送信内容 |
8 | Medication_Information | 診療行為コード情報 | 点数マスタの内容 ※6 | |
8-1 | Medication_Code | 診療行為コード | 850100106 | ※4 |
8-2 | Medication_Name | 名称 | 往診又は訪問診療年月日(在医総管) | ※4 |
8-3 | Medication_Name_inKana | カナ名称 | ||
8-4 | Unit_Code | 単位コード | ※5 | |
8-5 | Unit_Name | 単位名称 | ||
8-6 | StartDate | 有効開始日 | 2024-06-01 | |
8-7 | EndDate | 有効終了日 | 99999999 | |
9 | Selection_Expression_Information | 選択式コメントリスト(繰り返し 200) | レセプト記載事項テーブルの内容 ※7 | |
9-1 | Comment_Code | コメントコード | ||
9-2 | Comment_Name | コメントコード名称 | コメントコードの点数マスタ名称 | |
9-3 | Item_Number | 項番 | ||
9-4 | Item_Number_Branch | 枝番 | ||
9-5 | Category | 区分 | ||
9-6 | Condition_Category | 条件区分 | ||
9-7 | Not_Use_Comment | 非算定理由コメント | ||
9-8 | Process_Category | 処理区分 | ||
9-9 | Selection_Grep_Name | 診療行為名称等 |
※4 リクエスト=01の時、入力コードテーブルの診療行為コードがセットコードの場合、セットコードと表示名を編集します。
※5 薬剤・器材コードの時は、単位コード「000」も編集します。薬剤・器材コード以外の時は単位コードの設定がある場合のみとします。
※6 リクエスト=02の時、診療行為コードが点数マスタに存在する時のみ編集します。(※3の時は編集しません)
診療行為コードが基準日で無効の時はエラーとします。
※7 診療行為コードと紐づいているレセプト記載事項テーブルを全件編集します。
レセプト記載事項テーブルのコメントコードと基準日で点数マスタを検索し、無効の時は対象外とします。
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
リクエスト番号=01:sample_medicatget_ncode_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/medicationgetv2?class=01") # class :01 # # BODY = <<EOF <data> <medicationgetreq type="record"> <Request_Number type="string">01</Request_Number> <Request_Code type="string">Y00001</Request_Code> <Base_Date type="string">2024-11-01</Base_Date> </medicationgetreq> </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 }
リクエスト番号=02:sample_medicatget_select_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/medicationgetv2?class=01") # class :01 # # BODY = <<EOF <data> <medicationgetreq type="record"> <Request_Number type="string">02</Request_Number> <Request_Code type="string">199999999</Request_Code> <Base_Date type="string">2024-11-01</Base_Date> </medicationgetreq> </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 }
エラーメッセージ一覧
エラーコード | エラーメッセージ |
---|---|
E01 | リクエストコードの設定がありません。 |
E02 | 基準日が暦日ではありません。 |
E10 | 入力コードではありません。 |
E11 | 入力コードの登録はありません。 |
E12 | 入力コードに設定されている診療コードは点数マスタに登録されていません。 |
W13 | セットコードです。セット名称を返却します。 |
W14 | 警告!診療コードは基準日で有効期間外です。 |
E20 | 診療行為コードは数値9桁で設定して下さい。 |
E21 | 診療行為コードは点数マスタ、レセプト特記事項テーブルに存在しません。 |
E22 | 診療行為コードは基準日で有効期間外です。 |
E23 | 選択式コメントが存在しません。 |
W24 | 警告!対象の選択式コメントが200件以上存在します。 |
E89 | 職員情報が取得できません |
医療機関情報が取得できません | |
システム日付が取得できません | |
患者番号構成情報が取得できません | |
グループ医療機関が不整合です。処理を終了して下さい。 | |
システム項目が設定できません | |
E90 | 他端末使用中 |
E91 | リクエスト番号がありません |