candidhealth 0.40.2 → 0.40.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2e81f591e61c1d54bf64e5f14cad0b1fe8c0db21f6c9c1382dbe108807399637
4
- data.tar.gz: 4babf8a698ec0d2009e6eb5e7db21cd64b523fff991decd816294653301739c8
3
+ metadata.gz: 5c020b930d87a25078dd5ad6dffcc2196bd3c3b3a86334e9475e4201c77b76ae
4
+ data.tar.gz: b6dd51d320847bc5957da262c14ed36ee25338d9c66d722ee43f781ddc932d6d
5
5
  SHA512:
6
- metadata.gz: d95f068a3d201ad782285b2d7e3edc32bf8b959f67e21b27db1b2981eb3c3282d8f02896f8dc55a35320d91ad0710455930ec25dbd7eb70abb3ce92d4c838b43
7
- data.tar.gz: 5a201f238e0f84c64d97812d20d803ac632b9553c00ec85741a161e284161b699e986103ce64969448f853ac4d4cebdf5d5f93deeacad043e1f6e623128f7c46
6
+ metadata.gz: c9c78e07b8cc9ef56de07d9e0d6b44840e52830ae8a135725f46f73e1985ccc27b35763bf92327e71c09f7be6c21dd81c879dddef57def870dfb5dad929603aa
7
+ data.tar.gz: e2d609777077ede2141123c29480239bbc2d648664241647a5b220451274e305ac0dea47ba133aa28f2521c06d3310177b6c14ef7c3ed6c14542b48ed1e1f4ba
@@ -672,6 +672,7 @@ module CandidApiClient
672
672
  # This field should not contain PHI.
673
673
  # @param date_of_service [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
674
674
  # This date must be the local date in the timezone where the service occurred.
675
+ # @param bundle_id [String] The ID of the charge capture bundle to which this charge capture belongs.
675
676
  # @param exclude_bundled [Boolean] Whether to exclude charge captures which are associated with a charge capture
676
677
  # bundle.
677
678
  # @param request_options [CandidApiClient::RequestOptions]
@@ -687,10 +688,11 @@ module CandidApiClient
687
688
  # status: PLANNED,
688
689
  # charge_external_id: "string",
689
690
  # date_of_service: DateTime.parse(2023-01-15),
691
+ # bundle_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
690
692
  # exclude_bundled: true
691
693
  # )
692
694
  def get_all(limit: nil, sort: nil, sort_direction: nil, page_token: nil, patient_external_id: nil, status: nil,
693
- charge_external_id: nil, date_of_service: nil, exclude_bundled: nil, request_options: nil)
695
+ charge_external_id: nil, date_of_service: nil, bundle_id: nil, exclude_bundled: nil, request_options: nil)
694
696
  response = @request_client.conn.get do |req|
695
697
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
696
698
  req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
@@ -709,6 +711,7 @@ module CandidApiClient
709
711
  "status": status,
710
712
  "charge_external_id": charge_external_id,
711
713
  "date_of_service": date_of_service,
714
+ "bundle_id": bundle_id,
712
715
  "exclude_bundled": exclude_bundled
713
716
  }.compact
714
717
  req.url "#{@request_client.get_url(environment: CandidApi,
@@ -1385,6 +1388,7 @@ module CandidApiClient
1385
1388
  # This field should not contain PHI.
1386
1389
  # @param date_of_service [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
1387
1390
  # This date must be the local date in the timezone where the service occurred.
1391
+ # @param bundle_id [String] The ID of the charge capture bundle to which this charge capture belongs.
1388
1392
  # @param exclude_bundled [Boolean] Whether to exclude charge captures which are associated with a charge capture
1389
1393
  # bundle.
1390
1394
  # @param request_options [CandidApiClient::RequestOptions]
@@ -1400,10 +1404,11 @@ module CandidApiClient
1400
1404
  # status: PLANNED,
1401
1405
  # charge_external_id: "string",
1402
1406
  # date_of_service: DateTime.parse(2023-01-15),
1407
+ # bundle_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
1403
1408
  # exclude_bundled: true
1404
1409
  # )
1405
1410
  def get_all(limit: nil, sort: nil, sort_direction: nil, page_token: nil, patient_external_id: nil, status: nil,
1406
- charge_external_id: nil, date_of_service: nil, exclude_bundled: nil, request_options: nil)
1411
+ charge_external_id: nil, date_of_service: nil, bundle_id: nil, exclude_bundled: nil, request_options: nil)
1407
1412
  Async do
1408
1413
  response = @request_client.conn.get do |req|
1409
1414
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -1423,6 +1428,7 @@ module CandidApiClient
1423
1428
  "status": status,
1424
1429
  "charge_external_id": charge_external_id,
1425
1430
  "date_of_service": date_of_service,
1431
+ "bundle_id": bundle_id,
1426
1432
  "exclude_bundled": exclude_bundled
1427
1433
  }.compact
1428
1434
  req.url "#{@request_client.get_url(environment: CandidApi,
@@ -2,6 +2,7 @@
2
2
 
3
3
  require_relative "../../../requests"
4
4
  require_relative "types/charge_capture_bundle"
5
+ require_relative "types/charge_capture_bundle_summary"
5
6
  require_relative "types/charge_capture_bundle_sort_field"
6
7
  require_relative "../../commons/types/sort_direction"
7
8
  require_relative "types/charge_capture_bundle_status"
@@ -44,6 +45,26 @@ module CandidApiClient
44
45
  CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundle.from_json(json_object: response.body)
45
46
  end
46
47
 
48
+ # @param request_options [CandidApiClient::RequestOptions]
49
+ # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary]
50
+ # @example
51
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
52
+ # api.charge_capture_bundles.v_1.get_summary
53
+ def get_summary(request_options: nil)
54
+ response = @request_client.conn.get do |req|
55
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
56
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
57
+ req.headers = {
58
+ **(req.headers || {}),
59
+ **@request_client.get_headers,
60
+ **(request_options&.additional_headers || {})
61
+ }.compact
62
+ req.url "#{@request_client.get_url(environment: CandidApi,
63
+ request_options: request_options)}/api/charge_capture_bundle/v1/summary"
64
+ end
65
+ CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary.from_json(json_object: response.body)
66
+ end
67
+
47
68
  # @param charge_capture_bundle_id [String]
48
69
  # @param request_options [CandidApiClient::RequestOptions]
49
70
  # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundle]
@@ -91,7 +112,7 @@ module CandidApiClient
91
112
  # sort_direction: ASC,
92
113
  # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
93
114
  # patient_external_id: "string",
94
- # bundle_status: IN_PROGRESS,
115
+ # bundle_status: NOT_STARTED,
95
116
  # charge_status: PLANNED,
96
117
  # charge_external_id: "string",
97
118
  # date_of_service: DateTime.parse(2023-01-15),
@@ -160,6 +181,28 @@ module CandidApiClient
160
181
  end
161
182
  end
162
183
 
184
+ # @param request_options [CandidApiClient::RequestOptions]
185
+ # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary]
186
+ # @example
187
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
188
+ # api.charge_capture_bundles.v_1.get_summary
189
+ def get_summary(request_options: nil)
190
+ Async do
191
+ response = @request_client.conn.get do |req|
192
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
193
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
194
+ req.headers = {
195
+ **(req.headers || {}),
196
+ **@request_client.get_headers,
197
+ **(request_options&.additional_headers || {})
198
+ }.compact
199
+ req.url "#{@request_client.get_url(environment: CandidApi,
200
+ request_options: request_options)}/api/charge_capture_bundle/v1/summary"
201
+ end
202
+ CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary.from_json(json_object: response.body)
203
+ end
204
+ end
205
+
163
206
  # @param charge_capture_bundle_id [String]
164
207
  # @param request_options [CandidApiClient::RequestOptions]
165
208
  # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundle]
@@ -209,7 +252,7 @@ module CandidApiClient
209
252
  # sort_direction: ASC,
210
253
  # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9",
211
254
  # patient_external_id: "string",
212
- # bundle_status: IN_PROGRESS,
255
+ # bundle_status: NOT_STARTED,
213
256
  # charge_status: PLANNED,
214
257
  # charge_external_id: "string",
215
258
  # date_of_service: DateTime.parse(2023-01-15),
@@ -5,9 +5,11 @@ module CandidApiClient
5
5
  module V1
6
6
  module Types
7
7
  class ChargeCaptureBundleStatus
8
+ NOT_STARTED = "not-started"
8
9
  IN_PROGRESS = "in-progress"
9
10
  IN_ERROR = "in-error"
10
11
  SUCCESSFUL = "successful"
12
+ SUCCESSFUL_DRY_RUN = "successful-dry-run"
11
13
  ABORTED = "aborted"
12
14
  end
13
15
  end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module ChargeCaptureBundles
8
+ module V1
9
+ module Types
10
+ class ChargeCaptureBundleSummary
11
+ # @return [Integer] The count of charge captures which are not bundled.
12
+ attr_reader :charge_capture_unbundled_count
13
+ # @return [Integer] The count of charge capture bundles that are in an error state.
14
+ attr_reader :charge_capture_bundles_in_error_count
15
+ # @return [Integer] The number of ChargeCapturePostBilledChange items that are unresolved.
16
+ attr_reader :charge_capture_unresolved_change_count
17
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
18
+ attr_reader :additional_properties
19
+ # @return [Object]
20
+ attr_reader :_field_set
21
+ protected :_field_set
22
+
23
+ OMIT = Object.new
24
+
25
+ # @param charge_capture_unbundled_count [Integer] The count of charge captures which are not bundled.
26
+ # @param charge_capture_bundles_in_error_count [Integer] The count of charge capture bundles that are in an error state.
27
+ # @param charge_capture_unresolved_change_count [Integer] The number of ChargeCapturePostBilledChange items that are unresolved.
28
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
29
+ # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary]
30
+ def initialize(charge_capture_unbundled_count:, charge_capture_bundles_in_error_count:,
31
+ charge_capture_unresolved_change_count:, additional_properties: nil)
32
+ @charge_capture_unbundled_count = charge_capture_unbundled_count
33
+ @charge_capture_bundles_in_error_count = charge_capture_bundles_in_error_count
34
+ @charge_capture_unresolved_change_count = charge_capture_unresolved_change_count
35
+ @additional_properties = additional_properties
36
+ @_field_set = {
37
+ "charge_capture_unbundled_count": charge_capture_unbundled_count,
38
+ "charge_capture_bundles_in_error_count": charge_capture_bundles_in_error_count,
39
+ "charge_capture_unresolved_change_count": charge_capture_unresolved_change_count
40
+ }
41
+ end
42
+
43
+ # Deserialize a JSON object to an instance of ChargeCaptureBundleSummary
44
+ #
45
+ # @param json_object [String]
46
+ # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary]
47
+ def self.from_json(json_object:)
48
+ struct = JSON.parse(json_object, object_class: OpenStruct)
49
+ charge_capture_unbundled_count = struct["charge_capture_unbundled_count"]
50
+ charge_capture_bundles_in_error_count = struct["charge_capture_bundles_in_error_count"]
51
+ charge_capture_unresolved_change_count = struct["charge_capture_unresolved_change_count"]
52
+ new(
53
+ charge_capture_unbundled_count: charge_capture_unbundled_count,
54
+ charge_capture_bundles_in_error_count: charge_capture_bundles_in_error_count,
55
+ charge_capture_unresolved_change_count: charge_capture_unresolved_change_count,
56
+ additional_properties: struct
57
+ )
58
+ end
59
+
60
+ # Serialize an instance of ChargeCaptureBundleSummary to a JSON object
61
+ #
62
+ # @return [String]
63
+ def to_json(*_args)
64
+ @_field_set&.to_json
65
+ end
66
+
67
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
68
+ # hash and check each fields type against the current object's property
69
+ # definitions.
70
+ #
71
+ # @param obj [Object]
72
+ # @return [Void]
73
+ def self.validate_raw(obj:)
74
+ obj.charge_capture_unbundled_count.is_a?(Integer) != false || raise("Passed value for field obj.charge_capture_unbundled_count is not the expected type, validation failed.")
75
+ obj.charge_capture_bundles_in_error_count.is_a?(Integer) != false || raise("Passed value for field obj.charge_capture_bundles_in_error_count is not the expected type, validation failed.")
76
+ obj.charge_capture_unresolved_change_count.is_a?(Integer) != false || raise("Passed value for field obj.charge_capture_unresolved_change_count is not the expected type, validation failed.")
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
82
+ end
@@ -4,6 +4,9 @@ module CandidApiClient
4
4
  module Commons
5
5
  module Types
6
6
  class ProcedureModifier
7
+ AV = "AV"
8
+ AU = "AU"
9
+ AW = "AW"
7
10
  TWENTY_TWO = "22"
8
11
  TWENTY_THREE = "23"
9
12
  TWENTY_FOUR = "24"
@@ -113,7 +113,7 @@ module CandidApiClient
113
113
  # network_types: PPO,
114
114
  # payer_plan_group_ids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
115
115
  # cpt_code: "string",
116
- # modifiers: TWENTY_TWO
116
+ # modifiers: AV
117
117
  # )
118
118
  def get_multi(page_token: nil, limit: nil, active_date: nil, payer_uuid: nil,
119
119
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, payer_plan_group_ids: nil, cpt_code: nil, modifiers: nil, request_options: nil)
@@ -181,7 +181,7 @@ module CandidApiClient
181
181
  # network_types: PPO,
182
182
  # payer_plan_group_ids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
183
183
  # cpt_code: "string",
184
- # modifiers: TWENTY_TWO
184
+ # modifiers: AV
185
185
  # )
186
186
  def get_unique_values_for_dimension(pivot_dimension:, page_token: nil, limit: nil, payer_uuid: nil,
187
187
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, payer_plan_group_ids: nil, cpt_code: nil, modifiers: nil, request_options: nil)
@@ -470,7 +470,7 @@ module CandidApiClient
470
470
  # network_types: PPO,
471
471
  # payer_plan_group_ids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
472
472
  # cpt_code: "string",
473
- # modifiers: TWENTY_TWO
473
+ # modifiers: AV
474
474
  # )
475
475
  def get_multi(page_token: nil, limit: nil, active_date: nil, payer_uuid: nil,
476
476
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, payer_plan_group_ids: nil, cpt_code: nil, modifiers: nil, request_options: nil)
@@ -540,7 +540,7 @@ module CandidApiClient
540
540
  # network_types: PPO,
541
541
  # payer_plan_group_ids: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
542
542
  # cpt_code: "string",
543
- # modifiers: TWENTY_TWO
543
+ # modifiers: AV
544
544
  # )
545
545
  def get_unique_values_for_dimension(pivot_dimension:, page_token: nil, limit: nil, payer_uuid: nil,
546
546
  organization_billing_provider_id: nil, states: nil, zip_codes: nil, license_types: nil, facility_type_codes: nil, network_types: nil, payer_plan_group_ids: nil, cpt_code: nil, modifiers: nil, request_options: nil)
@@ -5,9 +5,6 @@ require_relative "types/insurance_payment_sort_field"
5
5
  require_relative "../../commons/types/sort_direction"
6
6
  require_relative "types/insurance_payments_page"
7
7
  require_relative "types/insurance_payment"
8
- require_relative "types/insurance_payment_create"
9
- require "date"
10
- require_relative "../../financials/types/note_update"
11
8
  require "async"
12
9
 
13
10
  module CandidApiClient
@@ -97,97 +94,6 @@ module CandidApiClient
97
94
  end
98
95
  CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
99
96
  end
100
-
101
- # Creates a new insurance payment record and returns the newly created
102
- # `InsurancePayment` object. This endpoint
103
- # should only be used for insurance payments that do not have a corresponding ERA
104
- # (for example: a settlement check
105
- # from a payer). If the payment is an ERA, then you should used the
106
- # insurance-adjudications API.
107
- #
108
- # @param request [Hash] Request of type CandidApiClient::InsurancePayments::V1::Types::InsurancePaymentCreate, as a Hash
109
- # * :payer_identifier (Hash)
110
- # * :amount_cents (Integer)
111
- # * :payment_timestamp (DateTime)
112
- # * :payment_note (String)
113
- # * :allocations (Array<CandidApiClient::Financials::Types::AllocationCreate>)
114
- # @param request_options [CandidApiClient::RequestOptions]
115
- # @return [CandidApiClient::InsurancePayments::V1::Types::InsurancePayment]
116
- # @example
117
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
118
- # api.insurance_payments.v_1.create(request: { amount_cents: 1, payment_timestamp: DateTime.parse(2024-01-15T09:30:00.000Z), payment_note: "string", allocations: [{ amount_cents: 1 }] })
119
- def create(request:, request_options: nil)
120
- response = @request_client.conn.post do |req|
121
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
122
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
123
- req.headers = {
124
- **(req.headers || {}),
125
- **@request_client.get_headers,
126
- **(request_options&.additional_headers || {})
127
- }.compact
128
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
129
- req.url "#{@request_client.get_url(environment: CandidApi,
130
- request_options: request_options)}/api/insurance-payments/v1"
131
- end
132
- CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
133
- end
134
-
135
- # Updates the patient payment record matching the provided insurance_payment_id.
136
- # If updating the payment amount,
137
- # then the allocations must be appropriately updated as well.
138
- #
139
- # @param insurance_payment_id [String]
140
- # @param payment_timestamp [DateTime]
141
- # @param payment_note [CandidApiClient::Financials::Types::NoteUpdate]
142
- # @param request_options [CandidApiClient::RequestOptions]
143
- # @return [CandidApiClient::InsurancePayments::V1::Types::InsurancePayment]
144
- # @example
145
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
146
- # api.insurance_payments.v_1.update(insurance_payment_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", payment_timestamp: DateTime.parse(2024-01-15T09:30:00.000Z))
147
- def update(insurance_payment_id:, payment_timestamp: nil, payment_note: nil, request_options: nil)
148
- response = @request_client.conn.patch do |req|
149
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
150
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
151
- req.headers = {
152
- **(req.headers || {}),
153
- **@request_client.get_headers,
154
- **(request_options&.additional_headers || {})
155
- }.compact
156
- req.body = {
157
- **(request_options&.additional_body_parameters || {}),
158
- payment_timestamp: payment_timestamp,
159
- payment_note: payment_note
160
- }.compact
161
- req.url "#{@request_client.get_url(environment: CandidApi,
162
- request_options: request_options)}/api/insurance-payments/v1/#{insurance_payment_id}"
163
- end
164
- CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
165
- end
166
-
167
- # Deletes the insurance payment record matching the provided
168
- # `insurance_payment_id`.
169
- # If the matching record's organization_id does not match the authenticated user's
170
- # current organization_id, then a response code of `403` will be returned.
171
- #
172
- # @param insurance_payment_id [String]
173
- # @param request_options [CandidApiClient::RequestOptions]
174
- # @return [Void]
175
- # @example
176
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
177
- # api.insurance_payments.v_1.delete(insurance_payment_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
178
- def delete(insurance_payment_id:, request_options: nil)
179
- @request_client.conn.delete do |req|
180
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
181
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
182
- req.headers = {
183
- **(req.headers || {}),
184
- **@request_client.get_headers,
185
- **(request_options&.additional_headers || {})
186
- }.compact
187
- req.url "#{@request_client.get_url(environment: CandidApi,
188
- request_options: request_options)}/api/insurance-payments/v1/#{insurance_payment_id}"
189
- end
190
- end
191
97
  end
192
98
 
193
99
  class AsyncV1Client
@@ -278,103 +184,6 @@ module CandidApiClient
278
184
  CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
279
185
  end
280
186
  end
281
-
282
- # Creates a new insurance payment record and returns the newly created
283
- # `InsurancePayment` object. This endpoint
284
- # should only be used for insurance payments that do not have a corresponding ERA
285
- # (for example: a settlement check
286
- # from a payer). If the payment is an ERA, then you should used the
287
- # insurance-adjudications API.
288
- #
289
- # @param request [Hash] Request of type CandidApiClient::InsurancePayments::V1::Types::InsurancePaymentCreate, as a Hash
290
- # * :payer_identifier (Hash)
291
- # * :amount_cents (Integer)
292
- # * :payment_timestamp (DateTime)
293
- # * :payment_note (String)
294
- # * :allocations (Array<CandidApiClient::Financials::Types::AllocationCreate>)
295
- # @param request_options [CandidApiClient::RequestOptions]
296
- # @return [CandidApiClient::InsurancePayments::V1::Types::InsurancePayment]
297
- # @example
298
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
299
- # api.insurance_payments.v_1.create(request: { amount_cents: 1, payment_timestamp: DateTime.parse(2024-01-15T09:30:00.000Z), payment_note: "string", allocations: [{ amount_cents: 1 }] })
300
- def create(request:, request_options: nil)
301
- Async do
302
- response = @request_client.conn.post do |req|
303
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
304
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
305
- req.headers = {
306
- **(req.headers || {}),
307
- **@request_client.get_headers,
308
- **(request_options&.additional_headers || {})
309
- }.compact
310
- req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
311
- req.url "#{@request_client.get_url(environment: CandidApi,
312
- request_options: request_options)}/api/insurance-payments/v1"
313
- end
314
- CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
315
- end
316
- end
317
-
318
- # Updates the patient payment record matching the provided insurance_payment_id.
319
- # If updating the payment amount,
320
- # then the allocations must be appropriately updated as well.
321
- #
322
- # @param insurance_payment_id [String]
323
- # @param payment_timestamp [DateTime]
324
- # @param payment_note [CandidApiClient::Financials::Types::NoteUpdate]
325
- # @param request_options [CandidApiClient::RequestOptions]
326
- # @return [CandidApiClient::InsurancePayments::V1::Types::InsurancePayment]
327
- # @example
328
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
329
- # api.insurance_payments.v_1.update(insurance_payment_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", payment_timestamp: DateTime.parse(2024-01-15T09:30:00.000Z))
330
- def update(insurance_payment_id:, payment_timestamp: nil, payment_note: nil, request_options: nil)
331
- Async do
332
- response = @request_client.conn.patch do |req|
333
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
334
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
335
- req.headers = {
336
- **(req.headers || {}),
337
- **@request_client.get_headers,
338
- **(request_options&.additional_headers || {})
339
- }.compact
340
- req.body = {
341
- **(request_options&.additional_body_parameters || {}),
342
- payment_timestamp: payment_timestamp,
343
- payment_note: payment_note
344
- }.compact
345
- req.url "#{@request_client.get_url(environment: CandidApi,
346
- request_options: request_options)}/api/insurance-payments/v1/#{insurance_payment_id}"
347
- end
348
- CandidApiClient::InsurancePayments::V1::Types::InsurancePayment.from_json(json_object: response.body)
349
- end
350
- end
351
-
352
- # Deletes the insurance payment record matching the provided
353
- # `insurance_payment_id`.
354
- # If the matching record's organization_id does not match the authenticated user's
355
- # current organization_id, then a response code of `403` will be returned.
356
- #
357
- # @param insurance_payment_id [String]
358
- # @param request_options [CandidApiClient::RequestOptions]
359
- # @return [Void]
360
- # @example
361
- # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
362
- # api.insurance_payments.v_1.delete(insurance_payment_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
363
- def delete(insurance_payment_id:, request_options: nil)
364
- Async do
365
- @request_client.conn.delete do |req|
366
- req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
367
- req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
368
- req.headers = {
369
- **(req.headers || {}),
370
- **@request_client.get_headers,
371
- **(request_options&.additional_headers || {})
372
- }.compact
373
- req.url "#{@request_client.get_url(environment: CandidApi,
374
- request_options: request_options)}/api/insurance-payments/v1/#{insurance_payment_id}"
375
- end
376
- end
377
- end
378
187
  end
379
188
  end
380
189
  end
@@ -40,7 +40,7 @@ module CandidApiClient
40
40
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
41
41
  # @example
42
42
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
43
- # api.medication_dispense.v_1.create(request: { medication_dispense_external_id: "string", patient_external_id: "string", procedure_code: "string", quantity: "string", units: MJ, date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, description: "string", modifiers: [TWENTY_TWO] })
43
+ # api.medication_dispense.v_1.create(request: { medication_dispense_external_id: "string", patient_external_id: "string", procedure_code: "string", quantity: "string", units: MJ, date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, description: "string", modifiers: [AV] })
44
44
  def create(request:, request_options: nil)
45
45
  response = @request_client.conn.post do |req|
46
46
  req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
@@ -90,7 +90,7 @@ module CandidApiClient
90
90
  # @return [CandidApiClient::Encounters::V4::Types::Encounter]
91
91
  # @example
92
92
  # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
93
- # api.medication_dispense.v_1.create(request: { medication_dispense_external_id: "string", patient_external_id: "string", procedure_code: "string", quantity: "string", units: MJ, date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, description: "string", modifiers: [TWENTY_TWO] })
93
+ # api.medication_dispense.v_1.create(request: { medication_dispense_external_id: "string", patient_external_id: "string", procedure_code: "string", quantity: "string", units: MJ, date_of_service: DateTime.parse(2023-01-15), drug_identification: { service_id_qualifier: EAN_UCC_13, national_drug_code: "string", national_drug_unit_count: "string", measurement_unit_code: MILLILITERS, link_sequence_number: "string", pharmacy_prescription_number: "string", conversion_formula: "string", drug_description: "string" }, description: "string", modifiers: [AV] })
94
94
  def create(request:, request_options: nil)
95
95
  Async do
96
96
  response = @request_client.conn.post do |req|
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module PayerPlanGroups
8
+ class Client
9
+ # @return [CandidApiClient::PayerPlanGroups::V1::V1Client]
10
+ attr_reader :v_1
11
+
12
+ # @param request_client [CandidApiClient::RequestClient]
13
+ # @return [CandidApiClient::PayerPlanGroups::Client]
14
+ def initialize(request_client:)
15
+ @v_1 = CandidApiClient::PayerPlanGroups::V1::V1Client.new(request_client: request_client)
16
+ end
17
+ end
18
+
19
+ class AsyncClient
20
+ # @return [CandidApiClient::PayerPlanGroups::V1::AsyncV1Client]
21
+ attr_reader :v_1
22
+
23
+ # @param request_client [CandidApiClient::AsyncRequestClient]
24
+ # @return [CandidApiClient::PayerPlanGroups::AsyncClient]
25
+ def initialize(request_client:)
26
+ @v_1 = CandidApiClient::PayerPlanGroups::V1::AsyncV1Client.new(request_client: request_client)
27
+ end
28
+ end
29
+ end
30
+ end