Class: Candid::InsuranceRefunds::V1::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/candid/insurance_refunds/v_1/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(client:) ⇒ Candid::InsuranceRefunds::V1::Client



8
9
10
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 8

def initialize(client:)
  @client = client
end

Instance Method Details

#create(request_options: {}, **params) ⇒ Candid::InsuranceRefunds::V1::Types::InsuranceRefund

Creates a new insurance refund record and returns the newly created ‘InsuranceRefund` object. The allocations can describe whether the refund is being applied toward a specific service line, claim, or billing provider.



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 72

def create(request_options: {}, **params)
  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "POST",
    path: "/api/insurance-refunds/v1",
    body: Candid::InsuranceRefunds::V1::Types::InsuranceRefundCreate.new(params).to_h
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  if code.between?(200, 299)
    Candid::InsuranceRefunds::V1::Types::InsuranceRefund.load(_response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(_response.body, code: code)
  end
end

#delete(request_options: {}, **params) ⇒ untyped

Deletes the insurance refund record matching the provided ‘insurance_refund_id`. If the matching record’s organization_id does not match the authenticated user’s current organization_id, then a response code of ‘403` will be returned.

Returns:

  • (untyped)

Raises:

  • (error_class)


125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 125

def delete(request_options: {}, **params)
  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "DELETE",
    path: "/api/insurance-refunds/v1/#{params[:insurance_refund_id]}"
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  return if code.between?(200, 299)

  error_class = Candid::Errors::ResponseError.subclass_for_code(code)
  raise error_class.new(_response.body, code: code)
end

#get(request_options: {}, **params) ⇒ Candid::InsuranceRefunds::V1::Types::InsuranceRefund

Retrieves a previously created insurance refund by its ‘insurance_refund_id`. If the refund does not exist, a `403` will be thrown.



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 47

def get(request_options: {}, **params)
  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "GET",
    path: "/api/insurance-refunds/v1/#{params[:insurance_refund_id]}"
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  if code.between?(200, 299)
    Candid::InsuranceRefunds::V1::Types::InsuranceRefund.load(_response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(_response.body, code: code)
  end
end

#get_multi(request_options: {}, **params) ⇒ Candid::InsuranceRefunds::V1::Types::InsuranceRefundsPage

Returns all insurance refunds satisfying the search criteria AND whose organization_id matches the current organization_id of the authenticated user.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 16

def get_multi(request_options: {}, **params)
  params = Candid::Internal::Types::Utils.symbolize_keys(params)
  _query_param_names = i[limit payer_uuid claim_id service_line_id billing_provider_id sort sort_direction
                          page_token]
  _query = params.slice(*_query_param_names)
  params.except(*_query_param_names)

  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "GET",
    path: "/api/insurance-refunds/v1",
    query: _query
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  if code.between?(200, 299)
    Candid::InsuranceRefunds::V1::Types::InsuranceRefundsPage.load(_response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(_response.body, code: code)
  end
end

#update(request_options: {}, **params) ⇒ Candid::InsuranceRefunds::V1::Types::InsuranceRefund

Updates the patient refund record matching the provided insurance_refund_id. If updating the refund amount, then the allocations must be appropriately updated as well.



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
# File 'lib/candid/insurance_refunds/v_1/client.rb', line 97

def update(request_options: {}, **params)
  _path_param_names = ["insurance_refund_id"]

  _request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || Candid::Environment::PRODUCTION,
    method: "PATCH",
    path: "/api/insurance-refunds/v1/#{params[:insurance_refund_id]}",
    body: params.except(*_path_param_names)
  )
  begin
    _response = @client.send(_request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = _response.code.to_i
  if code.between?(200, 299)
    Candid::InsuranceRefunds::V1::Types::InsuranceRefund.load(_response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(_response.body, code: code)
  end
end