Class: Candid::ChargeCaptureBundles::V1::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(client:, base_url: nil, environment: nil) ⇒ void

Parameters:



12
13
14
15
16
# File 'lib/candid/charge_capture_bundles/v_1/client.rb', line 12

def initialize(client:, base_url: nil, environment: nil)
  @client = client
  @base_url = base_url
  @environment = environment
end

Instance Method Details

#get(request_options: {}, **params) ⇒ Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreation

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

Returns:



28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/candid/charge_capture_bundles/v_1/client.rb', line 28

def get(request_options: {}, **params)
  params = Candid::Internal::Types::Utils.normalize_keys(params)
  request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:candid_api),
    method: "GET",
    path: "/api/charge_capture_claim_creation/v1/#{params[:charge_capture_claim_creation_id]}",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreation.load(response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#get_all(request_options: {}, **params) ⇒ Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreationPage

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

Returns:



150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
# File 'lib/candid/charge_capture_bundles/v_1/client.rb', line 150

def get_all(request_options: {}, **params)
  params = Candid::Internal::Types::Utils.normalize_keys(params)
  query_param_names = %i[limit sort sort_direction page_token patient_external_id claim_creation_status charge_status charge_external_id date_of_service_min date_of_service_max claim_ids claim_creation_ids billing_provider_npis service_facility_name primary_payer_ids rendering_provider_npis rendering_provider_names supervising_provider_npis supervising_provider_names claim_status claim_creation_category tags primary_payer_names patient_names has_charge_capture_updates]
  query_params = {}
  query_params["limit"] = params[:limit] if params.key?(:limit)
  query_params["sort"] = params[:sort] if params.key?(:sort)
  query_params["sort_direction"] = params[:sort_direction] if params.key?(:sort_direction)
  query_params["page_token"] = params[:page_token] if params.key?(:page_token)
  query_params["patient_external_id"] = params[:patient_external_id] if params.key?(:patient_external_id)
  query_params["claim_creation_status"] = params[:claim_creation_status] if params.key?(:claim_creation_status)
  query_params["charge_status"] = params[:charge_status] if params.key?(:charge_status)
  query_params["charge_external_id"] = params[:charge_external_id] if params.key?(:charge_external_id)
  query_params["date_of_service_min"] = params[:date_of_service_min] if params.key?(:date_of_service_min)
  query_params["date_of_service_max"] = params[:date_of_service_max] if params.key?(:date_of_service_max)
  query_params["claim_ids"] = params[:claim_ids] if params.key?(:claim_ids)
  query_params["claim_creation_ids"] = params[:claim_creation_ids] if params.key?(:claim_creation_ids)
  query_params["billing_provider_npis"] = params[:billing_provider_npis] if params.key?(:billing_provider_npis)
  query_params["service_facility_name"] = params[:service_facility_name] if params.key?(:service_facility_name)
  query_params["primary_payer_ids"] = params[:primary_payer_ids] if params.key?(:primary_payer_ids)
  query_params["rendering_provider_npis"] = params[:rendering_provider_npis] if params.key?(:rendering_provider_npis)
  query_params["rendering_provider_names"] = params[:rendering_provider_names] if params.key?(:rendering_provider_names)
  query_params["supervising_provider_npis"] = params[:supervising_provider_npis] if params.key?(:supervising_provider_npis)
  query_params["supervising_provider_names"] = params[:supervising_provider_names] if params.key?(:supervising_provider_names)
  query_params["claim_status"] = params[:claim_status] if params.key?(:claim_status)
  query_params["claim_creation_category"] = params[:claim_creation_category] if params.key?(:claim_creation_category)
  query_params["tags"] = params[:tags] if params.key?(:tags)
  query_params["primary_payer_names"] = params[:primary_payer_names] if params.key?(:primary_payer_names)
  query_params["patient_names"] = params[:patient_names] if params.key?(:patient_names)
  query_params["has_charge_capture_updates"] = params[:has_charge_capture_updates] if params.key?(:has_charge_capture_updates)
  params.except(*query_param_names)

  request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:candid_api),
    method: "GET",
    path: "/api/charge_capture_claim_creation/v1",
    query: query_params,
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreationPage.load(response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

#get_summary(request_options: {}, **params) ⇒ Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreationSummary

Parameters:

  • request_options (Hash) (defaults to: {})
  • params (Hash)

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Returns:



59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/candid/charge_capture_bundles/v_1/client.rb', line 59

def get_summary(request_options: {}, **params)
  Candid::Internal::Types::Utils.normalize_keys(params)
  request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:candid_api),
    method: "GET",
    path: "/api/charge_capture_claim_creation/v1/all/summary",
    request_options: request_options
  )
  begin
    response = @client.send(request)
  rescue Net::HTTPRequestTimeout
    raise Candid::Errors::TimeoutError
  end
  code = response.code.to_i
  if code.between?(200, 299)
    Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureClaimCreationSummary.load(response.body)
  else
    error_class = Candid::Errors::ResponseError.subclass_for_code(code)
    raise error_class.new(response.body, code: code)
  end
end

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

Parameters:

Options Hash (request_options:):

  • :base_url (String)
  • :additional_headers (Hash{String => Object})
  • :additional_query_parameters (Hash{String => Object})
  • :additional_body_parameters (Hash{String => Object})
  • :timeout_in_seconds (Integer)

Options Hash (**params):

  • :charge_capture_bundle_error_id (String)

Returns:

  • (untyped)

Raises:

  • (error_class)


91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
# File 'lib/candid/charge_capture_bundles/v_1/client.rb', line 91

def resolve_charge_creation_error(request_options: {}, **params)
  params = Candid::Internal::Types::Utils.normalize_keys(params)
  request_data = Candid::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleErrorResolution.new(params).to_h
  non_body_param_names = ["charge_capture_bundle_error_id"]
  body = request_data.except(*non_body_param_names)

  request = Candid::Internal::JSON::Request.new(
    base_url: request_options[:base_url] || @base_url || @environment&.dig(:candid_api),
    method: "PATCH",
    path: "/api/charge_capture_claim_creation/v1/error/#{params[:charge_capture_bundle_error_id]}",
    body: body,
    request_options: request_options
  )
  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