API 入力・診療コード内容取得

メニュー

更新履歴

2024-11-26
 新規掲載


概要

POSTメソッドによる入力CDから診療行為コード(9桁)を取得を行います。
診療行為コード毎に紐付く選択式コメントコードと名称の全リストを取得を行います。

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

テスト方法

  1. 参考提供されている sample_medicatget_ncode_v2.rb、sample_medicatget_select_v2.rb内の変数HOST等を接続環境に合わせます。
  2. 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

  1. リクエストコードに入力コードを設定します。
    設定した入力コードで入力コードテーブル(tbl_inputcd)を検索し診療行為(セット)コードを取得します。
  2. 診療行為(セット)コードがセットコードである時は、セットコードと表示名を返却します。
    また、セットコードである旨を返却します。
  3. 診療行為コードで点数マスタを基準日で検索し、点数マスタの内容を返却します。
    基準日で存在しない場合は、最終履歴の内容を返却し、基準日では無効である旨を返却します。

リクエスト番号=02

  1. リクエストコードに9桁の診療コードを設定します。
    設定した診療コードと基準日で点数マスタを検索し、基準日で無効の時はエラーとします。
    点数マスタの内容を診療行為コード情報に編集します。
  2. 診療行為が特定できない選択式コメントは、レセプト記載事項テーブルの診療行為コードを設定します。
    現在、「199999999(医科診療行為特定不能のコメント)」、「819999999(長期収載品の選定療養コメント)」が該当します。
    これらのコードは点数マスタに存在しませんので、診療行為コード情報は編集しません。
  3. 診療コードでレセプト記載事項テーブル(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 リクエスト番号がありません

 

 

このページのトップへ