candidhealth 0.25.0 → 0.26.1

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.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/lib/candidhealth/service_lines/v_2/client.rb +4 -40
  3. data/lib/candidhealth/service_lines/v_2/types/service_line.rb +1 -43
  4. data/lib/candidhealth/service_lines/v_2/types/service_line_create_standalone.rb +2 -82
  5. data/lib/candidhealth/service_lines/v_2/types/service_line_update.rb +2 -82
  6. data/lib/candidhealth/third_party_payer_payments/client.rb +30 -0
  7. data/lib/candidhealth/third_party_payer_payments/v_1/client.rb +360 -0
  8. data/lib/candidhealth/third_party_payer_payments/v_1/types/third_party_payer_payment.rb +138 -0
  9. data/lib/candidhealth/third_party_payer_payments/v_1/types/third_party_payer_payment_create.rb +124 -0
  10. data/lib/candidhealth/third_party_payer_payments/v_1/types/third_party_payer_payment_sort_field.rb +14 -0
  11. data/lib/candidhealth/third_party_payer_payments/v_1/types/third_party_payer_payments_page.rb +88 -0
  12. data/lib/candidhealth/third_party_payer_refunds/client.rb +30 -0
  13. data/lib/candidhealth/third_party_payer_refunds/v_1/client.rb +385 -0
  14. data/lib/candidhealth/third_party_payer_refunds/v_1/types/third_party_payer_refund.rb +139 -0
  15. data/lib/candidhealth/third_party_payer_refunds/v_1/types/third_party_payer_refund_create.rb +125 -0
  16. data/lib/candidhealth/third_party_payer_refunds/v_1/types/third_party_payer_refund_sort_field.rb +14 -0
  17. data/lib/candidhealth/third_party_payer_refunds/v_1/types/third_party_payer_refunds_page.rb +88 -0
  18. data/lib/candidhealth/third_party_payers/client.rb +30 -0
  19. data/lib/candidhealth/third_party_payers/v_1/client.rb +375 -0
  20. data/lib/candidhealth/third_party_payers/v_1/types/create_third_party_payer_request.rb +79 -0
  21. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer.rb +100 -0
  22. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer_category_update.rb +97 -0
  23. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer_description_update.rb +97 -0
  24. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer_page.rb +88 -0
  25. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer_sort_field.rb +16 -0
  26. data/lib/candidhealth/third_party_payers/v_1/types/third_party_payer_update_request.rb +92 -0
  27. data/lib/candidhealth/third_party_payers/v_1/types/toggle_third_party_payer_enablement_request.rb +61 -0
  28. data/lib/candidhealth.rb +21 -0
  29. data/lib/requests.rb +2 -2
  30. data/lib/types_export.rb +16 -4
  31. metadata +23 -5
  32. data/lib/candidhealth/invoices/types/invoice.rb +0 -169
  33. data/lib/candidhealth/invoices/types/invoice_item.rb +0 -68
  34. data/lib/candidhealth/invoices/types/invoice_status.rb +0 -16
  35. data/lib/candidhealth/service_lines/v_2/types/service_line_era_data.rb +0 -78
@@ -0,0 +1,138 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../../third_party_payers/v_1/types/third_party_payer"
4
+ require "date"
5
+ require_relative "../../../financials/types/allocation"
6
+ require "ostruct"
7
+ require "json"
8
+
9
+ module CandidApiClient
10
+ module ThirdPartyPayerPayments
11
+ module V1
12
+ module Types
13
+ class ThirdPartyPayerPayment
14
+ # @return [String]
15
+ attr_reader :third_party_payer_payment_id
16
+ # @return [CandidApiClient::ThirdPartyPayers::V1::Types::ThirdPartyPayer]
17
+ attr_reader :third_party_payer
18
+ # @return [Integer]
19
+ attr_reader :amount_cents
20
+ # @return [String]
21
+ attr_reader :check_number
22
+ # @return [DateTime]
23
+ attr_reader :payment_timestamp
24
+ # @return [String]
25
+ attr_reader :payment_note
26
+ # @return [Array<CandidApiClient::Financials::Types::Allocation>]
27
+ attr_reader :allocations
28
+ # @return [String]
29
+ attr_reader :invoice_id
30
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
31
+ attr_reader :additional_properties
32
+ # @return [Object]
33
+ attr_reader :_field_set
34
+ protected :_field_set
35
+
36
+ OMIT = Object.new
37
+
38
+ # @param third_party_payer_payment_id [String]
39
+ # @param third_party_payer [CandidApiClient::ThirdPartyPayers::V1::Types::ThirdPartyPayer]
40
+ # @param amount_cents [Integer]
41
+ # @param check_number [String]
42
+ # @param payment_timestamp [DateTime]
43
+ # @param payment_note [String]
44
+ # @param allocations [Array<CandidApiClient::Financials::Types::Allocation>]
45
+ # @param invoice_id [String]
46
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
47
+ # @return [CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPayment]
48
+ def initialize(third_party_payer_payment_id:, third_party_payer:, amount_cents:, allocations:, check_number: OMIT,
49
+ payment_timestamp: OMIT, payment_note: OMIT, invoice_id: OMIT, additional_properties: nil)
50
+ @third_party_payer_payment_id = third_party_payer_payment_id
51
+ @third_party_payer = third_party_payer
52
+ @amount_cents = amount_cents
53
+ @check_number = check_number if check_number != OMIT
54
+ @payment_timestamp = payment_timestamp if payment_timestamp != OMIT
55
+ @payment_note = payment_note if payment_note != OMIT
56
+ @allocations = allocations
57
+ @invoice_id = invoice_id if invoice_id != OMIT
58
+ @additional_properties = additional_properties
59
+ @_field_set = {
60
+ "third_party_payer_payment_id": third_party_payer_payment_id,
61
+ "third_party_payer": third_party_payer,
62
+ "amount_cents": amount_cents,
63
+ "check_number": check_number,
64
+ "payment_timestamp": payment_timestamp,
65
+ "payment_note": payment_note,
66
+ "allocations": allocations,
67
+ "invoice_id": invoice_id
68
+ }.reject do |_k, v|
69
+ v == OMIT
70
+ end
71
+ end
72
+
73
+ # Deserialize a JSON object to an instance of ThirdPartyPayerPayment
74
+ #
75
+ # @param json_object [String]
76
+ # @return [CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPayment]
77
+ def self.from_json(json_object:)
78
+ struct = JSON.parse(json_object, object_class: OpenStruct)
79
+ parsed_json = JSON.parse(json_object)
80
+ third_party_payer_payment_id = struct["third_party_payer_payment_id"]
81
+ if parsed_json["third_party_payer"].nil?
82
+ third_party_payer = nil
83
+ else
84
+ third_party_payer = parsed_json["third_party_payer"].to_json
85
+ third_party_payer = CandidApiClient::ThirdPartyPayers::V1::Types::ThirdPartyPayer.from_json(json_object: third_party_payer)
86
+ end
87
+ amount_cents = struct["amount_cents"]
88
+ check_number = struct["check_number"]
89
+ payment_timestamp = unless parsed_json["payment_timestamp"].nil?
90
+ DateTime.parse(parsed_json["payment_timestamp"])
91
+ end
92
+ payment_note = struct["payment_note"]
93
+ allocations = parsed_json["allocations"]&.map do |item|
94
+ item = item.to_json
95
+ CandidApiClient::Financials::Types::Allocation.from_json(json_object: item)
96
+ end
97
+ invoice_id = struct["invoice_id"]
98
+ new(
99
+ third_party_payer_payment_id: third_party_payer_payment_id,
100
+ third_party_payer: third_party_payer,
101
+ amount_cents: amount_cents,
102
+ check_number: check_number,
103
+ payment_timestamp: payment_timestamp,
104
+ payment_note: payment_note,
105
+ allocations: allocations,
106
+ invoice_id: invoice_id,
107
+ additional_properties: struct
108
+ )
109
+ end
110
+
111
+ # Serialize an instance of ThirdPartyPayerPayment to a JSON object
112
+ #
113
+ # @return [String]
114
+ def to_json(*_args)
115
+ @_field_set&.to_json
116
+ end
117
+
118
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
119
+ # hash and check each fields type against the current object's property
120
+ # definitions.
121
+ #
122
+ # @param obj [Object]
123
+ # @return [Void]
124
+ def self.validate_raw(obj:)
125
+ obj.third_party_payer_payment_id.is_a?(String) != false || raise("Passed value for field obj.third_party_payer_payment_id is not the expected type, validation failed.")
126
+ CandidApiClient::ThirdPartyPayers::V1::Types::ThirdPartyPayer.validate_raw(obj: obj.third_party_payer)
127
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
128
+ obj.check_number&.is_a?(String) != false || raise("Passed value for field obj.check_number is not the expected type, validation failed.")
129
+ obj.payment_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.payment_timestamp is not the expected type, validation failed.")
130
+ obj.payment_note&.is_a?(String) != false || raise("Passed value for field obj.payment_note is not the expected type, validation failed.")
131
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
132
+ obj.invoice_id&.is_a?(String) != false || raise("Passed value for field obj.invoice_id is not the expected type, validation failed.")
133
+ end
134
+ end
135
+ end
136
+ end
137
+ end
138
+ end
@@ -0,0 +1,124 @@
1
+ # frozen_string_literal: true
2
+
3
+ require "date"
4
+ require_relative "../../../financials/types/allocation_create"
5
+ require "ostruct"
6
+ require "json"
7
+
8
+ module CandidApiClient
9
+ module ThirdPartyPayerPayments
10
+ module V1
11
+ module Types
12
+ class ThirdPartyPayerPaymentCreate
13
+ # @return [String]
14
+ attr_reader :third_party_payer_id
15
+ # @return [Integer]
16
+ attr_reader :amount_cents
17
+ # @return [DateTime]
18
+ attr_reader :payment_timestamp
19
+ # @return [String]
20
+ attr_reader :payment_note
21
+ # @return [String]
22
+ attr_reader :check_number
23
+ # @return [Array<CandidApiClient::Financials::Types::AllocationCreate>]
24
+ attr_reader :allocations
25
+ # @return [String]
26
+ attr_reader :invoice_id
27
+ # @return [OpenStruct] Additional properties unmapped to the current class definition
28
+ attr_reader :additional_properties
29
+ # @return [Object]
30
+ attr_reader :_field_set
31
+ protected :_field_set
32
+
33
+ OMIT = Object.new
34
+
35
+ # @param third_party_payer_id [String]
36
+ # @param amount_cents [Integer]
37
+ # @param payment_timestamp [DateTime]
38
+ # @param payment_note [String]
39
+ # @param check_number [String]
40
+ # @param allocations [Array<CandidApiClient::Financials::Types::AllocationCreate>]
41
+ # @param invoice_id [String]
42
+ # @param additional_properties [OpenStruct] Additional properties unmapped to the current class definition
43
+ # @return [CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPaymentCreate]
44
+ def initialize(third_party_payer_id:, amount_cents:, allocations:, payment_timestamp: OMIT, payment_note: OMIT,
45
+ check_number: OMIT, invoice_id: OMIT, additional_properties: nil)
46
+ @third_party_payer_id = third_party_payer_id
47
+ @amount_cents = amount_cents
48
+ @payment_timestamp = payment_timestamp if payment_timestamp != OMIT
49
+ @payment_note = payment_note if payment_note != OMIT
50
+ @check_number = check_number if check_number != OMIT
51
+ @allocations = allocations
52
+ @invoice_id = invoice_id if invoice_id != OMIT
53
+ @additional_properties = additional_properties
54
+ @_field_set = {
55
+ "third_party_payer_id": third_party_payer_id,
56
+ "amount_cents": amount_cents,
57
+ "payment_timestamp": payment_timestamp,
58
+ "payment_note": payment_note,
59
+ "check_number": check_number,
60
+ "allocations": allocations,
61
+ "invoice_id": invoice_id
62
+ }.reject do |_k, v|
63
+ v == OMIT
64
+ end
65
+ end
66
+
67
+ # Deserialize a JSON object to an instance of ThirdPartyPayerPaymentCreate
68
+ #
69
+ # @param json_object [String]
70
+ # @return [CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPaymentCreate]
71
+ def self.from_json(json_object:)
72
+ struct = JSON.parse(json_object, object_class: OpenStruct)
73
+ parsed_json = JSON.parse(json_object)
74
+ third_party_payer_id = struct["third_party_payer_id"]
75
+ amount_cents = struct["amount_cents"]
76
+ payment_timestamp = unless parsed_json["payment_timestamp"].nil?
77
+ DateTime.parse(parsed_json["payment_timestamp"])
78
+ end
79
+ payment_note = struct["payment_note"]
80
+ check_number = struct["check_number"]
81
+ allocations = parsed_json["allocations"]&.map do |item|
82
+ item = item.to_json
83
+ CandidApiClient::Financials::Types::AllocationCreate.from_json(json_object: item)
84
+ end
85
+ invoice_id = struct["invoice_id"]
86
+ new(
87
+ third_party_payer_id: third_party_payer_id,
88
+ amount_cents: amount_cents,
89
+ payment_timestamp: payment_timestamp,
90
+ payment_note: payment_note,
91
+ check_number: check_number,
92
+ allocations: allocations,
93
+ invoice_id: invoice_id,
94
+ additional_properties: struct
95
+ )
96
+ end
97
+
98
+ # Serialize an instance of ThirdPartyPayerPaymentCreate to a JSON object
99
+ #
100
+ # @return [String]
101
+ def to_json(*_args)
102
+ @_field_set&.to_json
103
+ end
104
+
105
+ # Leveraged for Union-type generation, validate_raw attempts to parse the given
106
+ # hash and check each fields type against the current object's property
107
+ # definitions.
108
+ #
109
+ # @param obj [Object]
110
+ # @return [Void]
111
+ def self.validate_raw(obj:)
112
+ obj.third_party_payer_id.is_a?(String) != false || raise("Passed value for field obj.third_party_payer_id is not the expected type, validation failed.")
113
+ obj.amount_cents.is_a?(Integer) != false || raise("Passed value for field obj.amount_cents is not the expected type, validation failed.")
114
+ obj.payment_timestamp&.is_a?(DateTime) != false || raise("Passed value for field obj.payment_timestamp is not the expected type, validation failed.")
115
+ obj.payment_note&.is_a?(String) != false || raise("Passed value for field obj.payment_note is not the expected type, validation failed.")
116
+ obj.check_number&.is_a?(String) != false || raise("Passed value for field obj.check_number is not the expected type, validation failed.")
117
+ obj.allocations.is_a?(Array) != false || raise("Passed value for field obj.allocations is not the expected type, validation failed.")
118
+ obj.invoice_id&.is_a?(String) != false || raise("Passed value for field obj.invoice_id is not the expected type, validation failed.")
119
+ end
120
+ end
121
+ end
122
+ end
123
+ end
124
+ end
@@ -0,0 +1,14 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CandidApiClient
4
+ module ThirdPartyPayerPayments
5
+ module V1
6
+ module Types
7
+ class ThirdPartyPayerPaymentSortField
8
+ AMOUNT_CENTS = "amount_cents"
9
+ PAYMENT_TIMESTAMP = "payment_timestamp"
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,88 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "third_party_payer_payment"
4
+ require "ostruct"
5
+ require "json"
6
+
7
+ module CandidApiClient
8
+ module ThirdPartyPayerPayments
9
+ module V1
10
+ module Types
11
+ class ThirdPartyPayerPaymentsPage
12
+ # @return [Array<CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPayment>]
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::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPayment>]
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::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPaymentsPage]
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 ThirdPartyPayerPaymentsPage
46
+ #
47
+ # @param json_object [String]
48
+ # @return [CandidApiClient::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPaymentsPage]
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::ThirdPartyPayerPayments::V1::Types::ThirdPartyPayerPayment.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 ThirdPartyPayerPaymentsPage 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,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ require_relative "../../requests"
4
+ require_relative "v_1/client"
5
+
6
+ module CandidApiClient
7
+ module ThirdPartyPayerRefunds
8
+ class Client
9
+ # @return [CandidApiClient::ThirdPartyPayerRefunds::V1::V1Client]
10
+ attr_reader :v_1
11
+
12
+ # @param request_client [CandidApiClient::RequestClient]
13
+ # @return [CandidApiClient::ThirdPartyPayerRefunds::Client]
14
+ def initialize(request_client:)
15
+ @v_1 = CandidApiClient::ThirdPartyPayerRefunds::V1::V1Client.new(request_client: request_client)
16
+ end
17
+ end
18
+
19
+ class AsyncClient
20
+ # @return [CandidApiClient::ThirdPartyPayerRefunds::V1::AsyncV1Client]
21
+ attr_reader :v_1
22
+
23
+ # @param request_client [CandidApiClient::AsyncRequestClient]
24
+ # @return [CandidApiClient::ThirdPartyPayerRefunds::AsyncClient]
25
+ def initialize(request_client:)
26
+ @v_1 = CandidApiClient::ThirdPartyPayerRefunds::V1::AsyncV1Client.new(request_client: request_client)
27
+ end
28
+ end
29
+ end
30
+ end