candidhealth 0.40.3 → 0.41.0

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: 76b8c630a7776561f2352a1fc16254884d3558474c0d33ca8b75bddfc19c1b67
4
- data.tar.gz: c6970b7ecc9c154cc20f565d7ca7563cb8f4c7beb658a037e7dcc67c5d76fd29
3
+ metadata.gz: e39a2483cd60af7d1b513f07999877000015c48ecf19bc049e87757dd7f3bead
4
+ data.tar.gz: 74202d0fbbf43b89cd8171e9dc89b8db54f076d4a548b873d110f291dba6ae5d
5
5
  SHA512:
6
- metadata.gz: de4b0801486d89d2e73d6cf4a8b59e7d21a696f2c9bd654251e1db4044393f7594db0a4a31a8f796d17c6745fc88bf5a36585f3116b3276bc389f0a9ae4d88b4
7
- data.tar.gz: ece09fc7e479f3ad88f17fd12c35a5f8b7cb49d1aadfe0a786df3a654135c2657a0911798278decdaa33c77a4cbf81ea46f8f309a9d87bc6d6e308cce8bb0b90
6
+ metadata.gz: 4b80689fff3b7578a6746e019c37d172648fd683dbabea32dc1748592de5d8c7b0a355ea42bb833254d11b8ffe9833f5bae37d1b1878c30458c54ddf3b622fe5
7
+ data.tar.gz: bd746740f98eba1ed015b656213ec62664e50d7dcf8f4a5a225d638c3f0d5eec6bc7bba051dfea17811a65f374a03cabfa1dbf77be3c3e06b2cfe7cda630f959
@@ -8,6 +8,7 @@ require_relative "types/charge_capture"
8
8
  require_relative "types/charge_capture_sort_field"
9
9
  require_relative "../../commons/types/sort_direction"
10
10
  require_relative "types/charge_capture_page"
11
+ require_relative "types/charge_capture_post_billed_change"
11
12
  require "async"
12
13
 
13
14
  module CandidApiClient
@@ -719,6 +720,31 @@ module CandidApiClient
719
720
  end
720
721
  CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePage.from_json(json_object: response.body)
721
722
  end
723
+
724
+ # @param charge_capture_change_id [String]
725
+ # @param resolved [Boolean] Whether the change has been resolved. If true, the change will be marked as
726
+ # resolved.
727
+ # If false, the change will be marked as unresolved.
728
+ # @param request_options [CandidApiClient::RequestOptions]
729
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange]
730
+ # @example
731
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
732
+ # api.charge_capture.v_1.update_post_billed_change(charge_capture_change_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", resolved: true)
733
+ def update_post_billed_change(charge_capture_change_id:, resolved:, request_options: nil)
734
+ response = @request_client.conn.patch do |req|
735
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
736
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
737
+ req.headers = {
738
+ **(req.headers || {}),
739
+ **@request_client.get_headers,
740
+ **(request_options&.additional_headers || {})
741
+ }.compact
742
+ req.body = { **(request_options&.additional_body_parameters || {}), resolved: resolved }.compact
743
+ req.url "#{@request_client.get_url(environment: CandidApi,
744
+ request_options: request_options)}/api/charge_captures/v1/changes/#{charge_capture_change_id}"
745
+ end
746
+ CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange.from_json(json_object: response.body)
747
+ end
722
748
  end
723
749
 
724
750
  class AsyncV1Client
@@ -1437,6 +1463,33 @@ module CandidApiClient
1437
1463
  CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePage.from_json(json_object: response.body)
1438
1464
  end
1439
1465
  end
1466
+
1467
+ # @param charge_capture_change_id [String]
1468
+ # @param resolved [Boolean] Whether the change has been resolved. If true, the change will be marked as
1469
+ # resolved.
1470
+ # If false, the change will be marked as unresolved.
1471
+ # @param request_options [CandidApiClient::RequestOptions]
1472
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange]
1473
+ # @example
1474
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
1475
+ # api.charge_capture.v_1.update_post_billed_change(charge_capture_change_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", resolved: true)
1476
+ def update_post_billed_change(charge_capture_change_id:, resolved:, request_options: nil)
1477
+ Async do
1478
+ response = @request_client.conn.patch do |req|
1479
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
1480
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
1481
+ req.headers = {
1482
+ **(req.headers || {}),
1483
+ **@request_client.get_headers,
1484
+ **(request_options&.additional_headers || {})
1485
+ }.compact
1486
+ req.body = { **(request_options&.additional_body_parameters || {}), resolved: resolved }.compact
1487
+ req.url "#{@request_client.get_url(environment: CandidApi,
1488
+ request_options: request_options)}/api/charge_captures/v1/changes/#{charge_capture_change_id}"
1489
+ end
1490
+ CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange.from_json(json_object: response.body)
1491
+ end
1492
+ end
1440
1493
  end
1441
1494
  end
1442
1495
  end
@@ -3,6 +3,7 @@
3
3
  require_relative "charge_capture_status"
4
4
  require_relative "charge_capture_data"
5
5
  require "date"
6
+ require_relative "charge_capture_error"
6
7
  require_relative "charge_capture_post_billed_change"
7
8
  require "ostruct"
8
9
  require "json"
@@ -27,6 +28,8 @@ module CandidApiClient
27
28
  # @return [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
28
29
  # This date must be the local date in the timezone where the service occurred.
29
30
  attr_reader :date_of_service
31
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError]
32
+ attr_reader :error
30
33
  # @return [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange>]
31
34
  attr_reader :updates
32
35
  # @return [OpenStruct] Additional properties unmapped to the current class definition
@@ -45,11 +48,12 @@ module CandidApiClient
45
48
  # @param ehr_source_url [String]
46
49
  # @param date_of_service [Date] Date formatted as YYYY-MM-DD; eg: 2019-08-24.
47
50
  # This date must be the local date in the timezone where the service occurred.
51
+ # @param error [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError]
48
52
  # @param updates [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange>]
49
53
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
50
54
  # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCapture]
51
55
  def initialize(id:, status:, charge_capture_data:, patient_external_id:, charge_external_id:, updates:,
52
- ehr_source_url: OMIT, date_of_service: OMIT, additional_properties: nil)
56
+ ehr_source_url: OMIT, date_of_service: OMIT, error: OMIT, additional_properties: nil)
53
57
  @id = id
54
58
  @status = status
55
59
  @charge_capture_data = charge_capture_data
@@ -57,6 +61,7 @@ module CandidApiClient
57
61
  @charge_external_id = charge_external_id
58
62
  @ehr_source_url = ehr_source_url if ehr_source_url != OMIT
59
63
  @date_of_service = date_of_service if date_of_service != OMIT
64
+ @error = error if error != OMIT
60
65
  @updates = updates
61
66
  @additional_properties = additional_properties
62
67
  @_field_set = {
@@ -67,6 +72,7 @@ module CandidApiClient
67
72
  "charge_external_id": charge_external_id,
68
73
  "ehr_source_url": ehr_source_url,
69
74
  "date_of_service": date_of_service,
75
+ "error": error,
70
76
  "updates": updates
71
77
  }.reject do |_k, v|
72
78
  v == OMIT
@@ -92,6 +98,12 @@ module CandidApiClient
92
98
  charge_external_id = struct["charge_external_id"]
93
99
  ehr_source_url = struct["ehr_source_url"]
94
100
  date_of_service = (Date.parse(parsed_json["date_of_service"]) unless parsed_json["date_of_service"].nil?)
101
+ if parsed_json["error"].nil?
102
+ error = nil
103
+ else
104
+ error = parsed_json["error"].to_json
105
+ error = CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError.from_json(json_object: error)
106
+ end
95
107
  updates = parsed_json["updates"]&.map do |item|
96
108
  item = item.to_json
97
109
  CandidApiClient::ChargeCapture::V1::Types::ChargeCapturePostBilledChange.from_json(json_object: item)
@@ -104,6 +116,7 @@ module CandidApiClient
104
116
  charge_external_id: charge_external_id,
105
117
  ehr_source_url: ehr_source_url,
106
118
  date_of_service: date_of_service,
119
+ error: error,
107
120
  updates: updates,
108
121
  additional_properties: struct
109
122
  )
@@ -130,6 +143,7 @@ module CandidApiClient
130
143
  obj.charge_external_id.is_a?(String) != false || raise("Passed value for field obj.charge_external_id is not the expected type, validation failed.")
131
144
  obj.ehr_source_url&.is_a?(String) != false || raise("Passed value for field obj.ehr_source_url is not the expected type, validation failed.")
132
145
  obj.date_of_service&.is_a?(Date) != false || raise("Passed value for field obj.date_of_service is not the expected type, validation failed.")
146
+ obj.error.nil? || CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError.validate_raw(obj: obj.error)
133
147
  obj.updates.is_a?(Array) != false || raise("Passed value for field obj.updates is not the expected type, validation failed.")
134
148
  end
135
149
  end
@@ -4,10 +4,10 @@ require "ostruct"
4
4
  require "json"
5
5
 
6
6
  module CandidApiClient
7
- module ChargeCaptureBundles
7
+ module ChargeCapture
8
8
  module V1
9
9
  module Types
10
- class ChargeBundleError
10
+ class ChargeCaptureError
11
11
  # @return [String]
12
12
  attr_reader :id
13
13
  # @return [String] The underlying Charge Capture that this error object references.
@@ -44,7 +44,7 @@ module CandidApiClient
44
44
  # is not present but marked as required, or otherwise in error.
45
45
  # @param bundle_id [String] The ID of the ChargeCaptureBundle associated with this Error.
46
46
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
47
- # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeBundleError]
47
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError]
48
48
  def initialize(id:, message:, bundle_id:, charge_capture_id: OMIT, field_in_error: OMIT,
49
49
  additional_properties: nil)
50
50
  @id = id
@@ -64,10 +64,10 @@ module CandidApiClient
64
64
  end
65
65
  end
66
66
 
67
- # Deserialize a JSON object to an instance of ChargeBundleError
67
+ # Deserialize a JSON object to an instance of ChargeCaptureError
68
68
  #
69
69
  # @param json_object [String]
70
- # @return [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeBundleError]
70
+ # @return [CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError]
71
71
  def self.from_json(json_object:)
72
72
  struct = JSON.parse(json_object, object_class: OpenStruct)
73
73
  id = struct["id"]
@@ -85,7 +85,7 @@ module CandidApiClient
85
85
  )
86
86
  end
87
87
 
88
- # Serialize an instance of ChargeBundleError to a JSON object
88
+ # Serialize an instance of ChargeCaptureError to a JSON object
89
89
  #
90
90
  # @return [String]
91
91
  def to_json(*_args)
@@ -60,7 +60,7 @@ module CandidApiClient
60
60
  **(request_options&.additional_headers || {})
61
61
  }.compact
62
62
  req.url "#{@request_client.get_url(environment: CandidApi,
63
- request_options: request_options)}/api/charge_capture_bundle/v1/summary"
63
+ request_options: request_options)}/api/charge_capture_bundle/v1/all/summary"
64
64
  end
65
65
  CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary.from_json(json_object: response.body)
66
66
  end
@@ -197,7 +197,7 @@ module CandidApiClient
197
197
  **(request_options&.additional_headers || {})
198
198
  }.compact
199
199
  req.url "#{@request_client.get_url(environment: CandidApi,
200
- request_options: request_options)}/api/charge_capture_bundle/v1/summary"
200
+ request_options: request_options)}/api/charge_capture_bundle/v1/all/summary"
201
201
  end
202
202
  CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleSummary.from_json(json_object: response.body)
203
203
  end
@@ -2,7 +2,7 @@
2
2
 
3
3
  require_relative "charge_capture_bundle_status"
4
4
  require_relative "../../../charge_capture/v_1/types/charge_capture"
5
- require_relative "charge_bundle_error"
5
+ require_relative "../../../charge_capture/v_1/types/charge_capture_error"
6
6
  require "ostruct"
7
7
  require "json"
8
8
 
@@ -20,7 +20,7 @@ module CandidApiClient
20
20
  attr_reader :status
21
21
  # @return [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCapture>] All the underlying ChargeCaptures that are present in a ChargeCaptureBundle.
22
22
  attr_reader :charge_captures
23
- # @return [Array<CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeBundleError>] All errors that were found when the bundle was attempted to be created.
23
+ # @return [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError>] All errors that were found when the bundle was attempted to be created.
24
24
  # Errors can correspond to the Bundle as a whole or specific underlying Charge
25
25
  # Captures.
26
26
  attr_reader :errors
@@ -37,7 +37,7 @@ module CandidApiClient
37
37
  # @param status [CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeCaptureBundleStatus] Status of the Bundle, Successful means that the Bundle created a corresponding
38
38
  # Claim
39
39
  # @param charge_captures [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCapture>] All the underlying ChargeCaptures that are present in a ChargeCaptureBundle.
40
- # @param errors [Array<CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeBundleError>] All errors that were found when the bundle was attempted to be created.
40
+ # @param errors [Array<CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError>] All errors that were found when the bundle was attempted to be created.
41
41
  # Errors can correspond to the Bundle as a whole or specific underlying Charge
42
42
  # Captures.
43
43
  # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
@@ -77,7 +77,7 @@ module CandidApiClient
77
77
  end
78
78
  errors = parsed_json["errors"]&.map do |item|
79
79
  item = item.to_json
80
- CandidApiClient::ChargeCaptureBundles::V1::Types::ChargeBundleError.from_json(json_object: item)
80
+ CandidApiClient::ChargeCapture::V1::Types::ChargeCaptureError.from_json(json_object: item)
81
81
  end
82
82
  new(
83
83
  id: id,
@@ -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
@@ -0,0 +1,380 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../requests"
4
+ require_relative "../../commons/types/source_of_payment_code"
5
+ require_relative "types/payer_plan_group_sort_field"
6
+ require_relative "../../commons/types/sort_direction"
7
+ require_relative "types/payer_plan_group_page"
8
+ require_relative "types/payer_plan_group"
9
+ require_relative "types/mutable_payer_plan_group"
10
+ require "async"
11
+
12
+ module CandidApiClient
13
+ module PayerPlanGroups
14
+ module V1
15
+ class V1Client
16
+ # @return [CandidApiClient::RequestClient]
17
+ attr_reader :request_client
18
+
19
+ # @param request_client [CandidApiClient::RequestClient]
20
+ # @return [CandidApiClient::PayerPlanGroups::V1::V1Client]
21
+ def initialize(request_client:)
22
+ @request_client = request_client
23
+ end
24
+
25
+ # Returns all payer plan groups matching filter criteria.
26
+ #
27
+ # @param plan_group_name [String]
28
+ # @param payer_uuid [String]
29
+ # @param payer_id [String]
30
+ # @param plan_type [CandidApiClient::Commons::Types::SourceOfPaymentCode]
31
+ # @param is_active [Boolean]
32
+ # @param payer_plan_group_id [String]
33
+ # @param limit [Integer] Defaults to 100. Cannot exc
34
+ # @param sort_by_similarity [String] If this property is passed, the results will be ordered by those that contain a
35
+ # payer_id, payer_name, plan_group_name, or
36
+ # payer_address most similar to the value passed. This will take precedence over
37
+ # the sort and sort_direction properties. This
38
+ # will always sort in order of most similar to least similar.
39
+ # @param sort [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupSortField] Defaults to plan_group_name. If sort_by_similarity is passed, that sort will
40
+ # takes precedence over this property.
41
+ # @param sort_direction [CandidApiClient::Commons::Types::SortDirection] Sort direction. Defaults to ascending order if not provided.
42
+ # @param page_token [String]
43
+ # @param request_options [CandidApiClient::RequestOptions]
44
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage]
45
+ # @example
46
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
47
+ # api.payer_plan_groups.v_1.get_multi(
48
+ # plan_group_name: "string",
49
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
50
+ # payer_id: "string",
51
+ # plan_type: SELF_PAY,
52
+ # is_active: true,
53
+ # payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
54
+ # limit: 1,
55
+ # sort_by_similarity: "string",
56
+ # sort: PLAN_GROUP_NAME,
57
+ # sort_direction: ASC,
58
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9"
59
+ # )
60
+ def get_multi(plan_group_name: nil, payer_uuid: nil, payer_id: nil, plan_type: nil, is_active: nil,
61
+ payer_plan_group_id: nil, limit: nil, sort_by_similarity: nil, sort: nil, sort_direction: nil, page_token: nil, request_options: nil)
62
+ response = @request_client.conn.get do |req|
63
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
64
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
65
+ req.headers = {
66
+ **(req.headers || {}),
67
+ **@request_client.get_headers,
68
+ **(request_options&.additional_headers || {})
69
+ }.compact
70
+ req.params = {
71
+ **(request_options&.additional_query_parameters || {}),
72
+ "plan_group_name": plan_group_name,
73
+ "payer_uuid": payer_uuid,
74
+ "payer_id": payer_id,
75
+ "plan_type": plan_type,
76
+ "is_active": is_active,
77
+ "payer_plan_group_id": payer_plan_group_id,
78
+ "limit": limit,
79
+ "sort_by_similarity": sort_by_similarity,
80
+ "sort": sort,
81
+ "sort_direction": sort_direction,
82
+ "page_token": page_token
83
+ }.compact
84
+ req.url "#{@request_client.get_url(environment: CandidApi,
85
+ request_options: request_options)}/api/payer-plan-groups/v1"
86
+ end
87
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage.from_json(json_object: response.body)
88
+ end
89
+
90
+ # Return a plan group with a given ID.
91
+ #
92
+ # @param payer_plan_group_id [String]
93
+ # @param request_options [CandidApiClient::RequestOptions]
94
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
95
+ # @example
96
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
97
+ # api.payer_plan_groups.v_1.get(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
98
+ def get(payer_plan_group_id:, request_options: nil)
99
+ response = @request_client.conn.get do |req|
100
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
101
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
102
+ req.headers = {
103
+ **(req.headers || {}),
104
+ **@request_client.get_headers,
105
+ **(request_options&.additional_headers || {})
106
+ }.compact
107
+ req.url "#{@request_client.get_url(environment: CandidApi,
108
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
109
+ end
110
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
111
+ end
112
+
113
+ # Create a payer plan group
114
+ #
115
+ # @param request [Hash] Request of type CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup, as a Hash
116
+ # * :plan_group_name (String)
117
+ # * :payer_uuid (String)
118
+ # * :plan_type (CandidApiClient::Commons::Types::SourceOfPaymentCode)
119
+ # @param request_options [CandidApiClient::RequestOptions]
120
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
121
+ # @example
122
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
123
+ # api.payer_plan_groups.v_1.create(request: { plan_group_name: "string", payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", plan_type: SELF_PAY })
124
+ def create(request:, request_options: nil)
125
+ response = @request_client.conn.post do |req|
126
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
127
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
128
+ req.headers = {
129
+ **(req.headers || {}),
130
+ **@request_client.get_headers,
131
+ **(request_options&.additional_headers || {})
132
+ }.compact
133
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
134
+ req.url "#{@request_client.get_url(environment: CandidApi,
135
+ request_options: request_options)}/api/payer-plan-groups/v1"
136
+ end
137
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
138
+ end
139
+
140
+ # Update any of the fields on a payer plan group
141
+ #
142
+ # @param payer_plan_group_id [String]
143
+ # @param request [Hash] Request of type CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup, as a Hash
144
+ # * :plan_group_name (String)
145
+ # * :payer_uuid (String)
146
+ # * :plan_type (CandidApiClient::Commons::Types::SourceOfPaymentCode)
147
+ # @param request_options [CandidApiClient::RequestOptions]
148
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
149
+ # @example
150
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
151
+ # api.payer_plan_groups.v_1.update(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { plan_group_name: "string", payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", plan_type: SELF_PAY })
152
+ def update(payer_plan_group_id:, request:, request_options: nil)
153
+ response = @request_client.conn.put do |req|
154
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
155
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
156
+ req.headers = {
157
+ **(req.headers || {}),
158
+ **@request_client.get_headers,
159
+ **(request_options&.additional_headers || {})
160
+ }.compact
161
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
162
+ req.url "#{@request_client.get_url(environment: CandidApi,
163
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
164
+ end
165
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
166
+ end
167
+
168
+ # Marks the payer plan group as deactivated
169
+ #
170
+ # @param payer_plan_group_id [String]
171
+ # @param request_options [CandidApiClient::RequestOptions]
172
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
173
+ # @example
174
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
175
+ # api.payer_plan_groups.v_1.deactivate(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
176
+ def deactivate(payer_plan_group_id:, request_options: nil)
177
+ response = @request_client.conn.patch do |req|
178
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
179
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
180
+ req.headers = {
181
+ **(req.headers || {}),
182
+ **@request_client.get_headers,
183
+ **(request_options&.additional_headers || {})
184
+ }.compact
185
+ req.url "#{@request_client.get_url(environment: CandidApi,
186
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
187
+ end
188
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
189
+ end
190
+ end
191
+
192
+ class AsyncV1Client
193
+ # @return [CandidApiClient::AsyncRequestClient]
194
+ attr_reader :request_client
195
+
196
+ # @param request_client [CandidApiClient::AsyncRequestClient]
197
+ # @return [CandidApiClient::PayerPlanGroups::V1::AsyncV1Client]
198
+ def initialize(request_client:)
199
+ @request_client = request_client
200
+ end
201
+
202
+ # Returns all payer plan groups matching filter criteria.
203
+ #
204
+ # @param plan_group_name [String]
205
+ # @param payer_uuid [String]
206
+ # @param payer_id [String]
207
+ # @param plan_type [CandidApiClient::Commons::Types::SourceOfPaymentCode]
208
+ # @param is_active [Boolean]
209
+ # @param payer_plan_group_id [String]
210
+ # @param limit [Integer] Defaults to 100. Cannot exc
211
+ # @param sort_by_similarity [String] If this property is passed, the results will be ordered by those that contain a
212
+ # payer_id, payer_name, plan_group_name, or
213
+ # payer_address most similar to the value passed. This will take precedence over
214
+ # the sort and sort_direction properties. This
215
+ # will always sort in order of most similar to least similar.
216
+ # @param sort [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupSortField] Defaults to plan_group_name. If sort_by_similarity is passed, that sort will
217
+ # takes precedence over this property.
218
+ # @param sort_direction [CandidApiClient::Commons::Types::SortDirection] Sort direction. Defaults to ascending order if not provided.
219
+ # @param page_token [String]
220
+ # @param request_options [CandidApiClient::RequestOptions]
221
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage]
222
+ # @example
223
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
224
+ # api.payer_plan_groups.v_1.get_multi(
225
+ # plan_group_name: "string",
226
+ # payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
227
+ # payer_id: "string",
228
+ # plan_type: SELF_PAY,
229
+ # is_active: true,
230
+ # payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32",
231
+ # limit: 1,
232
+ # sort_by_similarity: "string",
233
+ # sort: PLAN_GROUP_NAME,
234
+ # sort_direction: ASC,
235
+ # page_token: "eyJ0b2tlbiI6IjEiLCJwYWdlX3Rva2VuIjoiMiJ9"
236
+ # )
237
+ def get_multi(plan_group_name: nil, payer_uuid: nil, payer_id: nil, plan_type: nil, is_active: nil,
238
+ payer_plan_group_id: nil, limit: nil, sort_by_similarity: nil, sort: nil, sort_direction: nil, page_token: nil, request_options: nil)
239
+ Async do
240
+ response = @request_client.conn.get do |req|
241
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
242
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
243
+ req.headers = {
244
+ **(req.headers || {}),
245
+ **@request_client.get_headers,
246
+ **(request_options&.additional_headers || {})
247
+ }.compact
248
+ req.params = {
249
+ **(request_options&.additional_query_parameters || {}),
250
+ "plan_group_name": plan_group_name,
251
+ "payer_uuid": payer_uuid,
252
+ "payer_id": payer_id,
253
+ "plan_type": plan_type,
254
+ "is_active": is_active,
255
+ "payer_plan_group_id": payer_plan_group_id,
256
+ "limit": limit,
257
+ "sort_by_similarity": sort_by_similarity,
258
+ "sort": sort,
259
+ "sort_direction": sort_direction,
260
+ "page_token": page_token
261
+ }.compact
262
+ req.url "#{@request_client.get_url(environment: CandidApi,
263
+ request_options: request_options)}/api/payer-plan-groups/v1"
264
+ end
265
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage.from_json(json_object: response.body)
266
+ end
267
+ end
268
+
269
+ # Return a plan group with a given ID.
270
+ #
271
+ # @param payer_plan_group_id [String]
272
+ # @param request_options [CandidApiClient::RequestOptions]
273
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
274
+ # @example
275
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
276
+ # api.payer_plan_groups.v_1.get(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
277
+ def get(payer_plan_group_id:, request_options: nil)
278
+ Async do
279
+ response = @request_client.conn.get do |req|
280
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
281
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
282
+ req.headers = {
283
+ **(req.headers || {}),
284
+ **@request_client.get_headers,
285
+ **(request_options&.additional_headers || {})
286
+ }.compact
287
+ req.url "#{@request_client.get_url(environment: CandidApi,
288
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
289
+ end
290
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
291
+ end
292
+ end
293
+
294
+ # Create a payer plan group
295
+ #
296
+ # @param request [Hash] Request of type CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup, as a Hash
297
+ # * :plan_group_name (String)
298
+ # * :payer_uuid (String)
299
+ # * :plan_type (CandidApiClient::Commons::Types::SourceOfPaymentCode)
300
+ # @param request_options [CandidApiClient::RequestOptions]
301
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
302
+ # @example
303
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
304
+ # api.payer_plan_groups.v_1.create(request: { plan_group_name: "string", payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", plan_type: SELF_PAY })
305
+ def create(request:, request_options: nil)
306
+ Async do
307
+ response = @request_client.conn.post do |req|
308
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
309
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
310
+ req.headers = {
311
+ **(req.headers || {}),
312
+ **@request_client.get_headers,
313
+ **(request_options&.additional_headers || {})
314
+ }.compact
315
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
316
+ req.url "#{@request_client.get_url(environment: CandidApi,
317
+ request_options: request_options)}/api/payer-plan-groups/v1"
318
+ end
319
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
320
+ end
321
+ end
322
+
323
+ # Update any of the fields on a payer plan group
324
+ #
325
+ # @param payer_plan_group_id [String]
326
+ # @param request [Hash] Request of type CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup, as a Hash
327
+ # * :plan_group_name (String)
328
+ # * :payer_uuid (String)
329
+ # * :plan_type (CandidApiClient::Commons::Types::SourceOfPaymentCode)
330
+ # @param request_options [CandidApiClient::RequestOptions]
331
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
332
+ # @example
333
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
334
+ # api.payer_plan_groups.v_1.update(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", request: { plan_group_name: "string", payer_uuid: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32", plan_type: SELF_PAY })
335
+ def update(payer_plan_group_id:, request:, request_options: nil)
336
+ Async do
337
+ response = @request_client.conn.put do |req|
338
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
339
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
340
+ req.headers = {
341
+ **(req.headers || {}),
342
+ **@request_client.get_headers,
343
+ **(request_options&.additional_headers || {})
344
+ }.compact
345
+ req.body = { **(request || {}), **(request_options&.additional_body_parameters || {}) }.compact
346
+ req.url "#{@request_client.get_url(environment: CandidApi,
347
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
348
+ end
349
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
350
+ end
351
+ end
352
+
353
+ # Marks the payer plan group as deactivated
354
+ #
355
+ # @param payer_plan_group_id [String]
356
+ # @param request_options [CandidApiClient::RequestOptions]
357
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
358
+ # @example
359
+ # api = CandidApiClient::Client.new(base_url: "https://api.example.com", environment: CandidApiClient::Environment::PRODUCTION)
360
+ # api.payer_plan_groups.v_1.deactivate(payer_plan_group_id: "d5e9c84f-c2b2-4bf4-b4b0-7ffd7a9ffc32")
361
+ def deactivate(payer_plan_group_id:, request_options: nil)
362
+ Async do
363
+ response = @request_client.conn.patch do |req|
364
+ req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
365
+ req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
366
+ req.headers = {
367
+ **(req.headers || {}),
368
+ **@request_client.get_headers,
369
+ **(request_options&.additional_headers || {})
370
+ }.compact
371
+ req.url "#{@request_client.get_url(environment: CandidApi,
372
+ request_options: request_options)}/api/payer-plan-groups/v1/#{payer_plan_group_id}"
373
+ end
374
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: response.body)
375
+ end
376
+ end
377
+ end
378
+ end
379
+ end
380
+ end
@@ -0,0 +1,78 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../commons/types/source_of_payment_code"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PayerPlanGroups
9
+ module V1
10
+ module Types
11
+ class MutablePayerPlanGroup
12
+ # @return [String]
13
+ attr_reader :plan_group_name
14
+ # @return [String]
15
+ attr_reader :payer_uuid
16
+ # @return [CandidApiClient::Commons::Types::SourceOfPaymentCode]
17
+ attr_reader :plan_type
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param plan_group_name [String]
27
+ # @param payer_uuid [String]
28
+ # @param plan_type [CandidApiClient::Commons::Types::SourceOfPaymentCode]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup]
31
+ def initialize(plan_group_name:, payer_uuid:, plan_type:, additional_properties: nil)
32
+ @plan_group_name = plan_group_name
33
+ @payer_uuid = payer_uuid
34
+ @plan_type = plan_type
35
+ @additional_properties = additional_properties
36
+ @_field_set = { "plan_group_name": plan_group_name, "payer_uuid": payer_uuid, "plan_type": plan_type }
37
+ end
38
+
39
+ # Deserialize a JSON object to an instance of MutablePayerPlanGroup
40
+ #
41
+ # @param json_object [String]
42
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::MutablePayerPlanGroup]
43
+ def self.from_json(json_object:)
44
+ struct = JSON.parse(json_object, object_class: OpenStruct)
45
+ plan_group_name = struct["plan_group_name"]
46
+ payer_uuid = struct["payer_uuid"]
47
+ plan_type = struct["plan_type"]
48
+ new(
49
+ plan_group_name: plan_group_name,
50
+ payer_uuid: payer_uuid,
51
+ plan_type: plan_type,
52
+ additional_properties: struct
53
+ )
54
+ end
55
+
56
+ # Serialize an instance of MutablePayerPlanGroup to a JSON object
57
+ #
58
+ # @return [String]
59
+ def to_json(*_args)
60
+ @_field_set&.to_json
61
+ end
62
+
63
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
64
+ # hash and check each fields type against the current object's property
65
+ # definitions.
66
+ #
67
+ # @param obj [Object]
68
+ # @return [Void]
69
+ def self.validate_raw(obj:)
70
+ obj.plan_group_name.is_a?(String) != false || raise("Passed value for field obj.plan_group_name is not the expected type, validation failed.")
71
+ obj.payer_uuid.is_a?(String) != false || raise("Passed value for field obj.payer_uuid is not the expected type, validation failed.")
72
+ obj.plan_type.is_a?(CandidApiClient::Commons::Types::SourceOfPaymentCode) != false || raise("Passed value for field obj.plan_type is not the expected type, validation failed.")
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end
@@ -0,0 +1,114 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../payers/v_3/types/payer"
4
+ require_relative "../../../commons/types/source_of_payment_code"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module PayerPlanGroups
10
+ module V1
11
+ module Types
12
+ class PayerPlanGroup
13
+ # @return [String]
14
+ attr_reader :payer_plan_group_id
15
+ # @return [CandidApiClient::Payers::V3::Types::Payer]
16
+ attr_reader :payer
17
+ # @return [Boolean]
18
+ attr_reader :is_active
19
+ # @return [String]
20
+ attr_reader :plan_group_name
21
+ # @return [String]
22
+ attr_reader :payer_uuid
23
+ # @return [CandidApiClient::Commons::Types::SourceOfPaymentCode]
24
+ attr_reader :plan_type
25
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
26
+ attr_reader :additional_properties
27
+ # @return [Object]
28
+ attr_reader :_field_set
29
+ protected :_field_set
30
+
31
+ OMIT = Object.new
32
+
33
+ # @param payer_plan_group_id [String]
34
+ # @param payer [CandidApiClient::Payers::V3::Types::Payer]
35
+ # @param is_active [Boolean]
36
+ # @param plan_group_name [String]
37
+ # @param payer_uuid [String]
38
+ # @param plan_type [CandidApiClient::Commons::Types::SourceOfPaymentCode]
39
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
40
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
41
+ def initialize(payer_plan_group_id:, payer:, is_active:, plan_group_name:, payer_uuid:, plan_type:,
42
+ additional_properties: nil)
43
+ @payer_plan_group_id = payer_plan_group_id
44
+ @payer = payer
45
+ @is_active = is_active
46
+ @plan_group_name = plan_group_name
47
+ @payer_uuid = payer_uuid
48
+ @plan_type = plan_type
49
+ @additional_properties = additional_properties
50
+ @_field_set = {
51
+ "payer_plan_group_id": payer_plan_group_id,
52
+ "payer": payer,
53
+ "is_active": is_active,
54
+ "plan_group_name": plan_group_name,
55
+ "payer_uuid": payer_uuid,
56
+ "plan_type": plan_type
57
+ }
58
+ end
59
+
60
+ # Deserialize a JSON object to an instance of PayerPlanGroup
61
+ #
62
+ # @param json_object [String]
63
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup]
64
+ def self.from_json(json_object:)
65
+ struct = JSON.parse(json_object, object_class: OpenStruct)
66
+ parsed_json = JSON.parse(json_object)
67
+ payer_plan_group_id = struct["payer_plan_group_id"]
68
+ if parsed_json["payer"].nil?
69
+ payer = nil
70
+ else
71
+ payer = parsed_json["payer"].to_json
72
+ payer = CandidApiClient::Payers::V3::Types::Payer.from_json(json_object: payer)
73
+ end
74
+ is_active = struct["is_active"]
75
+ plan_group_name = struct["plan_group_name"]
76
+ payer_uuid = struct["payer_uuid"]
77
+ plan_type = struct["plan_type"]
78
+ new(
79
+ payer_plan_group_id: payer_plan_group_id,
80
+ payer: payer,
81
+ is_active: is_active,
82
+ plan_group_name: plan_group_name,
83
+ payer_uuid: payer_uuid,
84
+ plan_type: plan_type,
85
+ additional_properties: struct
86
+ )
87
+ end
88
+
89
+ # Serialize an instance of PayerPlanGroup to a JSON object
90
+ #
91
+ # @return [String]
92
+ def to_json(*_args)
93
+ @_field_set&.to_json
94
+ end
95
+
96
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
97
+ # hash and check each fields type against the current object's property
98
+ # definitions.
99
+ #
100
+ # @param obj [Object]
101
+ # @return [Void]
102
+ def self.validate_raw(obj:)
103
+ obj.payer_plan_group_id.is_a?(String) != false || raise("Passed value for field obj.payer_plan_group_id is not the expected type, validation failed.")
104
+ CandidApiClient::Payers::V3::Types::Payer.validate_raw(obj: obj.payer)
105
+ obj.is_active.is_a?(Boolean) != false || raise("Passed value for field obj.is_active is not the expected type, validation failed.")
106
+ obj.plan_group_name.is_a?(String) != false || raise("Passed value for field obj.plan_group_name is not the expected type, validation failed.")
107
+ obj.payer_uuid.is_a?(String) != false || raise("Passed value for field obj.payer_uuid is not the expected type, validation failed.")
108
+ obj.plan_type.is_a?(CandidApiClient::Commons::Types::SourceOfPaymentCode) != false || raise("Passed value for field obj.plan_type is not the expected type, validation failed.")
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "ostruct"
4
+ require "json"
5
+
6
+ module CandidApiClient
7
+ module PayerPlanGroups
8
+ module V1
9
+ module Types
10
+ class PayerPlanGroupAlreadyExistsError
11
+ # @return [String]
12
+ attr_reader :message
13
+ # @return [String]
14
+ attr_reader :id
15
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
16
+ attr_reader :additional_properties
17
+ # @return [Object]
18
+ attr_reader :_field_set
19
+ protected :_field_set
20
+
21
+ OMIT = Object.new
22
+
23
+ # @param message [String]
24
+ # @param id [String]
25
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
26
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupAlreadyExistsError]
27
+ def initialize(message:, id:, additional_properties: nil)
28
+ @message = message
29
+ @id = id
30
+ @additional_properties = additional_properties
31
+ @_field_set = { "message": message, "id": id }
32
+ end
33
+
34
+ # Deserialize a JSON object to an instance of PayerPlanGroupAlreadyExistsError
35
+ #
36
+ # @param json_object [String]
37
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupAlreadyExistsError]
38
+ def self.from_json(json_object:)
39
+ struct = JSON.parse(json_object, object_class: OpenStruct)
40
+ message = struct["message"]
41
+ id = struct["id"]
42
+ new(
43
+ message: message,
44
+ id: id,
45
+ additional_properties: struct
46
+ )
47
+ end
48
+
49
+ # Serialize an instance of PayerPlanGroupAlreadyExistsError to a JSON object
50
+ #
51
+ # @return [String]
52
+ def to_json(*_args)
53
+ @_field_set&.to_json
54
+ end
55
+
56
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
57
+ # hash and check each fields type against the current object's property
58
+ # definitions.
59
+ #
60
+ # @param obj [Object]
61
+ # @return [Void]
62
+ def self.validate_raw(obj:)
63
+ obj.message.is_a?(String) != false || raise("Passed value for field obj.message is not the expected type, validation failed.")
64
+ obj.id.is_a?(String) != false || raise("Passed value for field obj.id is not the expected type, validation failed.")
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "payer_plan_group"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module PayerPlanGroups
9
+ module V1
10
+ module Types
11
+ class PayerPlanGroupPage
12
+ # @return [Array<CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup>]
13
+ attr_reader :items
14
+ # @return [String]
15
+ attr_reader :prev_page_token
16
+ # @return [String]
17
+ attr_reader :next_page_token
18
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
19
+ attr_reader :additional_properties
20
+ # @return [Object]
21
+ attr_reader :_field_set
22
+ protected :_field_set
23
+
24
+ OMIT = Object.new
25
+
26
+ # @param items [Array<CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup>]
27
+ # @param prev_page_token [String]
28
+ # @param next_page_token [String]
29
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
30
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage]
31
+ def initialize(items:, prev_page_token: OMIT, next_page_token: OMIT, additional_properties: nil)
32
+ @items = items
33
+ @prev_page_token = prev_page_token if prev_page_token != OMIT
34
+ @next_page_token = next_page_token if next_page_token != OMIT
35
+ @additional_properties = additional_properties
36
+ @_field_set = {
37
+ "items": items,
38
+ "prev_page_token": prev_page_token,
39
+ "next_page_token": next_page_token
40
+ }.reject do |_k, v|
41
+ v == OMIT
42
+ end
43
+ end
44
+
45
+ # Deserialize a JSON object to an instance of PayerPlanGroupPage
46
+ #
47
+ # @param json_object [String]
48
+ # @return [CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroupPage]
49
+ def self.from_json(json_object:)
50
+ struct = JSON.parse(json_object, object_class: OpenStruct)
51
+ parsed_json = JSON.parse(json_object)
52
+ items = parsed_json["items"]&.map do |item|
53
+ item = item.to_json
54
+ CandidApiClient::PayerPlanGroups::V1::Types::PayerPlanGroup.from_json(json_object: item)
55
+ end
56
+ prev_page_token = struct["prev_page_token"]
57
+ next_page_token = struct["next_page_token"]
58
+ new(
59
+ items: items,
60
+ prev_page_token: prev_page_token,
61
+ next_page_token: next_page_token,
62
+ additional_properties: struct
63
+ )
64
+ end
65
+
66
+ # Serialize an instance of PayerPlanGroupPage to a JSON object
67
+ #
68
+ # @return [String]
69
+ def to_json(*_args)
70
+ @_field_set&.to_json
71
+ end
72
+
73
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
74
+ # hash and check each fields type against the current object's property
75
+ # definitions.
76
+ #
77
+ # @param obj [Object]
78
+ # @return [Void]
79
+ def self.validate_raw(obj:)
80
+ obj.items.is_a?(Array) != false || raise("Passed value for field obj.items is not the expected type, validation failed.")
81
+ obj.prev_page_token&.is_a?(String) != false || raise("Passed value for field obj.prev_page_token is not the expected type, validation failed.")
82
+ obj.next_page_token&.is_a?(String) != false || raise("Passed value for field obj.next_page_token is not the expected type, validation failed.")
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module PayerPlanGroups
5
+ module V1
6
+ module Types
7
+ class PayerPlanGroupSortField
8
+ PLAN_GROUP_NAME = "plan_group_name"
9
+ PLAN_TYPE = "plan_type"
10
+ CREATED_AT = "created_at"
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -46,6 +46,7 @@ module CandidApiClient
46
46
  HELD_BY_CUSTOMER = "held_by_customer"
47
47
  PENDING_MANUAL_REMIT_POSTING = "pending_manual_remit_posting"
48
48
  INCORRECT_REFERRING_PROVIDER_INFO = "incorrect_referring_provider_info"
49
+ PAYER_CONFIGURATION_ERROR = "payer_configuration_error"
49
50
  end
50
51
  end
51
52
  end
data/lib/candidhealth.rb CHANGED
@@ -31,6 +31,7 @@ require_relative "candidhealth/organization_service_facilities/client"
31
31
  require_relative "candidhealth/organization_providers/client"
32
32
  require_relative "candidhealth/patient_payments/client"
33
33
  require_relative "candidhealth/patient_refunds/client"
34
+ require_relative "candidhealth/payer_plan_groups/client"
34
35
  require_relative "candidhealth/payers/client"
35
36
  require_relative "candidhealth/service_lines/client"
36
37
  require_relative "candidhealth/tasks/client"
@@ -95,6 +96,8 @@ module CandidApiClient
95
96
  attr_reader :patient_payments
96
97
  # @return [CandidApiClient::PatientRefunds::Client]
97
98
  attr_reader :patient_refunds
99
+ # @return [CandidApiClient::PayerPlanGroups::Client]
100
+ attr_reader :payer_plan_groups
98
101
  # @return [CandidApiClient::Payers::Client]
99
102
  attr_reader :payers
100
103
  # @return [CandidApiClient::ServiceLines::Client]
@@ -163,6 +166,7 @@ module CandidApiClient
163
166
  @organization_providers = CandidApiClient::OrganizationProviders::Client.new(request_client: @request_client)
164
167
  @patient_payments = CandidApiClient::PatientPayments::Client.new(request_client: @request_client)
165
168
  @patient_refunds = CandidApiClient::PatientRefunds::Client.new(request_client: @request_client)
169
+ @payer_plan_groups = CandidApiClient::PayerPlanGroups::Client.new(request_client: @request_client)
166
170
  @payers = CandidApiClient::Payers::Client.new(request_client: @request_client)
167
171
  @service_lines = CandidApiClient::ServiceLines::Client.new(request_client: @request_client)
168
172
  @tasks = CandidApiClient::Tasks::Client.new(request_client: @request_client)
@@ -228,6 +232,8 @@ module CandidApiClient
228
232
  attr_reader :patient_payments
229
233
  # @return [CandidApiClient::PatientRefunds::AsyncClient]
230
234
  attr_reader :patient_refunds
235
+ # @return [CandidApiClient::PayerPlanGroups::AsyncClient]
236
+ attr_reader :payer_plan_groups
231
237
  # @return [CandidApiClient::Payers::AsyncClient]
232
238
  attr_reader :payers
233
239
  # @return [CandidApiClient::ServiceLines::AsyncClient]
@@ -296,6 +302,7 @@ module CandidApiClient
296
302
  @organization_providers = CandidApiClient::OrganizationProviders::AsyncClient.new(request_client: @async_request_client)
297
303
  @patient_payments = CandidApiClient::PatientPayments::AsyncClient.new(request_client: @async_request_client)
298
304
  @patient_refunds = CandidApiClient::PatientRefunds::AsyncClient.new(request_client: @async_request_client)
305
+ @payer_plan_groups = CandidApiClient::PayerPlanGroups::AsyncClient.new(request_client: @async_request_client)
299
306
  @payers = CandidApiClient::Payers::AsyncClient.new(request_client: @async_request_client)
300
307
  @service_lines = CandidApiClient::ServiceLines::AsyncClient.new(request_client: @async_request_client)
301
308
  @tasks = CandidApiClient::Tasks::AsyncClient.new(request_client: @async_request_client)
data/lib/requests.rb CHANGED
@@ -43,7 +43,7 @@ module CandidApiClient
43
43
 
44
44
  # @return [Hash{String => String}]
45
45
  def get_headers
46
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.40.3" }
46
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.41.0" }
47
47
  headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
48
48
  headers
49
49
  end
@@ -87,7 +87,7 @@ module CandidApiClient
87
87
 
88
88
  # @return [Hash{String => String}]
89
89
  def get_headers
90
- headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.40.3" }
90
+ headers = { "X-Fern-Language": "Ruby", "X-Fern-SDK-Name": "candidhealth", "X-Fern-SDK-Version": "0.41.0" }
91
91
  headers["Authorization"] = ((@token.is_a? Method) ? @token.call : @token) unless token.nil?
92
92
  headers
93
93
  end
data/lib/types_export.rb CHANGED
@@ -7,12 +7,12 @@ require_relative "candidhealth/billing_notes/v_2/types/billing_note"
7
7
  require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_page"
8
8
  require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle"
9
9
  require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_summary"
10
- require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_bundle_error"
11
10
  require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_status"
12
11
  require_relative "candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_sort_field"
13
12
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture_page"
14
13
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture"
15
14
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture_data"
15
+ require_relative "candidhealth/charge_capture/v_1/types/charge_capture_error"
16
16
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture_sort_field"
17
17
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture_status"
18
18
  require_relative "candidhealth/charge_capture/v_1/types/charge_capture_post_billed_change"
@@ -245,6 +245,11 @@ require_relative "candidhealth/patient_payments/v_4/types/patient_payment_sort_f
245
245
  require_relative "candidhealth/patient_refunds/v_1/types/patient_refund"
246
246
  require_relative "candidhealth/patient_refunds/v_1/types/patient_refunds_page"
247
247
  require_relative "candidhealth/patient_refunds/v_1/types/patient_refund_sort_field"
248
+ require_relative "candidhealth/payer_plan_groups/v_1/types/mutable_payer_plan_group"
249
+ require_relative "candidhealth/payer_plan_groups/v_1/types/payer_plan_group"
250
+ require_relative "candidhealth/payer_plan_groups/v_1/types/payer_plan_group_page"
251
+ require_relative "candidhealth/payer_plan_groups/v_1/types/payer_plan_group_sort_field"
252
+ require_relative "candidhealth/payer_plan_groups/v_1/types/payer_plan_group_already_exists_error"
248
253
  require_relative "candidhealth/payers/v_3/types/payer_page"
249
254
  require_relative "candidhealth/payers/v_3/types/payer"
250
255
  require_relative "candidhealth/payers/v_3/types/payer_info"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: candidhealth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.40.3
4
+ version: 0.41.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - ''
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2025-04-10 00:00:00.000000000 Z
11
+ date: 2025-04-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: async-http-faraday
@@ -109,13 +109,13 @@ files:
109
109
  - lib/candidhealth/charge_capture/v_1/client.rb
110
110
  - lib/candidhealth/charge_capture/v_1/types/charge_capture.rb
111
111
  - lib/candidhealth/charge_capture/v_1/types/charge_capture_data.rb
112
+ - lib/candidhealth/charge_capture/v_1/types/charge_capture_error.rb
112
113
  - lib/candidhealth/charge_capture/v_1/types/charge_capture_page.rb
113
114
  - lib/candidhealth/charge_capture/v_1/types/charge_capture_post_billed_change.rb
114
115
  - lib/candidhealth/charge_capture/v_1/types/charge_capture_sort_field.rb
115
116
  - lib/candidhealth/charge_capture/v_1/types/charge_capture_status.rb
116
117
  - lib/candidhealth/charge_capture_bundles/client.rb
117
118
  - lib/candidhealth/charge_capture_bundles/v_1/client.rb
118
- - lib/candidhealth/charge_capture_bundles/v_1/types/charge_bundle_error.rb
119
119
  - lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle.rb
120
120
  - lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_page.rb
121
121
  - lib/candidhealth/charge_capture_bundles/v_1/types/charge_capture_bundle_sort_field.rb
@@ -487,6 +487,13 @@ files:
487
487
  - lib/candidhealth/patient_refunds/v_1/types/patient_refund.rb
488
488
  - lib/candidhealth/patient_refunds/v_1/types/patient_refund_sort_field.rb
489
489
  - lib/candidhealth/patient_refunds/v_1/types/patient_refunds_page.rb
490
+ - lib/candidhealth/payer_plan_groups/client.rb
491
+ - lib/candidhealth/payer_plan_groups/v_1/client.rb
492
+ - lib/candidhealth/payer_plan_groups/v_1/types/mutable_payer_plan_group.rb
493
+ - lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group.rb
494
+ - lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_already_exists_error.rb
495
+ - lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_page.rb
496
+ - lib/candidhealth/payer_plan_groups/v_1/types/payer_plan_group_sort_field.rb
490
497
  - lib/candidhealth/payers/client.rb
491
498
  - lib/candidhealth/payers/v_3/client.rb
492
499
  - lib/candidhealth/payers/v_3/types/payer.rb