Class: OrcaApi::BlobService

Inherits:
Service
  • Object
show all
Defined in:
lib/orca_api/blob_service.rb

Overview

大容量データを扱うサービスを表現したクラス

明細書やレセ電といった処理を実施した場合は、最終データとして印刷データ(pdf)、 およびレセ電データ(csv)を取得する必要がある。 これらのデータを取得する方法として大容量APIを利用する。 大容量データを作成するAPIをリクエストした場合、原則以下の情報を返却する。

{
  "Data_Id_Information" => [
    {
      "Data_Id" => "UID1", # pdf以外取得用ID
      "Print_Id" => "UID2", # pdf取得用ID
    }
  ]
}

この返却されたData_Id及びPrint_Idをgetメソッドに指定して該当データを取得する。

※ 大容量API個別対応について パッチ提供◆日医標準レセプトソフト 5.0.0(第15回) (2017/10/24) 以降、 大容量API(このパッチでは、病名マスタ一括取得および明細書帳票取得(レセプト))の対応をおこなったが、 全ての定義体を無条件に適応すると、以下のミドルウエア以前のバージョンでは、日レセサービスが起動しなくなるため、 一部ファイルは手動により適応する。(テスト環境でのテスト推奨)

適応ミドルバージョン [ORCA-ANNOUNCE:04338] 日医標準レセプトソフト◆ミドルウェア更新(2017/10/16) 以降

install_modules.tgz

プログラムの適用方法

  • (1) tgzファイルを解凍する。
    • tar xvfz install_modules.tgz
  • (2) 修正定義体(ldファイル)を適用する。
    • sudo -u orca bash ./install_modules.sh
  • (3) 日レセを再起動する。

Instance Attribute Summary

Attributes inherited from Service

#orca_api

Instance Method Summary collapse

Methods inherited from Service

#initialize, reuse_session

Constructor Details

This class inherits a constructor from OrcaApi::Service

Constructor Details

This class inherits a constructor from OrcaApi::Service

Instance Method Details

#get(uid, output_io = Tempfile.new(binmode: true)) ⇒ OrcaApi::BinaryResult

大容量データの取得

Parameters:

  • uid (String)

    Data_IdまたはPrint_Id

  • output_io (IO, nil) (defaults to: Tempfile.new(binmode: true))

    (Temfile.new) レスポンスボディを格納するためのIO

Returns:

  • (OrcaApi::BinaryResult)

    日レセからのレスポンス output_io 引数にIOを指定した場合、 #raw#body には指定したIOが格納される。 output_io 引数にnilを指定した場合は、#raw#body にはレスポンスボディを格納した文字列が格納される。



58
59
60
61
# File 'lib/orca_api/blob_service.rb', line 58

def get(uid, output_io = Tempfile.new(binmode: true))
  path = "/blobapi/#{ERB::Util.url_encode(uid)}"
  BinaryResult.new(orca_api.call(path, http_method: :get, format: nil, output_io: output_io))
end